Почему P = NP не подразумевает P = AP (то есть P = PSPACE)?


18

Хорошо известно, что если то иерархия полиномов разрушается и .P=NPP=PH

Это можно легко понять индуктивно с помощью оракулов. Вопрос в том, почему мы не можем продолжить индуктивный процесс за пределами постоянного уровня чередований и доказать (aka )?P=AltTime(nO(1))AP=PSPACE

Я ищу интуитивный ответ.



4
Известно, что но есть подозрение, что (то есть ) не равен . NL=coNLALPNL
sdcvvc

Ответы:


32

Доказательство для ( ) является индукцией с использованием . Индукционные показывает , что для любого натурального числа , (и является лишь их объединение).P=AltTime(O(1))=PHP=NP P = A l t T i m e ( k ) A l t T i m e ( O ( 1 ) )kP=AltTime(k)AltTime(O(1))

Индукция не работает, когда число чередований может изменяться в зависимости от размера ввода (т. Е. Когда число возможных чередований машины является не числом, а функцией размера ввода, т. Е. Мы не показываем, что выполнение машины на одном входе можно свести к отсутствию чередования, мы показываем, что выполнение машины на всех входах может быть «равномерно» сокращено без чередования).

Давайте посмотрим на подобное, но более простое утверждение. Мы хотим показать, что тождественная функция конечном итоге доминирует над всеми постоянными функциями ( если только для всех, кроме конечного числа ). Это можно доказать, скажем, по индукции. Для всех , (т.е. где ), но у нас этого нет для непостоянных функций, таких как , .id(n)=nfgn f(n)g(n)kknfkidfk(n)=kn2n2≪̸n


22

Сравните полиномиальную иерархию с иерархией для интерактивных доказательств. Если для некоторого фиксированного k у вас есть k чередований в интерактивном доказательстве - IP ( k ) - результирующий класс сложности не имеет большей мощности, чем тот, который вы получаете с двумя чередованиями, то есть IP ( k ) = IP (2). ) = AM (при условии, что k ≥2). Однако, если вы допустите полиномиальное число чередований, вы получите класс сложности IP = PSPACE, который, как считается, намного больше AM, класс содержится в in 2 P на втором уровне полиномиальной иерархии. Таким образом, это явление действительно происходит (хотя, не настолько, насколько мы знаем, с полиномиальной иерархией).

Это происходит потому, что уменьшение, которое принимает проблему размера n в IP ( k ) и превращает ее в проблему в IP (2), увеличивает размер проблемы, так что в то время как для любого конкретного IP ( k ) проблема остается полиномиальной. , если вы позволите k варьироваться, результирующая редукция не дает проблем, которые являются полиномиальными по k .


11

Вот небольшая интуиция, касающаяся разрыва между постоянными и неограниченными чередованиями: полиномиальная операция, повторяемая постоянное число раз, является полиномиальной, но повторное полиномиальное число раз может быть экспоненциальным. Например, возьмите умножение, повторенное на себя:

v = 2
for(i=1 to n)
  v = v*v

Количество итераций является линейным, а вывод - экспоненциальным. Но если вы исправите n, это будет полином по величине начального значения.


4

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

Давайте попробуем усилить более чем на постоянное число раз.P=NP

Предположим, что . Поэтому существует полиномиальная машина времени, которая решает Ext-Circuit-SAT (есть ли удовлетворительное расширение для данной схемы и частичное назначение ее входов?).P=NP

Более формально, у нас есть алгоритм Polytime с полиномиальным временем выполнения st Ap(n)poly(n)

При наличии булевой схемы и частичного присвоения входам, возвращает «да», если есть расширение , удовлетворяющее , и возвращает «нет» в противном случае.φτ
Aτφ

Чтобы пройти через постоянное время, нам нужно эффективно удалить квантификатор. Мы можем сделать это , потому что Кук-Левина теорема является конструктивной теоремой, на самом деле это дает полиномиальное время алгоритм - еCook

При наличии DTM получающего два входа и три унарных числа , и , возвращает логическую схему размера которая имитирует на входах длины для шагов.Mnmt
Cook(M,n,m,t)O(t2)M(n,m)t

Давайте попробуем использовать их, чтобы расширить аргумент для для получения алгоритма, решающего TQBF (фактически TQBCircuit, то есть проблема полностью квантованной логической схемы).P=PH

Идея алгоритма заключается в следующем: мы неоднократно используем на чтобы удалить квантификаторы из заданной количественной схемы. Существует линейное количество квантификаторов, поэтому мы надеемся получить алгоритм полиномиального времени (у нас есть алгоритм с полиномиальным количеством шагов, использующий подпрограмму полиномиального времени ). В конце этого процесса исключения кванторов у нас будет схема без кванторов, которая может быть оценена за полиномиальное время (проблема со значением схемы находится в , пусть - алгоритм за полиномиальное время для вычисления значения схемы данная схема).CookACookPCV

Однако мы увидим, что эта идея не работает (по той же причине, на которую указал Петр).

  • Пусть будет количественной схемой (инициализированной по данной квантованной формуле).φ
  • Пусть количество кванторов в .kφ
  • Для от до сделать ik1

    • Пусть = будет последним квантификатором и частью без квантификатора. ψQxkσ(x1,...,xk)
    • Если , Q=""

      1. Вычислить , C=Cook(A,|σ|,|x1|+...+|xk1|,p)
      2. Замените входные биты на в цепи , σC
      3. Замените на в . ψCφ
    • Если , Q=""

      1. Рассмотрим как , ψ¬xk¬σ
      2. Вычислить , C=Cook(A,|¬σ|,|x1|+...+|xk1|,p)
      3. Замените входные биты на в схеме , ¬σC
      4. Замените на в .ψ¬Cφ
  • Вычислить и вернуть .СВ(φ)

Получившийся алгоритм выглядит за полиномиальное время: у нас есть многочлен много шагов, каждый шаг вычисляется за полиномиальное время. Однако это не правильно, алгоритм не полиномиального времени.

Использование подпрограмм полиномиального времени в алгоритме полиномиального времени является полиномиальным временем. Проблема заключается в том, что в общем случае это не обязательно должно быть истиной, если значения, возвращаемые подпрограммами, не имеют полиномиального размера в исходном вводе, и мы предполагаем, что мы делаем присваивания для значений, возвращаемых из подпрограмм. (В модели ТМ мы должны считывать вывод любой подпрограммы полиномиального времени побитно.) Здесь размер возвращаемого значения из алгоритма увеличивается (может быть степенью размера введенного ему ввода, точным мощность зависит от времени работы и составляет около , поэтому, поскольку мы знаем, что не может быть меньше линейного времени, по крайней мереСооКAп2(|яNпUT|)A|оUTпUT||яNпUT|2).

Проблема похожа на простой код ниже:

  • Учитывая ,Икс
  • Пусть,Nзнак равно|Икс|
  • Пусть ,Yзнак равноИкс
  • Для от до сделать я1N
    • Пусть , (т.е. объединение копий )Yзнак равноY|Y||Y|Y
  • Вернуть у

Каждый раз, когда мы выполняем мы возводим в квадрат размер . После выполнений у нас будет который равен и имеет размер , очевидно, не является многочленом от размера входных данных.Yзнак равноY|Y|YNYИкс2NN2N

Предположим, что мы рассматриваем только количественные формулы с чередующимися количественными выражениями (где - общий размер квантованной формулы).К(N)N

Предположим, что работает за время (например, линейное время, которое пока не исключено), и, возможно, имеет более эффективный алгоритм , выводящий меньшую схему размера вместо , тогда мы получим алгоритм для ExtCircuitSat, который выполняется во времени . Даже в том случае, если и и были линейными (но с полным коэффициентом ), мы получили бы алгоритм, который работает во времени и если это будетAпСооКL(T)T2(Lп)О(К)(N)знак равноL(п(L(п(...(L(п(N)))))))О(К) композицииLпa2Ω(N2К(N))К(N)знак равноΘ(N)Ω(N2N) похож на алгоритм грубой силы (и даже это было основано на предположении, что Кук-Левин может быть выполнен на алгоритмах, получающихся в результате схем линейного размера во время выполнения алгоритма).


Мне очень нравится этот ответ!
Tayfun Pay

@kaveh Что если а то нужно ли нам как минимум двойное экспоненциальное время для ? Ваш аргумент, кажется, предполагает такую ​​возможность, пока мы знаем, что в l ( t ) = O ( t ) N P N P N P P S P A C E E X P и так, как вернуть одну экспоненту обратно? п(N)знак равно2Ω(N)L(T)знак равноО(T)NпNпNппSпAСЕЕИксп
T ....

3

Я думаю, это потому, что на каждом уровне PH число чередований является постоянным (т.е. не зависит от размера входа), в то время как в AP количество чередований может быть неограниченным (но полиномиальным по размеру входа).

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