Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
10.02.2015
Размер:
334.79 Кб
Скачать

3.4. Лекция 10. NP -полный язык.

31

3.4Лекция 10. NP -полный язык.

Теорема 24 Язык СФЭ − SAT - NP -полон.

Доказательство. Пусть M - недетерминированная машина Тьюринга, для которой время работы на любом слове x ограничено p(|x|) для некоторого полинома p. Тогда для этого слова участок входной ленты, где могла побывать головка, ограничен 2p(|x|) ячейками. Опишем возможные конфигурации ленты содержимыми этих ячеек. Причем для каждой ячейки i определим слово wi {0, 1} длины 4 + k, где k - число состояний машины M (алфавит M имеет, как оговаривалось ранее 4 символа). Один из первых четырех символов wi показывает, какой символ записан в ячейке, остальные k символов равны 0, кроме i-го, если в данной конфигурации головка на этой ячейке и M находится в этом случае в i-ом состоянии.

Наша задача построить в Logspace СФЭ C такую, что она выполнима при входе A0A1 . . . At, t ≤ p(|x|), тогда и только тогда, когда Ai является корректной продолжением Ai−1, а A0 и At - начальная и финальная (принимающая) конфигурации M:

x L(M) f(x) = C СФЭ − SAT.

Схема C состоит из нескольких фрагментов. Фрагменты первого типа Cj,1 проверяют те биты соседних конфигураций (j-й и j + 1-ой), которые отвечают за ячейки, в которых не стоит головка M. То есть для каждой i-й ячейки подсхема Cj,1,i проверяет идентичность первых 4-х битов слов wi j-й и j + 1-ой конфигураций и равенства 0 остальных битов wi j-й конфигурации.

Фрагменты второго типа Cj,2 проверяют биты j-й конфигурации, которые отвечают за i-ю ячейку, в которой стоит головка M, и за 2 соседние ячейки. Эти же фрагменты проверяют согласованность с первыми 4-мя битами i-й ячейки j + 1-й конфигурации. То есть в Cj,2 кодируется функция выходов M. Каждый тройка (состояние, буква, новая буква) соответствует подсхеме с 2-мя элементами . Выходы подсхем, а также подсхема, проверяющая, что в первых 4-х битах i-й ячейки j + 1-й конфигурации ровно одна 1, соединяются через .

Фрагменты Cj,3 проверяют те биты соседних конфигураций (j-й и j + 1-ой), которые отвечают за ячейки, в которых стоит головка M, и оценивая биты слова wi j-й и последние k битов слова wl (i−1 ≤ l ≤ i+1)

32

Глава 3. Сложность.

j + 1-ой конфигураций, проверяют правильность движения головки и правильность следующего состояния. В Cj,3 кодируется функция переходов M и передвижений. Каждый тройка (состояние, буква, новое состояние) соответствует подсхеме с 2-мя элементами . В Cj,3 проверяется также, что ровно 1 бит из последних k битов слова wl j + 1-ой конфигураций равен 1.

Выходы Cj,1 и Cj,2 соединяются через . А полученный выход с выходом Cj,3 через . Полученная схема Cj проверяет корректность перехода из одной конфигурации в другую. Соединив через выходы p(|x|) копий Cj (для разных входов), получим схему, проверяющую всю последовательность переходов. Добавив к этой схеме проверку правильности первой конфигурации и анализа, будет ли достигнуто финальное принимающее состояние, получим окончательную схему C = f(x):

x L(M) C СФЭ − SAT.

Так как язык СФЭ − SAT NP , СФЭ − SAT - NP -полон.

3.5Лекция 11. Примеры NP -полных языков.

Следующие языки - NP -полны.

3 − SAT

КЛИКА = {(G, k)|Gсодержит клику размераk}

COLOR = {(G, k)|Gможно раскрасить вkцветов}

1)3 − SAT - NP -полный язык. Действительно, очевидно, что

3 − SAT NP.

Кроме того, СФЭ − SAT ≤L 3 − SAT. Чтобы показать это, поставим в соответствие выходу каждого функционального элемента схемы C переменную. Тогда функционирование схемы представимо 3-КНФ K. Если выход функционального элемента, вычисляющего x = z t помечен y надо проверить равенство y и x (x ↔ y ≡ ((¯x y) (x y¯))). Кроме того, наобходимо проверить, что на выходе K получается T . "Выполняющий"набор K может быть расширен до "выполняющего"набора C.

3.6. Лекция 12. Соотношение между детерминированностью и недетерминированностью.33

"Невыполняющий"набор K не может быть расширен до "выполняющего"набора C.

2) КЛИКА - NP -полный язык. Действительно, очевидно, что

КЛИКА NP.

Кроме того, 3 − SAT ≤L КЛИКА. Чтобы показать это, поставим в соответствие каждой дизъюнкции КНФ K вершины, помеченные литералами этой дизъюнкции (если литерал присутствует в t дизъюнкциях, ему будет соответствовать t вершин). Непротиворечивые литералы различных дизъюнкций соединим ребром. Выполнимость КНФ с k дизъюнкциями равносильна наличию в полученном графе k-клики.

3) COLOR - NP -полный язык. Действительно, очевидно, что

COLOR NP.

Кроме того, 3 − SAT ≤L COLOR. Опустим доказательство. Существуют и P SP ACE-полные языки (проблемы):

Теорема 25 НЕЭКВИВАЛЕНТНОСТЬ РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ является P SP ACE-полным языком.

3.6Лекция 12. Соотношение между детерминированностью и недетерминированностью.

Теорема 26 1. NT IME(f(n)) T IME(22f(n));

2.NSP ACE(f(n)) SP ACE(f(n)2);

3.NT IME(f(n)) SP ACE(f(n)).

Доказательство. 1. Недетерминированную TM M в NT IME(f(n)) с входным словом x можно промоделировать детерминированной TM M0, перебирающей все слова w {0, 1}f(|x|). Недерминированный i-й шаг соответствует чтению машиной M0 i-го символа w. M0 приходит в финальное принимающее состояние, если в финальное принимающее состояние приходит M: f(|x|)2f(|x|) ≤ 22f(|x|)).

34

Глава 3. Сложность.

2. Недетерминированная TM M в NSP ACE(f(n)) с входным словом x определяет граф конфигураций с O(2f(|x|)) вершинами. Проблема сводится к определению существует ли в этом графе путь от начальной конфигурации к финальной принимающей.

Для графа G с m вершинами решим задачу pathG(i, j, m−1): pathG(i, j, k) = true, если в G существует путь i от к j длины не более k. Соответствующий рекурсивный алгоритм запоминает i, j, k (O(log(n)) битов), делит k

на 2 и вычисляет pathG(i, l, k/2) и pathG(l, j, k/2) для всех вершин l. При O(log(n)) рекурсивных вызовах требуется O(log2(n)) битов памяти. Сладовательно, работа M может быть промоделирована детерминированной машиной с памятью, ограниченной

O((log(O(2f(|x|))))2) = O((f(|x|))2).

3. Очевидно, так как алгоритм из 1) требует ресурсов по памяти

O(f(|x|)).

Следствие 4 NP SP ACE = P SP ACE.

3.7Лекция 13. Иеррархия классов сложности.

Теорема 27 1. Если f(n) = o(g(n)) , то SP ACE(f(n)) SP ACE(g(n));

2.Если g(n) ≥ n log(n) и f(n) = o(g(n)/ log(g(n))) , то T IME(f(n))

T IME(g(n)).

Доказательство опустим.

Следствие 5 1. L P SP ACE;

2.P EXP T IME = p−полиномT IME(2p(n));

3.P SP ACE(n).

Получаем следующие соотношения между классами языков:

REG L NL P NP P SP ACE = NP SP ACE

EXP T IME {разрешимые множества}

3.8. Лекция 14. Соотношение между классами сложности в контексте бинарных программ . Вер

{рекурсивно-перечислимые множества}.

Здесь REG - регулярные языки. Для класса CF L контекстно-свободных языков можно заметить

REG CF L P.

3.8Лекция 14. Соотношение между классами сложности в контексте бинарных программ . Вероятностные вычисления.

Соседние файлы в папке теория вычислительной сложности