У меня есть N <2 ^ n случайно сгенерированных n-битных чисел, хранящихся в файле, поиск которого дорогой.Учитывая число Y, я должен искать число в файле, которое не больше k хэммингового расст.от Y. Теперь это требует поиска C (n 1) + C (n 2) + C (n 3) ... + C (n, k) в худшем случае, что в моем случае неосуществимо.Я попытался сохранить распределение 1 и 0 в каждой позиции бита в памяти и расставил приоритеты в моих поисках.Итак, я сохранил вероятность того, что бит i будет 0/1: </p>
Pr(bi=0), Pr(bi=1) for all i from 0 to n-1.
Но это не сильно помогло, так как N слишком велико и имеет почти равное распределение 1/0 в каждой позиции бита.Есть ли способ, которым это можно сделать более эффективно.Пока что вы можете принять n = 32, N = 2 ^ 24.