Как использование машин оракула Тьюринга не приводит к противоречиям?


9

Как мы можем гарантировать, что мы продолжаем делать правильные и обоснованные заявления о классах сложности при использовании машин оракула Тьюринга? В соответствии с моим пониманием (на основе определений, данных во вводных учебниках по этой теме), машины оракула Тьюринга могут определить статус принадлежности строки по отношению к языку оракула за один шаг вычислений. Однако часто используемые языки оракула доказуемо невозможно разгадать за постоянное время (например, возьмем полный оракул EXPTIME). Мне это кажется «открытием двери» для противоречий, и в конце концов, все вытекает из противоречия.


2
Если оракул «действительно» занимал время то это просто фактор времени работы всей машины. Предполагая постоянную стоимость (то есть посчитайте, как часто вам нужен оракул), вам будет проще сравнивать алгоритмы, использующие оракула. (Вопрос о том, имеют ли полученные результаты какое-либо отношение к реальности, - тот, с которым вы всегда сталкиваетесь и / или игнорируете в TCS.)T
Рафаэль

@Raphael Под словом «вы» в скобках вы подразумеваете теоретиков сложности вообще или меня в частности?
Ари

Первый. Ну, как-то так.
Рафаэль

продвинутая тема. попробуйте начать с Fortnow, который согласен с тем, что их иногда "неправильно используют" и исследует местность. Самосогласованный способ увидеть эти результаты подобен «условному» утверждению. подобно тому, как многие результаты доказываются в математике условно на основе гипотезы Римана и т. д.
vzn

Ответы:


8

Есть несколько способов взглянуть на это.

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

Мы можем написать функции, которые оперируют значениями, которых у нас нет.

Например, давайте рассмотрим число остановки , которое нельзя вычислить. Я могу написать функциюh

haltingPlusOne:{h}N

.haltingPlusOne(x)=x+1

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

X

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

Оракул в основном говорит: «Предположим, у нас есть ТМ, который соответствует нормальному определению, за исключением того, что мы можем решить некоторую проблему». Таким образом, нет никакого противоречия, так как мы не предполагаем, что есть нормальный TM, принимающий проблему, мы предполагаем, что есть специальный TM, принимающий проблему.

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

Эти оракулы являются чисто логическими объектами. Мы не знаем, как создавать физические машины, которые имитируют их, как мы можем это делать с машинами Тьюринга, но, насколько нам известно, нет никакого внутреннего противоречия между их определениями и нашими основными аксиомами. Как логические объекты, эти оракулы существуют. Мы знаем, что они не являются стандартными терминами машин Тьюринга, лямбда-исчисления или частично-рекурсивными функциями. Тезис Черча-Тьюринга говорит о том, что нет более сильной модели, но это не теорема, это просто гипотеза, и она слишком неформальна, чтобы когда-либо действительно быть доказанной.


n+1=nn1

1
Дело в том, что утверждения не являются ложными, мы просто не можем их построить. Ключ в том, что оракулы не являются машинами Тьюринга, это не значит, что они не существуют.
Jmite

"найти правильный вход" "найти правильный выход" ?

2

ABB=BA

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

Концепция oracle TM также важна для определения сильной формы сокращений (сокращений Тьюринга).

PNP

w|w|

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.