Используя определение из Википедии:
Семейство функций H = {h: U → [m]} называется универсальным семейством, если, ∀ x, y ∈ U, x ≠ y: Pr h∈H [h (x) = h (y)] ≤ 1 / m .
В вашемВ этом случае это означает, что для любых двух значений x и y в наборе {0, 1, 2, 3, 4, 5, 6, 7}, не болеедве из ваших четырех хеш-функций могут отображать их в один и тот же бит.
Ваше предложение:
0 1 2 3 4 5 6 7
---------------------------
h1 | 1 1 0 0 0 0 0 0
h2 | 0 0 1 1 0 0 0 0
h3 | 0 0 0 0 1 1 0 0
h4 | 0 0 0 0 0 0 1 1
не работает , а не , потому что есть четыре пары( x , y ), а именно (0,1), (2,3), (4,5) и (6,7) - где все четыре хеш-функции отображают их в один и тот же бит.
Вместо этого, вот некоторые опции, которые делают работают:
0 1 2 3 4 5 6 7
---------------------------
h1 | 0 0 0 0 1 1 1 1
h2 | 0 0 1 1 0 0 1 1
h3 | 0 1 0 1 0 1 0 1
h4 | 0 1 1 0 1 0 0 1
0 1 2 3 4 5 6 7
---------------------------
h1 | 0 0 0 1 0 1 1 1
h2 | 0 0 1 0 1 0 1 1
h3 | 0 1 0 0 1 1 0 1
h4 | 1 0 0 0 1 1 1 0