cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A383238 A sequence constructed by greedily sampling the Poisson distribution for parameter value 1, 1/(e*(i-1)!) to minimize discrepancy selecting the smallest value in case of ties.

Original entry on oeis.org

1, 2, 3, 1, 2, 4, 1, 2, 3, 1, 2, 1, 2, 3, 1, 2, 5, 1, 2, 3, 1, 2, 1, 2, 3, 4, 1, 2, 1, 2, 3, 1, 2, 1, 2, 3, 1, 2, 4, 1, 2, 3, 1, 2, 1, 2, 3, 1, 2, 1, 2, 3, 1, 2, 4, 1, 2, 3, 1, 2, 1, 2, 3, 1, 2, 1, 2, 3, 1, 2, 4, 1, 2, 3, 1, 2, 1, 2, 3, 1, 2, 5, 1, 2, 3, 1, 2, 4, 1, 2, 3, 1, 2, 1, 2, 3, 1, 2, 1, 2, 3, 1, 2, 4, 1, 2, 3, 1, 2, 1, 2, 3, 1, 2, 6, 1, 2, 3, 1, 2
Offset: 1

Views

Author

Jwalin Bhatt, Apr 20 2025

Keywords

Comments

The geometric mean approaches A382095 = exp(Sum_{k>=2} log(k)/(k-1)!) in the limit.

Examples

			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    |
		

Crossrefs

Programs

  • 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]