16
правок
Изменения
Нет описания правки
<tex>
\begin{align}
&= \sum\limits_{i}\left(m_i + \sum\limits_{j=1}^{k-m_i}\frac{m_i}{k-j+1}\right) = \sum\limits_{i}m_i\left(1 + \sum\limits_{j=1}^{k-m_i}\frac{1}{k-j+1}\right) = \\
&= \sum\limits_{i}m_i\left(1 + \sum\limits_{j=m_i+1}^{k}\frac{1}{j}\right) = \sum\limits_{i}m_i(1 + H_k - H_{m_i+1}) \leqslant \sum\limits_{i}m_iH_k = H_k\sum\limits_{i}m_i
<tex>
\begin{align}
&= \frac{1}{2}\left(\sum\limits_{i=1}^{p-1}\left(E(\text{кэш промах на}\; i) + E(\text{кэш промах на}\; i+1)\right) + E(\text{кэш промах на}\; 1) + E(\text{кэш промах на}\; p)\right) \geqslant \\
&\geqslant \frac{1}{2}\sum\limits_{i=1}^{p}m_i
\end{align}
</tex>
Из полученных оценок не сложно вывести:
<tex>T_\text{rnd} \leqslant 2H_k \cdot T_\text{opt}</tex>
Алгоритм является <tex>2H_k</tex>-оптимальным, или, что более практично, <tex>\mathcal{O}(\ln(k))</tex>-оптимальным.
== Источники ==