Выберете лекцию

 

Лекция №1

Лекция №2

Лекция №3

Лекция №4

Лекция №5

Лекция №6

Лекция №7

Лекция №8

Лекция №9

Лекция №10

Лекция №11

Лекция №12

Лекция №13

Лекция №14

Лекция №15

Лекция №16

Литература

  Лекция 13. Композиция машин Тьюринга

При синтезе машин Тьюринга, осуществляющих требуемые преобразования машинных слов, существенную роль играет понятие композиции машин17. Пусть заданы машины Тьюринга Р и Q, имеющие общий внешний алфавит {a0, a1, ..., am} и внутренние алфавиты соответственно {q0, q1, ..., qn} и {q0, q’1, ..., q’v}. Пусть машина осуществляет преобразование машинного слова А в слово В, а машина Q - преобразование слова В в слово С. Требуется построить машину R, которая осуществляла бы преобразование слова А в слово С. Для осуществления требуемого преобразования необходимо, чтобы, машина R сначала выполнила до конца преобразования по программе машины Р, а затем провела преобразования в соответствии с программой машины Q. Очевидно, что программу машины R можно получить, объединив программы машин Р и Q; причем в программе машины Р стоп-символ q0 заменим символом qn+1; оставив неизменными остальные символы внутреннего алфавита, а в программе машины Q каждый из символов q'i (i=1, 2, ..., w) заменим символом qi+n, оставив неизменным символ q0. Тогда внутренняя память машины R после выполнения преобразований по программе машины Р приходит в состояние qn+1, после чего машина R начинает работать по программе машины Q. Машина R с внешним алфавитом о, a1, ..., am}, внутренним алфавитом {q0, q1, ..., qn+w} и программой, полученной из программ машин Р и Q указанным образом, называется композицией машин Р и Q, или произведением машины Р на машину Q (обозначается: R=PQ).

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

                                                                          Таблица 4.10

Q \ a

0

1

Q1

Q2

Q1

Q2

Q2

Q3

Q3

Q4

Q3

Q4

Q01C

Q4

увеличивающей это число на единицу и останавливающейся:

 Очевидно, что данная машина может быть представлена композицией машин «С+»  и «1»: T=C+1

Для получения таблицы команд машины Т заменим символ q0 в таблице 4.4 и символ q1 в таблице 4.2 символом q4. Полученная программа машин Т представлена в табл. 4.10.

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

С. помощью непосредственной проверки можно убе­диться, что произведение машин Тьюринга—некоммута­тивная операция, т. е. в общем случае PQ ¹ QP. Произ­ведение одинаковых машин Тьюринга называется возведением в степень. Для возведения в степень используется обычное обозначение Рn. Например, п-й степенью ма­шины С+ является машина, сдвигающая головку вправо на (п+1)-й массив единиц, считая от исходного:

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


Пример 11. Построить программу машины, которая, воспринимая в исходном состоянии крайнюю правую ячейку записи данного числа x, уменьшает число х на единицу и сдвигает головку вправо, если х>0, и просто сдвигает головку вправо, если х=0:

Требуемая программа может быть представлена в виде композиции машин Пр, -1, С+:

Команды, входящие в данную программу, получим, заменив в программе машины «Пр»

символ q01 на q3 символ,

символ q02 на q6 символ;

в программе машины «С+»

символ qi на символ qi+2 (i=1, 2, 3);

в программе машины «-1»

символ qj на символ qj+5 (j=1, 2, 3),

символ q0 на символ q3

и объединив полученные программы.