diagonalização e complexidade espacialjarthur/upload/presentations/... · 2008-08-06 ·...

42
Diagonalização Complexidade Espacial Diagonalização e Complexidade Espacial João Arthur Thiago Emmanuel Coordenação de pós-graduação em Informática - COPIN 05/08/2007 João Arthur, Thiago Emmanuel 1/ 30

Upload: others

Post on 06-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Diagonalização e Complexidade Espacial

João Arthur Thiago Emmanuel

Coordenação de pós-graduação em Informática - COPIN

05/08/2007

João Arthur, Thiago Emmanuel 1/ 30

Page 2: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Roteiro

1 DiagonalizaçãoContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

2 Complexidade EspacialConceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

João Arthur, Thiago Emmanuel 2/ 30

Page 3: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Teoria da Complexidade

Separar classes de complexidadeExibir uma máquina em uma classe que gera resposta diferentede todas as máquinas de outra classe

Mostrar a presença de funções não-computáveis

Provar os teoremas de hierarquia entre classes

Diagonalização é uma técnica apropriada para tais atividades!

João Arthur, Thiago Emmanuel 3/ 30

Page 4: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Teoria da Complexidade

Separar classes de complexidadeExibir uma máquina em uma classe que gera resposta diferentede todas as máquinas de outra classe

Mostrar a presença de funções não-computáveis

Provar os teoremas de hierarquia entre classes

Diagonalização é uma técnica apropriada para tais atividades!

João Arthur, Thiago Emmanuel 3/ 30

Page 5: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Histórico

Georg Cantor, 1873

Argumento da diagonalização

Provar que o conjunto dos números reais é infinito e não éenumerável

João Arthur, Thiago Emmanuel 4/ 30

Page 6: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Argumento da diagonalização - Parte 1

Assuma, por contradição, que o intervalo [0,1] é infinitoenumerável

Um conjunto é enumerável se ele é equinúmero com o conjuntodos naturais

Podemos enumerar todos os números deste intervalo através deuma sequência (r1, r2, r3, . . . )

Cada número pode ser representado como uma expansãodecimal

João Arthur, Thiago Emmanuel 5/ 30

Page 7: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Argumento da diagonalização - Parte 2

Construir um número dentro do intervalo [0,1] considerando adiagonal

Se o k-ésimo dígito de rk é 5, então o k-ésimo dígito de x é 4c. c., o k-ésimo dígito de x é 5

x = 0,4555554 . . .

João Arthur, Thiago Emmanuel 6/ 30

Page 8: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Argumento da diagonalização - Parte 3

x é um número real dentro do intervalo [0,1] (expansõesdecimais representam números reais)

Deve existir uma sequência rn = x

No entanto, por causa do critério de escolha, x difere na n-ésimaposição de rn, então x não está na sequência (r1, r2, r3 . . . )

Esta sequência, portanto, não é uma enumeração do conjunto detodos os reais no intervalo [0,1]

João Arthur, Thiago Emmanuel 7/ 30

Page 9: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Existem funções não computáveis

Teorema: Existe uma função UC : {0,1}∗→{0,1} que não écomputável por uma MT

Definição:

UC: para todo α ∈ {0,1}∗ , seja M(α) uma MT representada porα . Se em uma entrada α , M pára com um número finito depassos e computa 1, então UC(α) = 0, c.c., UC(α) = 1

Por contradição. . .

Existe uma MT M tal que M(α) = UC(α) para todo α ∈ {0,1}∗Em um caso particular M(M) = UC(M), mas isso é impossívelpela definição de UC, uma vez que:

Se UC(M) = 1 então M(M) não pode ser igual a 1 e vice-versa.

João Arthur, Thiago Emmanuel 8/ 30

Page 10: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Existem funções não-computáveis

João Arthur, Thiago Emmanuel 9/ 30

Page 11: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Existem funções não-computáveis

Problema da Parada

João Arthur, Thiago Emmanuel 10/ 30

Page 12: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Time Hierarchy Theorem - Background

Aumentar o tempo de computação equivale a aumentar onúmero de linguagens reconhecidas?

Time-constructible functions: É uma função f tal que dada umaentrada 1n, existe uma MT que gera a representação binária def (n) em tempo O(f (n)).

f (n) = nlognf (n) = n2

João Arthur, Thiago Emmanuel 11/ 30

Page 13: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Time Hierarchy Theorem

Teorema: Sejam f e g funções time-constructible tal quef (n)logf (n) = O(g(n)), então:

DTIME(f (n)) ( DTIME(g(n))

Vamos provar que DTIME(n) ( DTIME(n1.5)

João Arthur, Thiago Emmanuel 12/ 30

Page 14: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Time Hierarchy Theorem - Prova

Considere a seguinte MT D: Para uma entrada x , execute por|x1.4| passos a MTU para simular Mx em x. Se Mx gera saídadentro deste intervalo de tempo então a saída será negada (i.e.,saída 1−Mx(x)). Caso contrário, a saída será 0.

Por definição, D pára em |x1.4| passos e, por isso, a linguagem Ldecidida por D está em DTIME(n1.5)

Queremos mostrar agora que L /∈ DTIME(n)

João Arthur, Thiago Emmanuel 13/ 30

Page 15: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Time Hierarchy Theorem - Prova

Por contradição, assumimos que existe uma MT M que decide Lmas executa em tempo cn para entradas de tamanho n. Entãopara todo x ∈ {0,1}∗, M(x) = D(x).

O tempo para simular uma MT na MTU é de c′c|x |log|x |Existe um número n0 tal que para todo n > n0, n1.4 > c′c|x |log|x |A máquina terá tempo de terminar a simulação em |x1.4|, mas pordefinição temos:

D(x) = 1−M(x) = M(x)

João Arthur, Thiago Emmanuel 14/ 30

Page 16: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Oráculos

Diagonalização baseia-se em duas propriedades das MT:Efetiva representação de MT em stringsCapacidade de uma MT simular a outra sem grande overhead

Oráculos são MT que possuem acesso a um “oráculo” queresolve “magicamente” um problema de decisão em umalinguagem O ⊆ {0,1}∗

João Arthur, Thiago Emmanuel 15/ 30

Page 17: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Oráculos

Possuem uma fita especial na qual podem escrever uma stringq ∈ {0,1}∗ e em um momento futuro perguntar se q estápresente em O.Se O não pode ser decidida em tempo polinomial, então esteoráculo adicionou poder à MT.

A computação da query é feita em 1 passo

João Arthur, Thiago Emmanuel 16/ 30

Page 18: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Oráculos - Importância

Resulta em MT em que P = NP e MT tais que P 6= NPPodemos concluir que para responder a pergunta P =?NP nãobasta basear-se somente nas duas propriedades

Resultado de relativização (relativizing results)

Se P = NP ou P =?NP for verdadeiro, não é um resultado derelativização

João Arthur, Thiago Emmanuel 17/ 30

Page 19: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

ContextualizaçãoHistóricoDiagonalização em ComplexidadeOráculosConsiderações

Considerações

Prova que se P 6= NP, então existe uma linguagem L ∈ (NP−P)que não é NP-Completa. (Teorema de Ladner)

Usa a representação de máquinas em strings

Diagonalização em si não é capaz de resolver P =?NP sozinha

Ainda é usada como ferramenta para provas de teoremas

João Arthur, Thiago Emmanuel 18/ 30

Page 20: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Space-bounded computation

SPACE(S(n)) = {L(M)|M is a deterministic multitape TMrunning in space S(n)}NSPACE(S(n)) = {L(M)|M is a nondeterministic multitape TMrunning in space S(n)}

Número de células ocupadasc •S(n)

João Arthur, Thiago Emmanuel 19/ 30

Page 21: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Relação Espaço x Tempo

Existe algume relação entre a complexidade temporal e espacial deum algoritmo ?DTIME(S(n))⊆ SPACE(S(n))⊆ NSPACE(S(n))⊆ DTIME(2O(S(n)))

DTIME(S(n))⊆ SPACE(S(n))

SPACE(S(n))⊆ NSPACE(S(n))

NSPACE(S(n))⊆ DTIME(2O(S(n)))

João Arthur, Thiago Emmanuel 20/ 30

Page 22: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Relação Espaço x Tempo

Existe algume relação entre a complexidade temporal e espacial deum algoritmo ?DTIME(S(n))⊆ SPACE(S(n))⊆ NSPACE(S(n))⊆ DTIME(2O(S(n)))

DTIME(S(n))⊆ SPACE(S(n))

SPACE(S(n))⊆ NSPACE(S(n))

NSPACE(S(n))⊆ DTIME(2O(S(n)))

João Arthur, Thiago Emmanuel 20/ 30

Page 23: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Relação Espaço x Tempo

Existe algume relação entre a complexidade temporal e espacial deum algoritmo ?DTIME(S(n))⊆ SPACE(S(n))⊆ NSPACE(S(n))⊆ DTIME(2O(S(n)))

DTIME(S(n))⊆ SPACE(S(n))

SPACE(S(n))⊆ NSPACE(S(n))

NSPACE(S(n))⊆ DTIME(2O(S(n)))

João Arthur, Thiago Emmanuel 20/ 30

Page 24: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

DTIME(S(n))⊆ SPACE(S(n))

DTIME(S(n))⊆ SPACE(S(n))

Espaço Máximo ocupado por DTIME(S(n))

Uma célula ocupada em cada passoSem reuso das células

João Arthur, Thiago Emmanuel 21/ 30

Page 25: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

SPACE(S(n))⊆ NSPACE(S(n))

SPACE(S(n))⊆ NSPACE(S(n))

Máquina Determinista X Máquina N-Determinista

João Arthur, Thiago Emmanuel 22/ 30

Page 26: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

NSPACE(S(n))⊆ DTIME(2O(S(n)))

NSPACE(S(n))⊆ DTIME(2O(S(n)))

configuration pathc •S(n) bits por nóNúmero máximo de nós dado por 2cS(n)

João Arthur, Thiago Emmanuel 23/ 30

Page 27: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

NSPACE(S(n))⊆ DTIME(2O(S(n)))

NSPACE(S(n))⊆ DTIME(2O(S(n)))

ProvaEnumeração das configurações

Número máximo de nós dado por 2O(S(n))

Conectividade entre estado inicial e de aceitaçãoBusca em largura O(|E |+ |V |)

João Arthur, Thiago Emmanuel 24/ 30

Page 28: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Classes de Complexidade

PSPACE = Uc>0SPACE(nc)3SAT ∈ PSPACE

Enumeração das possibilidadesReuso de espaço

NP ⊆ PSPACE

NPSPACE = Uc>0NSPACE(nc)

L = SPACE(logn)

e.x EVEN = {x: x has even number of 1s}

3SAT ∈ L (Problema sem resposta)equivalente a pergunta NP = L

NL = NSPACE(logn)

PATH ∈ L (Problema sem resposta)equivalente a pergunta L = NL

João Arthur, Thiago Emmanuel 25/ 30

Page 29: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Classes de Complexidade

PSPACE = Uc>0SPACE(nc)3SAT ∈ PSPACE

Enumeração das possibilidadesReuso de espaço

NP ⊆ PSPACE

NPSPACE = Uc>0NSPACE(nc)

L = SPACE(logn)

e.x EVEN = {x: x has even number of 1s}

3SAT ∈ L (Problema sem resposta)equivalente a pergunta NP = L

NL = NSPACE(logn)

PATH ∈ L (Problema sem resposta)equivalente a pergunta L = NL

João Arthur, Thiago Emmanuel 25/ 30

Page 30: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Classes de Complexidade

PSPACE = Uc>0SPACE(nc)3SAT ∈ PSPACE

Enumeração das possibilidadesReuso de espaço

NP ⊆ PSPACE

NPSPACE = Uc>0NSPACE(nc)

L = SPACE(logn)

e.x EVEN = {x: x has even number of 1s}

3SAT ∈ L (Problema sem resposta)equivalente a pergunta NP = L

NL = NSPACE(logn)

PATH ∈ L (Problema sem resposta)equivalente a pergunta L = NL

João Arthur, Thiago Emmanuel 25/ 30

Page 31: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Classes de Complexidade

PSPACE = Uc>0SPACE(nc)3SAT ∈ PSPACE

Enumeração das possibilidadesReuso de espaço

NP ⊆ PSPACE

NPSPACE = Uc>0NSPACE(nc)

L = SPACE(logn)

e.x EVEN = {x: x has even number of 1s}

3SAT ∈ L (Problema sem resposta)equivalente a pergunta NP = L

NL = NSPACE(logn)

PATH ∈ L (Problema sem resposta)equivalente a pergunta L = NL

João Arthur, Thiago Emmanuel 25/ 30

Page 32: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Classes de Complexidade

PSPACE = Uc>0SPACE(nc)3SAT ∈ PSPACE

Enumeração das possibilidadesReuso de espaço

NP ⊆ PSPACE

NPSPACE = Uc>0NSPACE(nc)

L = SPACE(logn)

e.x EVEN = {x: x has even number of 1s}

3SAT ∈ L (Problema sem resposta)equivalente a pergunta NP = L

NL = NSPACE(logn)

PATH ∈ L (Problema sem resposta)equivalente a pergunta L = NL

João Arthur, Thiago Emmanuel 25/ 30

Page 33: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Completude

P 6= PSPACE (Problema sem resposta)

Se P = PSPACE então P = NP

PSPACE-hard ..

A language A is PSPACE-hard if for every L ∈ PSPACE , L≤p A.If in addition A ∈ PSPACE then A is PSPACE-complete

João Arthur, Thiago Emmanuel 26/ 30

Page 34: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Completude

P 6= PSPACE (Problema sem resposta)

Se P = PSPACE então P = NP

PSPACE-hard ..

A language A is PSPACE-hard if for every L ∈ PSPACE , L≤p A.If in addition A ∈ PSPACE then A is PSPACE-complete

João Arthur, Thiago Emmanuel 26/ 30

Page 35: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Completude

P 6= PSPACE (Problema sem resposta)

Se P = PSPACE então P = NP

PSPACE-hard ..

A language A is PSPACE-hard if for every L ∈ PSPACE , L≤p A.If in addition A ∈ PSPACE then A is PSPACE-complete

João Arthur, Thiago Emmanuel 26/ 30

Page 36: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Teorema de Savitch

For any space-constructible S : N→ N with S(n)≥ logn,NSPACE(S(n))⊆ SPACE(S(n)2)

Roteiro da prova: configuration path ..

Cada vértice pode ser descrito usando cS(n) bits

O grafo tem no máximo 2cS(n) vértices

João Arthur, Thiago Emmanuel 27/ 30

Page 37: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Teorema de Savitch

For any space-constructible S : N→ N with S(n)≥ logn,NSPACE(S(n))⊆ SPACE(S(n)2)

Roteiro da prova: configuration path ..

Cada vértice pode ser descrito usando cS(n) bits

O grafo tem no máximo 2cS(n) vértices

João Arthur, Thiago Emmanuel 27/ 30

Page 38: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Teorema de Savitch

For any space-constructible S : N→ N with S(n)≥ logn,NSPACE(S(n))⊆ SPACE(S(n)2)

Roteiro da prova: configuration path ..

Cada vértice pode ser descrito usando cS(n) bits

O grafo tem no máximo 2cS(n) vértices

João Arthur, Thiago Emmanuel 27/ 30

Page 39: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Teorema de Savitch - Algoritmo

Se k = 1, requer O(cS(n)) bits ou log|V | bitsPara o comando for :

Cada chamada recursiva requer 2 vértices, log|V |O valor k/2, que ocupa não mais que logk bitsNo total, para o comando for, O(logk + log|V |)

João Arthur, Thiago Emmanuel 28/ 30

Page 40: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Teorema de Savitch - Algoritmo

Se k = 1, requer O(cS(n)) bits ou log|V | bitsPara o comando for :

Cada chamada recursiva requer 2 vértices, log|V |O valor k/2, que ocupa não mais que logk bitsNo total, para o comando for, O(logk + log|V |)

João Arthur, Thiago Emmanuel 28/ 30

Page 41: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Teorema de Savitch - Algoritmo - cont

Por definição, uma chamada recursiva tem a complexidade dadaS(|V |,k/2)Como o espaço da primeira chamada recursiva pode serreutilzado na segunda, a complexidade total S(|V |,k) é definidarecursivamente:

log|V |, se k = 1log|V |+S(|V |,k/2), caso contrário

João Arthur, Thiago Emmanuel 29/ 30

Page 42: Diagonalização e Complexidade Espacialjarthur/upload/presentations/... · 2008-08-06 · Diagonalização Complexidade Espacial Contextualização Histórico Diagonalização em

DiagonalizaçãoComplexidade Espacial

Conceitos BásicosRelação Espaço x TempoClasses de ComplexidadeCompletudeTeorema de Savitch

Teorema de Savitch - Algoritmo - cont

Se existir um caminho de tamanho k , no máximo temos quek ≤ |V |Assim, a chamada para REACH no máximo tomará,S(|V |,2|V |) = log2O(S(n)xlog2O(S(n)

Devido a este teorema temos que:L⊆ NL⊆ P ⊆ NP ⊆ PSPACE = NSPACE

João Arthur, Thiago Emmanuel 30/ 30