Você está na página 1de 30

COLORAO DE GRAFOS

Prof. M.Sc. Fbio Francisco da Costa Fontes


Maio - 2009
Introduo
O estudo de colorao de grafos nasceu
quando Francis Guthrie percebeu que era
possvel colorir o mapa da Inglaterra usando
apenas 4 cores
A pergunta que surgiu foi se 4 cores eram
suficientes para colorir qualquer
decomposio do plano em regies
Em 1976, usando grafos, Haken e Appel
mostram que a resposta era afirmativa
Colorao de Vrtices
No tipo mais comum de colorao de grafos,
as cores so atribudas aos vrtices
Colorao de Vrtices
Do ponto de vista matemtico, o subconjunto
de vrtices com uma mesma cor
considerado uma partio de vrtices
w
x
y q
p
s
v
z
r
u
o
t
V
a
= {v,z,x,r,u} V
b
= {w,y,q,p,o} V
c
={s,t}

Colorao de Vrtices
Desenhar o grafo com cores nos vrtices
apenas um forma intuitiva de representar
esta partio
w
x
y q
p
s
v
z
r
u
o
t
V
a
= {v,z,x,r,u} V
b
= {w,y,q,p,o} V
c
={s,t}

Colorao de Vrtices
Podemos assumir que todos os grafos,
para fins de colorao, so simples e
conectados, j que arestas mltiplas e
vrtices isolados so irrelevantes para
colorao de vrtices

O Problema da Minimizao
Muitas aplicaes envolvendo colorao de
vrtices esto interessadas no nmero
mnimo de cores para colorir um grafo, de tal
forma que vrtices adjacentes no possuam
a mesma cor
O Problema da Minimizao
Definio: uma k-colorao de vrtice
uma atribuio f: V
G
C do conjunto de
vrtices do grafo no conjunto C={1,...,k}
cujos elementos so cores
3-colorao
C={amarelo, verde, vermelho}
O Problema da Minimizao
Definio: uma classe de cores em uma
colorao de um grafo G um subconjunto
de V
G
contendo todos os vrtice de uma
nica cor
classe de cor amarela = {v,z,x,r,u}
w
x
y q
p
s
v
z
r
u
o
t
O Problema da Minimizao
Definio: uma colorao prpria dos vrtices
de um grafo uma colorao de vrtices tal
que aos vrtices (pontos finais) de cada
aresta so atribudas cores diferentes
w
x
y q
p
s
v
z
r
u
o
t
O Problema da Minimizao
Definio: um grafo dito ser
k-colorvel (k-colorvel) se ele tem uma
colorao prpria de vrtices que usa k
cores.
Dizemos que G k-colorvel se podemos
atribuir uma das k cores para colorir G

w
x
y q
s
v
z
u
p
t
r
o
4-colorvel
O Problema da Minimizao
Definio: o nmero cromtico de um
grafo G, denotado crom(G), o menor
nmero de cores diferentes necessrias para
obter uma colorao prpria de G
w
x
y q
s
v
z
u
p
t
r
o
crom(G) = 3
Est claro que crom(K
n
) = n , ento existem grafos com
nmero cromtico arbitrariamente grande

K
4

crom(K
4
) = 4
K
6

crom(K
6
) = 6
Colorao de Vrtices
crom(G) = 1 se e somente se G um grafo nulo. E
crom(G) = 2 se e somente se G um grafo bipartido
no nulo

N
4

crom(N
4
) = 1
K
3,3

crom(K
3,3
) = 2
1
4
3
2
Colorao de Vrtices
Colorao de Vrtices
Teorema das 4 cores (Appel e Haken,
1976)

O nmero cromtico de um grafo planar no
maior que 4
Aplicaes da Colorao
Quando uma aplicao modelada como um
problema de colorao de vrtices, os
vrtices em cada classe de cores
representam indivduos ou itens que no
competem ou conflitam entre si
Atribuio de freqncias de rdio
Separao de produtos explosivos
Agendamento de cursos na universidade
Alocao de registros para programao
Aplicaes da Colorao
Atribuio de freqncias de rdio:
Os vrtices representam os transmissores das
estaes de rdio
Duas estaes so adjacentes quando suas
reas de transmisso se sobrepem, o que
resultaria em interferncia se elas usassem a
mesma freqncia
Cada cor contm estaes que podem receber
a mesma freqncia
crom(G) o nmero mnimo de freqncias
Aplicaes da Colorao
Separao de produtos explosivos:
Os vrtices representam produtos qumicos
necessrios em algum processo de produo
Existe uma aresta ligando cada par de
produtos que podem explodir, se combinados
O nmero cromtico representa o nmero
mnimo de compartimentos para guardar estes
produtos qumicos em segurana
Aplicaes da Colorao
Agendamento de cursos na universidade:
Os vrtices representam os cursos de uma
universidade
Dois cursos so adjacentes se um aluno se
matricula para ambos os cursos
O nmero cromtico representa o nmero
mnimo de horrios necessrios para
acomodar os cursos
Aplicaes da Colorao
Alocao de registradores para programao:
Os vrtices representam as variveis a serem
alocadas nos registradores de execuo rpida
Duas variveis so adjacentes se elas podem
estar ativas ao mesmo tempo
O nmero cromtico representa o nmero
mnimo de registradores necessrios para
evitar o problema de overswapping
Algoritmo de Colorao
O algoritmo abaixo produz rapidamente uma
colorao prpria para qualquer grafo:
Entrada: um grafo G com lista de vrtices v
1
, v
2
, ..., v
p

Sada: uma colorao prpria de vrtices f: V
G
{1,2, ...}

Algoritmo: Colorao Seqencial de Vrtices

para i = 1 at p
Seja f(v
i
) = o menor nmero de cor no usado nos
vizinhos de menor ndice de v
i

retorne colorao de vrtices f
Algoritmo de Colorao
Aplicando o algoritmo ao exemplo abaixo
tem-se um grafo 4-colorvel:
2
3
8
6
1
9
5 4
7
0
1
2
3
4
Algoritmo de Colorao
Porm o grafo exemplo 3-colorvel:
2
3
8
6
1
9
5 4
7
0
1
2
3
Algoritmo de Colorao
O algoritmo de colorao seqencial no
obtm a colorao mnima
Nenhum algoritmo de tempo polinomial pode
obter a colorao mnima pois o problema de
achar o nmero cromtico de um grafo NP-
difcil
Alm disso, decidir se um grafo 3-colorvel
um problema NP-completo
Heursticas para Colorao
Muitas heursticas para colorao de vrtices
se baseiam na intuio de que um vrtice de
maior grau ser mais difcil de colorir mais
tarde do que um de menor grau
2
3
8
6
1
9
5 4
7
0
Heursticas para Colorao
Entrada: um grafo G com n vrtices


Sada: uma colorao de vrtices f

Algoritmo: Maior Grau Primeiro

enquanto existir vrtices no coloridos em G
Entre os vrtices sem cor de maior grau,
escolha o vrtice v com o maior grau de colorao

Atribua a menor cor k possvel para o vrtice v: f(v)=k


retorne a colorao de vrtices f




Grau de colorao o nmero de cores diferentes usadas para
os vrtices coloridos adjacentes de v
Heursticas para Colorao
Ordem decrescente de grau:
v
1
(5)
, v
3
(5)
, v
9
(5)
, v
2
(4)
, v
5
(4)
, v
4
(3)
, v
6
(3)
, v
7
(3)
, v
8
(3)
, v
10
(3)

2
3
8
6
1
9
5 4
7
0
1
2
3
Colorao com Pesos
No problema de agendamento de cursos na
universidade, suponha que sempre existiro
conflitos
Representando nas arestas o nmero de
estudantes que fazem os dois cursos como
um peso da aresta
O objetivo achar uma k-colorao que
minimize o peso total das arestas que ligam
vrtices de mesma cor
Exerccio
1. Utilize o algoritmo heurstico para calcular o
nmero de freqncias necessrias para
evitar interferncia entre as estaes de
rdio. Duas estaes interferem se eles esto
a menos de 100 km.
B C D E F G
A 55 110 108 60 150 88
B 87 142 133 98 139
C 77 91 85 93
D 75 114 82
E 107 41
F 123
Exerccio
1. Aplique o algoritmo de colorao seqencial
e a heurstica maior grau primeiro ao grafo
abaixo:

8
3
2 6
1 5
4
7