Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции-ДМ.doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
10.09 Mб
Скачать

15. Машины тьюринга

15.1 Алфавит, буквы, слова. Операции над словами. Запись слов на бесконечной ленте

Алфавит –любое непустое конечное множество, элементы алфавита называются буквами. Словом длины n (n N) над алфавитом А называется отображение u: [1; n]→A.

Пример. Пусть А ={|; *}, n = 5, u(1) = |, u(2) = |, u(3) = *, u(4) = |, u(5) = *. Тогда u = ||*|*.

Пусть u и v – слова над алфавитом А длины n1 и n2 соответственно. Упорядоченной склейкой слов u и v называется слово uv длины n1 + n2, заданное следующим правилом:

Пример. Пусть А ={|; *}, u = ||*|*, v = **|. Тогда uv = ||*|***|, vu = **|||*|*.

Пусть А – алфавит и . Назовем Λ пустым символом, а - алфавитом с пустым символом.

Бесконечной записью конечного слова над алфавитом А в алфавите с пустым символом называется отображение , удовлетворяющее следующим условиям: существуют n1 < n2 (n1, n2Z) такие, что:

Длиной слова называется величина n2 - n1 +1. f(n1) называется первой буквой слова, f(n1 +1) – второй буквой, …, f(n2) – последней (n2 - n1 +1)-й буквой.

Бесконечная запись конечного слова иначе называется записью слова на бесконечной ленте. Эта запись привязана к конкретному участку ленты

Пусть nZ. Сдвигом n называется отображение , заданное правилом .

Теорема 15.1. Множество сдвигов относительно операции композиции образует абелеву группу.

Пусть - алфавит с пустым символом. На множестве бесконечных записей конечных слов над А введем отношение  следующим образом:

uv

Теорема 15.2. Отношение  является отношением эквивалентности.

15.2. Машина Тьюринга. Описание. Примеры машин

Машина Тьюринга имеет три алфавита:

1. Внешний алфавит с пустым символом -

2. Внутренний алфавит, или алфавит состояний . (Состояние называется заключительным состоянием, - начальным состоянием, состояния рабочими состояниями.)

3. Алфавит сдвигов S = {-1, 0, +1}.

В конструкции машины имеются:

а) бесконечная лента (разбитая на ячейки), предназначенная для раз­мещения бесконечных записей конечных слов над алфавитом А (по одной букве в ячейке);

б) считывающе-записывающее устройство (СЗУ). СЗУ обладает спо­собностью обозревать одну ячейку ленты, считывать букву, записан­ную в ячейке, заносить на место считываемой буквы любую другую из , передвигаться вдоль ленты влево и вправо на одну ячейку;

в) устройство управления (УУ), которое управляет с помощью программы машины ее работой;

г) программа машины, определяющая переходы машины от одной конфигурации к другой.

Под конфигурацией машины понимают пару: слово с отметкой и со­стояние машины.

Словом с отметкой называют слово, записанное на ленте с указанием обозреваемой СЗУ ячейки.

Программа машины - отображение П : , т. е. правило, сопоставляющее любой паре - «буква-состояние» - тройку - «буква-состояние-сдвиг». Так как A, Q - конечны, то программу машины можно задать таблицей (см. табл. 15.1).

Таблица 15.1.

Λ

Правила работы машины (правила обращения УУ с программой и СЗУ)

Машина работает дискретно (пошагово). На каждом шаге происходит переход от одной конфигурации к другой. Перед началом работы машина находится в начальной конфигурации: СЗУ обозревает первую букву слова, а машина находится в начальном состоянии . СЗУ считывает букву, находящуюся в обозреваемой ячейке. УУ обращается к программе машины: находит клетку, соответствующую считанной букве и состоянию машины. Пусть в этой клетке находится тройка , тогда буква а заносится в обозреваемую ячейку, машина переводится в состояние q, а СЗУ совершает сдвиг на одну ячейку влево, если , на одну ячейку вправо, если s = +1, и остается на месте, если . На этом завершена работа машины на первом шаге, и она готова к выполнению следующего аналогичного шага и т. д.

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

Если и - исходное слово, Т - машина, то через Т(и) обозначается результат применения машины Т к слову и.

Говорят, что машина Т не применима к слову и, если в процессе применения ее к слову она ни на каком из шагов не приходит в заключительное состояние.

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

Напомним, что 510 = | | | | | унарн. Рассмотрим алфавит . Необходимо построить машину Т, удовлетворяющую условию:

Т((т)унарн. + (п)унарн.) = (т + п)унарн.

Такая машина определяется следующей программой:

|

+

Λ

Замечание. Условимся составлять программы так, чтобы «останов» происходил на первой букве результата.

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

0)

8)

1)

9)

2)

10)

3)

11)

4)

12)

5)

13)

6)

14)

7)

Пример. Построить машину Тьюринга, удваивающую натуральные числа, записанные в унарной системе счисления.

Расширим исходный алфавит А = {|} до А' = {|, α}. Искомую машину построим в алфавите . Ясно, что программа такой машины может выглядеть так:

|

α

Λ

Применим полученную машину к слову | |.

0)

5)

10)

1)

6)

11)

2)

7)

12)

3)

8)

13)

4)

9)

14)

15)

Введение новой буквы α и замена исходных | на α позволяет различить исходные | и новые (приписанные) |. Состояние q1 обеспечивает замену | на α, состояние q2 обеспечивает поиск α, предназначенных для замены на |, и останов машины в случае, когда α не обнаружен, q3 обеспечивает дописывание | в случае, когда произошла замена α на |.

Введем в рассмотрение стандартные машины:

1. Тождественная машина Е - применима к любому слову над алфавитом А и Е(и) = и.

2. Пусть А - алфавит и , . Копирующей машиной называется машина, применимая к любому слову и над А, причем

3. Пусть А - алфавит и . Машиной, заменяющей α на β, называется машина , применимая к любому слову и так:

4. Пусть А - алфавит и . Машиной-проектором называют машину, применимую к любому слову , где и, v - слова над алфавитом А, причем

; .

Теорема 15.3. Тождественная, копирующая, заменяющая машины и машины-проекторы существуют.