Композиція машин т'юринга
Визначення.
Нехай
задані машини Т'юринга Θ1
і Θ2,
що мають загальний зовнішній алфавіт
{a0, a1,
…, am}
і алфавіти внутрішніх станів {q0, q1,
…, qn}і
відповідно. Композицією (чи множенням)
машини Θ1
на машину Θ2
називається нова машина Θ
з тим же зовнішнім алфавітом {a0, a1,
…, am},
внутрішнім алфавітом {q0, q1,
…, qn, qn+1,
…, qn+t}
і програмою, що виходить наступним
чином.
У всіх командах з Θ2
що
містять символ q0,
залишаємо
незмінними,
а всі
останні стани
на
,
змінюємо відповідно на qn+i.
Сукупність усіх так отриманих
команд утворює програму машини-композиції
Θ.
Введене поняття є зручним інструментом для конструювання машин Т'юринга. Покажемо це на прикладі.
Приклад6.
Сконструюємо
машини Т'юринга, правильно обчислюючі
функції-проектори
.
Розглянемо
спочатку конкретний випадок n
= 3, m
= 2, тобто функцію
.
Ми повинні переробити слово
в слово
.
Будемо
застосовувати
до початкової конфігурації послідовно
сконструйовані раніше машини Т'юринга
Б+, В, Б-,
О:
Таким чином, функція обчислюється слідуючою композицією машинБ+ВБ+ОБ-ОБ- = Б+ВБ+(ОБ-)2.
Перевірте
самостійно, що функція
обчислюється
композицією Б+ВОБ-.
Т
епер
ми можемо уявити собі алгоритм побудови
композиції
машинБ+,
В, Б-,
О для обчислення будь-якої функції виду
.
За допомогою правого зрушення Б+,
застосувавши
його т-1
раз,
треба спочатку досягти масиву
:
П
отім,
рухаючись вліво, транспонувати (за
допомогою В) масив
з кожним сусіднім ліворуч масивом, поки
масив
не вийде на перше місце:
Нарешті, треба стирати послідовно справа наліво усі масиви одиниць, окрім першого:
Отже, цю функцію (правильно) обчислює наступна машина Т'юринга:(Б+)m-1 (В ∙ Б-)m-1(Б+)n-1(О∙ Б-)n-1.
При n = 3, m = 2 така машина має вигляд:
Б+ВБ-(Б+)2(ОБ-)2= Б+ВБ+(ОБ-)2
тобто співпадає з побудованою вище машиною. При n = 2, m = 2 ця машина має вигляд:Б+(ВБ-)Б+(ОБ-) = Б+ВОБ-, тобто також співпадає з відповідною розглянутою вище машиною Т'юринга.
Приклад7.Побудуйте машину Т'юринга, що переводить слово 01x01y01z0 в слово 01z01x01y0, причому в початковому положенні оглядається комірка з 0 між наборами з у і z одиниць, а в кінцевому положенні оглядається комірка з 0 між наборами з z і х одиниць. (Ця машина називається "Циклічне зрушення" і позначається Ц.)
Рішення. Перевіримо, що таке переведення станеться в результаті послідовного застосування (композиції) раніше побудованих машин В, Б- і В.
Обчислюємо:
01x01yq101z0
В: 01x01zq01y0
Б-: 01xq01z01y0
B: 01zq001x01y0.
Тобто Ц = ВБ-В
Приклад8.Побудуйте машину Т'юринга, що переробляє слово 01x01y в слово 01x01y01x01y, причому в початковому положенні оглядається найлівіша комірка, а в кінцевому - комірка, в якій записаний 0, який знаходиться між масивами 1x01y і 1x01y. (Машина називається "копіювання" і позначається К2.)
Рішення. Перевіримо, що таке переведення станеться в результаті послідовного застосування (композиції) раніше побудованих машин.
q101x01y 01xq001y01x01y
Обчислюємо:
q101x01y
Б+: 01xq01y
Г : 01xq01y01y0
Б-: q01x01y01y0
Г : q01x01x01y01y0
Б+: 01xq01x01y01y0
Б+: 01x01xq01y01y0
В : 01x01yq01x01y0
Б-: 01xq01y01x01y0
К2 = Б+ГБ-Г(Б+)2ВБ-.
