Вопрос : Пересечение фильтра цветеня прональное к парадоксу дня рождения?

Рассматривайте следующий абстрактную идею, для фильтра цветеня сопрягая, который был предложен к мне как алтернатива к смотреть вверх индивидуальные выбранные одно одновременно…

Assume, котор мы используем общецелевой фильтр цветеня который устанавливает биты k в вход где k неопределённый но > строение 1

We фильтр цветеня для собрания. Мы после этого имеем список выбранного деталей, котор мы хотим проверить против того фильтра поэтому мы строим другой фильтр из списка выбранного. Мы после этого выполняем выполняем пересечение бита (binary и деятельность) на 2 фильтрах. Предположено если любые биты в результате установлены, то будет разумно хорошая вероятность что одно деталей в комплекте b можно найти в комплекте A.

It будет моим утверждением что, фактическ, вероятность ложного позитва очень высока потому что мы говорим если любым битом в фильтре a сопрягает любой бит в фильтре b там будет спичка. Я вижу это как был никакое по-разному к парадоксу дня рождения где мы спрашиваем если любая персона в комнате делит любое birthday.

Am iего неправильное или правое и (без идти за просто математиками средней школы - по мере того как я не реально что ухищренно) могу вами доказать его? Это все еще был бы вопрос если мы только установили 1 бит в вход?

NB. Это не будет «вопрос о домашней работы» - проверите мой профиль -, котор будет обсуждением реального мир я буду having.

Thank you.
class=

Ответ : Пересечение фильтра цветеня прональное к парадоксу дня рождения?

>> я утверждаю будет высокая степень вероятности что будет ложный позитв для причин заявленных в вопросе.

Интуитивно, я пришел бы к такому же заключению.


Но препятствуйте нам попытаться сделать математику.

Примите просто пример комплекта b размера 1. То было бы нормальным случаем проверяя если деталь присутствует в фильтре цветеня. Однако, будет большая разница в приблизитьсяе попытанном для того чтобы выполнить ту проверку:

        нормальный подход: проверите если все биты b установлены в a
        предложенный подход: проверите если хотя бы один бит b установлен в a

Шанс ложных позитвов соответственно (где m будет число битов в фильтре цветеня, k будет число функций хэша, и n будет число деталей, котор хранят в фильтре цветеня):

        нормальный подход: p^k
        предложенный подход: 1 - (1 - p) ^k

где p будет вероятность что некоторый бит 1 в a:

        p = (1 - ((1 - (1/m))^ (kn)))

с k = 3, m = 256, n = 64 например, мы получаем то ~= 0.52833 p, так как дал следующий шансы ложных позитвов:

        нормальный подход: (0.52833) ^3 ~= 0.14747
        предложенный подход: 1 - (от 1 до 0.52833) ^3 ~= 0.89507

так, предложенный подход имеет 6 времен более высокий шанс ложного позитва (для этого примера), или почти шанс 90% ложного позитва (для этого примера).


Теперь, препятствуйте нам экстраполируйте то к комплекту b L. размера. Теперь:

        нормальный подход: для каждого из деталей, проверка если все биты от функций хэша установлены в a, то, последовательн
        предложенный подход: проверите если хотя бы один бит b установлен в a

Шанс ложных позитвов теперь соответственно:

        нормальный подход: 1 - (1 - p^k) ^l
        предложенный подход: 1 - (1 - p) ^qm

где q будет вероятность что некоторый бит 1 в b:

        q = (1 - ((1 - (1/m))^ (kl)))

с k = 3, m = 256, n = 64, l = 8 например, мы получаем то ~= 0.52833 p и ~= 0.08966 q, так как дал следующий шансы ложных позитвов:

        нормальный подход: 1 - (1 - (0.52833) ^3)^8 ~= 0.72096
        предложенный подход: 1 - (от 1 до 0.52833) ~= 0.99999996 ^ (0.08966 * 256)

так, предложенный подход имеет почти шанс 100% ложного позитва (для этого примера).


Я знаю вы сказало не использовать математики, но было самой легкой дорогой для меня доказать что наша интуиция права, и она кажется наша интуиция не обманула нас heh.


Пожалуйста проверите мои вычисления, в виду того что я как раз быстро кратко записывал их вниз.
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us