Теорема о существовании генератора
Теорема
Если существует односторонняя перестановка, то существует и генератор псевдослучайных чисел.
Доказательство
Проводится в три этапа:
- Односторонняя перестановка ⟹ односторонняя перестановка с трудным битом: g(x,y)=(f(x),y) β(x,y)=x⊙y=⊕ni=1xiyi
- Односторонняя перестановка с трудным битом ⟹ Генератор n→n+1
- Генератор n→n+1 ⟹ Генератор n→p(n)
Идея последнего шага
x↦g(x)h(x)↦g(g(x))h(g(x))h(x)↦g(g(g(x)))h(g(g(x)))h(g(x))h(x)↦…
Лемма 2
β(x) - трудный бит для f(x)⇔x↦f(x)β(x) - генератор.
####Доказательство
Сперва построим генератор псевдослучайных чисел, отображающий n битов в p(n), имея генератор псевдослучайных чисел (n↦n+1).
По генератору G(x)=g(x)h(x) построим G′(x)=h(x)h(g(x))h(g(g(x)))…
Утверждение
Если G(x) - генератор псевдослучайных чисел, то G′(x) - генератор псевдослучайных чисел.
Доказательство
Осталось по односторонней перестановке построить одностороннюю перестановку с трудным битом. Но сперва поговорим немного о кодах Адамара.
Теорема (Голдрайх-Левин)
Если f:{0,1}n→{0,1}n - односторонняя перестановка, то g:{0,1}2n→{0,1}2n, g(x,y)=(f(x),y) - тоже односторонняя перестановка, а h(x,y)=x⊙y - трудный бит для g.
Теорема(О кодах Адамара или о списочном декодировании)
Пусть hx(y)=x⊙y - код Адамара слова x∈{0,1}n. Пусть ˉh(y) - такая функция, что доля y удовлетоворяющих ˉh(y)=hx(y) больше либо равна 12. Тогда существует вероятностный алгоритм, работающий poly(nε), имеющий произвольный доступ к ˉh, выдающий список слов длины n, с вероятностью ≥12 содержит x.
Почему это называется декодированием списка? Вообще кодирование нужно для исправления ошибок. Код Адамара - длинный код. Точного полиномиального алгоритма декодирования не существует. h - код, ˉh - испорченный код.
Теорема
Из теоремы о списочном декодировании выводится теорема Голдрайха-Левина.
Доказательство
Теорема (ЗБЧ для попарно независимых случайных величин)
Пусть ξ1,…,ξN - попарно независимые одинакого распределенные, бернулиевские случайные величины. Eξi=12−ε. Тогда Pr{ξ1+…ξN≥12N}≤1ε21N