Для случайного ввода. Каждый бит имеет вероятность $\фракция{1}{2}$ быть нулем.
Тогда, потому что мы предполагаем независимость (идеальная хэш-функция подразумевает это предположение). Для каждого входа вероятность иметь $4$ нули в начальных битах $\frac{1}{2^4}=\frac{1}{16}$.
Затем после $к$ вычислений, потому что мы считаем каждый вывод независимым (все еще потому, что это идеальная хеш-функция). Вероятность дождаться ровно $я$ шаги - хороший результат $\frac{1}{16}\left(15/16\right)^{i-1}$. (потому что у вас неправильный вывод для $(я-1)$ хэши, а затем тупой).
И ожидание времени вычисления равно $\sum^{\infty}_{i=1} i\frac{1}{16}\left(15/16\right)^{i-1}=
\frac{1}{16}\sum^{\infty}_{j=1} \sum^{\infty}_{i=j}\left(15/16\right)^{i-1}= \frac{1}{16}\sum^{\infty}_{j=1} \sum^{\infty}_{i=0}\left(15/16\right)^{j+i-1 }$
$$=\frac{1}{16}\sum^{\infty}_{j=1} \left(15/16\right)^{j-1}\sum^{\infty}_{i= 0}\влево(15/16\вправо)^{i} $$
$$= \frac{1}{16}\sum^{\infty}_{j=1} \left(15/16\right)^{j-1}\frac{1}{1/16}$ $
$$=\sum^{\infty}_{j=0} \left(15/16\right)^{j}
=16$$.
Тогда в среднем вам нужно вычислить $16$ хеши, чтобы найти хороший.
Вы можете легко обобщить это доказательство, заменив $16$ к $2^м$, и вы сделаете вывод, что в среднем вам нужно вычислить $2^м$ хеши.
Обратите внимание, что, поскольку мы заранее выбираем координаты, где мы хотим иметь нули, общий вывод хеш-функции не имеет значения, если мы посмотрим на количество хэшей, которые мы должны вычислить (но это может иметь значение, если мы посмотрим на время вычисления). из $Ч$).