Одним из определений вычислимо перечислимого (ce, эквивалентного рекурсивно перечислимому, эквивалентного полуразрешимому) множества является следующее:
означает, что существует разрешимый язык (называемый верификатором) st для всех ,
тогда и только тогда существует й .
Поэтому один из способов показать , что язык не является в.п., чтобы показать , что нет разрешима верификатор для него. Полезен ли этот метод, чтобы показать, что языки на практике не используются?
computability
proof-techniques
undecidability
анонимное
источник
источник
Ответы:
На практике мы обычно не доказываем, что язык является ре или не ре. Если язык re, мы хотим знать, является ли он рекурсивным. Если это не так, мы хотим знать, какая у него степень Тьюринга, а не только что степень Тьюринга не повторяется.
Например, если является проблемой с то не , но этот факт о скачке Тьюринга более информативен, чем просто знание неP P′≡T0′′′ P P
Таким образом, хотя, в принципе, вы можете показать, что язык не повторяется, доказав, что нет проверяющего, на практике более информативно доказать, что язык не повторен, показывая, что он вычисляет что-то, что не может вычислить ни один повторный набор; природа этого «чего-то» обычно дает полезную информацию об изучаемой проблеме.
источник
Чтобы сделать терминологию, я использую ясность: decidable = recursive = computable, semidecidable = recursively enumerable = compumable enumerable, co-semidecidable = co-recursively enumerable = co-compumable enumerable.
На практике распространенный способ показать, что язык не является полуразрешимым, состоит в том, чтобы показать, что он не разрешим и что он также полуразрешим. Затем вы используете тот факт, что любой язык, который является как полуразрешимым, так и полуразрешимым, также может быть решен, чтобы сделать вывод, что ваш язык не является полуразрешимым. (обратите внимание, что это работает только в одном направлении: язык не может быть ни полуразрешимым, ни полуразрешимым, в этом случае вам нужен какой-то другой метод)
В качестве примера: мы знаем, что решение о том, является ли неоднозначным, неразрешимо, но легко принять решение: вы просто даете строку, которая имеет два разных анализа. Это подразумевает, что нельзя определить, является ли неоднозначным.CFG CFG
Другой метод - показать, что язык завершен для некоторого более высокого уровня арифметической иерархии .
Конечно, можно прямо доказать, что нет верификатора, но это часто утомительно, поскольку обычно повторяет доказательство того, что проблема остановки неразрешима. Обратите внимание, что приведенный выше аргумент по сути неявно доказывает, что не может быть никакого верификатора, поэтому я предполагаю, что вы могли бы сказать, что это метод, который доказывает отсутствие верификатора, но тогда вы можете рассмотреть любое доказательство нерешительности как доказательство того, что существует нет верфиер.
источник