5 q0 => ^ Стоп q0
_1.5
Начальное состояние машины Тьюринга: обозреваем последнюю циф- ру в состоянии q0.
Каретка указывает на ячейку: 3
Состояние ленты перед выполнением программы, с помощью которой мы хотим увеличить на 1 число 349:
_1.0
_40 1 2 3 4 5 6 7
---------------------------------
¦ ^ ¦ 3 ¦ 4 ¦ 9 ¦ ^ ¦ ^ ¦ ¦ ¦
---------------------------------
q0
_1.5
Состояние ленты после выполнения программы:
_1.0
_40 1 2 3 4 5 6 7
-------------------------------------
¦ ^ ¦ 3 ¦ 5 ¦ 0 ¦ ^ ¦ ^ ¦ ¦ ¦ ¦
-------------------------------------
q0
_1.5
___2Пример_5.
Составить программу для машины Тьюринга, реализующую алгоритм проверки правильности расстановки круглых скобок для слова, запи- санного на ленте машины Тьюринга.
___2Решение.
На ленту машины Тьюринга подается строка символов, которая состоит из символов: #, (, ). Если в строке будет правильное ко- личество скобок, то в результате на ленте появится число 1. В противном случае - 0.
_1.1
( q0 => ( Вправо q0 ) q0 => * Влево q1
* q0 => * Вправо q0 # q0 => # Влево q2
( q1 => * Вправо q0 * q1 => * Влево q1
# q1 => 0 Вправо q4 ( q2 => # Влево q3
* q2 => # Влево q2 # q2 => 1 На_месте q2
( q3 => # Влево q3 * q3 => # Влево q3
- 21 -
# q3 => 0 На_месте q3 ( q4 => # Вправо q4
) q4 => # Вправо q4 * q4 => # Вправо q4
_1.5
Начальное состояние машины Тьюринга: ( q0
Каретка указывает на ячейку: 1
Состояние ленты перед выполнением программы:
_1.0
_40 1 2 3 4 5 6 7
---------------------------------
¦ # ¦ ( ¦ ( ¦ ) ¦ ( ¦ ) ¦ # ¦ ¦
---------------------------------
q0
_1.5
Состояние ленты после выполнения программы:
_1.0
_40 1 2 3 4 5 6 7
---------------------------------
¦ # ¦ 0 ¦ # ¦ # ¦ # ¦ # ¦ ¦ ¦
---------------------------------
q0
_1.5
___2Пример_6.
Составить программу и функциональную схему для машины Тьюрин- га, реализующей алгоритм проверки состоит ли данное слово из двух одинаковых символов или двух разных.
___2Решение.
На ленту машины Тьюринга подается пара символов. В результате ее работы на ленте должен появиться символ '*', если символы дан- ного слова одинаковы. В противном случае состояние ленты должно остаться без изменения.
_1.0
_3Программа Функциональная схема
0 q0 => 0 Вправо q1 +--------------------------+
0 q1 => 0 Влево q2 ¦ ¦ q0 ¦ q1 ¦ q2 ¦
0 q2 => * Стоп q2 +-----+------+------+------¦
1 q0 => 1 Вправо q0 ¦ 0 ¦ 0Пq1 ¦ 0Лq2 ¦ *Сq2 ¦
1 q1 => 1 Вправо q2 +-----¦------+------+------¦
1 q2 => * Стоп q2 ¦ 1 ¦ 1Пq1 ¦ 1Пq2 ¦ *Сq2 ¦
+--------------------------+
_1.5
Начальное состояние машины Тьюринга: 0 q0
Каретка указывает на ячейку: 1
Состояние ленты перед выполнением программы:
_1.0
_40 1 2 3 4
---------------------
¦ ^ ¦ 0 ¦ 0 ¦ ^ ¦ ^ ¦
---------------------
q0
_1.5
.
- 22 -
Состояние ленты после выполнения программы:
_1.0
_40 1 2 3 4
---------------------
¦ ^ ¦ 0 ¦ 0 ¦ * ¦ ^ ¦
---------------------
q2
_1.5
_2УПРАЖНЕНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ
___2Задание I_..
Объясните работу машины Тьюринга по приведенной ниже програм- ме. Составьте функциональную схему и укажите состояние ленты пос- ле ее выполнения. Машина начинает с "пустого" начального состоя- ния (т.е. такого, при котором все секции заполнены символом внеш- него алфавита, обозначающего пустой знак '^'). Начальное внешнее и внутреннее состояния машины Тьюринга: ^ и q1.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.