OFFSET
0,4
COMMENTS
This family of sequences appeared when I was solving an open problem presented in volume 3 of the Art of Computer Programming by D. E. Knuth. This problem asked for the expected value of the search cost of a random element in a linear probing hashing table with buckets of size b. In our paper in Algorithmica 21(1): 37-71 (1998) we solve this open problem.
Later we found the exact distribution when the Robin Hood heuristic is used to solve collisions. One of the main results was the introduction of the exact distribution of the bucket occupancy in the Poisson Model. By depoissonization methods we may find this value for exact n and m, but calculations are complicated. This result was presented in the 2005 International Conference on Analysis of Algorithms. The key component of the analysis was the introduction of this sequence of numbers.
REFERENCES
Alfredo Viola and Patricio V. Poblete. The Analysis of Linear Probing Hashing with Buckets. Algorithmica 21(1): 37-71 (1998)
LINKS
Alfredo Viola, Distributional analysis of Robin Hood linear probing hashing with buckets, 2005 International Conference on Analysis of Algorithms, Conrado Martinez (ed.), Discrete Mathematics and Theoretical Computer Science Proceedings AD 2005, pp. 297-306
FORMULA
The exponential generating function T_{b*alpha) is the probability that a given bucket has more than d empty slots when we insert n elements in a linear probing hashing table with m buckets of size b when n,m -> infinity and n = b*alpha.
MAPLE
T := proc(k, d, b) local j: options remember: if (d >= b or d < 0 or k <0) then 0 elif k = 0 then 1 else eval(-sum('binomial(k, j)*floor((k+d)/b)^(k-j)*T(j, d, b)', j=0..k-1)) fi end:
PROG
(Python)
from functools import cache
from sympy import binomial
@cache
def T(k, d, b):
if d >= b or d < 0 or k < 0: return 0
elif k == 0: return 1
else: return -(sum(binomial(k, j)*((k+d)//b)**(k-j)*T(j, d, b) for j in range(0, k)))
print([T(n, 0, 2) for n in range(0, 22)]) # Darío Clavijo, Dec 12 2023
CROSSREFS
KEYWORD
sign
AUTHOR
Alfredo Viola (viola(AT)fing.edu.uy), Dec 16 2006
STATUS
approved