Моя интерпретация вопроса заключается в том, что спрашивает о возможностях в релятивизированных мирах . Предположу , что в некотором Релятивизированном мире, . Можем ли мы вывести что-нибудь нетривиальное о временной сложности NP-полных задач? В аргументе Бейкер-Гилл-Соловеет показывает , что мы можем «сила» некоторые проблемы NP для требуем экспоненциального времени, поэтому верхняя граница , данным в вопросе, по существу , является оптимальным.P≠NP
Что касается нижней границы, ниже мы приводим набросок доказательства того, что относительно некоторого оракула . Предполагая, что набросанное доказательство является правильным, мы также можем применить его к функциям, меньшим 2 O ( log 2 n ) , и это показывает, что нижняя граница, приведенная в вопросе, также по существу жесткая.NP=TIME(2O(log2n))2O(log2n)
Эскиз доказательства. Мы строим два оракула : первый ведет себя как T I M E ( 2 O ( log 2 n ) ) -полная задача, а второй реализует диагонализацию Бейкера – Гилла – Соловая. Упаковать оба оракула в один оракул просто.O1,O2TIME(2O(log2n))
Оракула состоит из всех пар ⟨ М , х ⟩ такое , что М является оракул Тьюринга машина , которая принимает х в рабочем времени 2 2 √O1⟨M,x⟩Mxкогда предоставляется доступ к оракуламO1,O2ограничен входами длиной не более2√22log|x|√O1,O2, (Это не круговое определение.)2log|x|√
Оракул определяется так же, как оракул определяется по Бейкеру-Гиллу-Соловаю: для каждой синхронизируемой машины Тьюринга оракула M, работающей за время T = 2 o ( log 2 n ) , мы находим некоторую входную длину n, которая равна «нетронутым», запустите M на 1 n для T шагов, и для каждого запроса к O 2 размера n мы отмечаем, что этот ввод не находится в O 2 (для других запросов мы также отмечаем, что ввода нет, если мы не уже решил, что это в OO2MT=2o(log2n)nM1nTO2nO2 ). Запросы к O 1 обрабатываются аналогично (как неявные запросы к O 1 , O 2O2O1O1,O2меньшего размера, обрабатывается рекурсивно); обратите внимание, что такие запросы никогда не упоминают строки длины в O 2 , так как 2 √nO2. Если машина принимает, мы помечаем все другие строки длиныnвO2как отсутствующие, в противном случае мы выбираем некоторую строку длиныnи помещаем ее вO2.2logT√<nnO2nO2
The class PO1,O2 consists of all programs running in time 22O(logn√), making queries to O1,O2 of size 2O(logn√). The class NPO1,O2 is of the form x↦∃|y|<nCφ(x,y), where φ∈PO1,O2, and so it is contained in the class of all programs running in time 2nC and making oracle queries of size
2O(logn√)TIME(2log2nC)O1,O2O1NPO1,O2⊆TIME(2O(log2n))O1,O2.
For the other direction, let L be the language which consists of 1n for each n such that O2 contains some string of length n. By construction of O2, L∉TIME(2o(log2n))O1,O2, while clearly L∈NPO1,O2. This shows that NPO1,O2=TIME(2O(log2n))O1,O2.