Интерактивные протоколы. Класс IP. Класс AM — различия между версиями
м |
(Отмена правки 23980 участника Байдаров Андрей (обсуждение)) |
||
Строка 3: | Строка 3: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | <b>Интерактивным протоколом</b>, разрешающим язык <tex>L</tex>, называется абстрактная машина (см. рисунок), моделирующая вычисления как обмен сообщениями между двумя программами (<tex> | + | <b>Интерактивным протоколом</b>, разрешающим язык <tex>L</tex>, называется абстрактная машина (см. рисунок), моделирующая вычисления как обмен сообщениями между двумя программами (Prover и Verifier, далее <tex>P</tex> и <tex>V</tex> соответственно), такими, что |
− | # <tex> | + | # <tex>P</tex> заинтересован в том, чтобы <tex>V</tex> решил, что слово <tex>x</tex> принадлежит языку; |
− | # <tex> | + | # <tex>P</tex> не ограничен в вычислительной мощности; |
− | # <tex> | + | # <tex>V</tex> заинтересован установить, действительно ли слово <tex>x</tex> принадлежит языку; |
− | # <tex> | + | # <tex>V</tex> — [[Вероятностные вычисления. Вероятностная машина Тьюринга|вероятностная машина Тьюринга]]; |
− | # <tex> | + | # <tex>V</tex> ограничен полиномиальным временем работы. |
}} | }} | ||
[[Файл:IPS.png|250px|thumb|right|Схема интерактивного протокола.]] | [[Файл:IPS.png|250px|thumb|right|Схема интерактивного протокола.]] | ||
− | <tex> | + | <tex>V</tex>, обменивающийся сообщениями с <tex>P</tex>, будем обозначать <tex>V^{P}</tex>. |
− | Интерактивные протоколы делятся на два типа в зависимости от доступа <tex> | + | Интерактивные протоколы делятся на два типа в зависимости от доступа <tex>P</tex> к вероятностной ленте <tex>V</tex>: |
− | # <b> public coins </b> — <tex> | + | # <b> public coins </b> — <tex>P</tex> может видеть вероятностную ленту <tex>V</tex>; |
− | # <b> private coins </b> — <tex> | + | # <b> private coins </b> — <tex>P</tex> <b>не</b> может видеть вероятностную ленту <tex>V</tex>. |
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | <tex>\mathrm{IP}[f] = \{L\bigm|\exists \langle | + | <tex>\mathrm{IP}[f] = \{L\bigm|\exists \langle V, P \rangle : </tex> <br/> |
− | # <tex> | + | # <tex>P</tex> не имеет доступа к вероятностной ленте <tex>V</tex> (private coins); |
− | # <tex> \forall x \in L \Rightarrow P( | + | # <tex> \forall x \in L \Rightarrow P(V^{P}(x) = 1) \ge \frac{2}{3} </tex>;<br/> |
− | # <tex> \forall x \notin L \Rightarrow P( | + | # <tex> \forall x \notin L \Rightarrow P(V^{P}(x) = 1) \le \frac{1}{3} </tex>;<br/> |
# число раундов интерактивного протокола <tex> O(f(n)), n = |x|\}</tex>.<br/> | # число раундов интерактивного протокола <tex> O(f(n)), n = |x|\}</tex>.<br/> | ||
}} | }} | ||
Строка 30: | Строка 30: | ||
}} | }} | ||
− | Язык <tex>\mathrm{AM}</tex> (<i>Arthur–Merlin games</i>) отличается от <tex>\mathrm{IP}</tex> лишь тем, что <tex> | + | Язык <tex>\mathrm{AM}</tex> (<i>Arthur–Merlin games</i>) отличается от <tex>\mathrm{IP}</tex> лишь тем, что <tex>P</tex> может видеть вероятностную ленту <tex>V</tex>. |
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | <tex>\mathrm{AM}[f] = \{L\bigm|\exists \langle | + | <tex>\mathrm{AM}[f] = \{L\bigm|\exists \langle V, P \rangle : </tex> <br/> |
− | # <tex> | + | # <tex>P</tex> может читать вероятностную ленту <tex>V</tex> (public coins); |
− | # <tex> \forall x \in L \Rightarrow P( | + | # <tex> \forall x \in L \Rightarrow P(V^{P}(x) = 1) \ge \frac{2}{3} </tex>;<br/> |
− | # <tex> \forall x \notin L \Rightarrow P( | + | # <tex> \forall x \notin L \Rightarrow P(V^{P}(x) = 1) \le \frac{1}{3} </tex>;<br/> |
# число раундов интерактивного протокола <tex> O(f(n)), n = |x|\} </tex>.<br/> | # число раундов интерактивного протокола <tex> O(f(n)), n = |x|\} </tex>.<br/> | ||
}} | }} | ||
Строка 45: | Строка 45: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | Если для интерактивного протокола выполняется <tex> \forall x \in L \Rightarrow P( | + | Если для интерактивного протокола выполняется <tex> \forall x \in L \Rightarrow P(V^{P}(x) = 1) = 1 </tex>, то говорят, что он обладает свойством <b> completeness </b>. |
}} | }} | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | Если для интерактивного протокола выполняется <tex> \forall x \notin L \Rightarrow P( | + | Если для интерактивного протокола выполняется <tex> \forall x \notin L \Rightarrow P(V^{P}(x) = 1) = 0 </tex>, то говорят, что он обладает свойством <b> soundness </b>. |
}} | }} | ||
Свойство completeness можно достичь, а soundness достичь нельзя. | Свойство completeness можно достичь, а soundness достичь нельзя. | ||
+ | |||
+ | == Соотношения с другими классами теории сложности == | ||
+ | |||
+ | {{Теорема | ||
+ | |statement=<tex>\mathrm{BPP} \subset \mathrm{IP}[0]</tex>. | ||
+ | |proof= | ||
+ | <tex>V</tex> сам по себе является вероятностной машиной Тьюринга и поэтому может разрешить язык из <tex>\mathrm{BPP}</tex> не прибегая к общению с <tex>P</tex>. | ||
+ | }} | ||
+ | |||
+ | {{Теорема | ||
+ | |statement=<tex>\mathrm{NP} \subset \mathrm{IP}[1]</tex>. | ||
+ | |proof= | ||
+ | Для разрешения языка из <tex>\mathrm{NP}</tex> будем использовать следующий протокол: | ||
+ | <tex>V</tex> будет проверять на принадлежность слова <tex>x</tex> используя сертификат, который он запросит у <tex>P</tex>. Так как <tex>P</tex> не ограничен в вычислительной мощности, он может подобрать подходящий сертификат и именно его и сообщит, так как он заинтересован в том, чтобы <tex>V</tex> принял слово. Для этого требуется лишь один раунд интерактивного протокола. | ||
+ | }} | ||
+ | |||
+ | == Язык GNI == | ||
+ | {{Определение | ||
+ | |definition= | ||
+ | <tex>\mathrm{GNI}</tex> расшифровывается как Graph Non Isomorphism. Это язык пар неизоморфных друг другу графов. | ||
+ | <tex>\mathrm{GNI}=\{ \langle G, H \rangle, </tex> графы <tex>G</tex> и <tex>H</tex> не изоморфны <tex>\}</tex>. | ||
+ | }} | ||
+ | |||
+ | {{Теорема | ||
+ | |statement=<tex>\mathrm{GNI} \in \mathrm{IP}[1]</tex>. | ||
+ | |proof= | ||
+ | Будем использовать следующий алгоритм для <tex>V</tex>: | ||
+ | # Возьмём случайное число <tex>i \in \{0, 1\}</tex> и случайную перестановку <tex>\pi</tex> с вероятностной ленты; <br/> | ||
+ | # Создадим новый граф, перемешав вершины графа c номером <tex>i</tex> перестановкой <tex>\pi</tex>; <br/> | ||
+ | # Перешлём <tex>P</tex> полученный граф с просьбой определить, из какого из исходных графов он был получен; <br/> | ||
+ | # Получив ответ, сравним его с правильным ответом — числом <tex>i</tex>; <br/> | ||
+ | # Если полученный ответ не совпадёт с <tex>i</tex>, то вернём <tex>0</tex>; <br/> | ||
+ | # Иначе повторим первые пять шагов ещё раз и перейдём к последнему шагу; <br/> | ||
+ | # Если мы ещё не вернули <tex>0</tex>, то вернём <tex>1</tex>. | ||
+ | |||
+ | Покажем, что это удовлетворяет ограничениям на <tex>\mathrm{IP}[1]</tex>. | ||
+ | Во-первых, очевидно, что число раундов не превосходит двух. <br/> | ||
+ | Рассмотрим теперь случаи | ||
+ | * <tex> \langle G, H \rangle \in \mathrm{GNI}</tex>. Тогда <tex>G</tex> и <tex>H</tex> неизоморфны и <tex>P</tex> сможет определить какой граф был перемешан <tex>V</tex>. Таким образом, <tex>P</tex> сможет два раза подряд вернуть правильный ответ и в итоге <tex>V</tex> вернёт 1. | ||
+ | * <tex> \langle G, H \rangle \notin \mathrm{GNI}</tex>. Тогда <tex>G</tex> и <tex>H</tex> изоморфны и <tex>P</tex> не сможет определить какой граф был перемешан <tex>V</tex>. Так как <tex>P</tex> заинтересован в том, чтобы <tex>V</tex> принял слово, ему необходимо угадать правильный ответ (иначе <tex>V</tex> просто вернёт <tex>0</tex>). Вероятность того, что <tex>V</tex> примет слово <tex>x</tex>, когда оно не принадлежит языку (то есть <tex>P</tex> два раза подряд верно угадает номер графа), равна <tex>\frac{1}{4}</tex>. | ||
+ | Таким образом, построенный протокол удовлетворяет условию теоремы. | ||
+ | }} | ||
+ | |||
+ | == См. также == | ||
+ | *[[Вероятностные вычисления. Вероятностная машина Тьюринга]] | ||
+ | *[[Классы NP и Σ₁]] | ||
+ | |||
+ | [[Категория: Теория сложности]] |
Версия 01:08, 5 июня 2012
Определения
Определение: |
Интерактивным протоколом, разрешающим язык
| , называется абстрактная машина (см. рисунок), моделирующая вычисления как обмен сообщениями между двумя программами (Prover и Verifier, далее и соответственно), такими, что
, обменивающийся сообщениями с , будем обозначать .
Интерактивные протоколы делятся на два типа в зависимости от доступа
к вероятностной ленте :- public coins — может видеть вероятностную ленту ;
- private coins — не может видеть вероятностную ленту .
Определение: |
|
Определение: |
Язык (Arthur–Merlin games) отличается от лишь тем, что может видеть вероятностную ленту .
Определение: |
|
Определение: |
Определение: |
Если для интерактивного протокола выполняется | , то говорят, что он обладает свойством completeness .
Определение: |
Если для интерактивного протокола выполняется | , то говорят, что он обладает свойством soundness .
Свойство completeness можно достичь, а soundness достичь нельзя.
Соотношения с другими классами теории сложности
Теорема: |
. |
Доказательство: |
сам по себе является вероятностной машиной Тьюринга и поэтому может разрешить язык из не прибегая к общению с . |
Теорема: |
. |
Доказательство: |
Для разрешения языка из будем использовать следующий протокол: будет проверять на принадлежность слова используя сертификат, который он запросит у . Так как не ограничен в вычислительной мощности, он может подобрать подходящий сертификат и именно его и сообщит, так как он заинтересован в том, чтобы принял слово. Для этого требуется лишь один раунд интерактивного протокола. |
Язык GNI
Определение: |
расшифровывается как Graph Non Isomorphism. Это язык пар неизоморфных друг другу графов. графы и не изоморфны . |
Теорема: |
. |
Доказательство: |
Будем использовать следующий алгоритм для :
Покажем, что это удовлетворяет ограничениям на
|