Académique Documents
Professionnel Documents
Culture Documents
e
Completude
Centro
de
Inform-ca
Universidade
Federal
de
Pernambuco
Sistemas
de
Informao
Vinicius
Cardoso
Garcia
vcg@cin.ufpe.br
Introduo
Complexidade,
denio
genrica:
Complexidade
a
escola
losca
que
v
o
mundo
como
um
todo
indissocivel
e
prope
uma
abordagem
mul-disciplinar
para
a
construo
do
conhecimento.
Contrape-se
causalidade
por
abordar
os
fenmenos
como
totalidade
orgnica.
Complexidade
Computacional
Teoria
da
complexidade
computacional
a
parte
da
teoria
da
computao
que
estuda
os
recursos
necessrios
durante
o
clculo
para
resolver
um
problema.
A
teoria
da
complexidade
difere
da
teoria
da
computabilidade
a
qual
se
ocupa
de
possibilidade
de
se
solucionar
um
problema
com
algoritmos
sem
levar
em
conta
os
recursos
necessrios
para
ele.
Algoritmos
e
Estrutura
de
Dados
Complexidade
e
Completude
2011
Vinicius
Cardoso
Garcia
Completude
Completude
tem
a
ver
com
a
completa
descrio
ou
abrangncia
de
um
modelo,
geralmente
abstrato,
com
o
problema/ universo
que
ele
envolve.
Ex:
o
programa:
x=input(digite
um
nmero)
print
x+1
completo
para
os
inteiros,
pois
dado
qualquer
inteiro,
a
operao
ser
executada.
Algoritmos
e
Estrutura
de
Dados
Complexidade
e
Completude
2011
Vinicius
Cardoso
Garcia
Completude
Demonstrado
por
Kurt
Gdel,
o
teorema
da
incompletude,
garante
que
todos
os
clculos
lgicos
de
operaes
simples
sobre
os
inteiros
no
podem
ser
simultaneamente
completos
e
consistentes.
Decidibilidade
Um
problema
dito
decidvel
se
h
uma
mquina
de
Turing
(computador)
que
possa
computar,
independente
do
tempo
que
leve.
Caso
contrrio,
chamado
de
indecidvel.
hgp://en.wikipedia.org/wiki/Turing_machine
Exemplo:
dizer
se
um
nmero
primo
ou
no
trivialmente
decidvel,
mas
exponencial
no
tamanho
da
entrada.
Algoritmos
e
Estrutura
de
Dados
Complexidade
e
Completude
2011
Vinicius
Cardoso
Garcia
Computabilidade
A
Teoria
da
Computabilidade
estuda:
Questes
de
decibilidade
Modelos
de
computao
Capacidade
computacional.
Sumarizando
A
teoria
da
complexidade
est
preocupara
com
resolver
problemas
di@ceis
de
maneira
eciente.
A
teoria
da
computabilidade
est
preocupada
com
a
forma
com
que
as
computaes
so
feitas
(modelo
abstrato
de
computao).
O
foco
da
aula
de
hoje
complexidade.
Denies
Algoritmo
polinomial
do
-po:
nK,
onde
n
o
tamanho
da
entrada
e
k
constante.
Exemplos
de
custos
Funo
de
Custo
n
n2
n3
n5
2n
3n
n
=
10
10-5
s
10-4
s
10-3
s
0,1
s
10-3
s
59,10-3
s
n
=
20
2.10-5
s
4.10-4
s
8.10-3
s
3,2
s
1
s
58
min
n
=
30
3.10-5
s
9.10-4
s
27.10-3
s
24,3
s
17,9
min
6,5
anos
n
=
40
4.10-5
s
16.10-4
s
64.10-3
s
1,7
min
12,7
dias
3855
sc.
n
=
50
5.10-5
s
25.10-4
s
5,2
min
35,7
anos
108
sc.
n
=
60
6.10-5
s
36.10-4
s
13
min
366
sc.
1013
sc.
125.10-3 s 216.10-3 s
10
Algoritmos
DeterminsOcos
So
algoritmos
que
apresentam
comportamento
previsvel.
Dada
uma
determinada
entrada,
o
algoritmo
apresenta
sempre
a
mesma
sada.
Mquinas
determins-cas
so
aquelas
que
s
podem
estar
em
um
estado
por
vez.
Um
estado
dene
o
que
a
mquina
est
fazendo
em
um
determinado
tempo.
11
Algoritmos
No-DeterminsOcos
So
algoritmos
que
apresentam
comportamento
guiado
por
uma
certa
distribuio
estass-ca.
Dada
uma
determinada
entrada,
o
algoritmo
apresenta
uma
sada
com
uma
dada
probabilidade.
12
Algoritmos
No-DeterminsOcos
N
recebe
o
problema
13
Algoritmos
No-DeterminsOcos
Subdivide
os
problemas
14
Algoritmos
No-DeterminsOcos
Nova
subdiviso
15
Algoritmos
No-DeterminsOcos
Nova
subdiviso
16
Algoritmos
No-DeterminsOcos
Um
n
encontra
o
resultado
17
Algoritmos
No-DeterminsOcos
Toda
computao
pra!
18
Algoritmos
No-DeterminsOcos
Em
outras
palavras:
Problema
inicial
com
resoluo
em
2n
passos
em
mquina
determins-ca
(pior
caso)
Em
uma
mquina
no-determins-ca
leva
tempo
n.
Intrigante:
Ser
que
existe
algum
problema
que
apenas
uma
mquina
no-determins-ca
resolva?
No.
Uma
mquina
no-determins-ca
calcula
apenas
mais
rpido,
porm
equivalente
a
mquinas
determins-cas.
Algoritmos
e
Estrutura
de
Dados
Complexidade
e
Completude
2011
Vinicius
Cardoso
Garcia
19
Classe
de
Problemas
Problemas
P
a
classe
dos
problemas
resolvveis
em
tempo
Polinomial
em
mquina
determinsOca.
Problemas
NP
a
classe
dos
problemas
resolvveis
em
tempo
Polinomial
em
mquina
No-determinsOca.
20
Classe de Problemas
21
Classe
de
Problemas
Problemas
NPC
ou
NP-Completos
a
classe
dos
problemas
que
so
Polinomiais
em
mquinas
No-Determins-cas
e
so
Completos
no
sen-do
que,
para
cada
um
deles,
todos
os
problemas
de
NP
podem
ser
reduzidos
a
ele
em
tempo
polinomial
(em
mquina
determins-ca).
22
NP-Completo
Formalmente,
um
problema
NP-Completo
se:
O
problema
NP
NP-Diqcil
NP-Diqcil um problema que pode ser reduzido a outro problema NP, em outras palavras, se tem mesma complexidade de um problema NP.
23
NP-Completo
Problemas
NPC
ou
NP-Completos
Se
um
problema
de
NPC
puder
ser
resolvido
em
tempo
polinomial
em
mquina
determins-ca,
ento
todos
os
problemas
de
NP
o
podero,
e
NP
=
P;
Se
um
problema
de
NPC
for
provadamente
intratvel,
ento
todos
os
problemas
em
NPC
tambm
o
sero.
Da:
(NPC
intercepta
P)
se
somente
se
(NP
=
P).
A
maioria
cr
que
NPC
disjunto
de
P,
portanto
NPP.
Este
um
dos
problemas
em
aberto
que
pode
mudar
todo
o
entendimento
da
computabilidade
na
pr-ca,
se
for
provado
que
NP
=
P
Algoritmos
e
Estrutura
de
Dados
Complexidade
e
Completude
2011
Vinicius
Cardoso
Garcia
24
Classe
de
Problemas
Como
provar
que
um
problema
A
NPC
?
Mostrar
que
A
pertence
a
NP;
Selecionar
um
problema
A,
conhecido,
de
NPC;
Construir
uma
transformao
f:AA;
Mostrar
que
f
uma
transformao
polinomial.
25
Problemas
NP-Completos
TSP
-
TheTraveling
Salesman
Problem
(PCV
-
O
Problema
do
Caixeiro
Viajante):
Um
vendedor
tem
que
visitar
cada
uma
de
n
cidades,
terminando
naquela
por
onde
comeou;
Cada
arco
tem
um
custo
associado;
O
problema,
na
verso
de
deciso,
pergunta:
H
uma
turn
de
custo
menor
ou
a
igual
a
um
valor,
dado?;
A
verso
de
o-mizao
pergunta:
Qual
o
menor
custo
possvel
para
uma
turn,
e
qual
ela?
Algoritmos
e
Estrutura
de
Dados
Complexidade
e
Completude
2011
Vinicius
Cardoso
Garcia
26
Problemas
NP-Completos
HC
The
Hamilton
Circuit
(=
Cycle)
O
Circuito
Hamiltoniano:
Dado
um
grafo
orientado,
determine
se
h
um
ciclo
que
visite
cada
n
exatamente
uma
vez,
terminando
no
n
inicial.
27
Problemas
NP-Completos
ZOK
(The
Zero-One
Knapsack)
(O
Problema
da
Mochila,
cada
item
sendo
totalmente
tomado
ou
no
tomado):
Uma
mochila
tem
capacidade
de
M
kilogramas;
Num
cofre,
h
N
itens,
cada
um
com
seu
peso
(pi)
e
seu
valor
(vi);
Escolha
que
itens
levar
na
mochila,
de
modo
que
o
total
de
peso
seja
menor
ou
igual
a
M,
e
o
total
dos
valores
seja
mximo.
Algoritmos
e
Estrutura
de
Dados
Complexidade
e
Completude
2011
Vinicius
Cardoso
Garcia
28
Problemas
NP-Completos
Boolean
Sa-sability
Problem
(SAT)
SaOsfaObilidade
de
expresso
booleana:
Dada
uma
expresso
proposicional
na
forma
normal
conjun-va,
determine
se
h
algum
conjunto
de
atribuies
true
e
false
aos
smbolos
proposicionais,
que
torne
o
valor
da
expresso
igual
a
true.
Foi
o
primeiro
problema
NP-Completo
proposto
por
Stephen
Cookem
em
1971.
Foi
demonstrado
atravs
de
mquina
de
Turing.
Algoritmos
e
Estrutura
de
Dados
Complexidade
e
Completude
2011
Vinicius
Cardoso
Garcia
29
30
31
AOvidades
complementares
Leitura
do
captulo
34
do
livro
do
Cormen
32