Чи вирішується, чи досягає ТМ певної позиції на стрічці?


14

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

Для цілого числа та трьох наступних задач:c>1

  1. Чи правда, що для кожного вводу , M не передає положення при запуску на ?x|x|+cx

  2. Чи правда, що для кожного вводу , M не переходить позицію при запуску на x ?xmax{|x|c,1}x

  3. Чи правда, що для кожного вводу x , M не передає положення (|x|+1)/c при запуску на x ?

Скільки проблем вирішується?

Номер проблеми (1), на мою думку, знаходиться у coRER якщо я розумію, що правильно, оскільки я можу запустити всі входи паралельно та зупинитись, якщо деякий вклад досяг цієї позиції та показав, що це не так в R Я можу зменшити доповнення Atm до нього. Я побудувати машину Тьюринга M' наступним чином : для входу у мене перевірити , якщо у є історія обчислень, якщо вона є, то M' працює правильно і не зупиняється, якщо це не так , то він зупиняється.

Для (3) я вважаю, що це вирішимо, оскільки для всі машини Тюрінга завжди залишаються на першій комірці смуги, оскільки для рядка одного знака він може передавати першу клітинку, тому я потрібно змоделювати всі рядки довжиною 1 для кроків (чи правильно це?), і побачити, чи використовую я лише першу клітинку у всіх них.c2|Q|+1

Я не знаю, що з цим робити (2).


1) Чи вважаєте ви однобічну нескінченну стрічку? 2) Що таке атм?
Рафаель

1) Так, 2) Проблема прийняття.
Юзеф

Відповіді:


9

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

Аргумент працює наступним чином. Розгляньте машину Тюрінга, стрічку та положення машини Тюрінга на стрічці. Усі разом вони мають обмежену кількість конфігурацій. Щоб бути конкретним, існує лишеможливі конфігурації. - це набір символів стрічки, а - безліч станів. Я продовжуватиму використовувати слово "конфігурація" для опису стану машини Тюрінга в поєднанні зі станом стрічки та її положенням на стрічці до кінця цієї відповіді, але це не стандартна лексика.t=n|Γ|n|Q|ΓQ

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

За принципом підгона, це повинно відбуватися не більше, ніж кроки. Отже все вищезазначене можна вирішити; після щонайбільше модельованих кроків ви отримуєте відповідь.t+1t+1

Коротка примітка про те, чому це працює: коли машина, стрічка та її положення на стрічці повторюються, між цими повторами, мабуть, була послідовність конфігурацій. Ця послідовність повториться, що призведе до тієї ж конфігурації ще раз - машина знаходиться у нескінченному циклі. Це тому, що ми відстежуємо кожен аспект машини Тюрінга; нічого поза конфігурацією не може впливати на те, що сталося. Отже, коли конфігурація повторюється, вона повториться знову, з однаковою серією конфігурацій між ними.

Тому обмеження стрічки до кінцевої частини струни можна вирішити. Тому, повторюючи всі можливі вхідні рядки, проблема полягає в для всіх трьох питань. Ви, можливо, вже зрозуміли це (між вашими ідеями для 1 та 3 та відповіддю Ран Г на 2 все одно це вирішено повністю), але я подумав, що це, можливо, варто опублікувати.coRE


"Якщо машина коли-небудь повторює конфігурацію [...] повертає" ні "" - це неправильно. Недетермінований апарат може виконати цикл пару разів і потім рухатися далі.
Рафаель

1
Ми говоримо тут про машини для виправлення, які не вважаються недетермінованими. Якби це було недетермінованим, моделюйте детерміновану версію.
СемМ

Приємне пояснення. Дивіться також першу версію моєї відповіді (яку я переглядаю, як тільки я зрозумів, що ОП не дуже її запитував ..)
Ran G.

@Sam: Це працює навпаки: якщо не передбачається інше, машина Тьюрінга може бути недетермінованою. Що таке "детермінований варіант"? Якщо ви маєте на увазі повне розгортання варіантів, то повторна конфігурація втрачає значення, оскільки вони можуть траплятися в різних галузях.
Рафаель

2
@Raphael стандартним способом зробити це графік конфігурації: вершини - це ті самі конфігурації, які визначено Сем, і є напрямлений край від конфігурації A до B, якщо NTM може переміститися від A до B за один крок. Графік є кінцевим, і чи зупиняється машина - це просте питання про доступність графіка. Це також показує, що - це підмножина D T I M E ( 2 O ( s ) )NSPACE(s)DTIME(2O(s))
Сашо Ніколов

4

(2) дуже схожий на (3), і те ж міркування, яке ви мали для (3), застосовується і тут: зауважте, що машини, які в мають дивне властивість - вони не читають весь вхід (вони ніколи не досягають цього останні c біти.) І це справедливо для кожного введення.L2c

Гаразд, тепер давайте розглянемо лише входи довжиною . Для кожного з них є лише два варіанти: машинні петлі / зупинки без переміщення голови або переміщення голови. Якщо він переміщує голову на деякий х| x |c ), то машина не знаходиться в L 2 через цей вхід x . В іншому випадку я стверджую, що машина знаходиться в L 2 . Оскільки він ніколи не рухає головою - він поняття не має, який розмір входу! це означає, що він поводиться однаково для всіх входів довжини | х | > c . Тому L 2 визначальний.cx|x|cL2xL2|x|>cL2


Як ви обліковуєте недетерміновані машини?
Рафаель

c

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

|x|exp(|x|)

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