Глава 2. Машины тьюринга

  1. Определения

Машина Тьюринга полностью определяется:

    1. внешним алфавитом , (где,);

    2. алфавитом внутренних состояний ;

    3. программой, то есть совокупностью выражений , каждое из которых имеет один из следующих видов:, где. Выраженияназываютсякомандами.

Машинным словомиликонфигурациейназывается слово вида, где,,и- слова (возможно пустые) в алфавите. Пишемдля сокращения слова.

Пусть даны машина и машинное слово, где. Обозначим черезслово, которое получается из по правилам:

  1. для положим;

  2. для :

    1. если имеет вид, то;

    2. если имеет вид, то

      1. если не пусто, то,

      2. если пусто, то;

    3. если имеет вид, то

      1. если , для некоторыхи, то;

      2. если пусто, то.

Положим .

Говорим, что машина перерабатывает машинное словов слово, еслидля некоторого. Пишем, если машинаперерабатывает словови при этом не используется пункт (в2) определения.

Пишем , если машинаперерабатывает словови при этом не используются пункты (б2) и (в2).

Говорим, что машина вычисляет- местную частичную числовую функцию, где,, если выполнены следующие условия:

    1. если , то машинаостанавливается, то есть перерабатывает словов некоторое слово, и при этом слово, содержитвхождение символа;

    2. если , то машина, начиная работу со слова, работает бесконечно.

Говорим, что машина правильно вычисляет функцию, если выполнены условия:

    1. если , то,

    2. если , то машина, начиная работу со слова, работает бесконечно.

Функция называется вычислимой (правильно вычислимой), если существует машина, которая вычисляет (правильно вычисляет) эту функцию.

  1. Табличноеиграфическоезадания машинТьюринга

Машины Тьюринга содержат:

  1. управляющее устройство, которое может находится в одном из состояний, образующих конечное множество ;

  2. ленту, разбитую на ячейки, в каждой из которых может быть записан один из символов конечного алфавита ;

  3. устройство обращения к ленте, т.е. считывающую и пишущую головку, которая в конечный момент времени обозревает ячейку ленты в зависимости от символа в этой ячейке и состояния управляющего устройства, записывает в ячейку символ (быть может, совпадающий с прежним или пустой, т.е. стирает символ), сдвигает на ячейку влево или вправо или остается на месте; при этом управляющее устройство переходит в новое состояние (или остается в старом). Среди состояний начального устройства выделяют начальное состояние и заключительное состояние. В начальном состоянии машина находится перед началом работы, попав в заключительное состояние, машина останавливается.

Таким образом, память машины Тьюринга - это конечное множество состояний (внутренняя память) и лента (внешняя память). Лента бесконечна в обе стороны, однако в начальный момент времени только конечное число ячеек ленты заполнено непустыми словами, остальные ячейки пусты; т.е. содержат пустой символ (пробел). Из характера работы машины следует, что и в любой последующий момент времени лишь конечный отрезок ленты будет заполнен символами. Поэтому важна не фактическая (как говорят в математике, актуальная) бесконечность ленты, а ее неограниченность, т.е. возможность иметь на ней сколь угодно длинные, но конечные слова. Данные машины Тьюринга - это слова в алфавите ленты, на ленте записываются и исходные данные, и окончательные результаты. Элементарные шаги машины - это считывание и запись символов, сдвиг головки на ячейку влево, вправо, а также переход управляющего устройства в следующее состояние. Детерменированность машины, т.е. последовательность ее шагов, определяется следующим образом: для любого внутреннего состоянияи символаоднозначно заданы:

    1. следующее состояние ;

    2. символ , который нужно записать вместов ту же ячейку (стирание символа будем понимать как запись пустого символа);

    3. направление сдвига головки обозначалось одним из трех символов (влево),(вправо),(на месте). Это задание может записываться либо системой правил (команд), имеющих вид

,

либо таблицей, строкам которой соответствуют состояния, столбцам - входные символы, а на пересечении строки и столбца записана тройка символов , и, наконец, блок-схемой, которую будем называть диаграммой переходов. В этой диаграмме состояниям соответствуют вершины, а правилу вида- ребро. Условие однозначности требует, чтобы для любогои любогов системе команд имелась одна команда, аналогичнас левой частью; состояниев левых частях команд не встречается.

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

Стандартной начальной конфигурациейназовемконфигурациювида, т.е. конфигурацию, содержащую начальное состояние, в которой головка обозревает крайний левый символ слова, написанного на ленте. Аналогичностандартной заключительной конфигурациейназовемконфигурациювида. Ко всякой не заключительной конфигурациимашиныприменима лишь одна команда вида, которая конфигурациюпереводит в конфигурацию. Это отношение между конфигурациями обозначим.

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

Пример 1. Машина с алфавитом, состояниямии системой командиз любой конфигурации будет работать бесконечно, заполняя единицами всю ленту вправо от начальной точки.

Пример 2. Сложение.

Сложить числа и- это значит словопереработать в слово, т.е. удалить разделитель и сдвинуть один из слагаемых, первое к другому. Это преобразование осуществляет машинас четырьмя составляющими и следующей системой команд (первая команда введена для случая, когдаи исходное слово имеет вид):

В этой системе команд перечислены не все сочетания состояний машины и символов ленты. Опущены те из них, которые при стандартной начальной конфигурации никогда не встретятся. В таблице 1 это будет отмечено прочерками.