Понимание точности и параметров алгоритма HyperLogLog - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь понять 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. Что мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...