Машина Тьюринга

Автор работы: Пользователь скрыл имя, 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 файл

махорин.docx

— 90.61 Кб (Скачать файл)

 

 

 

Решение

 

 

 

(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 Þ

 

  • bq3bbcba Þ bbq3bcba Þ bbbq3cba Þ bbbcq3ba Þ bbbcbq3a Þ bbbcq1ba Þ

 

  • bbbq2caa Þ bbq2bca Þ bq2bbca Þ q2bbbca Þ q2 abbbca Þ bq3bbbca Þ

 

  • bbq3bbca Þ bbbq3bca Þ bbbbq3ca Þ bbbbcq3 Þ bbbbq1ca Þ bbbbq0 aa.

 

Нетрудно заметить, что данная МТ реализует операцию сложения: в результате ее работы на ленте записано подряд столько букв 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. Список используемой литературы:

    1. Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман Глава 8. Введение в теорию машин Тьюринга // Введение в теорию автоматов, языков и вычислений = Introduction to Automata Theory, Languages, and Computation. — М.: «Вильямс», 2002. — С. 528. — ISBN 0-201-44124-1
    2. Фалевич Б.Я. Теория алгоритмов. – М.: ИНФРА-М, 2006. – с.324.
    3. Фалина Н.М. Машина Тьюринга // Информатика. - №26. – 2005. – с.12-15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14


Информация о работе Машина Тьюринга