Может ли вход на машину Тьюринга быть бесконечной длины?

26

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

SashaS
источник

Ответы:

21

Нет проблем при запуске машины Тьюринга на ленте, инициализированной бесконечной строкой, хотя это обычно не рассматривается. Нам все еще нужно, чтобы машина завершилась за конечное время. Есть также понятия вычислений бесконечного времени, которые могут быть уместны здесь.

Юваль Фильмус
источник
4
Завершение вычислений за конечное время, когда ввод бесконечен, кажется сложной задачей.
Мачта
5
@ Мачта Не обязательно. Вы просто не можете позволить себе прочитать весь ввод.
Юваль Фильмус
1
@JulesMazur Ключевое слово - гиперкомпьютер .
Юваль Фильмус
3
@JulesMazur Вам не обязательно нужны какие-либо гиперкомпьютеры. Программа может просто продолжать запись на выходную ленту, и результат сходится к бесконечной строке, как в машине Тьюринга типа II.
Jkabrg
1
Я думаю, что вы столкнетесь с трудностями, если разрешите вводить строки в качестве входных данных. В частности, набор входных данных больше не исчисляется, что нарушает несколько доказательств.
Темыр
17

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

Интересный факт: точное численное интегрирование вычислимо.

jkabrg
источник
5

Чтобы ответить на вопрос «имеет ли это смысл», это может быть даже полезно, если учесть машины Тьюринга, которые работают за конечное время.

В частности, это очень полезный способ думать о машинах Тьюринга без префиксов . Это машины, чей набор входов остановки не имеет префиксов; то есть никакие входные данные, которые приводят к остановке машины, не являются префиксом другого. По мощности они эквивалентны обычным машинам Тьюринга, но только в том случае, если мы позволим машине Тьюринга самостоятельно определять входные параметры остановки: т.е. пользователь не знает, на каких входах машина остановится (и это неразрешимое свойство).

Один из способов увидеть это - обычная машина Тьюринга с односторонней бесконечной входной лентой с ленточной головкой, которая не может двигаться назад. Пользователь заполняет ленту битами и запускает машину. По определению это машина Тьюринга без префиксов. Если машина останавливается, она должна прочитать только конечное число бит, и никакой префикс этой части ленты не может быть программой, иначе машина остановилась бы там вместо этого.

Это хороший способ говорить о вычислимом распределении вероятностей: пользователь заполняет ленту случайными битами (источником случайности машины), а машина выплевывает случайную цепочку битов. Множество всех таких машин Тьюринга соответствует множеству вычислимых распределений (в частности, полумерных вычислимых полуизмерений).

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

Питер
источник
2

Даже если у вас нет такой ленты, вы можете использовать другую машину Тьюринга для ее производства.

У машины Тьюринга есть доступ к пустой, но бесконечной ленте данных (или в некоторых источниках говорится, что «в машине просто встроена небольшая ленточная фабрика»). Таким образом, он может инициализировать его с каким-то программируемым шаблоном данных, а затем лента может использоваться как вход другой машины Тьюринга.

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

h22
источник
6
Я не уверен, как это отвечает на вопрос. В любом случае, не все бесконечные последовательности могут быть сгенерированы машинами Тьюринга, поскольку существует бесконечное количество бесконечных строк в любом алфавите, по крайней мере, с двумя символами, тогда как существует только счетное количество машин Тьюринга и счетное количество конечных входов для их заполнения.
Дэвид Ричерби
2

В некоторых случаях можно рассматривать бесконечный ввод и сводить его к действию «стандартной» машины Тьюринга. Например, рассмотрим бесконечно повторяющийся конечный шаблон, указанный на входе. Можно создать машину Тьюринга, которая будет отслеживать, сколько из этого бесконечного шаблона было изменено текущими действиями головки ленты с использованием конечного объема памяти / хранилища ленты. Другими словами, он "эквивалентно имитирует" шаблон бесконечного размера на ленте.

Другой случай, когда рассматривался «бесконечный ввод», - это анализ тьюринговской эквивалентности / полноты клеточных автоматов. в сложном доказательстве Кук представил концепцию, называемую теперь «слабой эквивалентностью Тьюринга» при преобразовании операций правила CA 110 в операции машины Тьюринга, которые начинаются на бесконечной заданной начальной ленте, но с (повторяющимися) шаблонами конечного размера.

ВЗН
источник
1
Термины «бесконечный ввод» и «конечное кодирование бесконечного объекта» явно различны и элементарны (например, каждый бесконечный регулярный язык со своим минимальным DFA). Их не следует путать здесь.
Рафаэль
2
да DFA могут быть использованы для описанной кодировки. как показано в общих чертах, лента с конечным кодированием строки бесконечной длины (посредством повторяющихся конечных шаблонов) отличается и похожа по характеристикам на ленту с только конечными строками.
vzn
1

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

Сказав это, есть много альтернативных машин, которые работают аналогично ТМ, но с бесконечными входными последовательностями.

Имеет ли смысл ввод бесконечной длины, зависит от цели. Строго говоря, в контексте машин Тьюринга это не имеет смысла (поскольку это невозможно), но в контексте машин, подобных Тьюрингу, это имеет смысл и имеет много применений.

все
источник
4
Вполне возможно иметь бесконечные строки. Действительно, есть целая ветвь теории автоматов, которая имеет дело с этой точной ситуацией. И, учитывая, что единственное изменение, которое необходимо внести в определение машин Тьюринга, чтобы позволить им иметь дело с бесконечными входами, - это удалить условие, согласно которому вход должен быть конечным, я не согласен с тем, что «бессмысленно» говорить о машинах Тьюринга и бесконечные строки.
Дэвид Ричерби
1
@DavidRicherby: похоже, мы согласны. Не стесняйтесь, дайте мне знать, как я могу перефразировать последний абзац, чтобы прояснить, что это только строго в контексте оригинальных, классических, настоящих машин Тьюринга (где входные данные по определению конечны), что нет смысла говорить о бесконечной длине ввода. Как только мы удаляем условие, оно больше не является строго ТМ, а (что я назвал) машиной типа Тьюринга.
всем
1
Я не согласен с тем, что устройство перестает быть машиной Тьюринга только потому, что вы запускаете его с бесконечными материалами на ленте. Машина все та же машина; Вы только что изменили начальные условия. Определения того, как машины Тьюринга соотносятся с языками конечных строк (например, разрешимыми или полуразрешимыми языками), выражаются в терминах конечных входных данных, но это не означает, что машина этого требует. Точно так же ваш компьютер не перестанет быть компьютером, если вы положите рядом с ним бесконечную кучу компакт-дисков.
Дэвид Ричерби
1
@DavidRicherby Ну, технически машина Тьюринга - это машина, которая требует ограниченного ввода. Если вы измените это ограничение в определении, вы определите что-то еще. В некотором смысле идея, лежащая в основе вычислений, остается той же самой, но как вы выражаете сложность сейчас? Очень разные проблемы.
Рафаэль