Интерактивные протоколы. Класс IP. Класс AM — различия между версиями
м |
м (rollbackEdits.php mass rollback) |
||
(не показаны 4 промежуточные версии 3 участников) | |||
Строка 3: | Строка 3: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | <b>Интерактивным протоколом</b> (англ. ''interactive | + | <b>Интерактивным протоколом</b> (англ. ''interactive protocol'') <tex> \langle P, V \rangle </tex>, разрешающим язык <tex>L</tex>, называется абстрактная машина (см. рисунок), моделирующая вычисления как обмен сообщениями между двумя программами (где <tex>P</tex> означает <tex> \mathrm{Prover}</tex> и <tex> V </tex> означает <tex>\mathrm{Verifier}</tex>), такими, что |
# <tex>P</tex> заинтересован в том, чтобы <tex>V</tex> решил, что слово <tex>x</tex> принадлежит языку. | # <tex>P</tex> заинтересован в том, чтобы <tex>V</tex> решил, что слово <tex>x</tex> принадлежит языку. | ||
# <tex>P</tex> не ограничен по времени вычисления и памяти. | # <tex>P</tex> не ограничен по времени вычисления и памяти. | ||
Строка 15: | Строка 15: | ||
# <tex> V </tex> и <tex> P </tex> по очереди становятся активными. <tex> V </tex> активизируется первым. В течение работы <tex> V </tex> выполняет вычисления, используя вход, очередные данные с вероятностной ленты и сообщение, пришедшее от <tex> P </tex>, и пишет запрос <tex> P </tex>. Как только <tex> V </tex> написал сообщение, он дизактивируется, и <tex> P </tex> становится активным, если протокол не завершился. Любая машина может завершить выполнение протокола просто не посылая сообщение во время своей активной фазы. <tex> V </tex> принимает (или отвергает) вход, выводит '''true''' (или '''false''') и завершает выполнение протокола. Время работы <tex> V </tex> {{---}} это сумма времен работы, затраченных <tex> V </tex> в течение активной фазы, и это время ограничено полиномом от длины входа. | # <tex> V </tex> и <tex> P </tex> по очереди становятся активными. <tex> V </tex> активизируется первым. В течение работы <tex> V </tex> выполняет вычисления, используя вход, очередные данные с вероятностной ленты и сообщение, пришедшее от <tex> P </tex>, и пишет запрос <tex> P </tex>. Как только <tex> V </tex> написал сообщение, он дизактивируется, и <tex> P </tex> становится активным, если протокол не завершился. Любая машина может завершить выполнение протокола просто не посылая сообщение во время своей активной фазы. <tex> V </tex> принимает (или отвергает) вход, выводит '''true''' (или '''false''') и завершает выполнение протокола. Время работы <tex> V </tex> {{---}} это сумма времен работы, затраченных <tex> V </tex> в течение активной фазы, и это время ограничено полиномом от длины входа. | ||
# <tex>V</tex>, обменивающийся сообщениями с фиксированным <tex>P</tex>, обозначим <tex>V_{P}</tex>. | # <tex>V</tex>, обменивающийся сообщениями с фиксированным <tex>P</tex>, обозначим <tex>V_{P}</tex>. | ||
+ | # Для того, чтобы <tex> V </tex> принял слово, <tex>P</tex> старается максимизировать вероятность <tex>\mathbb{P}(V_{P}(x) = 1)</tex>, выбирая нужные ответы на запросы. | ||
+ | # Так как мы не ограничиваем <tex>P</tex> в вычислительной мощности, то он может работать бесконечное время, а значит <tex>V</tex> не получит ответ на какой-то вопрос. Но <tex>P</tex> хочет, чтобы <tex> V</tex> принял слово, значит нужно выбирать "хорошие" протоколы, чтобы таких ситуаций не появлялось. | ||
# <tex> P </tex> может быть и вероятностной и детерминированной машиной Тьюринга. Так как он имеет неограниченные вычислительные ресурсы, то на каждом ходу он может выбрать такие вероятностные данные и произвести вычисления с ними, что они максимизируют вероятность принятия слова <tex> V </tex>. | # <tex> P </tex> может быть и вероятностной и детерминированной машиной Тьюринга. Так как он имеет неограниченные вычислительные ресурсы, то на каждом ходу он может выбрать такие вероятностные данные и произвести вычисления с ними, что они максимизируют вероятность принятия слова <tex> V </tex>. | ||
# С другой стороны, для <tex> V </tex> важно быть вероятностной программой, так как иначе он будет принимать или отвергать слова с вероятностью <tex> 1 </tex>. И пользуясь предыдущим фактом, получим, что <tex> V_{P} </tex> всегда принимает слова из <tex> L </tex>. | # С другой стороны, для <tex> V </tex> важно быть вероятностной программой, так как иначе он будет принимать или отвергать слова с вероятностью <tex> 1 </tex>. И пользуясь предыдущим фактом, получим, что <tex> V_{P} </tex> всегда принимает слова из <tex> L </tex>. | ||
Строка 46: | Строка 48: | ||
|definition = <tex>\mathrm{IP}=\bigcup\limits_{p(n) \in poly} \mathrm{IP} [p(n)] </tex> | |definition = <tex>\mathrm{IP}=\bigcup\limits_{p(n) \in poly} \mathrm{IP} [p(n)] </tex> | ||
}} | }} | ||
− | То есть <tex> \mathrm{IP}</tex> {{---}} множество языков разрешимых интерактивным протоколом , таких, что число сообщений ограничено полиномом от длины слова и <tex>V</tex> должен решить лежит ли слово в языке с вероятностью ошибки не более <tex>1/{3}</tex>. | + | То есть <tex> \mathrm{IP}</tex> {{---}} множество языков разрешимых интерактивным протоколом, таких, что число сообщений ограничено полиномом от длины слова и <tex>V</tex> должен решить лежит ли слово в языке с вероятностью ошибки не более <tex>1/{3}</tex>. |
Язык <tex>\mathrm{AM}</tex> (''Arthur–Merlin games'') отличается от <tex>\mathrm{IP}</tex> лишь тем, что <tex>P</tex> может видеть вероятностную ленту <tex>V</tex>. | Язык <tex>\mathrm{AM}</tex> (''Arthur–Merlin games'') отличается от <tex>\mathrm{IP}</tex> лишь тем, что <tex>P</tex> может видеть вероятностную ленту <tex>V</tex>. | ||
Строка 74: | Строка 76: | ||
|proof= | |proof= | ||
Для разрешения [[Классы_NP_и_Σ₁#.D0.9E.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F.2C_.D1.81.D0.B2.D1.8F.D0.B7.D1.8C_.CE.A3.E2.82.81_.D0.B8_NP|языка из <tex>\mathrm{NP}</tex>]] будем использовать следующий протокол: | Для разрешения [[Классы_NP_и_Σ₁#.D0.9E.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F.2C_.D1.81.D0.B2.D1.8F.D0.B7.D1.8C_.CE.A3.E2.82.81_.D0.B8_NP|языка из <tex>\mathrm{NP}</tex>]] будем использовать следующий протокол: | ||
− | <tex> | + | <tex>V</tex> будет проверять на принадлежность слова <tex>x</tex> языку, используя сертификат, который он запросит у <tex>P</tex>. Так как <tex>P</tex> не ограничен в вычислительной мощности, он может подобрать подходящий сертификат и именно его и сообщит, так как он заинтересован в том, чтобы <tex>V</tex> принял слово. Для этого требуется лишь один раунд интерактивного протокола. |
}} | }} | ||
Текущая версия на 19:31, 4 сентября 2022
Содержание
Определения
Определение: |
Интерактивным протоколом (англ. interactive protocol)
| , разрешающим язык , называется абстрактная машина (см. рисунок), моделирующая вычисления как обмен сообщениями между двумя программами (где означает и означает ), такими, что
Замечания:
- и по очереди становятся активными. активизируется первым. В течение работы выполняет вычисления, используя вход, очередные данные с вероятностной ленты и сообщение, пришедшее от , и пишет запрос . Как только написал сообщение, он дизактивируется, и становится активным, если протокол не завершился. Любая машина может завершить выполнение протокола просто не посылая сообщение во время своей активной фазы. принимает (или отвергает) вход, выводит true (или false) и завершает выполнение протокола. Время работы — это сумма времен работы, затраченных в течение активной фазы, и это время ограничено полиномом от длины входа.
- , обменивающийся сообщениями с фиксированным , обозначим .
- Для того, чтобы принял слово, старается максимизировать вероятность , выбирая нужные ответы на запросы.
- Так как мы не ограничиваем в вычислительной мощности, то он может работать бесконечное время, а значит не получит ответ на какой-то вопрос. Но хочет, чтобы принял слово, значит нужно выбирать "хорошие" протоколы, чтобы таких ситуаций не появлялось.
- может быть и вероятностной и детерминированной машиной Тьюринга. Так как он имеет неограниченные вычислительные ресурсы, то на каждом ходу он может выбрать такие вероятностные данные и произвести вычисления с ними, что они максимизируют вероятность принятия слова .
- С другой стороны, для важно быть вероятностной программой, так как иначе он будет принимать или отвергать слова с вероятностью . И пользуясь предыдущим фактом, получим, что всегда принимает слова из .
- Так как может писать и читать полиномиальное число символов, то длина сообщений между и есть полином от длины .
Интерактивные протоколы делятся на два типа в зависимости от доступа
к вероятностной ленте :- public coins (русск. открытые монеты) — может видеть вероятностную ленту ;
- private coins (русск. закрытые монеты)— не может видеть вероятностную ленту .
Определение: |
Если для интерактивного протокола выполняется | , то говорят, что он обладает свойством completeness (русск. полнота) равным .
Если
(perfect completeness (русск. идеальная полнота)), то это означает, что никакое верное утверждение не отклоняется .
Определение: |
Если для интерактивного протокола выполняется | , то говорят, что он обладает свойством soundness (русск. достоверность) равным .
Если
(perfect soundness (русск. идеальная достоверность)), то это означет, что если утверждение ложно, то никакой не может убедить , что утверждение истино. В этом случае мы получем класс . Потому что тогда и только тогда, если существует последовательность случайных вопросов, генерируемых , и последовательность ответов , которые убеждают в том, что . Обратное утверждение сохраняется по предположению идеальной достоверности.
Определение: |
| (Interactive Polynomial time) интерактивный протокол
Определение: |
То есть
— множество языков разрешимых интерактивным протоколом, таких, что число сообщений ограничено полиномом от длины слова и должен решить лежит ли слово в языке с вероятностью ошибки не более .Язык
(Arthur–Merlin games) отличается от лишь тем, что может видеть вероятностную ленту .Определение: |
| интерактивный протокол
Определение: |
Соотношения с другими классами теории сложности
Теорема: |
. |
Доказательство: |
язык из не прибегая к общению с . | сам по себе является вероятностной машиной Тьюринга и поэтому может разрешить
Теорема: |
. |
Доказательство: |
Для разрешения языка из будем использовать следующий протокол: будет проверять на принадлежность слова языку, используя сертификат, который он запросит у . Так как не ограничен в вычислительной мощности, он может подобрать подходящий сертификат и именно его и сообщит, так как он заинтересован в том, чтобы принял слово. Для этого требуется лишь один раунд интерактивного протокола. |
Язык GNI
Определение: |
неизоморфных друг другу графов. графы и не изоморфны . | расшифровывается как Graph Non Isomorphism. Это язык пар
Теорема: |
. |
Доказательство: |
Пусть на вход подали пару графов и нужно определить изоморфны ли они. Будем использовать следующий алгоритм для :
Покажем, что это удовлетворяет ограничениям на . Во-первых, очевидно, что число раундов не превосходит двух.Рассмотрим теперь два случая:
|