q00 → ΛRq1  Состояния  Символ

q10 → 0Rq1  0  1  Λ

q11 → 1Rq2  q0  ΛRq1  1Sq5  0Sq5

q20 → 1Lq3  q1  0Rq1  1Rq2  -

q21 → 1Rq2  q2  1Lq3  1Rq2  ΛLq4 

q31 → 1Lq3  q3  0Lq3  1Lq3  ΛRq0

q30 → 0Lq3  q4  0Lq4  ΛLq4  0Sq5

q3Λ → ΛRq0  q5  -  ΛRq5  -

q2Λ → ΛLq4 *

q41 → ΛLq4  Таблица 1.  Программа  вычисления  функции  ⎮m - n⎮, 

q40 → 0Lq4  где  функция  переходов  задается  таблицей

q4Λ → 0Sq5

q01 → 1Sq5 *

q51 → ΛRq5

  Машина  Тьюринга  M  допускает (отвергает)  слово  ω∈ X*,  если  она  останавливается  на  нем,  придя  в  допускающее (заключительное)  состояние.  Машина  допускает  язык  L⊆ X*,  если  она  допускает  все  слова  языка  L. Машина  M  распознает  язык  L⊆ X*,  если  она  допускает  все  слова  из  L  и  останавливается  на  словах  из  X*  \ L,  не  находясь  в  заключитель ном  состоянии. Языки,  допускаемые  машиной  Тьюринга, назовем  рекурсивно перечислимым.

НЕ нашли? Не то? Что вы ищете?

  Язык  L  допускается  (распознается)  за  полиномиальное  время, если  существует  машина  M, которая  допускает  (распознает)  язык  L, причем  всякое  слово  ω∈ L  допускается (распознается)  за  время  O(nk), где  n – длина слова  ω,  а  k – не зависящее  от  ω  число.

  Теперь  можно  определить  класс  P,  как  множество  языков  L⊆ {0,1}*, распознаваемых  за  полиномиальное  время. 

Теорема.  Класс P  есть множество языков, допускаемых  за  полиномиальное  время.

Доказательство. В  одну  сторону  тривиально, если  машина  M  распознает  язык  L, то она и допускает язык  L.  Обратно,  пусть  язык  L  допускается  машиной  M  за  время  O(nk),  т. е. существует  константа  c, что  любое  слово  из  L  длины  n  допускается  не  более, чем  за  T = c⋅nk  шагов. С  другой стороны, слова, не принадлежащие  L,  не  допускаются  ни  за  какое  время. Построим  машину  M *,  которая  на  слове  ω  моделирует  не более  Т = c⋅nk  шагов  машины  M и  останавливается, выдавая  1, если  M(ω)=1,  в  противном  случае - останавливается,  сделав  Т = c⋅nk  шагов,  выдавая  на  выход  0.  Таким  образом,  машина  M *  распознает  язык  L  и  сложностной  класс P  можно  рассматривать,  как  множество  языков,  допускаемых  за  полиномиальное  время.

Многоленточная  машина  Тьюринга.

Для  имитации  работы  компьютера  используются  многоленточные  машины  Тьюринга.  В  начальной  конфигурации  многоленточной  машины  на  первой  ленте  размещается  вход  (конечная последовательность символов, куда  не входит  Λ),  все  клетки  остальных  лент  содержат  символ  Λ,  считывающие  головки  всех  лент  находятся  в  начальном  состоянии. 

За  один  переход  осуществляются  следующие  действия:

    управление  переходит  в  новое  состояние,  на  каждой  ленте  записывается  новый (или  тот  же) символ; считывающие  головки  каждой  из  лент  независимо  сдвигаются  на  одну  ячейку  (R, L,S). 

Языки,  допускаемые  одноленточными  машинами  Тьюринга,  рекурсивно  перечислимы.  Допустимы  ли  многоленточными  машинами  не  рекурсивно  перечислимые  языки?  Ответ  в следующей  теореме. 

Теорема.  Каждый  язык  L,  допускаемый  многоленточной  машиной  Тьюринга, рекурсивно  перечислим.

Доказательство. Одноленточную  машину  Тьюринга  можно  представить,  как  многодорожечную,  задавая  ее  аргументы  в  виде  кортежей. При  этом  одна  дорожка  хранит  данные,  а  другая  отметку. Смоделируем  k - ленточную  машину  M  как  многодорожечную  машину  N, содержащую  2k  дорожек,  где  каждая  вторая  содержит  маркер,  указывающий  позицию  головки  соответствующей  ленты.  Машина  N  должна  посетить  каждый  из  маркеров  головок k  лент  и  изменить  соответствующим  образом  символ, представляющий  соответствующую  ленту,  перемещая  маркер  в  том  направлении,  как  это  происходило  на  соответствующей  ленте.  Наконец,  N  изменяет  состояние  М, записанное  в  конечном  управлении  N.  В  качестве  допускающих  состояний  N  выбираются  все  те  состояния,  в  которых  запоминалось  допускающее  состояние  M. Таким  образом,  машина  M и  N одновременно  допускают  язык  L.  Но  все  языки,  допускаемые  одноленточной  машиной  N,  рекурсивно  перечислимы, поэтому  рекурсивно  перечислимы  все  языки, допускаемые  многоленточной машиной  M.

Теорема.  Время,  необходимое  одноленточной  машине  N  для  имитации  n  переходов  k-ленточной  машины  M,  есть  O(n2).

Доказательство.  После  n  переходов  машины  M маркеры  головок  разделены  не  более,  чем  2n  клетками,  так  что  и  машине  N  надо  сдвинуться  не  более,  чем  на  2n  клеток  вправо,  чтобы  найти  все  маркеры  головок.  Теперь  ей  надо  совершить  проход  влево,  изменяя  содержимое  M  лент  и  сдвигая  головочные  маркеры,  что  потребует  не  более  2n  сдвигов  влево  плюс  не  более  2k  переходов  для  изменения  направления  движения  и  записи  маркера  в  клетку.  Таким  образом,  число  переходов  N  для  имитации  одного  из  переходов  машины  M  не  более  4n+2k,  т. е.  O(n).  Для  n  переходов  требуется  времени  в  n  раз  больше,  т. е.  O(n2).

  Различие  во  времени  вычисления  на  машинах  с  разным  числом  лент  сохраняет  полиномиальную  сложность и для  одноленточной  машины  ограничено  с⋅T(n)2 ,  а  емкость - с⋅S(n) (для  входа  длины  n), где T(n), S(n) – параметры  k-ленточных  машин.  Зависимость  между  емкостью  и  временем  для  k-ленточных  машин  линейная:  S ≤ kT;  для  входа  ω  длины  n  T ≤  ks+n. 

Недетерминированные  машины  Тьюринга.

  По  причинам, которые  вскоре  будут понятны,  недетерминированные  машины  Тьюринга  являются  ключевым  понятием  в  теории  NP-полных  задач. Недетерминированная  машина  Тьюринга  отличается  от  обычной  (детерминированной)  машины  Тьюринга  тем,  что  может  иметь  более  одного  перехода  от  текущей  конфигурации  к следующей.  Недетерминированная  машина  допускает  слово  ω, если  существует  хотя  бы  одна  цепочка  конфигураций,  ведущая  от  начальной  конфигурации  в  заключительную.  Существование  других  последовательностей  конфигураций,  не  ведущих  в  заключительное (допускающее) состояние  не  имеет  значение.  Работу  недетерминированной  машины  на  входе ω  можно  представить  в  виде  дерева,  где  каждый  путь  из  корня  ω  в  лист  представляет  некоторую  последовательность  возможных  шагов  машины. Если  σω  кратчайшая  последовательность  возможных  шагов  работы  машины,  которая  оканчивается  допускающей  конфигурацией,  то  |σω| есть  время,  затраченное  машиной  на  обработку  входа  ω.  Если  на  входе  ω  никакая  последовательность  не  приводит  к  допускающей  конфигурации,  то  время,  затраченное  на  обработку  ω  не  определено.  Считается,  что  недетерминированная  машина  Тьюринга  на  входе  ω  параллельно  выполняет  все  возможные  последовательности  шагов,  пока  не  достигнет  допускающего  состояния  или  окажется,  что  ее  программа  не  применима  к  полученной  конфигурации. 

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18