Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические задания и программы / Методичка с материалом и заданиями (все вместе).doc
Скачиваний:
81
Добавлен:
11.02.2016
Размер:
2.19 Mб
Скачать

5.2. Операции над машинами Тьюринга

Рассмотрим две основные операции: композиция и итерация МТ. Пусть М1 и М2  машины Тьюринга с общим алфавитом. Композицией (или произведением) машин Тьюринга М1 и М2 (в этом порядке) называется машина Тьюринга М (обозначение М=М1М2), работающая следующим образом: если на вход машины М подать входное слово Р, то оно сначала преобразуется машиной М1, а затем полученное выходное слово подаётся на вход машины М2, и выходное слово машины М2 считается результатом преобразования входного слова Р машиной М: М(Р)=М21(Р)).

Если известны функциональные схемы (ФС) машин М1 и М2, то ФС композиции М=М1М2 строится следующим образом:

  1. СТОП-состояние машины М1 отождествляется с начальным состоянием машины М2;

2. СТОП-состояние машины М2 объявляется СТОП-состоянием композиции М=М1М2;

3. Остальные состояния М2 переобозначаются.

Пусть даны три МТ с общим алфавитом  М1, М2 и М3 и некоторое условие С. МТ, описываемая формулой , называетсяразветвлением машины М1 на машины М2 и М3 по признаку С, если она работает следующим образом: входное слово Р подаётся на вход машины М1, результат обработки ею слова Р (М1(Р)) подаётся на вход машины М2, если условие С выполнено, и на вход М3  в противном случае.

Можно считать, что машина М1 имеет два СТОП-состояния и, таких, что машина М1 приходит в состояние в том случае, когда для М1(Р) выполнено условие С, и в  в противном случае.

Итерацией называется операция установления обратной связи от машины МJ к машине МI, при которой выходное слово машины МJ подаётся на вход машины МI (СТОП-состояние МJ отождествляется с начальным состоянием МI). При этом образуется цикл; начало и конец цикла будем обозначать точкой () над соответствующими буквами. Если в МТ содержится несколько циклов, то начала и концы циклов обозначаются двумя (), тремя () и т.д. точками над соответствующими буквами.

Указанные операции над МТ позволяют из более простых машин собирать суперпозицию МТ, реализующую более сложные алгоритмы.

Для построения ФС суперпозиции МТ поступают следующим образом (по умолчанию считаем, что у всех машин алфавиты одинаковы  0 и 1).

1. Таблица составной машины имеет столько строк, сколько их в сумме во всех исходных машинах. Вначале эта таблица заполняется строками из ФС каждой исходной машины в том порядке, в каком они записаны в формуле (слева направо и сверху вниз).

2. Состояния в 1-й колонке формируемой таблицы заменяем состояниями общей машины так, чтобы их номера шли в порядке возрастания; во 2-й и в 3-й колонках проводим переобозначения состояний исходных машин в соответствии с проведенными заменами. При этом их СТОП-состояния не изменяются; не изменяются символы, записываемые на ленту, и символы команд на перемещение головки.

3. В заключение проводим переобозначения для СТОП-состояний. Для этого нужно уяснить, как проходит передача управления от машины к машине и как проявляются СТОП-состояния общей машины, т. е. необходимо отождествить состояния исходных машин и общей машины с учетом новых обозначений.

Пример 5.3. Пусть МТ С определена операцией умножения С=АВ1, причём машины А и В заданы своими ФС (соответственно табл. 5.4. и 5.5).

Таблица 5.4 Таблица 5.5

А

0

1

В

0

1

А1

0RA2

0RA2

B1

0RB2

1RB3

А2

1RA1

1LA0

B2

1SB2

0LB1

B3

0SB0

1LB3

Построим таблицу результирующей машины. ФС для машины М приведена в табл. 5.6.

Т

Алфавит состояний для машины С будет:

С={С0, C1, C2, C3, C4, C5},

где С11, С22, С31, С42, С53;

А0В13  передача управления от А к В,

С0В0  стоп-состояние общей МТ.

аблица 5.6

М

0

1

С1

0RC2

0RC2

С2

1RC1

1LC3

С3

0RC4

1RC5

С4

1SC4

0LC3

С5

0SC0

1LC5

Пример 5.4. Машины Тьюринга A, B и C заданы своими ФС (табл. 5.7-5.9). Суперпозиция этих машин описывается формулой:

Таблица 5.7 Таблица 5.8 Таблица 5.9

А

0

1

В

0

1

С

0

1

А1

1RA1

0LA2

В1

0RB2

0RB0(1)

С1

0LC1

1RC2

А2

0RA2

1SA0

В2

1RB1

1SB0(2)

С2

1RC1

0SC0

Построим ФС составной машины N. В соответствии с правилами построения результирующей таблицы запишем алфавит состояний МТ N: N={N0, N1, N2, N3, N4, N5, N6}; здесь обозначено: N1=B1, N2=B2, N3=C1, N4=C2, N5=A1, N6=A2.

Таблица 5.10

Передача управления и остановка машины N определяются следующими выражениями: B0(1)C1=N3, B0(2)A1=N5, A0B1=N1, N0C0. Переобозначив состояния в соответствии с приведенными выражениями, получим ФС машины N (табл. 5.10).

N

0

1

N1

0RN2

1RN3

N2

1RN1

1SN5

N3

0LN3

1RN4

N4

1RN3

0SN0

N5

1RN5

0LN6

N6

0RN6

1SN1

Приведем краткое описание работы общей МТ N. Её работа начинается с работы МТ B. Если она по результату обработки входного слова приходит к первому СТОП-состоянию, тогда работу продолжит МТ C; её СТОП-состояние - общее СТОП-состояние МТ N. Если машина В приходит ко вто-

рому СТОП-состоянию, тогда начнет работать МТ A; её СТОП-состояние отождествляется с начальным состоянием МТ В и далее процесс продолжится в зависимости от того, как поведет себя машина В.

5.4. Задания для самостоятельной работы

1. Используя правила композиции и ветвления, составить программу (ФС) МТ N, которая состоит из машин A, B, C, D.

A

0

1

B

0

1

C

0

1

D

0

1

A1

0RA1

0SA2

B1

0RB2

1RB0(1)

C1

1RC1

0RC2

D1

0RD2

1SD0(1)

A2

0SA0(1)

1RA2

B2

1LB1

1SB0(2)

C2

0SC0(1)

1SC0(2)

D2

1LD1

1SD0(2)

1. 4.

2.

3

.

2. Исследовать работу полученной машины М для приведённых конкретных конфигураций.