| ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||||||||||
|
Лекция 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
увеличивающей это число на единицу и останавливающейся: Очевидно, что данная машина может быть представлена композицией машин «С+» и «1»: T=C+1 Для получения таблицы команд машины Т заменим символ q0 в таблице 4.4 и символ q1 в таблице 4.2 символом q4. Полученная программа машин Т представлена в табл. 4.10. Понятие композиции дает общий метод синтеза машин, который значительно облегчает построение сложных программ. Существенным является то, что ряд машин, последовательно выполняющих свои программы, всегда можно заменить одной машиной, являющейся их композицией. С. помощью непосредственной проверки можно убедиться, что произведение машин Тьюринга—некоммутативная операция, т. е. в общем случае PQ ¹ QP. Произведение одинаковых машин Тьюринга называется возведением в степень. Для возведения в степень используется обычное обозначение Рn. Например, п-й степенью машины С+ является машина, сдвигающая головку вправо на (п+1)-й массив единиц, считая от исходного: При построении композиций машин Тьюринга, имеющих более одного заключительного состояния, необходимо указать, какое из заключительных состояний отождествляется с начальным состоянием следующей машины.
Требуемая программа может быть представлена в виде композиции машин Пр, -1, С+: Команды, входящие в данную программу, получим, заменив в программе машины «Пр» символ q01 на q3 символ, символ q02 на q6 символ; в программе машины «С+» символ qi на символ qi+2 (i=1, 2, 3); в программе машины «-1» символ qj на символ qj+5 (j=1, 2, 3), символ q0 на символ q3 и объединив полученные программы.
| |||||||||||||||||
|