Чи може вхід до машини Тьюрінга нескінченної довжини?


26

Враховуючи лише алфавіт , рядки, які можна подати як вхід до машин Тьюрінга, з набору Σ . Але чи має сенс вхід бути нескінченним двійковим рядком? Наприклад, якщо машина Тьюрінга приймає всі рядки, починаючи з 0, чи двійковий рядок нескінченних нулів також належить до мови, прийнятої машиною Тюрінга?Σ={0,1}Σ

Відповіді:


21

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


4
Завершення обчислень у кінцевий час, поки вхід нескінченний, здається важким викликом.
Щогли

5
@Mast Не обов’язково. Ви просто не можете дозволити собі прочитати весь вхід.
Yuval Filmus

1
@JulesMazur Ключове слово - гіперкомпутація .
Yuval Filmus

3
@JulesMazur Вам не обов’язково потрібні будь-які гіперкомп'ютації. Програма може просто продовжувати записувати на вихідну стрічку, і результат конвердується у нескінченну рядок, як у машині Тьюрінга типу II.
jkabrg

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

17

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

Холодний факт: точна числова інтеграція обчислюється.


5

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

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

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

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

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


2

Навіть якщо у вас немає такої стрічки, ви можете використати іншу машину Тьюрінга для її виготовлення.

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

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


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

2

Є деякі випадки, коли нескінченний вклад можна розглядати і зводити до дії "стандартної" машини Тьюрінга. Наприклад, розглянемо нескінченно повторюваний кінцевий візерунок, вказаний на вході. Можна створити машину Тюрінга, яка відслідковує, скільки цієї безмежної картини було змінено поточними діями головки стрічки, використовуючи обмежений об'єм пам'яті / стрічки. Іншими словами, він «еквівалентно імітує» нескінченний розмір малюнка на стрічці.

Інший випадок, коли було розглянуто "нескінченний внесок" - це аналіз еквівалентності / повноти Тьюрінга клітинних автоматів. У складному доказі Кук ввів концепцію, яку зараз деякі називають "слабкою еквівалентністю Тюрінга" при перетворенні операцій правила CA 110 в операції машин Тьюрінга, які починаються на нескінченно заданій початковій стрічці, але з (повторюваними) кінцевими розмірами.


1
Терміни "нескінченний вхід" та "скінченне кодування нескінченного об'єкта" є чітко розрізненими та елементарними (приклад - кожна нескінченна регулярна мова зі своїм мінімальним кодом DFA). Тут їх не слід плутати.
Рафаель

2
так, DFA можуть використовуватися для описаного кодування. як замальована стрічка з кінцевим кодуванням нескінченної довжини рядка (через повторення кінцевих візерунків) є і різною / подібною за здатністю до стрічки з лише кінцевими рядками.
vzn

1

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

Сказавши це, існує багато альтернативних машин, які працюють аналогічно TM, але з нескінченними послідовностями введення.

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


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

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

1
Я не погоджуюся з тим, що пристрій перестає бути машиною Тюрінга лише тому, що ви запускаєте його з нескінченних речей на стрічці. Машина все одно та сама машина; ви просто змінили початкові умови. Визначення того, як машини Тьюрінга відносяться до мов кінцевих рядків (наприклад, лінійки, що можна вирішити або напіврозкладаються), є з точки зору обмежених входів, але це не означає, що машина цього вимагає. Так само ваш комп'ютер не перестане бути комп'ютером, якщо ви поставите поруч нескінченну купу CDROM.
Девід Річербі,

1
@DavidRicherby Ну, технічно машина Тьюрінга - це машина, яка приймає кінцевий вклад. Якщо ви зміните це обмеження у визначенні, ви визначите щось інше. Ідея обчислювальної техніки в деякому сенсі все ще така ж, але як ви зараз виражаєте складність? Дуже різні питання.
Рафаель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.