Я пытаюсь понять HLL с помощью этой исходной статьи (http://algo.inria.fr/flajolet/Publications/FlFuGaMe07.pdf), но у меня возникла проблема. В моем понимании параметры:
-> b = nr_of_bits_to_get_bucket (или «короткие байты»)
-> m = number_of_buckets (или nr_of_registers с m = 2 ^ b)
В данном примере в документе упоминается: "Как следствие, использование m = 2048, хеширование по 32 бита и короткие байты длиной 5 бит каждый: мощности до значений, превышающих N = 10 ^ 9, могут быть оценивается с типичной точностью 2% при использовании хранилища 1,5 КБ (килобайт) ".
Это имеет смысл, поскольку ошибка 1,04 / sqrt {2048} дает ожидаемые 2%, но в моем понимание коротких байтов должно быть 11, чтобы получить m = 2 ^ 11 = 2048 вместо 5. Что мне не хватает?