Автор работы: Пользователь скрыл имя, 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
Московский Авиационный Институт
(Государственный Технический Университет)
Кафедра Прикладной Информатики
Реферат по курсу
Математическая логика и теория алгоритмов
Тема:
«Машина Тьюринга»
Выполнил:
студент группы 06-421
Иванников Н.Д.
Проверил:
Преподаватель каф. 609
Махорин А. О.
Москва, 2013 г.
СОДЕРЖАНИЕ
1. Математическая модель машины Тьюринга 3
2. Работа машины Тьюринга 6
3. Примеры машин Тьюринга, работающих в алфавите {a, b} 7
4. Способы задания машин Тьюринга, операции над ними 11
5. Список используемой литературы 14
2
1. Математическая модель машины Тьюринга
Идея создания машины Тьюринга, предложенная английским математиком А. Тьюрингом в тридцатых годах XX века, связана с его попыткой дать точное математическое определение понятия алгоритма.
Машина Тьюринга (МТ) – это математическая модель идеализированной цифровой вычислительной машины.
Машина Тьюринга является таким же математическим объектом, как функция, производная, интеграл, группа и т. д. Так же как и другие мате-матические понятия, понятие машины Тьюринга отражает объективную реальность, моделирует некие реальные процессы.
Для описания алгоритма МТ удобно представлять некоторое устройство, состоящее из четырех частей: ленты, считывающей головки, устройства управления и внутренней памяти.
1. Лента предполагается потенциально бесконечной, разбитой на ячейки (равные клетки). При необходимости к первой или последней клетке, в которой находятся символы пристраивается пустая клетка. Машина работает во времени, которое считается дискретным, и его моменты занумерованы 1, 2, 3, … . В каждый момент лента содержит конечное число клеток. В клетки в дискретный момент времени может быть записан только один символ (буква) из внешнего алфавита A = {L, a1, a2 ,..., an-1 }, n ³ 2 . Пустая ячейка обозначается символом L, а сам символ L называется пустым, при этом остальные символы называются непустыми. В этом алфавите A в виде слова (конечного упорядоченного набора символов) кодируется та информация, которая подается в МТ. Машина «перерабатывает» информацию, поданную в виде слова, в новое слово.
2. Считывающая головка (некоторый считывающий элемент) пере-мещается вдоль ленты так, что в каждый момент времени она обозревает
3
ровно одну ячейку ленты. Головка может считывать содержимое ячейки и записывать в нее новый символ из алфавита А. В одном такте работы она может сдвигаться только на одну ячейку вправо (П), влево (Л) или оста-ваться на месте (Н). Обозначим множество перемещений (сдвига) головки D = {П, Л, Н}. Если в данный момент времени t головка находится в крайней клетке и сдвигается в отсутствующую клетку, то пристраивается новая пустая клетка, над которой окажется головка в момент t + 1.
3. Внутренняя память машины представляет собой некоторое конеч-ное множество внутренних состояний Q = { q0 , q1, q2 , ..., qm }, m ³ 1. Будем считать, что мощность |Q | ³ 2. Два состояния машины имеют особое значение: q1 – начальное внутреннее состояние (начальных внутренних состояний может быть несколько), q0 – заключительное состояние или стоп-состояние (заключительное состояние всегда одно). В каждый момент времени МТ характеризуется положением головки и внутренним состоя-нием. Например, под ячейкой, над которой находится головка, указывается внутреннее состояние машины.
¯
a2 |
a1 |
L |
a2 |
a3 |
||
q1 |
4. Устройство управления в каждый момент t в зависимости от счи-тываемого в этот момент символа на ленте и внутреннего состояния ма-шины выполняет следующие действия: 1) изменяет считываемый в момент t символ ai на новый символ a j (в частности оставляет его без изменений,
т. е. ai = a j ); 2) передвигает головку в одном из следующих направлений:
Н, Л, П; 3) изменяет имеющееся в момент t внутреннее состояние машины
4
qi на новое q j , в котором будет машина в момент времени t +1 (может
быть, что qi = q j ).
Такие действия устройства управления называют командой, которую можно записать в виде:
qi ai ® a j D q j , |
(1) |
где qi – внутреннее состояние машины в данный момент; ai – считываемый в этот момент символ; a j – символ, на который изменяется символ ai (может быть ai = a j ); символ D есть или Н, или Л, или П и указывает направление движения головки; q j – внутреннее состояние машины в следующий момент (может быть qi = q j ). Выражения qi ai и a j D q j называются левой и правой частями этой команды соответственно. Число команд, в которых левые части попарно различ-ны, является конечным числом, так как множества Q \ {q0 } и A конечны.
Не существует команд с одинаковыми левыми частями, т. е. если про-грамма машины T содержит выражения qi ai ® a j D q j и qt at ® ak D qk ,
то qi ¹ qt или ai ¹ at и D Î{П, Л , Н}.
Совокупность всех команд называется программой машины Тьюринга. Максимальное число команд в программе равно (n + 1) × m , где n + 1 = A и m + 1 = Q . Считается, что заключительное состояние команды
q0 может стоять только в правой части команды, начальное состояние q1
может стоять как в левой так и в правой части команды.
Выполнение одной команды называется шагом. Вычисление (или работа) машины Тьюринга является последовательностью шагов одного за другим без пропусков, начиная с первого.
Итак, МТ задана, если известны четыре конечных множества: внешний алфавит A , внутренний алфавит Q , множество D перемещений головки и программа машины, представляющая собой конечное множество команд.
5
2. Работа машины Тьюринга
Работа машины полностью определяется заданием в первый (на-чальный) момент: 1) слова на ленте, т. е. последовательности символов, записанных в клетках ленты (слово получается чтением этих символов по клеткам ленты слева направо); 2) положения головки; 3) внутреннего со-стояния машины. Совокупность этих трех условий (в данный момент) на-зывается конфигурацией (в данный момент). Обычно в начальный момент внутренним состоянием машины является q1, а головка находится либо над первой слева, либо над первой справа клеткой ленты.
Заданное слово на ленте с начальным состоянием q1 и положение головки над первым словом называется начальной конфигурацией. В противном случае говорят, что машина Тьюринга не применима к слову начальной конфигурации.
Другими словами, в начальный момент конфигурация представима в следующем виде: на ленте, состоящей из некоторого числа клеток, в каждой клетке записан один из символов внешнего алфавита A , головка находится над первой слева или первой справа клеткой ленты и внутренним состоянием машины является q1. Получившееся в результате реализации этой команды слово на ленте и положение головки называется заключи-тельной конфигурацией.
Например, если в начальный момент на ленте записано слово a1La2 a1a1 , то начальная конфигурация будет иметь вид:
a1 |
a2 |
L |
a1 |
a1 |
||
q1 |
(под клеткой, над которой находится головка, указывается внутреннее со-стояние машины).
6
Работа машины Тьюринга состоит в последовательном применении команд, причем, применение той или команды определяется текущей конфигурацией. Так в приведенном выше примере должна применится команда с левой частью q1a1 .
Итак, зная программу и задав начальную конфигурацию, полностью определяем работу машины над словом в начальной конфигурации.
Если в работе машины Тьюринга в некоторый момент t выполняется команда, правая часть которой содержит q0 , то в такой момент работа маши-
ны считается законченной, и говорят, что машина применима к слову на лен-те в начальной конфигурации. В самом деле, q0 не встречается в левой части ни одной команды – этим и объясняется название q0 «заключительное со-
стояние». Результатом работы машины в таком случае считается слово, кото-рое будет записано на ленте в заключительной конфигурации, т. е. в конфи-гурации, в которой внутреннее состояние машины есть q0 . Если же в работе
машины ни в один из моментов не реализуется команда с заключительным состоянием, то процесс вычисления будет бесконечным. В этом случае гово-рят, что машина не применима к слову на ленте в начальной конфигурации.
3. Примеры машин Тьюринга , работающих в алфавите {a, b}
Проиллюстрируем работу машину Тьюринга на следующем примере.
Пример 1. Построить машину Тьюринга T1, которая применима ко всем словам с внешним алфавитом {a,b} и делает следующее: любое слово x1x2...xn , где xi = a или xi = b (i =1,2,...n) преобразует в слово x2...xn x1,
т. е., начиная работать при слове x1x2...xn на ленте в начальной конфигу-
рации, машина остановится, и в заключительной конфигурации на некото-ром участке ленты будет записано слово x2...xn x1, а все остальные клетки ленты (если такие будут) окажутся пустыми.
7
Решение. За внешний алфавит машины T1 возьмем множество A = {L,a,b}, а за внутренний – Q = {q0 ,q1,q2 ,q3}. Команды определим сле-дующим образом: q1a ® LПq2 , q1b ® LПq3 , qi y ® yППi , где y Î{a,b}, i = 2,3 ; q2 L ® aHq0 , q3 L ® bHq0 .
Рассмотрим работу машины T1 над словом ba . В работе машины над словом ba начальная конфигурация имеет следующий вид:
¯
(1) |
b |
a |
||
q1
На первом шаге действует команда: q1b ® LПq3 . В результате создается следующая конфигурация:
¯ |
||||||||
(2) |
||||||||
L |
a |
|||||||
q3 |
||||||||
На втором шаге действует команда |
q3 a ® aПП3 , и на машине создается |
|||||||
конфигурация |
||||||||
¯ |
||||||||
(3) |
||||||||
L |
a |
L |
||||||
q3 |
Наконец, третий шаг обусловлен командой q3L ® bHq0 . В результате чего создается конфигурация:
¯
(4) |
L |
a |
b |
||
q0
8
Эта конфигурация является заключительной, так как машина оказалась в состоянии остановки q0 .
Таким образом, слово ba переработано в слово ab .
Полученную последовательность конфигураций можно записать более коротким способом. Конфигурация (1) записывается в виде следующего слова в алфавите A È Q : q1ba (содержимое обозреваемой ячейки записано справа от состояния, в котором находится данный момент машина). Далее, конфигура-ция (2) записывается так: q3a , конфигурация (3) – aq3L , и наконец, (4) – abq0 .
Вся последовательность записывается так: q1ba Þ Lq3a Þ aq3L Þ abq0 .
Пример 2. Применить машину Тьюринга T1 из примера 1 к слову bbabb, исходя из начального положения, при котором в состоянии q1 обо-
зревается крайняя левая ячейка, в котором содержится символ этого слова.