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

7.2. Способы представления машины Тьюринга

Существует три способа представления машины Тьюринга: совокупностью команд, в виде графа, в виде таблицы соответствия.

7.2.1. Представление машины Тьюринга совокупностью команд

Совокупность всех команд, которые может выполнять машина, называется ее

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

В качестве примера рассмотрим совокупность команд машины Тьюринга, которая инвертирует входную цепочку, записанную с использованием нулей и единиц. Пусть алфавит машины Тьюринга задан множеством X={0, 1, #}, где символ # соответствует пустой ячейке, а число состояний устройства управления задано в виде множества Q = {q0, q1, qz}.

Если, например, начальная конфигурация q0 имеет вид 110011, то конечная

конфигурация qz после завершения операции инвертирования должна иметь вид 001100. Для решения задачи машиной будет порождена следующая последовательность команд:

1q0 → 0q0R, 0q1 → 0q1L,

0q0 → 1q0R, 1q1 → 1q1L,

#q0 → #q1L, #q1 → #qzR.

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

7.2.2. Представление машины Тьюринга графом

При представлении машины Тьюринга посредством графа необходимо каждому состоянию поставить в соответствие вершину графа, а каждой команде - помеченную дугу. Машина Тьюринга из рассмотренного примера инвертирования цепочки, состоящей из символов 0, 1 и # – пустого символа, будет представлена в виде графа следующим образом:

Начальная и конечная вершины графа обычно выделяются; на рисунке они отмечены черным кружком. Если на очередном такте работы машины Тьюринга символ на ленте не изменяется, то в правой части команды его можно не писать (# на ребре в состояние qz ).

7.2.3. Представление машины Тьюринга таблицей соответствия

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

Таблица соответствия для задания машины Тьюринга из рассмотренного примера будет выглядеть следующим образом:

X/Q

q0

q1

0

1q0R

0q1L

1

0q0R

1q1L

#

#q1L

#qzR

Инвертирование входной цепочки можно выполнить программой машины Тьюринга, приведенной в таблице соответствия. Эта программа включает шесть команд.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]