Por que P = NP não implica P = AP (ou seja, P = PSPACE)?

18

É sabido que se , a hierarquia polinomial entra em colapso e .P=NPP=PH

Isso pode ser facilmente entendido por indução usando máquinas oracle. A questão é: por que não podemos continuar o processo indutivo além de um nível constante de alternância e provar (também conhecido como )?P=AltTime(nO(1))AP=PSPACE

Estou procurando uma resposta intuitiva.

Joseph
fonte
4
Sabe-se que mas suspeita-se que (isto é ) não é igual a N L . NL=coNLALPNL
Sdcvvc

Respostas:

32

A prova para P=AltTime(O(1)) ( =PH ) é uma indução utilizando P=NP . A indução mostra que, para qualquer número natural k , P=AltTime(k) (e AltTime(O(1)) é apenas a união deles).

A indução não funciona quando o número de alternância pode mudar com o tamanho da entrada (ou seja, quando o número de alternâncias possíveis da máquina não é um número, mas uma função do tamanho da entrada, ou seja, não estamos mostrando que uma execução da máquina em uma única entrada pode ser reduzida a nenhuma alternância, estamos mostrando que as execuções da máquina em todas as entradas podem ser "uniformemente" reduzidas a nenhuma alternância).

Vejamos uma afirmação semelhante, mas mais simples. Queremos mostrar que a função de identidade acaba dominando todas as funções constantes ( f g se, para todos, mas finitamente muitas n f ( n ) g ( n ) ). Pode ser provado dizer por indução. Para todos k , k n (isto é, f ki d onde f k ( n ) = kid(n)=nfgn f(n)g(n)kknfkidfk(n)=kn2n2≪̸n

Kaveh
fonte
22

Compare a hierarquia polinomial com a hierarquia para provas interativas. Se, para alguns k fixos , você tiver k alternações em uma prova interativa - IP ( k ) - a classe de complexidade resultante não tem mais poder do que o que você obtém com duas alternações - ou seja, IP ( k ) = IP (2) ) = AM (assumindo k ≥2). No entanto, se você permitir um número polinomial de alternâncias, obterá a classe de complexidade IP = PSPACE, que se acredita ser muito maior que a AM, uma classe estará contida em Π 2 P, no segundo nível da hierarquia polinomial. Portanto, esse fenômeno realmente acontece (embora, até onde sabemos, com a hierarquia polinomial).

Isso acontece porque a redução que pega um problema de tamanho n no IP ( k ) e o transforma em um problema no IP (2) aumenta o tamanho do problema, de modo que, para qualquer IP específico ( k ), o problema permanece com tamanho polinomial , se você deixar k variar, a redução resultante não causará problemas polinomiais em k .

Peter Shor
fonte
11

Aqui está uma pequena intuição sobre o intervalo entre alternâncias constantes e ilimitadas: uma operação polinomial repetida um número constante de vezes é polinomial, mas repetida um número polinomial de vezes pode ser exponencial. Por exemplo, considere a multiplicação repetida em si mesma:

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

O número de iterações é linear e a saída é exponencial. Mas se você corrigir n, é polinomial no tamanho do valor inicial.

Ludovic Patey
fonte
4

Abaixo, expanda um pouco o ponto na resposta de Peter, tentando realizar a remoção do quantificador por mais do que um número constante de etapas para ver onde ele falha e se alguma coisa pode ser recuperada dessa tentativa.

Vamos tentar amplificar P=NP por mais do que um número constante de vezes.

Assume-se que P=NP . Portanto, existe uma máquina do tempo polinomial que resolve o Ext-Circuit-SAT (existe uma extensão satisfatória para um determinado circuito e uma atribuição parcial às suas entradas?).

Mais formalmente, temos um algoritmo polytime A com tempo de execução polinomial p(n)poly(n) st

Dado um circuito booleano φ e uma atribuição parcial τ às entradas,
A retorna "yes" se houver uma extensão de τ que satisfaça φ e retorne "no" caso contrário.

Para passar por tempos constantes, precisamos fazer a remoção do quantificador de forma eficaz. Nós podemos fazer isso porque o Cook-Levin teorema é um teorema construtiva, na verdade, dá um polinômio tempo algoritmo Cook st

Dado um DTM M receber duas entradas e três números unárias n , m e t ,
Cook(M,n,m,t) retorna um circuito booleano de tamanho O(t2) que simula M em entradas de comprimento (n,m) para t etapas.

P=PH

CookACookPCV

No entanto, veremos que essa ideia não funciona (pela mesma razão apontada por Peter).

  • φ
  • kφ
  • ik1

    • ψQxkσ(x1,...,xk)
    • Se , Q=""

      1. Calcular , C=Cook(A,|σ|,|x1|+...+|xk1|,p)
      2. Substitua os bits de entrada por no circuito , σC
      3. Substitua por em . ψCφ
    • Se , Q=""

      1. Considere como , ψ¬xk¬σ
      2. Calcular , C=Cook(A,|¬σ|,|x1|+...+|xk1|,p)
      3. Substitua os bits de entrada por no circuito , ¬σC
      4. Substitua pelo em .ψ¬Cφ
  • Calcule e retorne .CV(φ)

O algoritmo resultante parece com tempo polinomial: temos muitas etapas polinomiais, cada etapa é computável em tempo polinomial. No entanto, isso não está correto, o algoritmo não é de tempo polinomial.

O uso de sub-rotinas de tempo polinomial em um algoritmo de tempo polinomial é tempo polinomial. O problema é que, em geral, isso não precisa ser verdadeiro se os valores retornados pelas sub-rotinas não tiverem tamanho polinomial na entrada original e assumimos que fazemos atribuições sobre os valores retornados pelas sub-rotinas. (No modelo da TM, precisamos ler a saída de qualquer sub-rotina de tempo polinomial pouco a pouco.) Aqui o tamanho do valor retornado do algoritmo está aumentando (pode ser uma potência do tamanho da entrada fornecida, o valor exato a potência depende do tempo de execução de e é em torno de , portanto, como sabemos que não pode ser menor que o tempo linear, é pelo menosCookAp2(|input|)A|output||input|2)

O problema é semelhante ao código simples abaixo:

  • Dado ,x
  • n=|x|
  • y=x
  • i1n
    • y=y|y||y|y
  • Retorno y

y=y|y|ynyx2nn2n

k(n)n

ApCookl(t)t2(lp)O(k)(n)=l(p(l(p((l(p(n)))))))O(k) compositionslpa2Ω(n2k(n))k(n)=Θ(n)Ω(n2n) semelhante ao algoritmo de força bruta (e mesmo isso foi baseado no pressuposto de que Cook-Levin pode ser executado em algoritmos resultantes de circuitos de tamanho linear no tempo de execução do algoritmo).

Kaveh
fonte
Eu realmente gosto desta resposta !!
Tayfun Pay
p(n)=2Ω(n)l(t)=O(t)NPNPNPPSPACEEXP
3

Eu acho que isso ocorre porque em cada nível do PH, o número de alternâncias é uma constante (ou seja, independente do tamanho da entrada), enquanto no AP, o número de alternações pode ser ilimitado (ainda que polinomial no tamanho da entrada).

MS Dousti
fonte