Это вопрос, связанный с этим . Если после многих дискуссий там снова изложить это в гораздо более простой форме, то это стало совершенно другим вопросом.
Классическое доказательство неразрешимости проблемы остановки зависит от демонстрации противоречия при попытке применить к себе гипотетический решатель HALT. Я думаю, что это просто означает невозможность иметь HALT-решателя, который решает, остановится ли сам по себе или нет, но не дает никакой информации, кроме той, о решимости остановки любых других случаев.
Так что вопрос
Есть ли доказательство того, что проблема остановки неразрешима, что не зависит от того, чтобы показать, что HALT не может решить сам, и не зависит от аргумента диагонализации?
Небольшое редактирование: я возьму на себя первоначальную формулировку вопроса, которая требует доказательства, которое вообще не зависит от диагонализации (а не просто требует, чтобы оно не зависело от диагонализации, которая зависит от HALT).
источник
Ответы:
Да, есть такие доказательства в теории вычислимости (она же теория рекурсии).
Сначала вы можете показать, что проблема остановки (набор ) может быть использована для вычисления набора который является 1-общим, что означает, что в некотором смысле каждый факт о решается конечным префикс . Тогда легко доказать, что такое множество не может быть вычислимо (т. Е. Разрешимо). G ⊆ N Σ 0 1 G G G0' G ⊆ N Σ01 г г г
Мы могли бы заменить 1- общий тип на 1-случайный, т. Е. Случайный Мартин-Лёф , для того же эффекта. Здесь используется теорема Джокуша-Соаре о низком базисе .
(Предупреждение: можно было бы просто показать, что вычисляет Chaitin's , который является 1-случайным, но здесь мы должны быть осторожны с тем, полагает ли доказательство того, что 1-random, делает проблему остановки неразрешимой! безопаснее просто использовать теорему о низком базисе).Ω Ω0' Ω Ω
источник
Повторно из моего комментария согласно запросу:
Начните с наблюдения, что существуют неразрешимые проблемы (простой аргумент кардинальности) и, более того, существует неразрешимая проблема P, у которой есть TM M, который распознает своих членов (но может не заканчиваться на нечленах). Теперь решение HALT (M) дает вам решение для P. Сначала проверим, останавливается ли M на x. Если это так, мы запускаем его и возвращаем то же самое, что и M. В противном случае мы отвергаем, поскольку M останавливается на каждом члене P. Теперь это противоречие, так как мы предполагали, что P неразрешима.
Примечание: он пояснил, что искал аргумент, который избегал диагонализации с использованием HALT напрямую, а не аргумент, который полностью избегал диагонализации.
РЕДАКТИРОВАТЬ: Этот аргумент застрял. Можете ли вы показать, что RE - REC не пуст, кроме того, что показывает, что HALT там?
источник
Другой постер ссылался на это (ссылаясь на Chaitin), но вы можете использовать парадокс Берри, чтобы доказать, что проблема остановки неразрешима. Вот краткий набросок доказательства:
Пусть HALT будет машиной, которая решает, будет ли какая-либо машина M останавливаться на входе I. Мы покажем, что сам HALT не останавливается на конкретном входе, что показывает, что он не может выбрать язык.
Рассмотрим следующую функцию f:
f (M, n) = a, где a - наименьшее натуральное число, не вычисляемое машиной M на любом входе I с | I | <п
Предполагая, что HALT является вычислимой функцией, f также вычислимой функцией; просто смоделируйте HALT (M, I) для каждой машины M и введите строку I с длиной I, меньшей n. Если имитация останавливается, смоделируйте M (I) и запишите, что это за выход, и найдите наименьший выход a, который не выводится ни одной из пар M, n.
Теперь покажем, что f не вычислимо: рассмотрим f (f, 10000000 * | f | +10000000). Независимо от того, что он выводит, это должно быть (положительное) целое число, которое не может быть вычислено машиной, вычисляющей f на входе I с длиной, меньшей заданной ... и все же мы только что вывели такое целое число с f и намного более коротким вход.
Таким образом, f не вычислимо, и поэтому наше предположение, что HALT был вычислимо, неверно. Я не верю, что это доказательство использует диагонализацию.
источник
Whatever it outputs, it ought to be an integer that is not computable by the machine computing f on input I with length less than that given.
источник