Участник:SkudarnovYaroslav/Теормин к зачёту по теории сложности
Содержание
- 1 Определения
- 1.1 Класс P
- 1.2 Класс NP на языке недетерминированных машин и на языке сертификатов
- 1.3 Сведение по Карпу
- 1.4 Видимо, это про NP-полные задачи
- 1.5 Класс coNP
- 1.6 Вычисление с оракулом
- 1.7 Класс PS
- 1.8 PS-полная задача
- 1.9 Класс L
- 1.10 Класс NL
- 1.11 NL-полная задача
- 1.12 Класс P/poly
- 1.13 Вероятностные вычисления (неформальненько как-то, ну да ладно)
- 1.14 Класс BPP
- 1.15 Класс RP
- 1.16 Класс ZPP
- 1.17 Интерактивное доказательство (кажется, оно, но не уверен)
- 1.18 Класс IP
- 1.19 Класс AM
- 1.20 Класс PCP
- 2 Доказательства
Определения
Класс P
| Определение: |
| Класс — класс языков (задач), разрешимых на детерминированной машине Тьюринга за полиномиальное время, то есть: . |
Итого, язык лежит в классе тогда и только тогда, когда существует такая детерминированная машина Тьюринга , что:
- завершает свою работу за полиномиальное время на любых входных данных;
- если на вход машине подать слово , то она допустит его;
- если на вход машине подать слово , то она не допустит его.
Класс NP на языке недетерминированных машин и на языке сертификатов
| Определение: |
| . |
То есть — это множество языков, разрешимых недетерминированной программой за полиномиальное время.
| Определение: |
| . |
Нестрого говоря, — это множество языков, для которых существует работающая за полиномиальное время детерминированная программа-верификатор , а для каждого слова из языка (и только для слова из языка) можно предъявить сертификат полиномиальной длины, подтверждающий принадлежность слова языку и проверяемый верификатором.
Сведение по Карпу
| Определение: |
| — класс языков, распознаваемых программами с некоторыми ограничениями. Тогда обозначим класс вычислимых функций, вычисляемых программами с теми же ограничениями. |
| Определение: |
| Язык -сводится по Карпу к языку (), если существует такая функция из , что принадлежит тогда и только тогда, когда принадлежит : . |
Видимо, это про NP-полные задачи
| Определение: |
| — сложностный класс, — класс вычислимых функций. Язык называется -трудным относительно -сведения (-hard), если любой язык из -сводится к : — -hard . |
| Определение: |
| — сложностный класс, — класс вычислимых функций. Язык называется -полным относительно -сведения (-complete), если является -трудным относительно -сведения и сам лежит в . |
Замечание. Часто используется сведение из , поэтому вместо «-сводится по Карпу» говорят просто «сводится». Также индекс у символа сведения обычно опускают.
Класс -полных языков — . является одним из важнейших классов в теории сложности, так как если найдется язык из этого класса, который также входит в класс , тогда окажется, что .
Класс coNP
В теории сложности класс co-NP — класс языков (задач), дополнение к которым лежит в NP.
co-NP = (См. Полиномиальная иерархия)
Вычисление с оракулом
В теории вычислений и теории сложности "машиной с оракулом" называют абстрактную машину, предназначенную для решения какой-либо проблемы разрешимости. Такая машина может быть представлена как машина Тьюринга, дополненная оракулом с неизвестным внутренним устройством. Постулируется, что оракул способен решить определенные проблемы разрешимости за один такт машины Тьюринга. Машина Тьюринга взаимодействует с оракулом путем записи на свою ленту входных данных для оракула и затем его запуском на исполнение. За один шаг оракул вычисляет функцию, стирает входные данные и пишет выходные данные на ленту. Иногда машина Тьюринга описывается как имеющая две ленты, одна предназначена для входных данных оракула, другая — для выходных.
| Определение: |
| Оракул — абстракция, вычисляющая за времени, верно ли, что принадлежит множеству . |
Сложностный класс задач, решаемых алгоритмом из класса с оракулом для языка , обозначают .
Класс PS
| Определение: |
| — класс языков, разрешимых на детерминированной машине Тьюринга с использованием памяти полиномиального размера. . |
Если — множество языков, то .
PS-полная задача
Видимо, тут.
Класс L
| Определение: |
| Класс — множество языков, разрешимых на детерминированной машине Тьюринга с использованием дополнительной памяти для входа длиной . . |
Класс NL
| Определение: |
| Класс — множество языков, разрешимых на недетерминированной машине Тьюринга с использованием дополнительной памяти для входа длиной . . |
NL-полная задача
Опять же, тут.
Класс P/poly
| Определение: |
| — класс языков, разрешимых семейством логических схем полиномиального размера с n входами и одним выходом.
:
|
| Определение: |
Пусть — сложностный класс, — функция. Тогда существуют подсказки и программа , удовлетворяющая ограничениям :
|
| Определение: |
| . |
Вероятностные вычисления (неформальненько как-то, ну да ладно)
Вероятностные вычисления — один из подходов в теории вычислительной сложности, в котором программы получают доступ, говоря неформально, к генератору случайных чисел. Мы рассмотрим классы сложности, для которых программы могут работать за полиномиальное время и делать односторонние, двусторонние ошибки или работать за полиномиальное время лишь в среднем случае.
| Определение: |
| Вероятностная лента — бесконечная в одну сторону последовательность битов, распределение которых подчиняется некоторому вероятностному закону (обычно считают, что биты в различных позициях независимы и вероятность нахождения или в каждой позиции равна ). |
| Определение: |
| Вероятностная машина Тьюринга (ВМТ) — детерминированная машина Тьюринга, имеющая вероятностную ленту. Переходы в ВМТ могут осуществляться с учетом информации, считанной с вероятностной ленты. |
Используя тезис Черча-Тьюринга, ВМТ можно сопоставить программы, имеющие доступ к случайным битам. Обращение к очередному биту можно трактовать как вызов специальной функции random(). При этом также будем предполагать, что вероятностная лента является неявным аргументом программы или ВМТ, т.е. , где — вероятностная лента.
Класс BPP
| Определение: |
(от bounded probabilistic polynomial) — множество языков , для которых существует такая ВМТ , что для любого :
|
— сложностный класс, допускающий двусторонние ошибки. Константу можно заменить на любое число из промежутка , так как требуемой вероятности можно добиться множественным запуском . Замена константы на сделала бы данный класс равным (программа, возвращающая результат функции random(), подошла бы для любого языка).
Класс RP
| Определение: |
Сложностный класс состоит из языков таких, что существует ВМТ такая, что для любого :
|
— сложностный класс, допускающий ошибки программ на словах из . Заметим, что константа в пункте 2 определения может быть заменена на любую другую из промежутка , поскольку требуемой вероятности можно добиться множественным запуском программы.
можно рассматривать как вероятностный аналог класса , предполагая, что вероятность угадать сертификат в случае его существования не менее .
Класс ZPP
| Определение: |
(от zero-error probabilistic polynomial) — множество языков , для которых :
|
— сложностный класс, такой что программы, удовлетворяющие его ограничениям, не могут делать ошибок, но работают за полиномиальное время только в среднем случае.
Напомним, что математическое ожидание является усреднением по вероятностным лентам, а не по входу .
Интерактивное доказательство (кажется, оно, но не уверен)
| Определение: |
Интерактивным протоколом, разрешающим язык , называется абстрактная машина (см. рисунок), моделирующая вычисления как обмен сообщениями между двумя программами ( и ), такими, что
|
, обменивающийся сообщениями с , будем обозначать .
Интерактивные протоколы делятся на два типа в зависимости от доступа к вероятностной ленте :
- public coins — может видеть вероятностную ленту ;
- private coins — не может видеть вероятностную ленту .
Класс IP
| Определение: |
|
| Определение: |
Класс AM
Язык (Arthur–Merlin games) отличается от лишь тем, что может видеть вероятностную ленту .
| Определение: |
|
| Определение: |
Класс PCP
PCP(probabilistically checkable proof) - вид доказательства, проверяемого рандомизированным алгоритмом, использующим ограниченное число случайных бит и читающим ограниченное число бит доказательства. Такой алгоритм должен с достаточно высокими вероятностями принимать корректные доказательства и отвергать ошибочные.
| Определение: |
-системой (системой вероятностно проверяемых доказательств) с полнотой и обоснованностью над алфавитом для языка , где , называется верификатор — вероятностная машина Тьюринга, имеющая доступ к доказательству — цепочке из , удовлетворяющая следующим свойствам:
|
| Определение: |
| Randomness complexity (вероятностной сложностью) верификатора называется число случайных битов, используемых за всё время работы со входом длины . |
| Определение: |
| Query complexity (запросной сложностью) верификатора называется число запросов битов из , отсылаемых за всё время работы со входом длины . |
| Определение: |
| Верификатор называется non-adaptive (неадаптивным), если при отправке запроса не использует ответы на предыдущие. Иными словами, его работа не изменится, если все запросы отправить одновременно. |
| Определение: |
| Сложностный класс — это объединение всех языков, для которых существует -система над бинарным алфавитом с полнотой и обоснованностью , в которой неадаптивный верификатор работает за полиномиальное время и имеет вероятностную и запросную сложности соответственно и , а доказательства имеют экспоненциальную длину. Часто обозначают как . |