Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота5.docx
Скачиваний:
4
Добавлен:
19.11.2019
Размер:
109 Кб
Скачать
☆

Композиція машин т'юринга

Визначення. Нехай задані машини Т'юринга Θ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 раз, треба спочатку досягти масиву :

П отім, рухаючись вліво, транспонувати (за допомогою В) масив з кожним сусіднім ліворуч масивом, поки масив не вийде на перше місце:

Тепер треба дійти до крайнього правого масиву за допомогою (n - 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ВБ-.