OFFSET
1,2
COMMENTS
The geometric mean approaches A382095 = exp(Sum_{k>=2} log(k)/(k-1)!) in the limit.
LINKS
Jwalin Bhatt, Table of n, a(n) for n = 1..10000
Wikipedia, Poisson distribution
EXAMPLE
Let p(k) denote the probability of k and c(k) denote the count of occurrences of k so far, then the expected occurrences of k at n-th step are given by n*p(k).
We subtract the actual occurrences c(k) from the expected occurrences and pick the one with the highest value.
| n | n*p(1) - c(1) | n*p(2) - c(2) | n*p(3) - c(3) | choice |
|---|---------------|---------------|---------------|--------|
| 1 | 0.367 | 0.367 | 0.183 | 1 |
| 2 | -0.264 | 0.735 | 0.367 | 2 |
| 3 | 0.103 | 0.103 | 0.551 | 3 |
| 4 | 0.471 | 0.471 | -0.264 | 1 |
| 5 | -0.160 | 0.839 | -0.080 | 2 |
MATHEMATICA
probCountDiff[j_, k_, count_]:=N[k/(E*Factorial[j-1])]-Lookup[count, j, 0]
samplePDF[n_]:=Module[{coeffs, unreachedVal, counts, k, probCountDiffs, mostProbable},
coeffs=ConstantArray[0, n]; unreachedVal=1; counts=<||>;
Do[probCountDiffs=Table[probCountDiff[i, k, counts], {i, 1, unreachedVal}];
mostProbable=First@FirstPosition[probCountDiffs, Max[probCountDiffs]];
If[mostProbable==unreachedVal, unreachedVal++]; coeffs[[k]]=mostProbable;
counts[mostProbable]=Lookup[counts, mostProbable, 0]+1; , {k, 1, n}]; coeffs]
A383238=samplePDF[120]
PROG
(Python)
from mpmath import iv
def prob_count_diff(j, k, count):
return k/(iv.e*iv.factorial(j-1)) - count
def sample_poisson_distribution(num_coeffs):
coeffs, unreached_val, counts = [], 1, {}
for k in range(1, num_coeffs+1):
prob_count_diffs = [prob_count_diff(i, k, counts.get(i, 0)) for i in range(1, unreached_val+1)]
most_probable = prob_count_diffs.index(max(prob_count_diffs)) + 1
unreached_val += most_probable == unreached_val
coeffs.append(most_probable)
counts[most_probable] = counts.get(most_probable, 0) + 1
return coeffs
A383238 = sample_poisson_distribution(120) # Jwalin Bhatt, Dec 16 2025
CROSSREFS
KEYWORD
nonn
AUTHOR
Jwalin Bhatt, Apr 20 2025
STATUS
approved
