rodina polynomiálních hashovacích funkcí
Systém, který slouží pro obecné sestrojení k-nezávislého systému.
Definice $\mathcal{P}_k$
Mějme těleso $\mathbb{Z}p^k$ (kde $p$ je prvočíslo) a požadovanou nezávislost $k \geq 1$. Rodina $\mathcal{P}_k$ obsahuje funkce definované vektorem koeficientů $t = (t_0, \dots, t{k-1} \in \mathbb{Z}_p^k$)
\(h_t(x) = (\sum_{i=0}^{k-1} t_i x^i \mod p) \mod m\) (Jde tedy o vyhodnocení náhodného polynomu stupně max. $k-1$ v bodě $x$)
Vztah k lineární rodině
Rodina lineárních funkcí ($h(x)=ax+b$) je ve skutečnosti jen speciálním případem polynomiální rodiny, kde zvolíme $k=2$.
- Lineární ($k=2$): Používáme polynom stupně 1 (přímku). Dva body jednoznačně určují funkci → 2-nezávislost
-
Polynomiální (obecné k): Používáme polynom stupně k−1 (křivku). k bodů jednoznačně určuje funkci → k-nezávislost
Zdůvodnění k-nezávislosti
Pro důkaz využijeme lemma, které popisuje chování $k$-nezávislosti při redukci univerza modulo $m$. lemma o modulení
Důkaz provedeme ve dvou krocích, podobně jako u lineární kongruence.
Krok A: Nezávislost v tělese $\mathbb{Z}_p$ (bez modula $m$)
Nejdříve uvažujeme funkci bez finálního modula $m$: \(g_t(x) = \sum_{i=0}^{k-1} t_i x^i (\mod p)\) Toto je polynom stupně nejvýše $k-1$ nad tělesem $\mathbb{Z}_p$
Zdůvodnění (k,1)-nezávislosti:
-
Zadání Zvolme si libovolných $k$ různých vstupů $x_1, \dots, x_k$ a k nim libovolných $k$ cílových hodnot $y_1, \dots, y_k$ (vše v $\mathbb{Z}_p$)
-
Otázka Jaká je pravděpodobnost, že náhodně vybraný polynom $g_t$ projde všemi těmito body? Tedy platí $g_t(x_j) = y_j$ pro všechna $j=1\dots k$?
- Unikátnost (Lagrangeova interpolace)
Z algebry víme, že $k$ bodů v rovině jednoznačně určuje polynom stupně $k-1$
- 2 body určují přímku
- 3 body určují parabolu
- $k$ bodů určuje křivku stupně $k-1$
- Počet možností
- Celkový počet všech možných polynomů (vektorů $t$) je $p^k$
- Počet polynomů, které procházejí našimi $k$ body je právě 1.
- Pravděpodobnost
Šance, že se trefíme do tohoto jediného polynomu je tedy přesně $1/p^k$
- To přesně odpovídá definici ($k,1$)-nezávislosti (pravděpodobnost je součinem pravděpodobností pro $k$ nezávislých jevů: $(1/p)^k$)
Krok B: Přechod do tabulky (Aplikace Lemmatu K)
Nyní funkci ohneme do velikosti tabulky $m$: \(h_t(x) = g_t(x) (\mod m)\)
Zdůvodnění ($k,2$)-nezávislosti:
- Víme, že vnitřní rodina je ($k,1$)-nezávislá (tedy $c=1$)
- Použijeme Lemma K (o k-nezávislém skládání modulo $m$)
- předpoklad: musíme zvolit prvočíslo $p$ dostatečně velké, konkrétně $p \geq 2km$
- Výsledek Lemma, říká, že operace modulo $m$ zhorší nezávislost maximálně faktorem $2$. Výsledná rodina je tedy (k,2)-nezávislá