Projeto e Análise de Algoritmos - PUC-Rio

Propaganda
Projeto e Análise de
Algoritmos
Prof. Ruy Luiz Milidiú
5/5/2014
Ruy Luiz Milidiú
1
Backtracking
5/5/2014
Ruy Luiz Milidiú
2
Resumo
 Objetivo
Apresentar e analisar um algoritmo para determinar
se um grafo é k-colorível
 Sumário
 Colorabilidade de grafos
 Algoritmo por caminhamento em profundidade
 Análise de pior caso
5/5/2014
Ruy Luiz Milidiú
3
Coloração
2
1
5
4
2
4
5
1
3
2
5
3
3
4
2
5/5/2014
Ruy Luiz Milidiú
1
4
Coloração de Grafos
 G = (V,E)
grafo não dirigido |V|=n
 C = { 1, 2, … , k } conjunto de cores
(x1, x2, … , xn)Cn é uma coloração de G

{u,v}  E
5/5/2014
então
Ruy Luiz Milidiú
xu  xv
5
k-colorabilidade
Entrada
 G = (V,E) grafo não dirigido
k
inteiro
k  |V|
Saída
 Existe uma k-coloração de G ?
(Sim ou Não)
5/5/2014
Ruy Luiz Milidiú
6
k-colorabilidade
Polinomial
NP-Completo
 k=2
 k3
 comparability graphs
 chordal graphs
 grau(v)  3
5/5/2014
 circle graphs
 circular graphs
 k =3 , grau(v)  4
 k=3, planar, grau(v)  5
Ruy Luiz Milidiú
7
Número cromático
 (G)  menor número de cores suficientes
para gerar uma coloração de G
 Grafos Planares
 5 cores são suficientes
 alguns planares exigem 4 cores
 nenhum planar conhecido requer 5 cores
G é planar então (G)  4
Obs.: planaridade pode ser testada em O(m+n)
5/5/2014
Ruy Luiz Milidiú
8
 Pratico, Cícero e Heitor
5/5/2014
Ruy Luiz Milidiú
9
Exemplo
5/5/2014
1
2
4
3
Ruy Luiz Milidiú
10
Espaço de estados
 3 cores k=3
 grafo com 4 nós n=4
2
1
2
1 2
3
3
1 2
2
1
3
1 2
3
1 2
x1
3
3
3
1 2
2
x2
1 2
x33
1
3
1 2
3
x4
5/5/2014
Ruy Luiz Milidiú
11
Exemplo
2
1
1
2
4
3
?
5/5/2014
Ruy Luiz Milidiú
12
Árvore de respostas
 3 cores k=3
x1
x4
2
1
x2
x3
 grafo com 4 nós n=4
2
1
2
5/5/2014
3
3
3
1 2
2
2 3
3
3
1
2
3
1
3
3 1
2
1
31 3
Ruy Luiz Milidiú
2
1
2
1
3
12
1
2
3
1 2
13
Análise
 Número total de nós internos
1 + k + k2 + … + kn-1 = ( kn – 1 ) / ( k-1 )
 Esforço por nó na geração das cores
válidas
para cada cor
O(k.n)
 Esforço total
examina vértices adjancentes
O(n. kn)
5/5/2014
Ruy Luiz Milidiú
14
Download