Чому P = NP не означає P = AP (тобто P = PSPACE)?


18

Добре відомо, що якщо P = N P,P=NP то поліноміальна ієрархія руйнується і .Р = Р НP=PH

Це легко зрозуміти індуктивно, використовуючи машини oracle. Питання - чому ми не можемо продовжувати індуктивний процес поза постійним рівнем чергувань і не довести (aka )?P=AltTime(nO(1))P=AltTime(nO(1))AP=PSPACEAP=PSPACE

Я шукаю інтуїтивну відповідь.


1
Дивіться також пов’язані запитання cstheory.stackexchange.com/questions/2032/… та cstheory.stackexchange.com/questions/5463/…
András Salamon

4
Відомо , що N L = C O N лNL=coNL , але є підозра , що л (тобто Р ) не дорівнює N L . ALPNL
sdcvvc

Відповіді:


32

Доказ для P = л т т я м е ( Про ( 1 ) )P=AltTime(O(1)) ( = Р Н=PH ) є індукція з використанням P = N PP=NP . Індукція показує, що для будь-якого натурального числа kk , P = A l t T i m e ( k )P=AltTime(k)A l t T i m e ( O ( 1 ) )AltTime(O(1)) це просто їх союз).

Індукція не працює, коли число чергування може змінюватися з вхідним розміром (тобто коли кількість можливих чергувань машини не число, а функція вхідного розміру, тобто ми не показуємо, що виконання машини на одному вході можна зменшити без чергування, ми показуємо, що виконання машини на всіх входах можна "рівномірно" скоротити без чергування).

Давайте розглянемо подібне, але простіше твердження. Ми хочемо показати, що функція тотожності i d ( n ) = n врешті-решт домінує над усіма постійними функціями ( f g iff для всіх, але безмежно багато n f ( n ) g ( n ) ). Це можна довести, скажімо, індукцією. Для всіх k , k n (тобто f ki d, де f k ( n ) = kid(n)=nfgn f(n)g(n)kknfkidfk(n)=k), але у нас цього немає для непостійних функцій, таких як n 2 , n 2̸ n .n2n2̸n


22

Порівняйте поліноміальну ієрархію з ієрархією для інтерактивних доказів. Якщо для деяких фіксованих k у вас є k чергування в інтерактивному доказі - IP ( k ) - результуючий клас складності не має більшої потужності, ніж те, що ви отримуєте з двома чергуваннями - тобто IP ( k ) = IP (2 ) = AM (якщо вважати k ≥2). Однак якщо ви допускаєте поліноміальне число чергувань, ви отримуєте клас складності IP = PSPACE, який, як вважають, набагато більший за AM, клас міститься в Π 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 = N PP=NP більше, ніж постійне число разів.

Припустимо , що P = N PP=NP . Тому існує поліноміальна машина часу, яка вирішує Ext-Circuit-SAT (чи є задовольняюче розширення для даної схеми та часткове призначення її входів?).

Більш формально, ми маємо багаточастовий алгоритм AA з поліноміальним часом виконання p ( n ) p o l y ( n )p(n)poly(n) st

Враховуючи булеву схему φφ та часткове призначення ττ на входи,
AA повертає "так", якщо є розширення τ,τ яке задовольняє φφ , і повертає "ні" в іншому випадку.

Щоб продовжувати постійно, нам потрібно ефективно зняти кількісний показник. Ми можемо це зробити тому, що теорема Кука-Левіна - це конструктивна теорема, вона фактично дає алгоритм багаточленного часу C o o kCook st

Даний DTM M, щоM приймає два входи і три одинарні числа nn , mm і tt ,
C o o k ( M , n , m , t )Cook(M,n,m,t) повертає булеву схему розміром O ( t 2 ),O(t2) що імітує MM на входах довжини ( n , m )(n,m) для tt кроків.

Спробуємо використати їх для розширення аргументу для P = P HP=PH для отримання алгоритму, що розв'язує TQBF (власне TQBCircuit, тобто Повністю кількісна задача булевої схеми).

Ідея алгоритму полягає в наступному: ми неодноразово використовуємо C o o kCook на AA для видалення кванторів з заданої кількісної схеми. Існує лінійна кількість кванторів, тому ми сподіваємося отримати алгоритм багаточленного часу (у нас є алгоритм з поліноміально багатьма кроками, використовуючи підпрограму поліноміального часу C o o kCook ). В кінці цього процесу усунення кількісних показників у нас з'явиться схема, що не має кількісних показників, яку можна оцінити в поліноміальному часі (проблема значення схеми знаходиться в PP , нехай C VCV - алгоритм багаточленного часу для обчислення значення ланцюга даної схеми) .

Однак ми побачимо, що ця ідея не спрацьовує (з тієї ж причини, яку зазначив Петро).

  • Нехай φφ - кількісна схема, (ініціалізована на задану кількісну формулу).
  • Нехай kk кількість кванторів у φφ .
  • Для ii від kk до 11 робити

    • Нехай ψψ = Q х до σ ( х 1 , . . . , Х до )Qxkσ(x1,...,xk) бути останнім квантіфікатор і бескванторная частина.
    • Якщо Q = " "Q="" ,

      1. Обчислювальний З = С про про до ( , | сг | , | х 1 | + . . . + | Х до - 1 | , р )C=Cook(A,|σ|,|x1|+...+|xk1|,p) ,
      2. Замініть вхідні біти на σσ в ланцюзі CC ,
      3. Замініть ψψ на CC в φφ .
    • Якщо Q = " "Q="" ,

      1. Розглянемо ψψ як ¬ x k ¬ σ¬xk¬σ ,
      2. Обчислювальний З = С про про до ( , | ¬ сг | , | х 1 | + . . . + | Х до - 1 | , р )C=Cook(A,|¬σ|,|x1|+...+|xk1|,p) ,
      3. Замініть вхідні біти на ¬ σ¬σ в ланцюзі CC ,
      4. Замініть ψψ на ¬ C¬C в φφ .
  • Обчислити і повернути C V ( φ )CV(φ) .

Отриманий алгоритм виглядає багаточленним часом: у нас є багаточлени багаточлена, кожен крок обчислюється багаточленним часом. Однак це невірно, алгоритм не є полиномним часом.

Використання підпрограм поліноміального часу в алгоритмі поліноміального часу - це поліноміальний час. Проблема полягає в тому, що в цілому це не повинно бути правдою, якщо значення, повернені підпрограмми, не мають розмір полінома в початковому вході, і ми припускаємо, що ми виконуємо завдання щодо значень, що повертаються з підпрограм. (У моделі TM нам слід зчитувати вихід будь-якої поліноміальної підпрограми часу побітно.) Тут розмір повернутого значення з алгоритму C o o kCook збільшується (може бути потужність розміру вхідного даного входу , точна потужність залежить від часу роботи AA і становить приблизно p 2 ( | i n p u t | )p2(|input|), тому оскільки ми знаємо, що AA не може бути меншим за лінійний час, | o u t p u t | |output|принаймні | я п п у т | 2|input|2 ).

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

  • Дано хx ,
  • Нехай n = | х | n=|x|,
  • Нехай y = xy=x ,
  • Для яi від 11 до nn робити
    • Нехай y = y | у | y=y|y|, (тобто з'єднання | y ||y| копій yy )
  • Повернення у

Кожен раз, коли ми виконуємо y = y | у | y=y|y|квадратний розмір уy . Після nn виконань у нас буде y,y яке дорівнює x 2 nx2n і має розмір n 2 nn2n , очевидно, не є многочленом розміру вхідного сигналу.

Припустимо, що ми розглянемо лише кількісні формули з чергуванням k ( n )k(n) квантових оцінок (де nn - загальний розмір кількісної формули).

Припустимо, що AA працює в часі pp (наприклад, лінійний час, який поки не виключається), і, можливо, є більш ефективним алгоритмом C o o kCook , що виводить меншу схему розміром l ( t )l(t) замість t 2t2 , тоді ми отримуємо алгоритм для ExtCircuitSat, який працює за часом ( l p ) O ( k ) ( n ) = l ( p ( l ( p ( ( l ( p (n ) ) ) ) ) ) ) O(k)  композиції(lp)O(k)(n)=l(p(l(p((l(p(n)))))))O(k) compositions . Навіть у випадку, коли іl,lіppбули лінійними (але із сумарним коефіцієнтомa2a2), ми отримаємо алгоритм, який працює в часіΩ(n2k(n))Ω(n2k(n))і якщоk(n)=Θ(n)k(n)=Θ(n)це будеΩ(n2n)Ω(n2n) подібний до алгоритму грубої сили (і навіть це ґрунтувалося на припущенні, що Кук-Левін може бути виконаний на алгоритмах, що отримують схеми лінійного розміру в час роботи алгоритму).


Мені дуже подобається ця відповідь !!
Tayfun Pay

@kaveh Що робити, якщо p ( n ) = 2 Ω ( n ), тоді як l ( t ) = O ( t ), то для N P N P N P нам потрібно принаймні подвійний експоненційний час ? Здається, ваш аргумент говорить про таку можливість, поки ми знаємо, що P S P A C E є в E X P, і як повернути єдиний показник назад? p(n)=2Ω(n)l(t)=O(t)NPNPNPPSPACEEXP
Т ....

3

Я думаю, це тому, що на кожному рівні РН кількість чергувань є постійною (тобто незалежною від розміру вводу), тоді як в AP кількість чергувань може бути необмеженою (все ж поліноміальною за розміром вводу).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.