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

15.3. Сочетания машин Тьюринга: композиция и объединение. Машины с полулентами, разветвление и итерация машин

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

Композиция машин. Композиция машин - последовательное их применение.

Пусть Т1 - машина с внешним алфавитом А1 и алфавитом состояний Q1, Т2 - с алфавитами А2 и Q2 соответственно, причем . Композицией Т1 и Т2 называется машина, обозначаемая с внешним алфавитом , алфавитом состояний ( - заключительное состояние Т1) и работающая по правилу:

Теорема 15.4. Композиция машин существует.

Пусть программы машин Т1 и Т2 выглядят следующим образом:

………

……..

А1

Т1

А2

Т2

Программа композиции приведена в таблице 15.2.

Таблица 15.2.

………

……..

А1

А2

Т2

Блок получен из блока T1 следующим образом: все клетки вида программы Т1 заменены на клетки вида (что и обеспечивает включение в работу машины Т2 после окончания работы машины Т1.

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

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

Под машиной с правой (левой) полулентой понимают следующее: в одной из ячеек бесконечной ленты содержится символ ▲ – неподвижный ограничитель, СЗУ машин с правой (левой) полулентой может находиться только на правой (левой) полуленте, состоящей из ячейки, содержащей неподвижный ограничитель, и ячеек, находящихся справа (слева) от этой ячейки.

При выходе СЗУ на ячейку с неподвижным ограничителем мы не имеет права менять ее содержимое. Так как теория машин с левой полулентой - зеркальное отражение теории машин с правой полулентой, мы в дальнейшем будем рассматривать подробно только машины с правыми полулентами.

Теорема 15.5 Пусть T - машина с правой полулентой, тогда суще­ствует обычная машина, ей эквивалентная, т. е. для любого слова и над алфавитом А имеет место следующее:

Т(▲и) = ▲v Т(и) = v.

Искомую машину построим в виде композиции трех машин: T2 ◦▲TT1, где Т1(и) = и для любого слова и над А, Т2(▲и) = v для любого слова ▲v.

Оказывается, что наряду с этой теоремой справедлива и обратная к ней теорема.

Теорема 15.6. Для любой машины Тьюринга с обычной лентой существует равносильная ей машина с правой (левой) полулентой ▲T (Т▲), т. е. для любого слова и над А справедливо следующее:

Т(и) = v → ▲T(▲u) = ▲v.

(T▲ (u▲) = v▲)

Расширим исходный алфавит двумя символами: ▲ - неподвижный ограничитель, ∆ - подвижный ограничитель. Искомую машину ▲T построим в виде композиции ▲T = T4 T3.

Опишем работу машин T3 и T4. Машина T3 применима к любому слову ▲и и T3 (▲и) = ▲и∆. Ясно, что T3 существует. T4 применима к любому слову w = ▲ΛΛ…Λv∆ и T4 (w) = v. Ясно, что и T4 существует. Участок ленты между ▲ и ∆ назовем рабочей зоной. Машина Т ' строится по машине Т следующим образом: внутри рабочей зоны она работает так же, как машина Т, в случае выхода СЗУ на ∆ она перемещает подвижный ограничитель на одну ячейку вправо, помещая в освободившуюся ячейку Λ, и продолжает работу, возвращаясь на одну ячейку влево в том же состоянии, в котором СЗУ вышло на ∆. Эта возможность рас­ширения рабочей зоны обеспечивается введением для каждого рабочего состояния q машины Т состояния машины Т '.

Хуже обстоит дело в случае, когда СЗУ выходит на ▲, так как неподвижный ограничитель нельзя перемещать. В этот момент работа машины Т ' как машины Т должна прерваться для того, чтобы побуквенно переместить слово на одну ячейку вправо, заполнив освободившуюся ячейку пустым символом Λ; после чего машина Т ' может вернуться к освободившейся ячейке и продолжить работу как машина Т. Сложность такой «модернизации» Т к Т ' состоит в том, что машина Тьюринга не обладает внутренней памятью, а запоминать нужно рабочее состояние, в котором произошел выход СЗУ на неподвижный ограничитель и перекладываемые буквы (какую поместить в ячейку из предыдущей и какую запомнить, чтобы переложить в следующую). Такое расширение рабочей зоны обеспечивается введением для каждого рабочего состояния q машины Т целого шлейфа состояний машины Т ' (длина шлейфа зависит от |А|). Выпишем программу машины Т ' в случае, когда А = (табл. 15.3).

Таблица 15.3.

α

β

Λ

Т

q+1

Λ +1

q

q

Λ qα +1

Λ qβ +1

Λ qΛ +1

q+1

qα

α qα +1

α qβ +1

α qΛ +1

α q+1

qβ

β qα +1

β qβ +1

β qΛ +1

β q+1

qΛ

Λ qα +1

Λ qβ +1

Λ qΛ +1

Λ q+1

q

-1

α -1

β -1

Λ -1

q +1

q -1

Очевидно, построение программы Т ' возможно в случае любого конечного алфавита А.

Доказанные две теоремы означают, что класс машин с полулентами эквивалентен классу обычных машин Тьюринга.

Объединение машин

Пусть Т1 и Т2 - машины Тьюринга с общим или различными внешними алфавитами А1, А2 и пусть А1 А2.

Объединением машин Т1 и Т2 называется машина, обозначаемая , работающая по правилу

(иv) = .

Теорема 15.7. Объединение машин существует.

Объединение построим в виде композиции четырех машин:

Т+▲ о Т2 о Т▲+ о Т1▲,

где Т1▲ - аналог машины Т1 на левой полуленте, Т2 - аналог машины Т2 на правой полуленте. машина Т▲+, отправляясь от первой буквы слова wz, останавливается на первой букве после символа ▲, оставляя на ленте слово wz. Машина Т+▲, отправляясь от первой справа за ▲ буквы слова wz, останавливается на первой букве слова w, оставляя на ленте слово wz. Очевидно, машины Т▲+ и Т+▲ существуют.

Разветвление машин

Пусть Т1 и Т2 - две машины Тьюринга с общим внешним алфавитом А и алфавитами состояний Q1 и Q2 ( ) и пусть 0 и 1 не принадлежат А.

Пусть Ф - машина-предикат, т. е. машина с внешним алфавитом {0; 1}, применимая к любому слову и над алфавитом А и Ф(и) принадлежит множеству {0;1}.

Разветвлением машин Т1, Т2, управляемым предикатом Ф, называется машина, обозначаемая , которая работает по правилу

( )(и) =

Теорема 15.8. Разветвление машин существует.

Построим разветвление в виде композиции трех машин

,

где машина имеет программу, представленную в виде табл. 15.4

Начальным состоянием машины является состояние , а заключительными - заключительные состояния , - машин Т1 и Т2 соответственно.

Таблица 15.4.

………

……..

……..

Т1

Т2

1

0

Итерация машины. Пусть Т - машина Тьюринга с внешним алфавитом А и Ф – машина-предикат.

Итерацией машины Т по предикату Ф называется машина, обозначаемая ТФ, работа которой описывается следующим образом:

1. К слову и применяется предикат Ф, если Ф(и) = 1, то переход к 2, если Ф(и) = 0, то переход к 3.

2. , переход к 1.

3. (ТФ)(и):= и, останов.

Теорема 15.9. Итерация машины Т по предикату Ф существует.

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