You are on page 1of 30

TECMF Jan/2004 Teoria de Complexidade

Prof. Edward Hermann Haeusler


Medindo a eficincia de algoritmos
- Escolha do modelo computacional
- Recursos: Tempo , Memria
- Relacionando os algoritmos e os problemas que estes resolvem
- Computao de Funes
- Problemas de otimizao
- Problemas de deciso,
- Linguagens
- Classes de complexidade: Classificando problemas pela complexidade
do algoritmo mais eficiente que o resolve.
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Satisfao na Lgica Proposicional
Dada uma frmula da lgica proposicional, isto ,
formada com os conectivos !, ", e #, deseja-se saber
se existe uma valorao que a satisfaa
Problema SAT
Soluo: Gerar todas as valoraes e testar uma a uma
at encontrar. Se no encontrar ao final do teste
de todas as valoraes informar que a frmula
no satisfatvel.
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
k
2
k
Clculo total
5 32 insignificante
10 1024 0.001 seg
16 65536 0.06 seg
20 1048 x 10
3
1 seg
32 4.29 x 10
9

1 hora 12 min
Supondo que o computador calcule 1 milho de valoraes por segundo.
Dada uma frmula com k variveis existem 2
k
valoraes
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Por outro lado
- Verificar se uma valorao satisfaz uma frmula muito
rpido (muito menos que 1x10
-7
seg) para frmulas com at
100 variveis em um pentium IV 1 GHz.
- Dada uma valorao, avaliar o valor da frmula leva no
mximo k operaes, onde k o tamanho da frmula.
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Suponha que um caixeiro viajante tenha que visitar k
cidades diferentes, iniciando e encerrando esta viagem na
primeira cidade. No importa a ordem com que as cidades
so visitadas. Sabe-se que de cada cidade pode-se ir
diretamente a qualquer outra. O problema do caixeiro
viajante consiste em descobrir a rota que torna mnima a
viagem total (em kms).
O problema do Caixeiro Viajante
Obs: Tal rota dita ser um ciclo hamiltoniano no grafo.
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Bsb
967
1060
458
BH
789
400 Rio
S.P.
1070
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
O problema do caixeiro viajante um problema de otimizao
combinatria.
(a) Podemos transforma-lo num problema de enumerao ?
(b) Podemos determinar todas as rotas do caixeiro ?
(c) Podemos saber qual delas a menor ?
SOLUO: So (k-1)! Rotas
um trabalho fcil para a mquina ?
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
( k - 1 )! cresce muito rpido
k (k - 1)! Clculo total
5 24 insignificante
10 362 880 0.3 seg
15 87 bilhes 24 hs e 6 min
20 1.2 x 10
17
3 milhes de anos
25 6.2 x 10
23
0.19 x 10
17
anos
Supondo que o computador calcule 1 milho de rotas por segundo.
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Por outro lado .....................
- Saber se em existe um ciclo hamiltoniano mais fcil que
encontrar o ciclo mnimo ???
- Para qualquer frmula proposicional $ existe um grafo G que
possui caminho hamiltoniano, se e somente se, $ SAT.
o tamanho de G polinomial no tamanho de $.
1 1
1
1
1
1
1
Ciclo min = vert 1 ???
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
SAT e as Mquinas de Turing no-determinsticas
w
P(|w|)
Si,j
t
= Smbolo j na posio i no tempo t
Ee
t
= Mquina est no Estado e no tempo t
Ci
t
= Cabea est no na posio i no tempo t
Frmulas para descrever:
-A cabea em qualquer tempo t est em uma e somente
uma posio
- Cada psio da fita tem, em qualquer t, um e somente
Um smbolo escrito.
- A mquina, em qualquer tempo t, est em um e somente
um estado
Frmulas para descrever o a conf. Inicial da fita:
Se SAT puder ser resolvido em tempo polinomial
por uma M.T. deter ento qualquer problema em NP tambm
pode ser resolvido em tempo polinomial
Frmulas para descrever o comportamento da mquina:
E
e
! C
i
! S
i,j
# (E
g
! C
i+1
! S
i,k
) " (E
h
! C
i-1
! S
i,n
)
t
t t
t+1 t+1 t+1 t+1 t+1 t+1
S
0,3
! S
1,7
! S
2,1
! ...... ! S
|w|,8
0
0 0 0
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
(1) Descobrindo como resolver o problema do caixeiro
viajante em tempo polinomial, seremos capazes de
resolver, tambm em tempo polinomial, outros problemas
importantes (teis).
(2) Se algum provar que impossvel resolver o problema do
caixeiro em tempo polinomial no nmero de cidades,
tambm se ter que outros de problemas importantes no
tem soluo prtica.
(3) Costuma-se resumir essas propriedades do problema do
caixeiro dizendo que ele pertence categoria dos
problemas NP - completos.
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Problemas de Deciso
x % P ?
x
sim
no
Prog.
|x| % &
*

1
0
Problemas de Deciso ' Linguagens Formais
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Problemas, Solues e Linguagens
P = < Ent, Sada, Relao>
P
Comp
= < &
Ent
, &
Sada
, R >

!
(f:Ent # Sada
)f * Relao
Sol =
(f:&
Ent
# &
Sada

+f computvel
)f * R
SolComp = !
* *
* *
L
P
= { w
ent
<sep>w
sai
/ (w
ent
, w
sai
) % R * &
Ent
, &
Sada
}
* *
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Complexidade de uma Linguagem
L % DTime(f) sss - m % TuringDet t.q.
(m reconhece L) e -c, .x % &
*

steps(m,x) / cf(|x|)
L % DSpace(f) sss - m % TuringDet t.q.
(m reconhece L) e -c, .x % &
*

space(m,x) / cf(|x|)
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Uso de Recursos por Mquinas de Turing Determ.
L * &
*

M
L
reconhece L
sss
w % L ento M
L
(w) = aceita
w 0 L ento M
L
(w) = rejeita
f : &
*
1

# &
*
2

M
f
computa f
sss
f(w
1
)=w
2
ento M
L
(w
1
) = w
2
steps(M,w) = nmeros de passos executados pela mquina M
sobre o dado w at parar.
space(M,w) = nmeros de clulas (distintas) visitadas pela
mquina M sobre o dado w at a parada.
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Por que considerar classes assintticas de funes ??
Teorema: (speedup linear) Se uma linguagem L decidida em tempo f(n) ento
para qualquer 1 > 0 existe uma M. Turing M1 que decide L em tempo
1.f(n) + n + 2.
Prova : Modificar o tamanho da palavra de memria
Consequncias do seedup:
Se L decidida em tempo f(n) = 165.n
k
+ .... + 54.n + 657
ento L decidida em tempo f(n) = n
k

Obs: O mesmo teorema ( e tcnica de prova) vale para funo de medida e uso de
espao (nmero mximo de clulas visitadas)
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Complexidade Computacional I
- No existncia de limite na complexidade de Linguagens
DTime(f) * Dtime(f , log(f))
DSpace(f) * DSpace(f , log(f))
- Hierarquia de Linguagens segundo sua Complexidade
DTime(n) * Dtime(n
2
) * ... * Dtime(n
k
) * .... Dtime(2
n
) ......
Dspace(log(n)) *Dspace(n) * ... *...* DSpace(n
k
)* .... Dtime(2
n
) ......
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Teorema de Cantor
==> Seja B um conjunto, ento |B| < |2
B
|
S = { x / x 0 f(x) }
Prova: Suponha que |B| = |2
B
| ento existe f: B # 2
B
f
-1
(S) % S se e somente se f
-1
(S) 0 S
Paradoxo do Barbeiro: Em uma cidade existe um barbeiro que faz a barba de
todos os homens que no barbeiam a s prprios e somente
estes.
{A / A * B}
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
O mtodo da diagonal de Cantor
a
0
= 0, a
oo
a
o1
a
o2
a
o3
a
o4
....... a
on
..............

a
1
= 0, a
1o
a
11
a
12
a
13
a
14
....... a
1n
..............
a
n
= 0, a
no
a
n1
a
n2
a
n3
a
n4
....... a
nn
..............
suponha que |(0,1)| = |N|
b = 0,b
0
b
1
b
2
b
3
b
4
....... b
n
.........

b
j
=
5 se a
jj
= 9

9 seno
|(0,1)| 2 |N|
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Hierarquia prpria de funes construtivas
Para
f
= { <T,x> / T(x) pra no mximo em f(|x|) passos}
FatoI : Para
f
% DTime(f
3
)
FatoII : Para
f
0 DTime(f(x/2))
Prova: Diagonalizao
Corolrio I : DTime(f(n)) 3 DTime(f(2n+1)
3
)
Corolrio II : P * EXP
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Classes de Complexidade e algumas relaes
Def. PSpace = 45 DSpace(n
i
)
i%N
Def. NP = 45 NTime(n
i
)
i%N
Def. NPSpace = 45 NSpace(n
i
)
i%N
Def. Log = Space(log(n)) NLog = NSpace(log(n))
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
- DSpace(f(n)) * NSpace(f(n)) e DTime(f(n)) * NTime(f(n))
- NTime(f(n)) * DSpace(f(n))
- NSpace(f(n)) * DTime(k
log n + f(n)
)
- Alcanabilidade % Space(log
2
) NSpace(f) * Space(f
2
)
(obs; Nmero de conf. + alcanabilidade)
- nmero de ns alcanavel % Space(log) => NSpace(f) = coNSpace(f)
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
(parte) do que se sabe atualmente (desde 60s)
Log 3 NLog 3 P 3 NP 3 PSPACE = NPSPACE 3 EXP 3 NEXP
Sabe-se que Log 2 PSPACE
se P = NP ento EXP = NEXP
se Log = P ento EXP = PSPACE
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
P : Encontra soluo em tempo polinomial em MTD
NP : Verifica soluo em tempo polinomial em MTD
CoNP : Verifica que no soluo, em tempo polinomia em MTD
Sat % NP
Taut % CoNP
Obs: Se CoNP 2 NP ento NP 2 P
Verificao de Modelos Prova de Teoremas
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Como SAT NP-Completo ento Taut CoNP-Completo
===> Se existe um sistema dedutivo onde todas as provas tem tamanho polinomial
em funo do tamanho da concluso, ento CoNP = NP. Seno existe
tal sistema ento CoNP 2 NP e portanto NP 2 P.
- J se tentou tcnicas de construo de modelos via forcing (funcionou com
a hiptese generalizada do continum) mas a crena geral que no funciona.
===> P = NP um problema genuinamente matemtico.
===> P = NP um problema da cincia da computao.
===> P = NP um problema genuinamente de fundamentao e lgica.
- Tcnicas de diagonalizao e relativizao (tradio lgico-matemtica) tem
sido extensivamente usadas no estudo de questes relacionadas a NP=P.
?
?
?
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
O Maior problema atual em Teoria da Computao :
P = NP
?
O que isto tem a ver com jogos ??????
- Jogos e quebra-cabeas : PSPACE, EXP e NP-completos
- Solues para jogos (Equilbrio de Nash p.ex.), esto em P???
(estratgias mistas com soma zero), NP-completos (estratgias
puras) e EXP ? (estratgias mistas para jogos em geral)
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Sokoban PSPACE-completo
Damas EXP-completo
Em Geral (verses infinitas)
Xadrez EXP-completo
Clickomania NP-completo
15-p P (existncia de soluo) e NP-completo (melhor sol.)
6 A Teoria de Complexidade adequada para o estudo das verses
finitas a Teoria de complexidade estrutural ou de Kolmogorov
http://www.ics.uci.edu/~eppstein/cgt/hard.html#refs
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
O jogo de Geografia PSPACE-completo
! Lgica Proposicional Intuicionista PSPACE-completa
(Statman 1977)
Prova: A sentenas vlidas intuicionisticamente podem ser
caracterizadas como sendo aquelas que possuem
estratgia vencedora para o jogador que comea o seu
jogo dialgico. (Haeusler 2004)
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Muito Obrigado pela audincia !!!!
Concluso
Complexidade Computacional
Matemtica
Fundamentao e Lgica
Engenharia
Teoria dos Jogos
Economia
TECMF Jan/2004 Teoria de Complexidade
Prof. Edward Hermann Haeusler
Um Pouco de Histria sobre Teoria dos Jogos e Xadrez
Zermelo 1913 ber eine Anwendung der Mengenlehre auf die Theorie des Schachspiels
5o Congresso de Matemticos (Cambridge).
Knig 1927 ber eine Schulussweise aus dem Endlichen ins Unendliche.
Acta Sci. Math.
Kalmr 1928 Zur Theorie der abstrakten Spiele. Acta Sci Math.
Von Neumann 1928 Zur Theorie der Gesellschaftsspiele. Mathematische Annalen
Caracterizam o conceito de posio ganhadora
Caracteriza a interao entre as estratgias dos jogadores
1
1- Jogo de Informao Perfeita
Utiliza induo transfinita