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: