Как мы можем гарантировать, что мы продолжаем делать правильные и обоснованные заявления о классах сложности при использовании машин оракула Тьюринга? В соответствии с моим пониманием (на основе определений, данных во вводных учебниках по этой теме), машины оракула Тьюринга могут определить статус принадлежности строки по отношению к языку оракула за один шаг вычислений. Однако часто используемые языки оракула доказуемо невозможно разгадать за постоянное время (например, возьмем полный оракул EXPTIME). Мне это кажется «открытием двери» для противоречий, и в конце концов, все вытекает из противоречия.
9
Ответы:
Есть несколько способов взглянуть на это.
Одна из них заключается в том, что в доказательствах импликация является своего рода функцией, которая принимает в качестве входных данных подтверждение чего-либо и выводит доказательство чего-то другого.
Мы можем написать функции, которые оперируют значениями, которых у нас нет.
Например, давайте рассмотрим число остановки , которое нельзя вычислить. Я могу написать функциючас
.haltingPlusOne(x)=x+1
Эта функция принимает в качестве входных данных номер остановки и возвращает номер остановки плюс один. Очевидно, что это четко определенная функция: если мы дадим ей правильный ввод, он даст правильный вывод. Тот факт, что мы не можем найти правильный вход, не делает его менее действительным для преобразования.
Также важно понимать, что когда мы говорим что-то вроде «Нет машины Тьюринга, которая может решить проблему остановки», то есть, что нет TM, соответствующего стандартному определению TM, которое решает проблему остановки.
Оракул в основном говорит: «Предположим, у нас есть ТМ, который соответствует нормальному определению, за исключением того, что мы можем решить некоторую проблему». Таким образом, нет никакого противоречия, так как мы не предполагаем, что есть нормальный TM, принимающий проблему, мы предполагаем, что есть специальный TM, принимающий проблему.
В очень неформальной аналогии, подумайте об этом так. Если я могу доказать вам, что ни один человек без сверхдержав не может летать, нет никакого противоречия в том, что есть супергерой, который может летать.
Эти оракулы являются чисто логическими объектами. Мы не знаем, как создавать физические машины, которые имитируют их, как мы можем это делать с машинами Тьюринга, но, насколько нам известно, нет никакого внутреннего противоречия между их определениями и нашими основными аксиомами. Как логические объекты, эти оракулы существуют. Мы знаем, что они не являются стандартными терминами машин Тьюринга, лямбда-исчисления или частично-рекурсивными функциями. Тезис Черча-Тьюринга говорит о том, что нет более сильной модели, но это не теорема, это просто гипотеза, и она слишком неформальна, чтобы когда-либо действительно быть доказанной.
источник
Так какой смысл в использовании оракула? Я бы сказал, что это позволяет нам в основном теоретические соображения о (степени) сложности проблем. Оракул может быть даже неразрешимым. В этом случае вы можете определить целую иерархию неразрешимых проблем (степень Тьюринга). Конечно, если ваш оракул - проблема остановки, вы не можете превратить свой оракул в традиционную.
Концепция oracle TM также важна для определения сильной формы сокращений (сокращений Тьюринга).
источник