Mostrando que um problema no X não é X-Complete

18

A teoria existencial dos reais está no PSPACE , mas não sei se é completo no PSPACE . Se eu acredito que não é o caso, como eu poderia provar isso?

De modo mais geral, dado um problema de alguma complexidade classe X , como posso mostrar que é não -X completo ? Por exemplo, X pode ser NP , PSPACE , EXPTIME .

Dave Clarke
fonte
Claro que não é fácil e ninguém pode fornecer uma resposta para sua parte geral :-) Tenho muitos problemas, sei que eles são NP, mas não sei se eles são NP-completos ou não (nem muitas outras pessoas).

Respostas:

16

Realmente provar que não é P S P A C E (completo, digamos, reduções no tempo polinomial) seria extremamente difícil de fazer.XPSPACE

Se , todos os problemas não triviais (isto é, não e não Σ ) e infinitos em P S P A C E são P S P A C E completos em reduções de tempo polinomiais. Como a teoria existencial dos reais possui essa propriedade não trivial e infinita, provar que não é P S P A C E - completo implicaria P P S P A CP=PSPACEΣPSPUMACEPSPUMACE PSPUMACE . (Vejaa resposta a esta pergunta no CSTheory.SEpara um esboço da prova.)PPSPUMACE

Ryan Williams
fonte
1
Certamente parece que eu mordi mais do que posso mastigar, por assim dizer.
18712 Dave
11

Um problema no não é X completo se houver outros problemas no X que não possam ser reduzidos a ele. Um método simples (mas possivelmente apenas eficaz em exemplos triviais) seria provando o seu problema é também de alguma outra classe de complexidade Y tal que Y X .XXXYYX

Por exemplo, se você quer mostrar que o seu problema não é completa, então é suficiente para mostrar que ele está em P , desde P E X P T I M E . No entanto, se você queria mostrar que um problema não é N P -completo, então não é necessariamente suficiente para mostrar que ele está em P , uma vez que não se sabe se ou não P = N P .EXPTIMEPPEXPTIMENPPP=NP

Joe
fonte
3

Como Ryan escreveu, provar que um problema não é difícil não é fácil.

Seja um problema em uma classe de complexidade X e S é fechado com reduções . Provar que Q não é X -hard wrt é equivalente a separar a classe de complexidade obtida ao encerrar Q wrt . Agora, se Q é difícil para uma outra classe Y wrt , então isso significa que separa Y de X . Como você sabe, não há muitos resultados de separação.QXSQXQQYYX

No seu caso, , = P m , e Y = P .X=PSpace≤=mPY=P

Como não podemos provar esses resultados no momento (com a possível exceção de Ryan :), em vez de provar que não é X -hard, mostramos que ele está em uma classe de complexidade que se acredita ser menor que X . Por exemplo, se você mostrar que T h ( R , + , × , 0 , 1 ) está em P H , será considerado uma forte evidência de Q não ser XQXXTh(R,+,×,0,1)PHQX-Difícil. (Na linguagem dos lógicos, se você não puder provar um resultado incondicional, tente provar um condicional assumindo uma afirmação difícil de provar, mas amplamente aceita como ).PPSpace

Kaveh
fonte