Чи визнана кожна рекурсивна мова смертною машиною Тюрінга?


15

Ми говоримо, що машина Тьюрінга М є смертельним, якщо Мзупинки для кожної стартової конфігурації (зокрема, вміст стрічки та початковий стан можуть бути довільними). Чи визнана кожна рекурсивна мова смертною машиною Тюрінга? (тобто, якщо є ТМ, який приймаєL, є також смертельна ТМ, яка приймає L)


1
Чи можете ви надати посилання на Смертні машини Тюрінга? Дякую :)
Tayfun заплати

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

6
@Marcin: Вас цікавлять машини, які зупиняються на всіх конфігураціях, включаючи нескінченну, або лише на тих, які зупиняються на всіх обмежених конфігураціях?
Джошуа Грохов

1
Я думаю, що він має на увазі скінчені конфігурації. Правильно?
Філіп Уайт

1
@Philip: Просто уявіть собі машину в довільному стані та конфігурації, а потім запустіть обчислення вперед від цієї точки, дотримуючись звичайних правил.
Джошуа Грохов

Відповіді:


14

Ось два результати, процитовані у Чарльза Е. Х'юза "Невизначеність кінцевої конвергенції для конкатенації, вставки та обмежених операторів переміщення" :

Теорема 3 : Клас смертних машин Тьюрінга - це саме клас постійного часу роботи машин Тьюрінга.

СонстТ={Мс st для всіх початкових конфігурацій С, М зупинки не більше ніж с кроки }

Тому я думаю, що ми можемо отримати наступне: давши смертельну машину Тюрінга М, дозволяти М',сбути відповідним постійним часом ТМ і його часом роботи. Мова, визнана користувачемМ над алфавітом Σ={0,1} рівно:

{ху|х|сМ' приймає х не більше ніж кроків s,у{0,1}}

Тож клас мов, визнаний смертними машинами Тюрінга, є належним підмножиною класу регулярних мов. Наприклад, ви можете використовувати L={(0|1)1} обманювати кожен постійний час ТМ.

Речі стають цікавими, коли ми намагаємось вирішити, чи машина Тюрінга смертельна, оскільки нам доводиться стикатися з довільною (кінцевою) початковою стрічкою та станом.

Теорема 4 : набір смертних машин Тюрінга рекурсивно перелічується.


9

Я думаю, що є. Ми повинні зробити для кожного L a M, який приймає його таким чином, щоб усі його кроки були записані на магнітофон і після кожного "головного кроку" він перевіряв, чи справді всі його кроки до цієї точки дійсні. Нижче я нарисую ескіз про те, як повинна бути зроблена така машина (яка може містити незначні помилки, але основна ідея повинна бути тонкою).

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


під час написання своєї відповіді я читаю ваші ... які говорять навпаки :-) ... можливо, я неправильно інтерпретую, що таке рядок, прийнятий смертною машиною Тюрінга?
Marzio De Biasi

2
@MarzioDeBiasi: Поняття смертних, що розглядається в цьому документі, вимагає зупинки машини в обмеженій кількості кроків, навіть якщо це починається з нескінченної кількості довільних даних на його стрічці. Але я думаю, що будівництво домоторпа працює в більшості випадків для обмеженої конфігурації. Наприклад, в конфігурації з введенням нескінченної довжини M domotorp потрапляє у нескінченну послідовність копіювання вводу нескінченної довжини на окрему стрічку пам'яті ...
Джошуа Грохов

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