Машина Тьюрінга - нескінченна стрічка в одному або двох напрямках


11

Я бачив, як тюрінг-верстати представляють нескінченні стрічки в одному і в двох напрямках. Чи є різниця у потужності таких машин для твердіння, або вони в основному еквівалентні? В голові я думаю, що вони рівноцінні, тому що я думаю, що повинен бути якийсь спосіб представити двосторонній нескінченну стрічку як однобічну нескінченну стрічку, але я не можу знайти доказ чи приклад.


1
Ви дублюєте стани та символи стрічки, щоб у вас була версія для правої частини та іншої для лівої. На стрічці ви зберігаєте пари символів, ліву та праву. Ви налаштовуєте функцію переходу, щоб вона змінювала лише ту частину пари, яка відповідає половині стрічки, з якою ви зараз працюєте. І додайте трохи управління, коли вам доведеться змінити половину стрічки, яку ви розглядаєте. Не забувайте, що якщо скласти праву половину стрічки на ліву, рухи голови будуть оберненими. Тому відповідно змініть свої переходи для правильних станів.
бабу

@babou Перетворитись на повноцінну відповідь?
Yuval Filmus

Відповіді:


12

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

Ідея полягає в тому, щоб розрізати свою подвійну нескінченну стрічку надвоє, щоб у вас було дві окремо нескінченні стрічки, ліву та праву, яку ви зрештою злите. Кінці можна позначити місцем стрічки, що містить спеціальний символ EOF. Ви також дублюєте своє кінцеве управління, щоб у вас було два однакових елемента керування кінцевим станом. Ви припускаєте, що у вас є пристрій передачі управління (див. Нижче), так що, коли ліва машина намагається вийти за межі правого кінця стрічки, вона передає керування в праву машину, в крайнє ліве положення стрічки (безпосередньо перед лівий кінець правої стрічки). І навпаки, при спробі пройти лівий кінець правої стрічки.

RL

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

Ви знову модифікуєте переходи обох машин, щоб лівий (відповідно правий) перехід використовував і змінював лише ліву (відповідно праву) частину пар на стрічці. Потім ви з’єднуєте управління двома машинами простим заданим об'єднанням відповідно для станів і для переходів.

Ви додаєте набір переходів для кожного існуючого стану, так що коли символ стрічки є EOF, він повертається до попереднього розташування стрічки (перше місце, яке не належить до EOF), і стан змінюється на його хіральний аналог: якщо він лівий (відповідний правий) стан, він змінюється на правий (відповідно лівий) аналог. Це контрольний прохідний пристрій.

Можливо, я забув деталь, але це загальна ідея будівництва. Доказ залишається як вправа.

Звичайно, початкову стрічку (вхід) необхідно відповідно змінити. Але це може бути спрощено, розмістивши вхід (якщо він обмежений) повністю з лівого боку (той, який не перевернутий) відрізаної стрічки.

Потім ви відкладете шуруповерт, оскільки це може бути небезпечно для дітей.

PS Я лише показав, що подвійно нескінченна стрічка може бути змодельована окремо нескінченною стрічкою. Зворотне здається занадто очевидним.


@DW Дякую за редагування Я повинен був подумати над тим, як це зробити. Як я пам’ятаю, я вставив останній рядок як продуману протягом 5 хвилин пільгового періоду після редагування. Враховуючи існуючі правила щодо кількості редагувань, я зазвичай чекаю зібрати необхідні зміни до нового сеансу редагування.
бабу

Ах, так, правила редагування! Я не прихильник правил, які обмежують кількість правок; у будь-який час це робить людей неохоче покращувати свою відповідь, здається, втратою для сайту, але о, ну, що, робити? Вибачте, що я нагадав ваш номер редагування на один - я не хотів турбувати вас, надавши обсяг роботи, яку ви вже вклали, але, можливо, я повинен був би попросити спочатку. Дякую за чудову відповідь!
DW

Питання про ефективне моделювання: cs.stackexchange.com/questions/28901/…
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.