Теорема Голдвассера, Сипсера — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Доказательство)
(Доказательство)
Строка 10: Строка 10:
 
==Доказательство==
 
==Доказательство==
 
Заметим что, очевидно, <tex>AM[f(n)+O(1)] \subset IP[f(n)], \forall f</tex>.
 
Заметим что, очевидно, <tex>AM[f(n)+O(1)] \subset IP[f(n)], \forall f</tex>.
Докажем теперь, что <tex>IP \subset AM</tex>
+
Докажем теперь, что <tex>IP[f(n)] \subset AM[f(n)+O(1)]</tex>
  
 
Рассмотрим множество вероятностных лент <tex>R</tex> и его подмножество <tex>S \subset R</tex> - множество лент, на которых осуществляется допуск. В соответствии с протоколом, <tex>x \in L \Rightarrow P(V(x) = [x \in L]) \ge \frac{2}{3}</tex>, т.е. если слово принадлежит языку, то <tex>V</tex> должен вывести YES с достаточно большой вероятностью, а если <tex>x \notin L</tex>, то <tex>P(V(x) = [x \in L]) < \frac{1}{3}</tex>, т.е. если слово не принадлежит языку, то <tex>V</tex> разрешено ошибиться, но с достаточно малой вероятностью. Перефразируем эти условия так:  
 
Рассмотрим множество вероятностных лент <tex>R</tex> и его подмножество <tex>S \subset R</tex> - множество лент, на которых осуществляется допуск. В соответствии с протоколом, <tex>x \in L \Rightarrow P(V(x) = [x \in L]) \ge \frac{2}{3}</tex>, т.е. если слово принадлежит языку, то <tex>V</tex> должен вывести YES с достаточно большой вероятностью, а если <tex>x \notin L</tex>, то <tex>P(V(x) = [x \in L]) < \frac{1}{3}</tex>, т.е. если слово не принадлежит языку, то <tex>V</tex> разрешено ошибиться, но с достаточно малой вероятностью. Перефразируем эти условия так:  
Строка 25: Строка 25:
 
* если <tex>|S|<K</tex> , то <tex>|h(s)| < \frac{p \cdot 2^k}{2} = K \Rightarrow P(V(x) = [x \in L]) \le p/2</tex>, то есть в этом случае <tex>V</tex> ошибется с вероятностью не более <tex>\frac{1}{2}</tex>;
 
* если <tex>|S|<K</tex> , то <tex>|h(s)| < \frac{p \cdot 2^k}{2} = K \Rightarrow P(V(x) = [x \in L]) \le p/2</tex>, то есть в этом случае <tex>V</tex> ошибется с вероятностью не более <tex>\frac{1}{2}</tex>;
 
* если <tex>|S|>2K</tex>, и <tex>|S|<2^{k-1}</tex>, то поступим следующим образом. Мы хотим, чтобы выполнялось: <tex>P_{h,y}(\exists s: h(s)=y) \ge \frac{3}{4} \cdot \frac{|s|}{2K}</tex> . Обозначим как <tex>E_s</tex> событие <tex>h(s)=y</tex>. Рассмотрим <tex>y \in 2^m</tex>. <math>P_{h}(\exists s: h(s)=y) = P_{h}(y \in \bigcup \limits_{s}h(s))=P_{h}(\bigcup \limits_{s}E_s) \ge \sum_{j}P(E_s)-\sum \limits_{s_1 \ne s_2}P(E_{s_1} \bigcap E_{s_2})= \frac{|s|}{2^k}-\frac{1}{2}|s|^{2}\frac{1}{2^{2k}}=|s|\frac{1}{2^k}\left ( 1 - \frac{|s|}{2^{k+1}} \right )</math>
 
* если <tex>|S|>2K</tex>, и <tex>|S|<2^{k-1}</tex>, то поступим следующим образом. Мы хотим, чтобы выполнялось: <tex>P_{h,y}(\exists s: h(s)=y) \ge \frac{3}{4} \cdot \frac{|s|}{2K}</tex> . Обозначим как <tex>E_s</tex> событие <tex>h(s)=y</tex>. Рассмотрим <tex>y \in 2^m</tex>. <math>P_{h}(\exists s: h(s)=y) = P_{h}(y \in \bigcup \limits_{s}h(s))=P_{h}(\bigcup \limits_{s}E_s) \ge \sum_{j}P(E_s)-\sum \limits_{s_1 \ne s_2}P(E_{s_1} \bigcap E_{s_2})= \frac{|s|}{2^k}-\frac{1}{2}|s|^{2}\frac{1}{2^{2k}}=|s|\frac{1}{2^k}\left ( 1 - \frac{|s|}{2^{k+1}} \right )</math>
Заметим, что <tex>|s|\frac{1}{2^k} > p</tex>, а <tex>\frac{|s|}{2^{k+1}} < \frac{1}{4}</tex>. Итак, действительно, <tex>P_{h}(\exists s: h(s)=y) > \frac{3}{4}p</tex>, т.е. в этом случае <tex>V</tex> примет слово с вероятностью <tex>\frac{3}{4}p > \frac{p}{2}</tex>.
+
Заметим, что <tex>|s|\frac{1}{2^k} > p</tex>, а <tex>\frac{|s|}{2^{k+1}} < \frac{1}{4}</tex>. Итак, действительно, <tex>P_{h}(\exists s: h(s)=y) > \frac{3}{4}p</tex>, т.е. в этом случае <tex>V</tex> примет слово с вероятностью <tex>\frac{3}{4} > \frac{1}{2}</tex>;
Теперь, выберем <tex>K</tex>: <tex>K = \frac{1}{3}2^{P(|x|)}</tex>. Итак, <tex>IP \subset AM</tex>. Теорема доказана.
+
* если <tex>|S|>2^{k-1}</tex>, то <tex>V</tex> примет слово с вероятностью, большей, чем <tex>\frac{3}{4}.
 +
Теперь, выберем <tex>K</tex>: <tex>K = \frac{1}{3}2^{P(|x|)}</tex>.  
 +
Запустим построенный протокол доказательства некоторое константное количество раз для того, чтобы повысить точность, а именно добиться того, чтобы было:
 +
* <tex>x \notin L \Rightarrow P(V(x) = [x \in L]) < \frac{1}{3}</tex>
 +
Итак, <tex>IP[f(n)] \subset AM[f(n)+O(1)]</tex>. Теорема доказана.
  
 
==Cм. также==
 
==Cм. также==
 
*[[Теорема Шамира]]
 
*[[Теорема Шамира]]
 
*[[Класс IP]]
 
*[[Класс IP]]

Версия 15:15, 20 мая 2010

Определение

Протокол Артура-Мерлина - интерактивный протокол доказательства, в котором [math]P[/math](prover, Merlin) видит вероятностную ленту [math]V[/math](verifier, Arthur)(т.н. public coins)

Определение

[math]AM[f(n)][/math] - класс языков, распознаваемых с помощью интерактивного протокола доказательства Артура-Мерлина, причем количество запросов [math]V[/math] к [math]P[/math] не превышает [math]f(n)[/math].

Формулировка теоремы

[math]IP[f(n)] = AM[f(n)+ O(1)][/math]

Доказательство

Заметим что, очевидно, [math]AM[f(n)+O(1)] \subset IP[f(n)], \forall f[/math]. Докажем теперь, что [math]IP[f(n)] \subset AM[f(n)+O(1)][/math]

Рассмотрим множество вероятностных лент [math]R[/math] и его подмножество [math]S \subset R[/math] - множество лент, на которых осуществляется допуск. В соответствии с протоколом, [math]x \in L \Rightarrow P(V(x) = [x \in L]) \ge \frac{2}{3}[/math], т.е. если слово принадлежит языку, то [math]V[/math] должен вывести YES с достаточно большой вероятностью, а если [math]x \notin L[/math], то [math]P(V(x) = [x \in L]) \lt \frac{1}{3}[/math], т.е. если слово не принадлежит языку, то [math]V[/math] разрешено ошибиться, но с достаточно малой вероятностью. Перефразируем эти условия так:

  • [math]x \in L \Rightarrow |S|\gt 2K [/math], т.е. если слово принадлежит языку, то множество вероятностных лент, на которых слово будет допущено должно быть достаточно большим;
  • [math]x \notin L \Rightarrow |S|\lt K[/math], т.е. если слово не принадлежит языку, то множество вероятностных лент, на которых слово все же будет допущено, должно быть достаточно малым.

Число [math]K[/math] выберем позже.

Итак, есть множество [math]S \subset 2^{m}[/math]. Построим интерактивный протокол доказательства, такой что:

  • если [math]|S|\gt 2K[/math], то [math]V[/math] с высокой вероятностью примет слово;
  • если [math]|S|\lt K[/math], то [math]V[/math] с высокой вероятностью не примет слово.

Выберем [math]k[/math] так, чтобы [math]2^{k-2} \le 2K \le 2^{k-1}[/math]. Возьмем [math]h \in H_{m,k}[/math] ([math]H_{m,k}[/math] - семейство универсальных попарно независимых хеш-функций), и [math]y \in 2^k[/math]. Далее, отправим запрос [math]P[/math] на получение [math]s \in S[/math], такого, что [math]h(s)=y[/math], и проверим, верно ли в действительности, что полученный [math]s \in S[/math]. Пусть [math]p=\frac{2K}{2^k}[/math].

  • если [math]|S|\lt K[/math] , то [math]|h(s)| \lt \frac{p \cdot 2^k}{2} = K \Rightarrow P(V(x) = [x \in L]) \le p/2[/math], то есть в этом случае [math]V[/math] ошибется с вероятностью не более [math]\frac{1}{2}[/math];
  • если [math]|S|\gt 2K[/math], и [math]|S|\lt 2^{k-1}[/math], то поступим следующим образом. Мы хотим, чтобы выполнялось: [math]P_{h,y}(\exists s: h(s)=y) \ge \frac{3}{4} \cdot \frac{|s|}{2K}[/math] . Обозначим как [math]E_s[/math] событие [math]h(s)=y[/math]. Рассмотрим [math]y \in 2^m[/math]. [math]P_{h}(\exists s: h(s)=y) = P_{h}(y \in \bigcup \limits_{s}h(s))=P_{h}(\bigcup \limits_{s}E_s) \ge \sum_{j}P(E_s)-\sum \limits_{s_1 \ne s_2}P(E_{s_1} \bigcap E_{s_2})= \frac{|s|}{2^k}-\frac{1}{2}|s|^{2}\frac{1}{2^{2k}}=|s|\frac{1}{2^k}\left ( 1 - \frac{|s|}{2^{k+1}} \right )[/math]

Заметим, что [math]|s|\frac{1}{2^k} \gt p[/math], а [math]\frac{|s|}{2^{k+1}} \lt \frac{1}{4}[/math]. Итак, действительно, [math]P_{h}(\exists s: h(s)=y) \gt \frac{3}{4}p[/math], т.е. в этом случае [math]V[/math] примет слово с вероятностью [math]\frac{3}{4} \gt \frac{1}{2}[/math];

  • если [math]|S|\gt 2^{k-1}[/math], то [math]V[/math] примет слово с вероятностью, большей, чем [math]\frac{3}{4}. Теперь, выберем \lt tex\gt K[/math]: [math]K = \frac{1}{3}2^{P(|x|)}[/math].

Запустим построенный протокол доказательства некоторое константное количество раз для того, чтобы повысить точность, а именно добиться того, чтобы было:

  • [math]x \notin L \Rightarrow P(V(x) = [x \in L]) \lt \frac{1}{3}[/math]

Итак, [math]IP[f(n)] \subset AM[f(n)+O(1)][/math]. Теорема доказана.

Cм. также