
теория вычислительной сложности / bk
.pdf2.5. Лекция 5. Разрешимость, рекурсивная перечислимость |
21 |
Теорема 11 Множество A рекурсивно-перечислимо тогда и только тогда, когда A - полуразрешимо.
Доказательство. Необходимость. Пусть A рекурсивно-перечислимо и машина Тьюринга M, перечисляет элементы A. Следующий алгоритм описывает работу машины Тьюринга, вычисляющую χ0A:
Input(x); i := 0;
while M(i) <> x do i := i + 1;
output(1).
Достаточность. Пусть A-полуразрешимо и M - машина Тьюринга, вычисляющая χ0A. Если A - конечно, то очевидно оно рекурсивно перечислимо.
Пусть A - бесконечно и w0, w1, w2, . . . - перечисление Σ в лексикографическом порядке. Пусть Si = {s0, s1, . . . , si}, а Ai Si состоит из тех элементов A, на которых M останавливается не более, чем через i шагов. Такое множество Ai - разрешимо.
Алгоритм перечисления A может быть следующим. Сначала выберем произвольный элемент a A.
Для определения элементов {a0, . . . , an} начинаем с пустого множества B = . Последовательно вычисляем Ai, i = 0, n. Если Ai содержит элементы, не принадлежащие B, выбираем x = min(B − Ai) (минимум определяется в соответствии с лексикографическим порядком), в противном случае, x = a. Элемент x получает номер i. Множество B заменяем на B {x}. Процесс повторяется для следующего i.
Если si A, то M при вводе si остановится, например, после j шагов. Следовательно, si Ak для любого k ≥ k1 = max{i, j}. Заметим, что наш алгоритм на шаге с номером k1 − 1 не имеет в B элемента si. Следовательно, si будет выбран в качестве x на шаге с номером от k1 до k1 + i. Настолько много шагов надо сделать, так как в худшем случае B на шаге с номером k1 − 1 пустое, а Ak1 cодержит все элементы, предшествующие si.
Если si 6 A, то M при вводе si не остановится, и, следовательно, si 6 Ak для любого k. Таким образом, si не получит никакого номера.

22 |
Глава 2. Вычислимость |
2.6Лекция 6. Сводимость.
Рассмотрим введенное на прошлой лекции понятие сводимости более подробно. Очевидно, что отношение сводимости рефлексивно и транзитивно, но не антисииметрично.
Пример. 1. EV EN = {n N|nчетно}, ODD = {n N|nнечетно}.
EV EN ≤ ODD: f(n) = n + 1. 2. K ≤ H : f(y) = y#y.
Очевидно, что
Теорема 12 Если A ≤ B, то
1.из разрешимости B следует разрешимость A,
2.из рекурсивной перечислимости B следует рекурсивная перечислимость A,
3.из неразрешимости A следует неразрешимость B,
4.из рекурсивной неперечислимости A следует рекурсивная неперечислимость B.
Верно и следующее:
Теорема 13 Eсли A - разрешимо и B 6= и B 6= Σ , то A сводимо к B:
A ≤ B.
Пример. Определим следующий язык:
T OT AL = {< M > |Mвычисляет всюду определенные функции}.
H ≤ T OT AL - функция сведения совпадает с функцией сведения H к K: f(< M > #y) =< N >, где N - машина Тьюринга, при любом входе моделирующая работу M на y.
H ≤ T OT AL - функция сведения: g(< M > #y) =< P >, где P - машина Тьюринга, при входе n определяющая останавливается ли M на y за не более, чем n шагов. В случае отрицательного ответа выдается 1, в случае положительного - P зацикливается.
Таким образом, верна следующая

2.6. Лекция 6. Сводимость. |
23 |
Теорема 14 Ни T OT Al, ни T OT AL не являются рекурсивно-перечисли- мыми.
Действительно, если бы множество T OT Al было рекурсивно-перечисли- мым, то тогда H также было бы рекурсивно-перечислимым (H ≤ T OT AL) и, следовательно, разрешимым. А если бы T OT AL было рекурсивноперечислимым, то рекурсивная перечислимость H следует из неравенства H ≤ T OT AL, т.к. для любых множеств A и B A ≤ B A ≤ B.
Для ограниченных классов языков (регулярных, контекстно-свобод- ных, контекстно-зависимых, распознаваемых машинами Тьюринга) важно определение сложности решения следующих проблем: принадлежность языку, пустота языка, бесконечность языка (в частности, совпадение языка со множеством всех слов).
Теорема 15 AT M = {< M > #y|машина Тьюринга M допускает y, т.е. выдает на y 1} - не разрешимо, но рекурсивно-перечислимо.
Действительно, H ≤ AT M и AT M ≤ H.
Теорема 16 Если множество A - рекурсивно-перечислимо, то A ≤
AT M .
Действительно, A ≤ AT M и f(x) =< MA > #x, где MA вычисляет χ0A.
Следствие 3 Если множество A - рекурсивно-перечислимо, то A ≤ K, A ≤ H.
Пусть ALBA, ACF L, AF DA - языки, определяемые аналогично AT M для линейно-ограниченных автоматов, контекстно свободных грамматик и конечных детерминированных автоматов, соответственно.
Теорема 17 ALBA, ACF L, AF DA - разрешимы.
Пусть RM,x = {w|w − последовательность конфигураций машины Тьюринга M, начинающаяся c z0x и заканчивающаяся yzf v для финального состояния zf }.
Очевидно существует LBA NM,x, допускающий язык RM,x. Тогда
< M > #x H L(NM,x) 6= .
Пусть EMP T YLBA = {< M > |LBA M с L(M) = }, тогда
H ≤ EMP T YLBA.
Аналогично определяются EMP T YT M , EMP T YCF L, EMP T YF DA.

24 |
Глава 2. Вычислимость |
Теорема 18 EMP T YT M , EMP T YLBA - неразрешимы, а EMP T YCF L, EMP T YF DA - разрешимы.
Пусть ALLCF L = {G|КСГ M с L(G) = Σ }. Аналогично определяются ALLT M , ALLLBA, ALLF DA.
Теорема 19 ALLT M , ALLLBA, ALLCF L - неразрешимы, а язык ALLF DA - разрешим.
Доказательство. Пусть M - машина Тьюринга, получающая на вход x, а c1, c2, . . . , ck - последовательность ее конфигураций, начинающаяся c z0x и заканчивающаяся yzf v для финального состояния zf . Рассмотрим язык, содержаший не более одного слова:
RM,x0 = {w|w = c1#cT2 #c3#cT4 . . . ck}.
Существует контекстно-свободная грамматика GM,x, недетерминированно определяющая несоотвествие первой и последней конфигурации стартовой и финальной, а также несогласованность 2-х соседних конфигура-
ций. Для этой грамматики L(GM,x) = RM,x0 . Тогда
< M > #x 6 H L(GM,x) = Σ ,
H ≤ ALLCF L.
Глава 3
Сложность.
3.1Лекция 7. Понятие сложности. Временная сложность.
Разрешимые множества могут быть разделены на классы в зависимости от того, каких ресурсов (временм, памяти ...) они требуют.
Определение 5 Пусть M - машина Тьюринга.
1.Функция timeM (x) : Σ → N равна числу шагов машины M при входе x.
2.Пусть f : N → N. Тогда T IME(f(n)) - класс всех множеств, допустимых машинами Тьюринга M так, что timeM (x) = O(f(|x|)):
T IME(f(n)) = {A| M- машина Тьюринга с L(M) = A,
timeM (x) = O(f(|x|))}.
Заметим, что точное число шагов вычисления зависит от вычислительной модели (пример). Наша цель: определение классов сложности независимо от вычислительной модели. Следующая LOOP -программа вычисляет 22n:
x0 := 2; LOOP x1 DOx0 := x0 x0
Программа делает n шагов для вводимого n (x1 = n), точнее делает O 2|w|) шагов, где w - запись n в двоичной системе счисления. Но только
25
26 |
Глава 3. Сложность. |
для записи результата машиной Тьюринга требуется 2n = O(22|w| ) шагов. Таким образом, время существенно зависит от вычислительной модели.
Поэтому для определения сложности рассматриваются различные масштабы. Для W HILEвычислимости рассматривают логарифмический масштаб: временные затраты одного шага вычисления равны числу передаваемых битов. Для T M - вычислимости однородный (универсальный) масштаб: каждый шаг имеет сложность 1. Тогда логарифмический масштаб временной сложности программ соотвествует временной сложности машин Тьюринга при однородном масштабе.
Одним из важных классов сложности является класс P - класс проблем, разрешимых за полиномиальное время:
P = {Ak M- машина Тьюринга с L(M) = A и p- полином:
timeM (x) ≤ p(|x|)}.
То есть
P = p−- полиномT IME(p(n)).
Пример проблем из P :
P F AD = {(G, s, t)|в графе G существует путь из s в t},
КНФ-выполнимость = {K|КНФ с не более, чем одним негативным
литералом в каждой дизъюнкции выполнима}.
3.2Лекция 8. Пространственная сложность.
Определение 6 Пусть M - машина Тьюринга.
1.Функция spaceM (x) : Σ → N равна числу ячеек ленты, на которых записывает машина M при входе x.
2.Пусть f : N → N. Тогда SP ACE(f(n)) - класс всех множеств, допустимых машинами Тьюринга M так, что spaceM (x) = O(f(|x|)):
SP ACE(f(n)) = {A| M- машина Тьюринга с L(M) = A,
spaceM (x) = O(f(|x|))}.
3.2. Лекция 8. Пространственная сложность. |
27 |
Можно определить следующие классы сложности
P SP ACE = p-полиномSP ACE(p(n)),
L= LSP ACE = SP ACE(log(n)).
Вопределении L рассматриваются машины Тьюринга, которые имеют несколько лент, в том числе входную и выходную. Запись не может осуществляться на входную ленту. Пространственная сложность определяется по количеству ячеек на всех рабочих лентах (выходная лента не учитывается), куда осуществлялась запись.
Определение 7 Схема из функциональных элементов (СФЭ) - это ориентированный безконтурный граф с вершинами, помеченными &, , not, T, F, xi, последние 3 типа вершин не имеют входных дуг, первые 2 имеют степень захода 2, третья - степень захода 1. Одна из вершин помечается, как выходная. Константные СФЭ не имают вершин xi. Глубиной СФЭ на зывается длина самого длинного пути к выходной вершине.
Теорема 20 Язык Конст-СФЭ-LOGглуб = {C|константная СФЭ C логарифмической глубины, вычисляющая T } лежит в L.
Для доказательства используется следующая идея: СФЭ представляется в виде дерева и осуществляется проход в глубину от выходной вершины, значение выхода которой принимается равным T . Для каждой пройденной вершины задается значение, которое она может выдать. Для запоминания значений вершин на пути, пройденном последним, достаточно O(log(n) ячеек памяти.
Теорема 21 L P P SP ACE.
Недетерминированные вычисления.
Для таких вычислений допускается шаг вычисления, зависящий от недетерминированной переменной, принимающей 2 возможных значения: 0, 1. Недетерминированное вычисление на x - принимающее тогда и только тогда, когда существует принимающее вычисление хотя бы при одном выборе значений недетерминированных переменных.
Определение 8 Пусть M - недетерминированная машина Тьюринга, а f : N → N.
28 |
Глава 3. Сложность. |
1.Функция nspaceM (x) : Σ → N равна максимальному числу ячеек ленты, на которые записывает машина M при входе x при любом выборе значений недетерминированных переменных.
2.Тогда NSP ACE(f(n)) - класс всех множеств, допустимых неде-
терминированными машинами Тьюринга M так, что nspaceM (x) =
O(f(|x|)):
NSP ACE(f(n)) = {A| M − NT M : L(M) = A,
nspaceM (x) = O(f(|x|))}.
3.Функция ntimeM (x) : Σ → N равна максимальному числу шагов машины M при входе x при любом выборе значений недетерминированных переменных.
4.Тогда NT IME(f(n)) - класс всех множеств, допустимых неде-
терминированными машинами Тьюринга M так, что ntimeM (x) =
O(f(|x|)):
NT IME(f(n)) = {A| M − NT M : L(M) = A, ntimeM (x) = O(f(|x|))}.
•NL = NSP ACE(log(n)),
•NP = p-полином NT IME(p(n)),
•NP SP ACE = p-полином NSP ACE(p(n)),
•
Лемма 3 Проблема ВЫПОЛНИМОСТЬ:
SAT = {C|C - выполнимая логическая формула}
принадлежит NP .
Лемма 4 Проблема ДОСТИЖИМОСТЬ: P F AD = {(G, s, t)|в графе G существует путь из s в t}, принадлежит NL.
Действительно после подсчета числа вершин графа n, для чего достаточно log(n) ячеек, осуществляется недетерминированный выбор следующей соседней вершины. Перебор осуществляется от вершины s и строится путь не более, чем из n вершин.
3.3. Лекция 9. ≤L-сводимость. |
29 |
3.3Лекция 9. ≤L-сводимость.
Определение 9 Язык A ≤L-сводим к языку B: A ≤L B - тогда и только тогда, когда существует logspace-вычислимая функция такая, что
x A f(x) B
.
Определение 10 Язык A ≤L-труден для класса сложности C (C-сложен), если для любого языка B C: B ≤L A.
Определение 11 Язык A ≤L-полон для класса сложности C (C-полон), если A C-труден и A C.
Лемма 5 Отношение ≤L- сводимости транзитивно.
Для доказательства надо показать, что суперпозиция функций сводимости A ≤L B и B ≤L C лежит в L.
Лемма 6 Пусть C - один из классов сложности: L, NL, P, NP или
P SP ACE, а A ≤L B, B C. Тогда A C.
Теорема 22 1. Пусть язык A ≤L-полный для NL. Тогда A L в том и только в том случае, если L = NL.
2.Пусть язык A ≤L-полный для NP . Тогда A P в том и только в том случае, если P = NP .
3.Пусть язык A ≤L-полный для P SP ACE. Тогда A P в том и только в том случае, если P = P SP ACE.
Доказательство очевидно.
Граф конфигураций для NL-вычисления.
Конфигурацию NL-вычисления машины Тьюринга M можно закодировать
x##y#q#i,

30 |
Глава 3. Сложность. |
где x - вводимое слово (n-битов), y - слово на рабочей ленте (log(n)- битов), q - состояние (m-битов), i - позиция головки (log(n)-битов). Таким образом, конфигурация кодируется полиномиальным числом битов, а количество различных конфигураций равно Olog(n), т. е. полиному от n. Так же полиномиальное число битов требуется для представления графа связей конфигураций G, когда каждой конфигурации ставится в соответствие вершина и каждая конфигурация соединяется со следующей дугой. Вычисление G по M и x: G = fM (x) - является Logspace-вычислимым. Пусть начальная конфигурация M - s, а конечная (принимаюшая) e. Вычисление на M сводится к разрешению задачи ДОСТИЖИМОСТЬ: (G, s, e) P F AD. Таким образом, для любой машины Тьюринга M, осуществляющей NL-вычисление,
x L(M) (fM (x), s, e) P F AD.
Следовательно, P F AD - NL-трудный язык, и так как P F AD NL, P F AD - NL-полный язык.
КНФ назовем n−КНФ, если каждая дизъюнкция содержит не более n литералов. Тогда
2 − SAT = {ϕ|ϕ − выполнимая 2-КНФ}.
Теорема 23 2 − SAT = {ϕ|ϕ − невыполнимая 2-КНФ} NL.
Доказательство. Без ограничения общности 2−КНФ ϕ не содержит одноэлементных дизъюнкций. Пусть формула содержит n переменных. Построим граф G с 2n вершинами, каждая вершина соответствует литера-
лу. Если - дизъюнкция , то вершины и соединяются дугой, ¯ и a b ϕ a¯ b b a
также соединяются дугой. Это означает, что для набора, на котором выполнима ϕ, a = false влечет b = true, а b = false влечет a = true. Невыполнимость ϕ эквивалентна наличию в графе G пути a −→ a¯ −→ a для какого-то литерала a.
Рассмотрим следующее множество
СФЭ − SAT = {C|СФЭ Cи найдутся значения переменных,
что на них C вычисляет T }.
Пример.