Академический Документы
Профессиональный Документы
Культура Документы
de Algoritmos I
11 de novembro de 2009
MC448 Analise
de Algoritmos
MC448 Analise
de Algoritmos
classica
Uma aplicacao
de busca em profundidade:
decompor um grafo orientado em seus componentes
fortemente conexos.
C V tal que:
G = (V , E) e um subconjunto de vertices
decomposicao.
MC448 Analise
de Algoritmos
MC448 Analise
de Algoritmos
Grafo transposto
MC448 Analise
de Algoritmos
Grafo transposto
MC448 Analise
de Algoritmos
Algoritmo
a
d
C OMPONENTES -F ORTEMENTE -C ONEXOS(G)
os
Um grafo orientado e o grafo transposto. Note que eles tem
mesmos componentes fortemente conexos.
MC448 Analise
de Algoritmos
MC448 Analise
de Algoritmos
Exemplo CLRS
Exemplo CLRS
13/14
11/16
1/10
8/9
12/15
3/4
2/7
5/6
MC448 Analise
de Algoritmos
Exemplo CLRS
a
MC448 Analise
de Algoritmos
Grafo Componente
b
MC448 Analise
de Algoritmos
vertices
de cada arvore
da Floresta de Busca em Profundida.
por tras
de C OMPONENTES -F ORTEMENTE -C ONEXOS
A ideia
segue de uma propriedade do grafo componente GCFC obtido a
partir de G contraindo-se seus componentes fortemente
conexos.
MC448 Analise
de Algoritmos
Grafo Componente
Corretude
por tras
de C OMPONENTES -F ORTEMENTE -C ONEXOS
A ideia
segue de uma propriedade do grafo componente GCFC obtido a
replacements
partir de G contraindo-se seus componentes fortemente
conexos.
cd
abe
nao
existe um caminho v
v em G.
Entao
O lema acima mostra que GCFC e acclico.
fg
GCFC
e acclico.
visitados em ordem
Os componentes fortementes conexos sao
a GCFC !
com relacao
topologica
MC448 Analise
de Algoritmos
Corretude
MC448 Analise
de Algoritmos
Corretude
Lema 22.14 (CLRS):
Definicao:
finalizado.
MC448 Analise
de Algoritmos
de C C . Entao
caminho branco de de x a todo vertice
descendentes de x e
todos os vertices
de C C sao
portanto f (C ) < f [x] f (C).
serao
de C ser
descoberto. Isso mostra que f (C) > f (C ).
MC448 Analise
de Algoritmos
Corretude
Corretude
Corolario
22.15 (CLRS):
Sejam C e C dois componentes fortemente conexos de G.
Suponha que existe (u, v ) esta em E T onde u C e v C .
f (C) < f (C ).
Entao
Segue do fato de que G e GT terem os mesmos componentes
fortemente conexos e do lema anterior.
MC448 Analise
de Algoritmos
Corretude
MC448 Analise
de Algoritmos
Corretude
Prova: (CLRS)
no numero
Vamos provar por inducao
de arvores
produzidas
componentes
na linha 3 que os vertices
de cada arvore
sao
fortemente conexos.
Base: k = 0 (trivial)
as primeiras k arvores
Hipotese
de inducao:
produzidas na
componentes fortemente conexos.
linha 3 sao
MC448 Analise
de Algoritmos
considere a (k + 1)-esima
Passo de inducao:
arvore
produzida
MC448 Analise
de Algoritmos
Corretude
Pela hipotese
de inducao,
de
brancos. Assim, todos os vertices
C sao
de C tornam-se
de busca de GT .
descendentes de u na arvore
e pelo Corolario
Pela hipotese
de inducao
22.15, qualquer
aresta que sai de C so pode entrar em uma das k
componentes ja visitadas.
na arvore
de busca em
Logo, apenas os vertices
de C estao
profundidade de GT com raiz u.
MC448 Analise
de Algoritmos