PCP-система — различия между версиями
Строка 50: | Строка 50: | ||
|statement = '''Graph Nonisomorphism(GNI)''' <tex>\in \mathrm{PCP}[poly(n), O(1)]</tex> | |statement = '''Graph Nonisomorphism(GNI)''' <tex>\in \mathrm{PCP}[poly(n), O(1)]</tex> | ||
|proof = | |proof = | ||
− | + | Даны графы на <tex>n</tex> вершинах <tex>G_1</tex> и <tex>G_2</tex>. Требуется проверить, изоморфны ли они друг другу. <br/> | |
+ | Сперва пронумеруем все возможные графы на <tex>n</tex> вершинах. Не умаляя общности, будем считать, что <tex>\pi</tex> над троичным алфавитом. <br/> | ||
+ | Будем считать корректной <tex>\pi</tex>:<br/> | ||
+ | * <tex>\pi[k] = 0</tex> тогда и только тогда, когда граф номер <tex>k</tex> изоморфен <tex>G_1</tex> и <tex>G_2</tex>; | ||
+ | * <tex>\pi[k] = 1</tex> тогда и только тогда, когда граф номер <tex>k</tex> изоморфен <tex>G_1</tex> и неизоморфен <tex>G_2</tex>; | ||
+ | * <tex>\pi[k] = 2</tex> тогда и только тогда, когда граф номер <tex>k</tex> неизоморфен <tex>G_1</tex> и изоморфен <tex>G_2</tex>. | ||
+ | Верификатором <tex>V</tex> будет вероятностная МТ, работающая эквивалентно следующему псевдокоду:<br/> | ||
+ | p(<tex>\langle G_1, G_2 \rangle</tex>) { | ||
+ | i = random{1, 2}; | ||
+ | <tex>\phi</tex> = random permutation{1..n}; | ||
+ | <tex>H</tex> = <tex>\phi(G_i)</tex>; | ||
+ | return <tex>\pi[\#H] == i</tex>; | ||
+ | } | ||
+ | Проверим полноту и обоснованность: | ||
+ | * '''Полнота''': если графы неизоморфны, то существует <tex>\pi</tex> такая, что всякий её символ равен 1 или 2 и задан корректно. Тогда на этой <tex>\pi</tex> верификатор всегда вернёт 1. | ||
+ | * '''Обоснованность''': если графы изоморфны, то благодаря случайному выбору <tex>i</tex> вероятность ошибки не превышает <tex>{}^1/{}^2</tex>. | ||
}} | }} |
Версия 16:36, 3 июня 2012
PCP(probabilistically checkable proof) - вид доказательства, проверяемого рандомизированным алгоритмом, использующим ограниченное число случайных бит и читающим ограниченное число бит доказательства. Такой алгоритм должен с достаточно высокими вероятностями принимать корректные доказательства и отвергать ошибочные.
Определения
Определение: |
вероятностная машина Тьюринга имеющая доступ к цепочке — доказательству, удовлетворяющая следующим свойствам:
| -системой(системой вероятностно проверяемых доказательств) с полнотой и обоснованностью над алфавитом для языка , где , называется пара —
Определение: |
Randomness complexity(вероятностной сложностью) | верификатора называется число случайных битов, которое он использует за всё время работы со входом длины .
Определение: |
Query complexity(запросовой сложностью) | верификатора называется число запросов битов из , которое он отсылает за всё время работы со входом длины .
Определение: |
Верификатор | называется non-adaptive(неадаптивным), если при отправке запроса не использует ответы на предыдущие. Иными словами, его работа не изменится, если все свои запросы он отправит одновременно.
Определение: |
Сложностный класс Часто обозначают как . | является объединением языков всех , для которых существует -система над бинарным алфавитом с полнотой и обоснованностью , в которой верификатор неадаптивный, работает за полиномиальное время и имеет вероятностную и запросовую сложности соответственно и .
Свойства
Теорема: |
= = = |
Доказательство: |
|
Теорема: |
= |
Доказательство: |
Определение coRP |
Теорема: |
= |
Доказательство: |
Определение Σ₁ |
Пример
Теорема: |
Graph Nonisomorphism(GNI) |
Доказательство: |
Даны графы на
Верификатором p() { i = random{1, 2}; = random permutation{1..n}; = ; return ; } Проверим полноту и обоснованность:
|