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

2.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 }.

Пример.

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