Глава 34. Машина Тьюринга
Порождение цепочек символов можно рассматривать как результат работы некоторого гипотетического устройства. Рассмотрим работу гипотетического устройства называемого Машиной Тьюринга (рис.9.3).
Рис. 9.3
Вдоль бесконечной ленты, разделенной на клетки, перемещается управляющая головка (УГ). Заданы внешний алфавит М = {M1, M2, ..., Mn}, внутренний алфавит S = {S0, S1, ..., Sr}, и алфавит перемещений D = {П, Л, Н}. Все клетки ленты заполнены символами из M.
Управляющая головка может находиться в тех или иных состояниях, характеризуемых символами из S. Состояние S0 особое. Если УГ находится в состоянии S0, то машина не производит никакой работы (выключена). Предполагается, что в конце работы машина всегда переходит в состояние S0. В процессе работы машины УГ может перемешаться в дискретные такты времени вдоль ленты. Перемещение происходит либо на одну клетку вправо (П), Либо на одну клетку влево (Л). Перемещение УГ в данный такт работы может отсутствовать (Н).
В каждый такт работы УГ совершает следующие действия:
1) считывает символ Mi, находящийся в клетке ленты, которую в этом такте видит УГ;
2) в соответствии со считанным символом Mi, и своим состоянием Sj записывает символ Mk в эту клетку;
3) движется (не движется) вдоль ленты;
4) переходит в следующее состояние Sp.
Всю работу машины можно задать с помощью функциональной таблицы Т, в клетках которой стоят тройки вида Mk, Sp, di, где Di Î D — символ, определяющий перемещение. Таким образом, функциональная таблица определяет отображение M´S в M´S´D. Содержательный смысл отображения (Mi, Sj) ® (Mk, Sp, di) состоит в том, что, находясь в состоянии Sj и считывая из клетки символ Mi, УГ записывает в данную клетку ленты символ Mk, переходит в состояние Sp и производит движение, определяемое символом Di. Условимся, что функциональная таблица всегда устроена так, что имеет место отображение (Mi, S0) ® (Mi, S0, H). Это означает, что в выключенном состоянии машина не работает.
До начала функционирования машины (если это необходимо) надо заполнить некоторые клетки ленты символами, отличными от M0, перевести УГ в состояние, отличное от S0, и задать исходное положение УГ относительно ленты. После этого машина будет функционировать в соответствии с таблицей Т. Функционирование машины можно задать с помощью графа, вершины которого взаимно однозначно соответствуют состояниям этого устройства, дуги – переходам из одного состояния в другое, при этом каждая дуга (Si, Sp) взвешена парой (Mi, Mkdl).
< Предыдущая | Следующая > |
---|