Почему проблема остановки решаема для LBA?

13

Я читал в Википедии и некоторых других текстах, которые

Проблема остановки [...] разрешима для линейных ограниченных автоматов (LBA) [и] детерминированных машин с конечной памятью.

Но ранее было написано, что проблема остановки - неразрешимая проблема, и поэтому TM не может ее решить! Так как LBA определены как тип TM, разве это не должно быть для них?

user5507
источник
9
Вы можете использовать TM, чтобы определить, останавливается ли LBA на данном входе, проверяя, останавливается ли, скажем, O (2 ^ 2 ^ n) шагов путем моделирования. Любой LBA, работающий дольше, чем это, застрял в бесконечном цикле. Это не значит, что LBA могут решить проблему остановки для общих ТМ!
Йонатан Н
Конечные автоматы - это тоже тип ТМ.
Рафаэль
@ Рафаэль Вы не можете редактировать подобные вопросы. Вы изменили значение вопроса, сделав таким образом мой существующий ответ вне темы, тогда как другой ответ был вне темы и теперь находится в теме.
Бабу
@babou Я не вижу, как я изменил значение вопроса, и я не вижу, как ни один из двух вопросов не отвечал на вопрос (хотя они используют разные подходы).
Рафаэль
@Rap Оригинальный вопрос больше о логическом дискурсе, чем о формальном обосновании свойств LBA, и это то, что вы удалили из заголовка. Для меня очевидно, что, хотя может быть доказано, что остановка разрешаема для LBA, OP задается вопросом, как она может быть совместима с другими утверждениями относительно включения LBA в TM и неразрешимости остановки для TM (могу ли я отредактировать обратно?) , Кстати, нет намерения принизить ответ Ювала. Я ожидаю, что он получит большинство голосов, потому что это то, что читатели ищут (что само по себе является педагогической проблемой), даже если я не буду баловаться.
Бабу

Ответы:

18

Проблема остановки решаема для любой машины Тьюринга, которая использует известный ограниченный объем пространства, путем обобщения аргумента, данного Йонатаном Н. Если объем пространства равен , размер алфавита равен A , а количество состояний равно Q , то число возможных конфигураций Q S S . Если машина останавливается, то она должна останавливаться на этапах Q S A S , поскольку в противном случае, по принципу «квадратного отверстия», она имеет повторяющуюся конфигурацию и поэтому застревает в бесконечной петле. Поэтому, чтобы определить, останавливается ли машина, мы просто запускаем ее для Q S A SSAQQSASQSASQSAS шаги и посмотреть, остановится ли он в течение этого периода времени.

Юваль Фильмус
источник
Почему этот аргумент работает для недетерминированных машин?
Рафаэль
1
По теореме Савича.
Ювал Фильмус
Я не знал (или помнил) теорему Савича, кроме названия (я никогда не делал много сложностей). Но я не уверен, что его можно использовать таким образом, поскольку он применяется к процедурам принятия решений, то есть к остановке вычислений, в то время как решимость остановки - это именно то, что должно быть доказано. Доказательство может быть адаптировано для включения ограниченных пространством полу-решений, но, по-видимому, проще доказать отдельно, что остановка разрешима для ограниченного пространством TM, таким образом превращая ограниченные пространством полу-решения в полные решения. Это близко к тому, что сделано Хопкрофтом-Ульманом-79 в их лемме 12-1, до доказательства теоремы Савича.
Бабу
1
Может быть, я неправильно понимаю это, но есть ли ответ буквально запустить программу и посмотреть, застрянет ли она в бесконечном цикле или нет?
Микайла Маки
1
@TrentonMaki Да, именно так.
Юваль Фильмус
10

Вы, кажется, застряли с логической проблемой.

Из того факта, что есть книги, которые вы не можете прочитать, вы не можете сделать вывод, что не можете читать ни одну книгу.

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

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

Но эта процедура не будет работать для ТМ, которых нет в наборе NTM. (печалька!)

Таким образом, проблема остановки решаема для NTM, но не для TM в целом, даже если набор NTM включен в набор TM.

Это на самом деле критично, а иногда и забывается при интерпретации результата неразрешимости.

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

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

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

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

Babou
источник
3
«Сказать, что проблема остановки неразрешима для машин Тьюринга (TM), означает лишь то, что есть машины, для которых нет способа определить, останавливаются они или нет с помощью какой-то процедуры, которая всегда останавливается». - Не совсем так. Для любой данной ТМ проблема остановки решаема. Это общая проблема решения, которая неразрешима, то есть нет единого алгоритма, который бы работал со всеми ТМ. (Я думаю, что это должно быть сделано очень, очень ясно для начинающих. См. Проблему с пи .)
Рафаэль
Более непосредственным примером является набор всех ТМ, которые всегда выполняются. Ваш добавляет некоторый дополнительный аромат, потому что это находится вне нормальной иерархии.
Рафаэль
Правильно. Я должен был сказать «единообразная процедура», но это было неявно в моем уме, поскольку я сказал «процедура, которая всегда будет останавливаться», подразумевая, что я могу использовать ее на любом входе, то есть на любой машине. Но это правда, что процедура может работать правильно для одной машины и делать что-либо для других машин. Ну что ж ... - - - - - - - - Что касается второго комментария, это то, что я написал сначала. Затем я передумал, потому что думал, что мой пример будет легче понять интуитивно, так как выбор машин не зависит напрямую от свойства, которое будет решено (хотя оно близко).
Бабу
2

Короче говоря, LBA имеет конечное число конфигураций, скажем D. Следовательно, мы можем выполнить D шагов и подвести итог. Если он работает больше, чем на D шагов, то есть по принципу голубя, можно сказать, что он застрял в бесконечном цикле.

SiluPanda
источник
1
Что это добавляет к существующему ответу ? Это, кажется, просто повторяет это, менее подробно. Хотя я ценю то, что вы пытаетесь внести свой вклад, мы бы предпочли, чтобы вы не повторяли существующие ответы и вместо этого сосредоточились на ответах на вопросы, на которые еще нет хорошего ответа.
DW