Схемная сложность и класс P/poly — различия между версиями
Vincent (обсуждение | вклад) (→Теоремы) |
Vincent (обсуждение | вклад) |
||
Строка 26: | Строка 26: | ||
{{Теорема | {{Теорема | ||
|statement= | |statement= | ||
− | <tex> P \subset | + | <tex> P \subset PSIZE </tex>. |
|proof= | |proof= | ||
− | <tex> L \in P | + | Пусть <tex> L \in P </tex>. Тогда существует машина Тьюринга m, распознающая язык L. Составим логическую схему для m, как мы сделали в [[Примеры_NP-полных_языков._Теорема_Кука|теореме Кука]], ее размеры ограничены полиномом, она допускает только слова из языка. Отсюда следует, что <tex> P \subset PSIZE </tex>. |
}} | }} | ||
Строка 46: | Строка 46: | ||
<tex> P/poly \subset PSIZE</tex>. | <tex> P/poly \subset PSIZE</tex>. | ||
|proof= | |proof= | ||
− | Пусть <tex> L \in P/poly </tex>, x {{---}} входная строка. Тогда для L существуют подсказки <tex> a_0, a_1, .. , a_n, .. </tex>. Программа p по входу x и подсказке <tex> a_{|x|} </tex> определяет принадлежность x языку L. Зафиксируем длину входной строки x как n. Запишем p в виде логической схемы <tex> C_m </tex> ( <tex> m = n + |a_n| </tex>), которая принимает на вход слова длины n и подсказку <tex> a_n </tex>. Зашьем подсказку в самой схеме. Получим схему <tex> C_n </tex>, принимающую слова длины n и определяющую их принадлежность языку L. | + | Пусть <tex> L \in P/poly </tex>, x {{---}} входная строка. Тогда для L существуют подсказки <tex> a_0, a_1, .. , a_n, .. </tex>. Программа p по входу x и подсказке <tex> a_{|x|} </tex> определяет принадлежность x языку L. Зафиксируем длину входной строки x как n. Запишем p в виде логической схемы <tex> C_m </tex> ( <tex> m = n + |a_n| </tex>), которая принимает на вход слова длины n и подсказку <tex> a_n </tex>. Полученная схема будет полиномиального размера. Зашьем подсказку в самой схеме, то есть впишем в нее значения битов подсказки. Получим схему <tex> C_n </tex> полиномиального размера, принимающую слова длины n и определяющую их принадлежность языку L. Такие схемы можно получить для любой длины входа. Значит, <tex> P/poly \subset PSIZE </tex>. |
}} | }} |
Версия 18:49, 27 мая 2012
Определения
Определение: |
логических схем полиномиального размера с n входами и одним выходом, то есть: :
| — класс языков, вычислимых семейством
Определение: |
Пусть C — сложностный класс, f — функция. Тогда
| существуют — подсказки, программа p, удовлетворяющая ограничениям C:
Определение: |
. |
Теоремы
Теорема: |
. |
Доказательство: |
Пусть теореме Кука, ее размеры ограничены полиномом, она допускает только слова из языка. Отсюда следует, что . | . Тогда существует машина Тьюринга m, распознающая язык L. Составим логическую схему для m, как мы сделали в
Теорема: |
. |
Доказательство: |
Пусть , x — входная строка. Тогда для L существуют логические схемы . В качестве подсказки для x предоставим логическую схему . Программа p получает на вход x и и возвращает значение, вычисляемое для входа x. Запишем программуЛогическая схема : return имеет полиномиальный размер. Оба условия для выполнены, . |
Теорема: |
. |
Доказательство: |
Пусть | , x — входная строка. Тогда для L существуют подсказки . Программа p по входу x и подсказке определяет принадлежность x языку L. Зафиксируем длину входной строки x как n. Запишем p в виде логической схемы ( ), которая принимает на вход слова длины n и подсказку . Полученная схема будет полиномиального размера. Зашьем подсказку в самой схеме, то есть впишем в нее значения битов подсказки. Получим схему полиномиального размера, принимающую слова длины n и определяющую их принадлежность языку L. Такие схемы можно получить для любой длины входа. Значит, .