Автор работы: Пользователь скрыл имя, 08 Апреля 2013 в 23:39, реферат
Лента предполагается потенциально бесконечной, разбитой на ячейки (равные клетки). При необходимости к первой или последней клетке, в которой находятся символы пристраивается пустая клетка. Машина работает во времени, которое считается дискретным, и его моменты занумерованы 1, 2, 3, … . В каждый момент лента содержит конечное число клеток. В клетки в дискретный момент времени может быть записан только один символ (буква) из внешнего алфавита A = {L, a1, a2 ,..., an-1 }, n ³ 2 . Пустая ячейка обозначается символом L, а сам символ L называется пустым, при этом остальные символы называются непустыми
1. Математическая модель машины Тьюринга 3
2. Работа машины Тьюринга 6
3. Примеры машин Тьюринга, работающих в алфавите {a, b} 7
4. Способы задания машин Тьюринга, операции над ними 11
5. Список используемой литературы 14
Решение
(1) |
b |
b |
a |
b |
b |
|||
q1 |
||||||||
(2) |
||||||||
L |
b |
a |
b |
b |
||||
q3 |
||||||||
(3) |
L |
b |
a |
b |
b |
|||
q3 |
||||||||
(4) |
||||||||
L |
b |
a |
b |
b |
||||
q3 |
||||||||
(5) |
||||||||
L |
b |
a |
b |
b |
||||
q3 |
9
(6) |
L |
b |
a |
b |
b |
L |
||
q3
(7) |
L |
b |
a |
b |
b |
b |
|||
q0
Более короткая запись этой последовательности конфигураций, т. е. про-
цесса работы машины будет
q1bbabb Þ Lq3babb Þ Lbq3 abb Þ Lbaq3bb Þ
Þ Lbabq3b Þ Lbabbq3 L Þ babbb.
Таким образом, слово bbabb переработано машиной в слово babbb .
Пример |
3. Задается машина Тьюринга внешним алфави- |
том A = {a,b, c}, |
алфавитом внутренних состояний Q = {q0 , q1, q2 , q3} и |
программой: |
q1a ® q1Лa, q2a ® q3 Пb, q3a ® q1Лa, q1b ® q2 Лa, q2b ® q2 Лb, q3b ® q3 Пb, q1c ® q0 a, q2c ® q2 Лc, q2 L ® q2 Ha, q3c ® q3 Пc.
Заметим, что программа этой машины может быть записана в виде следующей таблицы:
q1 |
q2 |
q3 | |
a |
q1Лa |
q3Пb |
q1Лa |
b |
q2 Лa |
q2 Лb |
q3Пb |
c |
q0a |
q2 Лc |
q3 Пc |
Для того чтобы определить по таблице, что будет делать машина, нахо-дясь, например, в состоянии q2 и наблюдая в обозреваемой ячейке символ b, нужно найти в таблице клетку, находящуюся на пересечении столбца q2
и строки b. В этой клетке записано q 2 bЛ . Это означает, что на следующем
10
шаге машина останется в прежнем состоянии q2 , сохранит содержимое обозреваемой ячейки b и перейдет к обозрению следующей левой ячейки на ленте.
Предположим, что в начальной конфигурации головка находится над крайней правой клеткой.
Применим эту машину к слову bbcbb. Последовательность конфигура-ций, возникающих в процессе работы машины (исходная конфигурация – стандартная начальная):
bbcbq1b Þ bbcq2ba Þ bbq2cba Þ bq2bcba Þ q2bbcba Þ q2abbcba Þ
Нетрудно заметить, что данная МТ реализует операцию сложения: в результате ее работы на ленте записано подряд столько букв b , сколько их было всего записано по обе стороны от буквы c перед началом работы машины.
Из приведенных примеров следует, что МТ – это некоторое правило (алгоритм) для преобразования слов алфавита A È Q , т. е. конфигураций.
Таким образом, для определения (построения) машины Тьюринга нужно задать ее внешний и внутренний алфавиты, программу и указать, какие из символов обозначают пустую ячейку и заключительное состояние.
4. Способы задания машин Тьюринга, операции над ними
Рассмотрим три основные операции, применяемые над машинами Тьюринга.
1. Пусть машины Тьюринга Т1 и Т2 имеют соответственно про-
граммы П1 и П2. q10 – заключительное состояние Т1, q12 – начальное со-
11
стояние Т2. Предположим, что внутренние алфавиты этих машин не пе-
ресекаются. Заменим везде в программе П1 состояние q10 на состояние q12 и полученную программу объединим с программой П2. Новая про-
грамма П определяет машину Т, которая называется композицией ма-
шин Т1 и Т2 (по паре состояний ( q10 , q12 )) и обозначается Т1 Т2 или Т1Т2 .
Более подробная запись полученной машины будет выглядеть – Т = = Т(Т1, Т2, ( q10 , q12 )). Внешний алфавит композиции Т1 Т2 является объ-
единением алфавитов машин Т1 и Т2.
2. Пусть q0 – некоторое заключительное состояние машины Т, а qk –
какое-либо состояние этой же машины Т, не являющееся заключительным. Заменим всюду в программе П машины Т символ q0 на qk . В результате получим программу П’, которая определяет машину Т’ ( q0 , qk ). Машина Т’ называется итерацией машины Т по паре состояний ( q0 , qk ).
3. Пусть машины Тьюринга Т1, Т2 и Т3 задаются программами П1, П2 и П 3 соответственно. Внутренние алфавиты этих машин не пересекаются. Пусть q0' и q0'' – какие-либо заключительные состояния машины
Т1. Заменим в программе П1 состояние q0' некоторым начальным состоя-
нием q' машины Т2, |
а состояние |
q'' некоторым начальным состоянием | |||
1 |
0 | ||||
q" |
машины Т3. Затем новую программу объединим с программами П2 и | ||||
1 |
|||||
П3. |
Получим |
программу П, |
задающую машину Тьюринга | ||
Т = Т(Т1( q' |
, q' ),Т2( q'' |
, q" ),Т3), которая называется разветвлением машин | |||
0 |
1 |
0 |
1 |
Т2 и Т3, управляемым машиной Т1.
Отметим, что при построении сложных машин Тьюринга применяют так называемую операторную запись алгоритма. Этот способ построения впервые был предложен А.А. Ляпуновым в 1953 году. Так как специальный операторный язык для записи алгоритмов носит вспомогательный характер, то не имеет смысла давать его строгое формально-логическое определение. Ос-тановимся на кратком описании операторного языка и рассмотрим пример.
12
Операторную запись алгоритма представляет собой строку, состоя-
щую из символов, обозначающих машины, символов перехода (вида | q' и
k
q"|), а также символов a и w , служащих для обозначения соответственно
k
начала и окончания работы алгоритма. В операторной записи (некоторого
алгоритма) выражение Тi | qi0 |
Тj …Tm qn1 | Tn обозначает разветвление ма- |
k |
k |
шин Тj и Tn, управляемое машиной Тi, причем заключительное состояние qi0 машины Тi заменяется начальным состоянием qn1 машины Tn, а всякое другое заключительное состояние машины Тi заменяется начальным со-стоянием машины Тj (одним и тем же). Если машина Тi имеет одно заклю-
чительное состояние, то символы | qi0 и qn1 |служат для обозначения безус-
ловного перехода. Там, где могут возникнуть недоразумения, символы qi0 и qn1 опускаются.
Пример 4. Операторная схема |
|||||
| |
|Т1 a Т2 | q20 Т3 | q30 Т4 w | ||||
2 |
1 |
1 |
2 |
описывает следующий «процесс вычисления». Начинает работу машина Т2. Если она заканчивает работу в состоянии q20 , то начинает работать машина Т1, а по окончании работы Т1 вновь «выполняет работу» машина Т2. Если же машина Т2 останавливается в некотором заключительном со-стоянии, отличном от q20 , то работу продолжает машина Т3. Если Т3 при-
ходит в заключительное состояние q30 , то начинает работу машина Т1; ес-
ли же Т3 заканчивает работу в некотором заключительном состоянии, от-личном от q30 , то работу продолжает машина Т4. Если машина Т4 когда-
либо остановится, то процесс вычисления на этом заканчивается.
13
5. Список используемой литературы:
14