задира
Поскольку проблема длинная, здесь есть особый случай, который отражает ее суть.
Проблема: Пусть A - детриминистический алгоритм для 3-SAT. Является ли проблема полного моделирования алгоритма A (на каждом экземпляре задачи). P-Space сложно?
(Точнее, есть ли основания полагать, что эта задача сложная в P-Space, что-то в этом направлении следует из стандартных гипотез CC, и есть ли надежда доказать, что эта задача X-трудная для некоторого класса сложности X, который предполагается быть строго выше НП.)
Вопросы, связанные с данной : являются-проблемы-полные-проблемы-изначально-менее-поддающиеся решению-чем-np-полные-проблемы ;
ОБНОВЛЕННОЕ ОБНОВЛЕНИЕ : Существуют различные интерпретации «Полностью имитировать А». И могут быть разные интересные ответы в зависимости от интерпретации. (Также Райан Уильямс предложил интерпретацию для моделирования недетерминированного алгоритма.) Для определенного способа связать решение проблемы с вычислительной задачей «Полностью смоделировать A», Джо Фитцсимонс нашел алгоритм A, для которого эта связанная проблема решения все еще находится в NP. , Если «полностью имитировать» относится к возможности вывести весь регистр компьютера на данном шаге то для алгоритма Джо кажется, что P N P - это то, что нужно. Для этой версии (я думаю, но не уверен) ответ Райана набрасывает P N PТвердость аргумент. Джо отметил, что если от вас требуется предоставить все регистры (что больше не является проблемой для решения), не удивительно, что вам нужно активизировать классы сложности.
Во всяком случае, если мы требуем , чтобы вывести состояние регистров на заданном этапе тогда ответы Руана и Джо предлагает (но опять же , я не уверен в этом) , что N P + , по существу , P N P . Мы можем spaculate , что с помощью этой интерпретации операция толкает вверх на одну ступень выше в полиномиальное hiearachy, и что Р Н + = Р Н .
В любом случае с помощью этих интерпретаций ответ на мой вопрос-тизер НЕТ .
Я имел в виду более радикальную интерпретацию «полностью имитирующего алгоритм А». (Но, возможно, интерпретация Джо и Райана более интересна.) Моя интерпретация «полностью имитирующего алгоритма A» заключается в том, что вы выходите из состояния регистров на каждом шаге . В частности, если алгоритм не является полиномиальным, ваш вывод также не является полиномиальным. При такой резкой интерпретации я задавался вопросом, должны ли мы верить, что для каждого алгоритма A C A является сложным P-SPACE, и что мы можем доказать.
Мотивация:
Этот вопрос был мотивирован лекцией Пола Голдберга ( слайды , видео , статья ), в которой описывается статья с Пападимитриу и Савани. Они показали, что это P-пространство завершено, чтобы найти любые равновесия, которые вычисляются по алгоритму Лемке-Хоусона. Задача найти некоторую точку равновесия является только PPAD-полной. Этот разрыв весьма удивителен, и аналогичные результаты уже описаны в известной статье Пападимитриу: Сложность аргумента четности и другие неэффективные доказательства существования (1991) . (Известно, что PPAD-полные проблемы не могут быть даже NP-сложными (если не произойдут ужасные вещи, так что в мире сложности это намного ниже, чем в P-пространстве).
О чем идет речь
Мой вопрос о похожих пробелах для более старых и более классических задач вычислительной сложности. (Может быть, это уже знакомо.)
Учитывая вычислительную проблему, мы можем различить три проблемы
а) Решить проблему алгоритмически
б) Достичь того же решения, что и конкретный алгоритм А
в) Имитация всего алгоритма А
Конечно, в), по крайней мере, так же сложно, как б), что, по крайней мере, так же сложно, как а). Упомянутые выше результаты показывают разрыв между вычислительной сложностью задач а) и б) для задачи вычисления равновесий. Мы хотели бы понять ситуацию (и главным образом разрыв между a) и c)) для других вычислительных задач.
Вопрос:
Основная форма вопроса с примером
Мы начнем с вычислительной задачи, проблема X
Примером может быть
Проблема X: Решите экземпляр SAT с n переменными
мы также указываем
A: алгоритм, который выполняет задачу X
и мы ставим новую проблему
Задача Y: точно смоделировать алгоритм A
и нас интересует вычислительная сложность задачи Y. Мы хотим понять класс таких задач Y для всех алгоритмов A, которые решают исходную проблему X. Особенно мы хотим знать, насколько простой может быть проблема Y (или насколько сложной она должна быть) быть) если нам позволено выбрать алгоритм A по желанию.
Предлагаемая операция на классах сложности
Начните с класса сложности который описывается некоторой вычислительной задачей. Учитывая алгоритм А для выполнения каждого экземпляра этой вычислительной задачи, рассмотрит новую сложность класса C A , который описан в вычислительной задаче укомплектовать моделирования A . Тогда мы можем (надеюсь) определить «идеал» классов сложности
для всех алгоритмов A}.
Если мы позволим , чтобы описать то , что цифровой компьютер может сделать в полиномиальное время (так что я не хочу , чтобы ограничить внимание , например , к проблемам принятия решений) , то P + является идеальным натянутым P самого.
Наконец, мои вопросы
Мои вопросы:
1) Является ли определение смыслом (в широком смысле слова смысл). Это хорошо известно или так же, как (или похоже) на какую-то известную вещь. (Моя формулировка была неформальной, и, в частности, когда мы переходим от конкретных проблем, таких как SAT, к классу сложности, таким как NP, нам приходится беспокоиться о различных вещах, которыми я пренебрег.)
Следующие два вопроса предполагают, что определение может иметь смысл или быть спасенным, чтобы иметь смысл.
2) Предположим, мы снабжаем себя всеми стандартными предположениями относительно вычислительной полноты. Можем ли мы сказать, что должен быть для некоторых знакомых классов сложности. (Например, C = N P , C = P-пространство, ..)? EDIT: Несколько человек указали, что P S P C E + = P S P C E . Так что> мы можем спросить вместо этого, что такое ( P N P ) + ? такое P H + = P H ?
Можем ли мы угадать, что такое классы так что C + - это идеал, натянутый на C ?
Таким образом, вопрос, насколько легко вычислительная задача моделирования алгоритма A для 3-SAT (когда мы можем выбрать алгоритм, чтобы сделать его максимально простым), представляет собой интересный частный случай.
3) Есть ли надежда доказать что-то об этой операции?
Конечно, если вы докажете, что все классы сложности в являются P-пространственными, это покажет, что P = N P подразумевает P = P S P A C E , что (я думаю) будет огромным и весьма неожиданным результатом. , Но если показать , что все классы сложности в N P + трудно Somthing сказать третьего уровня полинома Hieararchy (например , Δ P 3 ) , это предполагало лишь то , что мы уже знаем, вещи , которые вытекают из того факта , что P = N P вызывает разрушение PH.
Ответы:
Я не понимаю формулировку этой проблемы. Но я думаю, что есть естественный способ формализовать ваш более общий вопрос, который может пролить немного света на него. Может быть, я полностью упускаю вашу точку зрения, но, надеюсь, вы все равно найдете здесь что-нибудь интересное для чтения.
Один из способов точноY понять задачу симуляции алгоритма Y заключается в следующем. Давайте сделаем так, чтобы модель была ленточной машиной Тьюринга для простоты; то, что я скажу, может применяться к любой типичной вычислительной модели.
Для каждого алгоритма и входных данных x мы можем определить его историю вычислений H Y ( x , i , j ) : заданные целые числа iY x HY(x,i,j) i и которые варьируются от 0 до времени выполнения Y , H Y ( x , i , j ) равно содержимое j- й ячейки ленты машины Тьюринга Y на входе x на временном шаге i . (И если головка ленты читает Jj 0 Y HY(x,i,j) j Y x i j Эта ячейка на м шаге также включает это вместе с состоянием машины.) Конечно, в теории сложности все время возникают истории вычислений.i
Теперь можно утверждать, что любой алгоритм, который может решить язык
(или имитировать функцию на всех входах) решает задачу точно моделировать алгоритм Y , поскольку он имеет возможность печатать каждую небольшую часть всех возможных вычислений алгоритма Y . Конечно, учитывая оракул для C Y можно было сделать шаг за шагом моделирования Y .HY Y Y CY Y
Это все еще интересный вопрос, в соответствии с вышеуказанным предложением. Для детерминированных временных классов ничего не меняется. - это просто P : мы можем решить, что C Y H Y больше не является четко определенным. Однако мы все еще хотим напечатать некоторую историю вычислений, поэтому наше «точное моделирование» должно было бы выделить конкретную недетерминированную историю вычислений и затем вывести ее значения. Для N PP+ P CY в Polytime для каждого алгоритма Polytime. Аналогично . Кроме того, Р С Р С Е + еще Р С Р С Е . Для недетерминированных классов временной сложности ситуация становится более интересной. В этом случае алгоритм Y может иметь несколько историй вычислений, поэтомуEXP+=EXP PSPACE+ PSPACE Y HY NP алгоритма можно сказать, что C Y ∈ P N P : мы можем использовать оракул N P для бинарного поиска «первой» принимающей истории вычислений (в лексном порядке), затем, как только мы ее получим, выведите соответствующие биты. Для N E X P алгоритма Y можно сказать, что C Y ∈Y CY∈PNP NP NEXP Y , по аналогичным причинам.CY∈EXPNP
Можем ли мы поставить в меньший класс? Я не знаю. Обратите внимание, что мы не можем просто переопределитьNP+
{ ( x , i , j , σ ) | существует H Y такое, что H Y ( x , i , j ) = σ }CY= (x,i,j,σ) | HY HY(x,i,j)=σ
попытаться поместить в N P , потому что нам нужно, чтобы строка истории была одинаковой для всех четырехкратных чисел, включающих x , для «точного моделирования алгоритма Y ».CY NP x Y
В любом случае, эта проблема невозможности «напечатать свидетеля» для вычисления без перехода к E X P N P действительно возникает в некоторых ситуациях, таких как сложность схемы. ЕслиNEXP EXPNP имеет схемы полиномиального размера, то также имеет место случай, когда C Y ∈ P / p o l y для каждого недетерминированного 2 n k времени Y ? Импальяццо, Кабанец и ВигдерсонNEXP CY∈P/poly 2nk Y на этот вопрос утвердительно ответили в 2001 году. Их доказательство чрезвычайно интересно, поскольку оно вызывает инструменты дерандомизации и диагонализации (почему для такого результата необходима дерандомизация?), и она оказывается очень полезной теоремой для доказательства нижних границ схем для функции.NEXP
Может быть ... это зависит от того, довольны ли вы приведенной выше формализацией своего вопроса. Для детерминированного алгоритма 3-SAT , я думаю, что приведенное выше точное моделирование задачи Y будет P N P ( 1 )Y Y PNP(1) -Жесткий, где полиномиальное время с одним запросом к N P . (Раздражающий синтаксис StackExchange требует, чтобы я написал (1) вместо альтернативы. Ранее я говорил, что C Y должен быть P N P -hard, но я не уверен в деталях: вы можете увидеть, как обобщить приведенное ниже.)PNP(1) NP CY PNP
Приведет полиномиальное по уменьшению многих один из каждого к C Y . Учитывая такую L , пусть ML∈PNP(1) CY L M будет машиной, распознающей которая выполняет один запрос N P. WLOG, этот запрос является формулой SAT. Также WLOG, SAT-запрос может быть «отложен» до самого последнего шага вычисления, в следующем смысле: существует алгоритм A ( x ) полиномиального времени, который печатает формулу F и бит b , такой что для всех x ,L NP A(x) F b x
принимает, если A ( x ) = ( F , b ) так , что ( S A T ( F ) XOR b ) = 1.M(x) A(x)=(F,b) SAT(F) b
( может отклонить, если F удовлетворительно, или он может принять; бит b захватывает это.)M F b
Для простоты, скажем, когда заканчивает вычисления, он перемещает головку ленты в ячейку 1, пишет «принять» или «отклонить» в этой ячейке и зацикливается навсегда. Тогда, спрашивая, если ( F , T , 1 , a c c e p t ) ∈ C Y для достаточно большойY (F,T,1,accept)∈CY , скажет нам, если F принято. (В общем, нам просто нужно, чтобы было эффективно вычислить экземпляр y в C Y, который скажет нам.) Обратите внимание, что это уже показывает, что C Y является одновременно и N P -hard, иT F y CY CY NP -hard; последнее вернотак как ( Р , Т , 1 , т е J е с т ) ∈ C Y тогдатолько тогда F являетсяневыполнима.coNP (F,T,1,reject)∈CY F
Окончательное сокращение от до C Y : дано x , прогон A ( x ), получая ( F , b ) . Если b = 0, тогда выведите ( F , T , 1 , a c c eL CY x A(x) (F,b) b=0 , иначе, если b = 1, выводится ( F , T , 1 , r e j e c t(F,T,1,accept) b=1 .(F,T,1,reject)
Для каждого мы производим (за полиномиальное время) а у такой , что М ( х ) принимает тогда и только тогда у ∈ C Y .x y M(x) y∈CY
(Спасибо Джо за требование прояснить эту часть.)
Но я не вижу (например), как получить -твердость. Уменьшить Σ 2Σ2P Σ2 -SAT к проблеме, может показаться, что вам нужно написать экземпляр 3-CNF SAT который имитирует ваш детерминистический алгоритм Y внутри него (где Y решает тавтологии в различных подзадачах). Но так как Y не имеет ограничения по времени, этот 3-CNF x может быть огромным, поэтому вы не обязательно получите сокращение за полиномиальное время. Если я что-то упустил.x Y Y Y x
источник
Я изначально разместил неправильный ответ, так что, надеюсь, это улучшение.
Я собираюсь начать с рассмотрения примера 3SAT. В своем комментарии к ответу Райана вы говорите
Ответ заключается в том, что он не является PSPACE-сложным по крайней мере для некоторого Y, предполагая, что NP PSPACE, но что существуют другие алгоритмы, для которых он PSPACE-трудный. Показ последнего является тривиальным: мы просто создаем алгоритм, который интерпретирует битовую строку, представляющую формулу 3SAT, вместо этого как проблему TQBF, которую он затем решает перед решением экземпляра 3SAT. Очевидно, что в этом случае нет ничего особенного в TQBF, поэтому алгоритм может быть произвольно затруднен для моделирования. Поэтому мы должны заботиться только о нижних границах моделирования любого алгоритма для данной задачи, а не о конкретном алгоритме.≠
Имея это в виду, мы строим следующий алгоритм для решения 3SAT:
Возьмите регистр из битов (первоначально все они установлены в 0), чтобы содержать пробное решение, вместе с регистром, содержащим экземпляр 3SAT, регистр счетчика размера ⌈ log 2 ( c + 1 )n изначально установленный в 1 и два флага биты (назовите их как флаг сбоя и флаг принятия). Здесь c - количество предложений. Затем алгоритм работает следующим образом:⌈log2(c+1)⌉ c
Когда алгоритм останавливается, состояние флага принятия сообщает вам, может ли быть выполнена формула 3SAT.
Теперь, если я хочу , чтобы вычислить состояние алгоритма во время у меня есть алгоритм вычисления это за полиномиальное время с помощью одного вызова к оракулу НП следующим образом :i
Обратите внимание, что для любого , предполагая, что бит принятия еще не установлен, состояние регистров может быть вычислено за полиномиальное время, поскольку значение k и регистр t пробного решения являются просто функциями ii k t i . Определить, установлен ли флаг сбоя, можно за полиномиальное время, просто проверяя, удовлетворяет ли текущее состояние регистра пробного решения всем условиям, меньшим или равным текущему значению . Если и только если это не так, устанавливается флаг сбоя. Флаг принятия установлен в ноль.k
Точно так же, если бит принятия уже установлен, состояние регистров может быть эффективно вычислено, поскольку все равно нулю, кроме бита принятия, который установлен.
Таким образом, единственная сложность заключается в определении, установлен ли бит принятия. Это эквивалентно определению, имеет ли данный экземпляр 3SAT решение меньше, чем . Если это так, то бит принятия обязательно должен быть установлен, а если нет, то бит принятия обязательно должен быть равен нулю. Очевидно, что эта проблема сама по себе является NP-полной.t
Таким образом, состояние системы на шаге можно определить за полиномиальное время с помощью одного запроса к оракулу NP.i
Важное обновление: изначально я неправильно истолковал формулировку Райана точного моделирования как проблему принятия решения, и поэтому мое утверждение о том, что версия принятия решения была в NP, было неверным. Учитывая проблему решения, отвечает ли бит на шаге i на входе x, как сформулировано в Райансе, существует 3 варианта:j i x
Ясно , что решить , какой один из этих трех является случай может быть сделано в полиномиальное время, просто путем сравнения значения , что бит принимает , если и , если F ∈ U N S A T . Таким образом, точная задача моделирования находится в NP ∪ coNP. Таким образом, поскольку нижняя граница Райана и моя верхняя граница совпадают, предполагая, что оба верны, я думаю, что у нас есть ответ: C Y = N P ∪ c o NF∈SAT F∈UNSAT ∪ .CY=NP∪coNP
Обратите внимание, что в этом случае нет ничего особенного в 3SAT, и то же самое можно сделать для любой проблемы в NP. Кроме того, та же самая хитрость может использоваться для любого недетерминированного класса сложности, а не только для NP, который кажется трудным для моделирования. Для детерминированных классов вы можете просто запустить лучший алгоритм и остановиться на шаге . Таким образом, с учетом этого полная имитация хотя бы некоторого детерминированного алгоритма для задачи является такой же сложной, как и решение самой проблемы.i
источник
Очень интересная мысль! Вот расширенный комментарий, который был слишком длинным, чтобы публиковать его как таковой:
Что касается определения в (1) как такового , то есть:
источник