Вы находитесь на странице: 1из 60

Classes de Complexidade

CLASSES DE COMPLEXIDADE
Dado um modelo de computao, ex: Maquinas de Turing [com
fita mltipla]
O consumo de recurso pode depender do tipo de mquina.
Exemplo: L = {ww| w {0,1}*}, ento L= (n) em MT com
fita mltipla, mas (n2) em MT com fita nica. Para
consumo polinomial ou maior o tipo de mquina no
importa.
Dado se a mquina de Turing determinstica ou no
Dado um recurso, como tempo ou espao.
Dada uma funo f(n): , montona no decrescente, para
qual uma mquina de Turing M possa dar como sada 1f(n) em
tempo O(n+f(n) ) e espao O(f(n)). (f proper complexity
function)
Podemos definir as classes de complexidade SPACE(f(n)),
TIME(f(n)), NSPACE(f(n)) e NTIME(f(n))

CLASSES DE COMPLEXIDADE
Classe de Complexidade

Algumas propriedades:
SPACE(f(n)) NSPACE(f(n))
TIME(f(n)) NTIME(f(n))
NTIME(f(n)) SPACE(f(n))
NSPACE(f(n)) TIME (klog(n)+f(n))
Teorema de Savitch
PSPACE = NPSPACE
EXPSPACE = NEXPSPACE
Uwaterloo mantm o
Complexity Zoo com 496
classes de complexidade em
JUL 2015

DTIME(f(n))

Modelo de computao

MTD Maq Turing


Determinstica

Recurso

Tempo O(f(n))

MTD

EXPTIME

MTD

(2 )

NTIME(f(n))

MTND Maq Turing


Tempo O(f(n))
No Determinstica

NP

MTND

NEXPTIME

MTND

(2 )

DSPACE(f(n))
L

MTD

Espao O(f(n))

MTD

Espao O(log n)

PSPACE

MTD

EXPSPACE

MTD

(2 )

NSPACE(f(n))
NL

MTND

Espao f(n)

MTND

Espao O(log n)

NPSPACE

MTND

NEXPSPACE

MTND

(2 )

Classe NP

CLASSE NP
A classe NP a classe dos
problemas que consomem tempo
polinomial em uma MTND

Classe de
Complexidade

Modelo de
computao

DTIME(f(n))

MTD

MTD

NTIME(f(n))

MTND

NP

MTND

Recurso

Tempo O(f(n))
(

Tempo O(f(n))

Exemplos:
Distncia no grafo (est em P e obviamente P NP)
Fatorao de inteiros (est em NP mas no sabemos se est em
P)
SAT (se uma frmula do clculo proposicional Satisfazvel)

CLASSE NP
Como fazer uma MTND para fatorar inteiros em tempo
polinomial?
Agora que existe o algoritmo determinstico AKS (2002) para
testar primalidade bem mais fcil faz-lo.
Dado um inteiro m de representao n = |m| = O(log m),
podemos fazer uma MTND que:
1. adivinhe um total de at log
inteiros entre 2 e
!

+1 bits. Isso consome espao e tempo O(n2)


2. Verificar polinomialmente se cada fator primo.
3. Multiplique os nmeros e verificando se obtm m. Cada
multiplicao pode ser feita em O(n2)*, portanto podemos
multiplicar todos e verificar em O(n3)
*Na

verdade so conhecidos algoritmos mais rpidos como SchnhageStrassen (1971), O(n log n log log n). E ainda h algoritmos
mais recente mais rpido.

CLASSE NP
A ideia de usar uma fase no determinstica da MTND para gerar
um dado de tamanho polinomial e depois trabalhar
deterministicamente geral o bastante para caracterizar NP.
Um relao binria R sobre * dita:
1. Polinomialmente decidvel LR = {x;y | (x,y)R} P.
2. Polinomialmente balanceada k((x,y)R |x|=O(|y|k))
Fato: L * NP R, R polinomialmente decidvel e
balanceada, tal que L = { x | y (x,y) R}

CLASSE NP
A ideia de usar uma fase no determinstica da MTND para gerar
um dado de tamanho polinomial e depois trabalhar
deterministicamente geral o bastante para caracterizar NP.
Um relao binria R sobre * dita:
1. Polinomialmente decidvel LR = {x;y | (x,y)R} P.
2. Polinomialmente balanceada k((x,y)R |y|=O(|x|k))
Fato: L * NP R, R polinomialmente decidvel e
balanceada, tal que L = { x | y (x,y) R}
Neste caso chamamos y de certificado. Algo que podemos testar
rapidamente para verificar se xL, por exemplo no caso de
verificar se uma frmula proposicional satisfazvel, o certificado
pode ser uma atribuio.

CLASSE NP
L * NP R, R polinomialmente decidvel e balanceada, tal
que L = { x | y (x,y) R}
Prova : Supondo L = { x | y (x,y) R}, crio uma MTND M que
recebe x como entrada e:
1. Adivinha um y, como R polinomialmente balanceada, isso
pode ser feito em tempo O(|x|k)
2. Verifica polinomialmente se (x,y) R. Como R
polinomialmente decidvel isso polinomial em |x|.
Como T(M)= L temos que L NP.
Prova : Supondo L NP, existe uma MTND tal que recebe x
como entrada e T(M)=L.
1. Definimos R como os pares (x,Cook*(M,x))
2. Claramente R pol. balanceada e decidvel.
Por construo de R, L = { x | y (x,y) R}
*Isso

uma frmula lgica que ser vista na prxima seo.

CLASSE NP
Vimos alguns problema na classe NP. Na prxima seo veremos
mais alguns problemas especiais na classe NP, os NP-completos,
os quais podem ser usados para resolver qualquer outro problema
em NP (a menos de transformao polinomial).
A tese de Cobham (ou CobhamEdmonds) afirma que um
problema tratvel, ou factivelmente computvel, se e somente
computvel em tempo polinomial.
Da a importncia de se resolver a conjectura PNP.

NP-completude

SAT
O problema SAT consiste em determinar se uma
determinada frmula satisfazvel.
Exemplo:
= (p1 p2)(p1 p2)

SAT
SAT NP.
= (p1 p2)(p1 p2)
i) Um certificado ser uma atribuio, uma linha da
tabela verdade, por exemplo: p1=1 e p2=0.
ii) Podemos parsear e coloc-la na forma de rvore
em tempo linear:

p1

p2

"#

"$

iii) Substituir a atribuio nas folhas e avaliar a rvore em


tempo linear.

TEOREMA DE COOK-LEVIN
SAT NP-difcil. Um problema NP-difcil se qualquer
problema em NP pode ser reduzido a ele.
Se um problema est em NP e NP-difcil chamamos o
problema de NP-completo.
SAT NP-completo. [Stephen Cook, 1971] [Ind. p/ Leonid
Levin]
Suponha que que uma mquina de Turing no determinstica
M reconhea a linguagem L em tempo p(n), ou seja LNP.

M reconhece L em tempo p(n), ou seja LNP e w*.


Seja w a conjuno das frmulas da tabela abaixo. SAT(w) wL
Variveis

Significado

Qtd

Ti,j,k

j est na posio i no passo k

O(p(n)2)

Hi,k

Cabea de leitura est na posio i no passo k

O(p(n)2)

Qq,k

M est no estado q no passo k

O(p(n))

Frmula

Ti,wi ,0
Ti,B ,0
Qs,0
H0,0
Ti,j,k Ti,j,k
j Ti,j,k

Ti,j,k Ti,j,k+1 Hi,k

Condio
Se i |w|
Se i >|w|

j j

j j

Significado

Estado Inicial da Fita


Estado Inicial da Fita
Estado Inicial de M.
Posio Inicial da cabea
No mximo um smbolo de por posio

O(n)
O(p(n))
1
1
O(p(n)2)

No mnimo um smbolo de por posio

O(p(n)2)

S a cabea modifica a fita.

O(p(n)2)

q q
S um estado por vez
Qq,k Qq,k
i i
S um posio da cabea por vez
Hi,k Hi,k
(Hi,k Qq,k Ti,,k) (q, , q, , d) (Hi+d,k+1 Qq,k+1 Ti,,k+1) para

k<p(n). Implementa .
0kp(n) f F Qf,k

Qtd

Termina em um estado final em at p(n) passos.

O(p(n))
O(p(n)3)
O(p(n)2)
1

SAT
M reconhece L em tempo p(n), ou seja LNP e w*.
Podemos construir, em tempo polinomial O(p(n)3) uma frmula tal que:
SAT(w) wL
Isso significa se existir um algoritmo polinomial q(n) para SAT podemos
implementar o seguinte algoritmo para reconhecer L em O(p(n)3+q(n)):
L(w) = SAT(GERA_(w))
Portanto se SAT tem algoritmo polinomial ento NP=P.
Atualmente o melhor algoritmo conhecido para SAT (e para qualquer
problema NP-completo) exponencial.

3SAT
O problema 3SAT consiste em determinar se uma
determinada frmula escrita em 3-CNF satisfazvel.
Estar escrita em 3-CNF significa estar na forma normal
conjuntiva onde cada MAXTERMO tem apenas
ocorrncias de varivel.
Exemplo:
= (p1 p2 p3) (p1 p2 p3)
Lembramos que 2SAT P.
Qual ser a complexidade de 3SAT?

3SAT
Vamos transformar o MAXTERMO:
=p1 ... pn
Em n2 MAXTERMOS:
t()=(p1 p2x2) (x2p3x3) (x3p4x4)...(xn 2 pn-1pn)
Exemplo:
=p1p2p3p4
t()=(p1p2x2) (x2p3p4)
t()
SAT()SAT(t()). Se o nmero de tomos de n, o nmero
de tomos de t() 3n 3, portanto a reduo polinomial.
3SAT NP-completo.

Outros Problemas NPCompletos

COLORAO DE GRAFOS
Um grafo G k-colorvel se podemos colorir seus vrtices com k cores, de
modo que que dois vrtices adjacentes no tenham a mesma cor.
O grafo abaixo 3 colorvel, mas no 2-colorvel.

2 - COLORAO
Podemos testar a 2 colorao de um grafo da seguinte forma:
Percorre-se o grafo com BFS colorindo os filhos dos ns visitados com
cores opostas ao n pai; caso haja mais de uma componente conexa
repete-se o processo at colorir todos. Isso pode ser feito em O(m+n)
Ao fazer isso no exemplo obtemos.

A tentativa de colorao pode ser verificada em O(m) passos, portanto 2colorao est em P.

3 COLORAO NP
A prpria colorao do grafo abaixo tem tamanho linear no tamanho do
grafo e pode ser verificada em O(m), portanto um certificado polinomial
para o problema. Portanto a k-colorao est em NP, para qualquer k.

3 COLORAO NPCOMPLETO
Uma vez que sabemos que SAT e 3-SAT so NP-completos fcil mostrar
que 3-colorao tambm o .
Vamos tomar como exemplo = (p1 p2 p3) (p1 p2 p3)
Primeiro vamos criar um 3-clique com cores T, F e B.

T
B
F

3 COLORAO NPCOMPLETO
Vamos tomar como exemplo = (p1 p2 p3) (p1 p2 p3)
Prximo passo obrigar cada varivel a ser T ou F.
p1

p1
T

p2

B
p2

F
p3
p3

3 COLORAO NPCOMPLETO
Prximo passo criar uma porta OR. Que pode ser T se e somente se o
ou satisfatvel.
p1

p2

Este caso no pode ser


verde.

p1

p1

p2

Este caso pode ser


qualquer cor.., mas pode
ser verde!

p1

p2

p2

3 COLORAO NPCOMPLETO
Vamos tomar como exemplo = (p1 p2 p3) (p1 p2 p3)
Prximo passo criar uma porta OR.
p1

p1 p2

p2

p1 p2 p3

p3

T
B
F

Basta agra repetir a construo para o segundo MAXTERMO (p1 p2 p3)


Portanto se resolvermos 3-color. em tempo polinomial tambm resolvemos 3-SAT.

Linguagem de Relaes em
FOL

BOOLEAN QUERIES
Sejam * a coleo de grafos com V = [n] = {1,2,...,n} e G = * .

Uma query booleana em G um subconjunto de G fechado sob isomorfismo,


i.e., QG uma query booleana, se e somente se:
gh(gQhQ)
A satisfabilidade - para uma linguagem lgica L, uma relao entre G e o
conjunto - das L-sentenas. A query booleana definida por - :
[G]={gG| g - }
Uma query Q L-definvel se existe - tal que [G]=Q.
Exemplos de queries booleanas na linguagem relacional E2, representando a
adjancncia em um grafo:
Sizen, o conjunto de grafos com tamanho n.
Diamn, o conjunto de grafos com dimetro n.
Colork, o conjunto de grafos k-colorveis.
Conn, o conjunto de grafos conectados.
CardX, o conjunto de grafos cujo tamanho n X

BOOLEAN QUERIES
A query booleana definida por - :
[G]={gG| g - }
Sizen, o conjunto de grafos com tamanho n.
Size2 = 2[G], portanto definvel em FOL na linguagem com
vale para Sizen)
2 = xy(xy)xyz(xyxzyz)
Diamn, o conjunto de grafos com dimetro n.
Diam2 = 2[G] , portanto definvel em FOL na linguagem com
vale para Diamn)
2 = xy(x=yE(x,y)z(E(x,z)E(z,y)))

e =. (Tb

e =. (Tb

Colork, o conjunto de grafos k-colorveis.


Color2 = 2[G] , portanto definvel em lgica de 2 ordem mondica
existencial na linguagem com . (Tambm vale para Colork)
2 = Z1xy(E(x,y)(Z(x)Z(y)))

BOOLEAN QUERIES
A query booleana definida por - :
[G]={gG| g - }
Conn, o conjunto de grafos conectados.
Conn = [G], portanto definvel em L1, na linguagem com
acrescenta conjuno e disjuno contveis FOL.
=

. L1

CardX, o conjunto de grafos cujo tamanho n X


CardX =X[G], portanto definvel em L1, na linguagem com
X = 2

DENSIDADE
Seja Q uma query booleana em G. Definimos 3 , a densidade de Q em *
como :
3 (4) =

6789(:<= )
6789(<= )

6789(:<= )

E a densidade limite 3(4) como:


3 4 = lim 3 (4)
A

3 (Sizek)= [n==k] 3 Sizek =0


3 (Diam2)
B
Dados os vrtices i, j a probabilidade que sejam adjacentes a
B
C

probabilidade que k vizinho de ambos . Logo a probabilidade que


nenhum dos n2 outros vrtices seja vizinho de ambos
B D
C

D
C

. Portanto a

. Finalmente para a
probabilidade da distncia ser maior que 2
probabilidade p de que ao menos um par tenha distncia maior que dois
temos p

B D
C

B D
C

. Portanto 3 (Diam2)> 1
3 Diam2 = lim 3 (Diam2) = 1
A

DENSIDADE
Colork, o conjunto de grafos k-colorveis.
Conn, o conjunto de grafos conectados.
Diam2 Conn
Como 3 Diam2 = 1 temos 3 Conn = 1.
CardX, o conjunto de grafos cujo tamanho n X
Se X finito, ento para todos os m maiores que o mximo de X temos
3n CardX =0, portanto 3 CardX =0
Neste caso CardX FOdefinvel.
Se X cofinito, ento para todos os m maiores que o mximo de IJ temos
3n CardX =1, portanto 3 CardX =1
Neste caso CardX FOdefinvel, basta fazer um conjuno de i.
Se X infinito e coinfinito no existe o limite.
Neste caso sabemos apenas que L1definvel.
Observe que para 3(diamk)=3(conn)=3 CardX,cofinito =1 e 3(sizek)=
3 CardX,finito =0. Todos esses podem ser expressos em FO.
FO tem lei 0-1. Para toda , 3([G]) existe e 0 ou 1.
Logo coisas como o grafo tem quantidade par de vrtices, para os quais
no existe o limite 3, no podem ser expressos em 1 ordem.

CYCLE
cycle O conjunto dos ciclos
3 (cycle)=

EB !
=

3(cycle) = lim 3 (cycle) = 0


A

Ser suficiente para ser expresso em FOL?

CYCLE
cycle O conjunto dos ciclos
3 (cycle)=

EB !
=

3(cycle) = lim 3 (cycle) = 0


A

Ser suficiente para ser expresso em FO?


cycle tem modelos finitos arbitrariamente grandes (ciclos de tamanho n), pela
compacidade e pelo Teorema de Lwenheim-Skolem tem um modelo infinito
contvel.
Logo existe um ciclo que satisfaz definio de ciclo (fortemente conectado e
todos os ns tem grau 2).
Escolha um dos vizinhos de 0 para ser S0, ele possui apenas um nico vizinho
alm do 0, SS0, e assim por diante Sk0 inclui todos os ns (por ser fortemente
conectado). Mas 0 tem grau 2, portanto algum outro n j (Sj0) conecta j 0.
Como o grafo fortemente conectado, ter que ter apenas j ns (contradio).
Corolrio: no podemos criar em FO (x,y) verdadeira alcana(x,y) porque:
Cycle xy,alcana(x,y) x, grau2(x)
Grau2(x) yz(yzG(y,x)G(z,x)w(G(w,x)w=yw=z))

Lgica de Segunda Ordem


Existencial

LOGICA DE SEGUNDA ORDEM


EXISTENCIAL - ESOL
Uma frmula da lgica de segunda ordem existencial da forma: P, onde
P um predicado que pode ser usado em .
Exemplo de frmula na ESOL com a linguagem da teoria dos nmeros:
PARESP(P(0)x(P(x)P(x+1)))
Exemplo de frmula na ESOL com a linguagem dos grafos:
NO-ALCANA(x,y)P(u,v,w(P(u,u)(P(u,v)P(u,w)P(u,w))(G(u,v)P(u,v)))P(x,y))
NO-ALCANA(x,y)P(P reflexiva, transitiva, GP P(x,y))
Observe que:
NO-ALCANA(x,y) no uma frmula da ESOL, pois o torna-se .
P no o G*. P contm G, mas no necessariamente a menor relao reflexiva e
transitiva que contm G. Podemos apenas concluir que G*P.
Como definir ALCANA(x,y)?

ESOL
Como definir HAMILTON-PATH()? Vamos pensar em P como uma ordem
linear:
u,v(P(u,u)(P(u,v)(P(v,u)u=v)w(P(u,w)P(w,v) P(u,v))
(P(u,v)w((P(u,w)P(w,v))G(u,v)))
irreflexiva tricotomia transitiva se u e v so vizinhos imediatos ento G(u,v)
HAMILTON-PATH P

[G] definvel em ESOL NP


Se P uma frmula em ESOL na linguagem dos grafos, ento:
[G] NP
Pode-se criar uma mquina de Turing no-determinstica M que:
1. Dado como entrada um Grafo G=(V,E) com n elementos
2. Para um predicado P de aridade r, adivinha P no-deterministicamente em
tempo nr.
3. Verifica polinomialmente se a sentena de 1 ordem satisfazvel neste
modelo estendido.

Obviamente o mesmo argumento vale para qualquer vocabulrio finito. No precisa


ser um grafo, pode ter qualquer nmero de predicados e funes.

TEOREMA DE FAGIN
Se P uma frmula em ESOL na linguagem dos grafos se e somente se:
[G] NP
S falta provar a volta
Existe MTND M que dada a representao de um grafo g=(V,E) decide se gG em
tempo polinomial. Podemos supor sem perda de generalidade que a representao
de g dada pela a entrada das matrizes de adjacncia (qualquer outra representao
polinomial pode ser transformada pela MTND)
A0,0

A0,1

A0,2

A1,0

A1,1

A1,2

A2,0

A2,1

A2,2

M reconhece {gG} em tempo (e espao) nk, onde n o nmero de vrtices


de g e n2. o tamanho da representao de g.
Variveis

Significado

Qtd

Ti,j,m

j est na posio i no passo m

O(n2k)

Hi,m

Cabea de leitura est na posio i no passo m

O(n2k)

Qq,m

M est no estado q no passo m

O(n2k)

Frmula

Condio

Ti,j ,0
Qs,0
H0,0
Ti,j,m Ti,j,m
j Ti,j,!

Ti,j,m Ti,j,m+1 Hi,m

j j

j j

Significado

Estado Inicial da Fita


Quem Ti,j ,0 em funo de g?
Estado Inicial de M.
Posio Inicial da cabea
No mximo um smbolo de por posio

O(n2k)
1
1
O(n2k)

No mnimo um smbolo de por posio

O(n2k)

S a cabea modifica a fita.

O(n2k)

q q
S um estado por vez
Qq,m Qq,m
i i
S um posio da cabea por vez
Hi,m Hi,m
(Hi,m Qq,m Ti,,m) (q, , q, , d) (Hi+d,m+1 Qq,m+1 Ti,,m+1) para

m<nk. Implementa .
0mnk f F Qf,m

Qtd

Termina em um estado final em at nk passos.

O(nk)
O(n3k)
O(n2k)
1

TEOREMA DE FAGIN
Ti,j,0

j est na posio i no passo 0

Se g=(V,E), e n=|V|, podemos definir:


Ti+n*j,1,0

Se i <n2

Se (i,j)E

Ti+n*j,0,0

Se i <n2

Se (i,j)E

Tk,B ,0

Se k n2

Para representar Ti,j,0 precisamos basicamente de soma e produto,


devemos introduzir essas operaes como relaes em ESOL.
As demais variveis de proposicionais (Hi,m, Qq,m, Ti,j,m>0) da demonstrao
do teorema de Cook podem ser pensadas como predicados 0-rios,
portanto podemos imaginar a frmula em ESOL comeando com
H0,0H0,1...
Papadimitriou [pag 173]
Libkin [pag 169]

coNP
L coNP NJ NP
Exemplo: TAUT() SAT( )
Logo TAUT() coNP
Podemos definir co-NL, ..., co-NTIME(n)
No se fala co-P, porque P uma classe de
complexidade determinstica, portanto teramos
imediatamente P = co-P
P = NP NP = co-NP. Demonstrao:
P = NP co-P = co-NP, como co-P=P temos NP = co-NP.

coNP
se NP corresponde SOL existencial, ento coNP corresponde SOL universal.
Subconjunto de soma 0. Dado um conjunto finito de
inteiros, existe um subconjunto com a soma 0?
Fatorao: dados m e n, m tem fator em [2,n)? (NP e
co-NP)

Mquina Orculo

Mquina Orculo
Dada uma linguagem L, uma mquina orculo, ou mquina
de Turing com orculo L, ML, uma mquina de Turing que
pode usar um orculo, i.e., uma caixa preta, para resolver
em um passo L. *
A mquina de Turing tem uma fita de trabalho e uma fita de
orculo, com cabeas separadas.
A mquina possui 3 estados especiais: {qL?,qYES,qNO}, ao
entrar no estado qL? a mquina vai em um passo para qYES se
o contedo da fita do orculo est em L, e vai em uma passo
para qNO caso contrrio.
L no precisa ser decidvel.
* H definies onde a sada da caixa preta escrita na fita, portanto permite alm de problemas de deciso tambm
problemas funcionais.

Mquina Orculo
Exemplo

Classe de Complexidade
A classe de complexidade de problemas de deciso que
esto na classe de complexidade A se usarmos mquinas de
Turing com orculo para a linguagem L chamada de AL.
Por exemplo PSAT a classe de problemas resolvveis em
tempo polinomial em uma mquina de Turing com orculo
para SAT.
Se B um conjunto de linguagens (ou uma classe de
complexidade), podemos definir:
O

-P

Como SAT NP-Completo tempos PSAT = PNP.

P = NP relativizado
Existe um orculo A para o qual PA=NPA. Vamos mostrar isso
depois de estudar a classe PSPACE.
Existe um orculo A para o qual PANPA..

Hierarquia Polinomial e SOL

Classe PSPACE

PSPACE
Uma Mquina de Turing M limitada
polinomialmente p(n)w, M ao processar w no
usa mais do que p(|w|) posies da fita.
q0

W1

W2

W3

...

Wn

....

n=|w|
p(n)

PSPACE = { L | M pol. limitada e determ., L=T(M) }


NPSPACE = { L | M pol. limitada, L=T(M) }

PSPACE
PSPACE = { L | M pol. limitada e determ., L=T(M) }
NPSPACE = { L | M pol. limitada, L=T(M) }
P PSPACE
-- se consome tempo p(n) no pode visitar p(n)+2 casas
NP NPSPACE
-- pelo mesmo motivo
Se L NPSPACE ento reconhecida por uma mquina de
Turing no determinstica em O(cp(n)) passos. Por qu?
-- Se M consome espao p(n) o nmero mximo de
configuraes |Q|p(n)||p(n) =O(cp(n)) ,onde Q o
conjunto de estados e alfabeto da fita. Pois h |Q|
estados, p(n) posies para a cabea de leitura e ||
possveis valores para cada posio da fita.

PSPACE = NPSPACE

PSPACE = { L | M pol. limitada e determ., L=T(M) }


NPSPACE = { L | M pol. limitada, L=T(M) }
Obviamente PSAPCENPSPACE
Para provar que NPSAPCEPSPACE basta simular uma
maquina de Turing no determinstica polinomialmente
limitada em uma maquina de Turing determinstica
polinomialmente limitada.

PSAPCE=NPSPACE
Se L NPSPACE M no deter. e pol. limitada tq L=T(M)
M aceita L em espao p(n) portanto em tempo m=O(cp(n)).
SIMULA_M(w) {
i estado inicial
foreach f in possveis_estados_finais
if alcanca (i,f,m)
return true;
return false;
}
alcanca (estado1, estado2, n /* numero de passos */) {
if (1== npassos) return ehMovimento(estado1,estado2)
else
foreach e in possiveis_estados
if(alcanca(estado1,e, n/2) and alcanca(e,estado2,n/2)) then
return true;
return false;
}
cada estado de consome O(p(n)) espao
A quantidade de chamadas recursivas log Q R( )
O consumo total de espao [na pilha] polimomial O(p(n)p(n))

Teorema de Savitch
Na demonstrao anterior, se trocarmos p(n) por f(n)=
(g), a demonstrao tambm funciona, isso conhecido
como o teorema de Savitch, a saber:
NPSACE(f(n)) = DSPACE((f(n))2)
Corolrio: PSPACE = NPSPACE

QBF
Considere as seguintes frmulas
pq, pq
Verdadeira, basta para qualquer p escolher q=1
pq, pqp
Verdadeira. pq, equivale a TAUT()
pq, pq
Verdadeira, p=0
p q, pqpq
Verdadeira, p=1 e q=1. p q, equivale a SAT()
p,((q pq)(q pq))
Verdadeira porque as ocorrncias de q no precisam ser
iguais, pois esto ligadas a quantificadores diferentes.
TQBF = { sem variveis livres| valor de = 1}

TQBFPSPACE
TQBF = { sem variveis livres| valor de = 1}
eval(0)=0
eval(1)=1
eval() = eval()eval()
eval() = eval()eval()
eval() = eval()
eval(p,)= eval([0/p])eval([1/p])
eval(p,)= eval([0/p]) eval([1/p])
Se a frmula inicial tem tamanho n, cada registro de
ativao tem uma frmula de tamanho n e consome
espao O(n)
A quantidade de subfrmulas O(n), portanto h consumo
de espao mximo O(n2)
CQD

TQBF PSPACE-Completa
Suponha que que uma mquina de Turing determinstica M
reconhea a linguagem L em espao p(n), ou seja LPSPACE.
Sabemos que existe um polinmio q(n) tal que M consome
tempo mximo cq(n) .
Se tentarmos uma construo igual ao teorema de COOK no
funciona, pois teremos quantidade exponencial de variveis:
Variveis

Significado

Qtd

Ti,j,k

j est na posio i no passo k

O(p(n)cq(n))

Hi,k

Cabea de leitura est na posio i no passo k

O(p(n) cq(n))

Qq,k

M est no estado q no passo k

O(cq(n))

TQBF PSPACE-Completa
Se uma mquina de Turing determinstica M reconhece L em espao p(n), ou seja
LPSPACE. A ideia implementar Ni(I,J) que significa I iJ. I J em at i passos.
QBF

Significado

QTD

Ei,j

j est na posio i

O(p(n))

Ehi

Cabea est na pos. i

O(p(n))

Eqq

M est no estado q

O(1)

Frmula

OBS

= Ui,j

Tam

N0(I,J)

I=J

O(p(n))

((Ihi Iqq Ii,) (Jhi+d Jqq


Ji,))N0(I,J)

N1(I,J)

Onde (q, , q, , d) =

O(p(n))

K(Ni(I,K)Ni(K,J))

N2i(I,J)

K abrevia Ei,j EhiEqq O (p(n))

KPQ( ((I=PK=Q)(K=PJ=Q))Ni(P,Q))

N2i(I,J)

Representa pol. qtd. exp. de passos!!

VWR

,YZ

i,j

O(2n)
O(p(n)q(n))

Basta agora tomar w = IF,SwTNm(I,F), onde m=cq(n).


Onde Sw e T so as condies iniciais e finais.
Est apresenta a reduo, para cada wL podemos construir w em tempo
polinomial em |w|. CQD

P = NP relativizado
Existe um orculo A para o qual PA=NPA. Vamos escolher
como linguagem TQBF, que PSPACE-completa.
PSPACE PTQBF. Se L PSPACE, dada uma entrada w para
MTQBF basta escrever reducao_para_TQBF(w) na fita do
orculo e ter a resposta.
NPTQBF NPSPACE. Porque o orculo para TQBF pode ser
implementado como uma rotina que consome espao
polinomial.
NPSPACE PSPACE. Teorema de Savitch.
Portanto:
PSPACE PTQBF NPTQBF NPSPACE PSPACE
PA=NPA

Вам также может понравиться