Як універсальна машина Тьюрінга може імітувати «більші»?


10

Я намагаюся знайти відповіді на два запитання щодо універсальної машини Тьюрінга.

  1. Як універсальна машина Тьюрінга може імітувати машину Тюрінга, якщо модель, яка моделюється, має більшу кількість штатів?
  2. Як може машина Універсального Тьюрінга імітувати машину Тюрінга, якщо на тому, що імітується, є більша кількість символів алфавіту?

Хтось може мені допомогти з цими питаннями?


1
Ще один цікавий pov wrt - це те, що UTM може бути побудований з постійною кількістю станів. вона імітує інші ТМ із довільним числом станів або символів, закодованих на стрічці.
vzn

пов'язане питання полягає в тому, як TM може імітувати банкомат (чергуючи TM), який приблизно тим самим методом pf, що кодує додаткові адатати на стрічці плюс зменшення станів на класи
Nikos M.

Відповіді:


10

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

Зауважте, що універсальна машина має фіксовану кількість станів, що робить обчислювальну функцію переходу трохи хитрою. Що ми хотіли б зробити, це написати інструкції, які реалізують велику заяву перемикача форми: "Якщо стан  а символ під головою  , то перейдіть до стану  , напишіть символ  та перемістіть голова в напрямку  ". Отже - і я думаю, що це може бути коренем вашого питання - як ми обчислимо функцію переходу, якщо у нас навіть не вистачає станів у універсальній машині, щоб зберігати вхід функції переходу?sxsxd

Один із способів - зберігати функцію переходу як бінарне дерево. Припустимо, у всіх модельованих машинах є  стани та  символи стрічки. Збережіть функцію переходу як двійкове дерево глибини де на перших  рівнях ви переходите вліво або вправо відповідно до того, чи є наступний біт модельованого стану одиничним або нульовим, а наступний  рівні - те саме, але для послідовних бітів імітованого персонажа стрічки. Тепер ваша універсальна машина може ходити назад і вперед на стрічці, перевіряючи наступний шматочок стану / символу, запам'ятовуючи цей біт у власних станах, повертаючись назад до дерева, ставлячи маркер на правильний вузол тощо.2q2q+q

Це стає дещо простіше, якщо ви дозволяєте вашій універсальній машині мати декілька стрічок, але тоді вам все одно доведеться показати, що ваша багатоступенева машина еквівалентна одній стрічковій машині.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.