260
Гл. 4. Теория формальных грамматик и автоматов
В каждый такт работы УГ совершает следующие действия:
1) считывает символ тп,-, находящийся в клетке ленты, которую
в этом такте видит УГ;
2) в соответствии со считанным символом т,- и своим состоя
нием Sj записывает символ тп* в эту клетку;
3) движется (не движется) вдоль ленты;
4) переходит в следующее состояние Sp.
Всю работу машины можно задать с помощью функциональной
таблицы Г, в клетках которой стоят тройки вида m*, Sp, di, где
d[ £ D — символ, определяющий перемещение. Таким образом,
функциональная таблица определяет отображение M xS в М х S х
xD. Содержательный смысл отображения (m,-, Sj) —► (m*, Sp, di)
состоит в том, что, находясь в состоянии Sj и считывая из клетки
символ тп,-, У Г записывает в данную клетку ленты символ тп*, пе
реходит в состояние Sp и производит движение, определяемое сим
волом di. Условимся, что функциональная таблица всегда устрое
на так, что имеет место отображение (m,-, So) —► (m,-, So, Н). Это
означает, что в выключенном состоянии машина не работает.
До начала функционирования машины (если это необходимо)
надо заполнить некоторые клетки ленты символами, отличными
от ш0, перевести УГ в состояние, отличное от So, и задать исход
ное положение УГ относительно ленты. После этого машина будет
функционировать в соответствии с таблицей Т. Функционирова
ние машины можно задать с помощью графа, вершины которого
взаимно однозначно соответствуют состояниям этого устройства,
дуги — переходам из одного состояния в другое, при этом каж
дая дуга (Si, Sp) взвешена парой (ггц, mkdi). Следуя Хомскому,
часто состояние называют нетерминальным (вспомогательным)
символом, символ тп,- С М — терминальным. Описанное гипоте
тическое устройство называется машиной Тьюринга.
Тезис Поста. Произвольная полусистема Туэ может
быть представлена как машина Тьюринга, и наоборот.
В гл. 1 было рассмотрено интуитивное определение понятия ал
горитма. Используя машину Тьюринга, уточним это понятие.
Тезис Тьюринга. Для любого алгоритма, понимаемого
в интуитивном смысле, можно построить машину Тьюринга,
функционирование которой эквивалентно этому алгоритму.
Синтезируем машину Тьюринга, реализующую прибавление 1
к целому n-разрядному числу, представленному в троичной сис
теме с алфавитом цифр {0,
1, 2} (рис. 4.3, а). Алгоритм реализа
ции этой операции представлен на рис. 4.3, б, где символ в квадрат
ных скобках обозначает содержимое наблюдаемого УГ разряда.
Введя нетерминальные символы Si, S2, S3, нетрудно определить
соответствующую машину Тьюринга (рис. 4.3,в),гдетпо = 0, 1, 2;
JI — левое движение на 1 разряд, П — правое движение на 1 раз
ряд, Н — движение УГ отсутствует.