Escolar Documentos
Profissional Documentos
Cultura Documentos
Coloração
Em [2] são apresentadas aplicações da coloração de vértices, como a
definição de datas de exames universitários e coloração de mapas.
Introdução à Teoria dos Grafos Por [1], a coloração é um tema central em Teoria dos Grafos.
Poder atribuir uma coloração a um grafo, em vértices ou arestas,
satisfazendo determinados critérios, pode representar a resolução
muitos problemas.
Neste domínio, os problemas são enunciados facilmente, mas possuem
Instituto Multidisciplinar como consequencia um trabalho teórico extenso.
Universidade Federal Rural do Rio de Janeiro
Em particular, não é conhecido nehum método eficaz geral para a
obtenção de colorações (ver [1]).
C E C E
B A B A
Os fluxos de veículos autorizados a circular ao mesmo tempo podem se Os fluxos de veículos autorizados a circular ao mesmo tempo podem se
fundir mas nunca se cruzar. fundir mas nunca se cruzar.
Como exemplo, consideraremos os fluxos AB, DB e DC que podem ser Como exemplo, consideraremos os fluxos AB, DB e DC que podem ser
autorizados a circular ao mesmo tempo. Os fluxos AB, EC e DC autorizados a circular ao mesmo tempo. Os fluxos AB, EC e DC
também podem ser autorizados a circular ao mesmo tempo. Mas os também podem ser autorizados a circular ao mesmo tempo. Mas os
fluxos AB, DB, DC e EC não podem, visto que EC e DB se cruzam. fluxos AB, DB, DC e EC não podem, visto que EC e DB se cruzam.
D D
C E C E
B A B A
1
Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos
Os fluxos de veículos autorizados a circular ao mesmo tempo podem se Isto nos obriga a permitir tais fluxos apenas em tempos diferentes.
fundir mas nunca se cruzar.
A seguir, uma solução de fluxo do cruzamento em quatro tempos. Mas
Como exemplo, consideraremos os fluxos AB, DB e DC que podem ser será esta a melhor solução? O problema proposto é o de minimização
autorizados a circular ao mesmo tempo. Os fluxos AB, EC e DC do número de fases dos fluxos. Podemos organizar o fluxo em três
também podem ser autorizados a circular ao mesmo tempo. Mas os fases ou menos?
fluxos AB, DB, DC e EC não podem, visto que EC e DB se cruzam.
D D
DC, DB, e DA
C E C E
BC, BD, e EA
EC, EB, ED e BA
AB, AC e AD
B A B A
Época de Provas Escritas Podemos ver que para a prova da matéria d estão inscritos os alunos
de número 7, 15, 16 e 19. O estudante número 10 está inscrito nas
Uma sessão de provas escritas envolvendo dez matérias a, b, …, i, j, é matérias a e j.
aberta a vinte alunos, numerados de 1 a 20.
Foi determinado que cada estudante não deve se submeter a mais de
A tabela de inscrições é dada a seguir (ver [1]). uma prova por dia.
2
Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos
h f
Épocas de Provas Escritas g
c d
h f
g
e f
g h
A solução apresentada, obedecendo o esquema “a primeira prova a ser
i j
analisada será a primeira com a data a ser definida”, corresponde à
coloração mostrada acima.
3
Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos
Contudo, uma nova representação do mesmo grafo apresentada abaixo O problema Crossroads e o problema da Época de Exames Escritos
mostra que a solução apresentada não é ótima quanto ao número de são dois casos específicos de um mesmo problema [1].
dias, e que 2 dias são suficientes.
Chamamos de coloração de vértices de um grafo toda atribuição de cor
a cada um dos vértices do grafo.
G b
a c Uma coloração que utiliza k cores é dita uma k-coloração. Uma
coloração é válida quando dois vértices adjacentes possuem sempre
j d cores diferentes.
Tal coloração é válida e o número de cores utilizadas neste caso é a Observamos que se um grafo possui h componentes conexas, então
ordem do grafo. seu número cromático é o maior dos números cromáticos das h
componentes conexas.
A dificuldade aparece quando transformamos o problema em um
problema de otimização, ou seja, quando devemos determinar qual o Desta forma, o estudo do número cromático pode se restringir a grafos
menor número de cores necessárias para uma coloração válida dos conexos.
vértices do grafo.
O número cromático de um grafo completo com n vértices é n.
Dado um grafo G, chamamos número cromático de G o menor
número de cores necessárias para uma coloração válida de seus O número cromático de um ciclo de ordem par é 2. O número
vértices. cromático de um ciclo de ordem ímpar é 3.
Este número é denotado por χ(G). O número cromático de uma árvore de ordem n ≥ 2 é 2.
Chamamos de coloração ótima dos vértices de G toda coloração válida Este fato pode ser observado utilizando-se indução em n:
de seus vértices utilizando χ(G) cores.
É verdadeiro para n = 2.
Exemplos:
Iremos supor válido para toda árvore de ordem n – 1.
Se H é uma árvore de ordem n , com n > 2, então ela admite um
vértice x de grau 1 tal que H – x é uma árvore de ordem n – 1.
χ(Kn) = n χ(Cn) = 3 (n ímpar) χ(Cn) = 2 (n par)
Desta forma, H – x admite uma coloração válida com duas cores.
Se y é o vizinho de x em H, é suficiente atribuir a x a cor diferente
da cor de y. E a coloração de H assim obtida é válida.
4
Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos
Como exemplo está a determinação do número cromático do grafo Para todo grafo G de ordem n é fácil ver que χ(G) ≤ n.
abaixo.
Um outro limite superior é dado a seguir.
Propriedade Seja G um grafo qualquer e seja ∆(G) o grau máximo
de G. Então temos
χ(G) ≤ ∆(G) + 1.
Demonstração
Iremos mostrar que uma coloração válida de um grafo G utilizando k
cores (1, 2, 3, …, k) com k > ∆(G) + 1 não é uma coloração ótima.
Este grafo é devido a Chvatal. Possui 12 vértices, é 4-regular e não Suponha, por absurdo, que a coloração válida utilizando k cores seja
possui nenhum subgrafo completo de ordem superior a 2. ótima. E considere x um vértice colorido com a cor k.
Visto que seus vizinhos utilizam no máximo ∆(G) cores diferentes, pelo Se p vértices de G são dois a dois adjacentes, isto é, se o subgrafo
menos uma cor diferente de k não é utilizada por nenhum deles. que eles induzem é completo, então toda coloração válida de G irá
atribuir a eles p cores diferentes. (Ver Cogis e Robert [1].)
Podemos então colorir x com tal cor, preservando a validade da
coloração. Seja ω(G) o tamanho da maior clique de G.
Então podemos proceder da mesma forma para todos os vértices de G Assim, temos ω(G) ≤ χ(G).
coloridos com a cor k, e ao final obter uma coloração válida de G que
não utilize a cor k. Resumindo, temos ω(G) ≤ χ(G) ≤ ∆(G) + 1 ≤ n.
Podemos também obter um limite inferior para χ(G). Observamos que no grafo G das incompatibilidades de fluxos, os
vértices AC, BD, EB e DA são dois a dois adjacentes.
Além disso, o grafo G não possui um subgrafo completo com 5 Colorações Gulosas
vértices. (ou Colorações Gananciosas)
Assim, ω(G) = 4.
O argumento apresentado em [1] que estabelece que existe uma
Como ∆(G) = 5, temos 4 ≤ χ(G) ≤ 6.
coloração ótima não é construtivo.
A coloração proposta, utilizando 4 cores, é ótima.
O argumento se baseia no fato de que todo conjunto não vazio de
naturais possui um elemento mínimo, mas não diz como encontrar tal
Épocas de Provas Escritas elemento.
Para o grafo G das incompatibilidades entre exames, temos ω(G) = 2 Iremos agora abordar de outra forma o problema do cálculo de uma
e ∆(G) = 4. coloração válida dos vértices de um grafo além da coloração trivial,
Assim, temos 2 ≤ χ(G) ≤ 5. E a coloração apresentada utilizando 2 quando possível, mas sem garantias de ser ótima, não perdendo as
cores é ótima. cores utilizadas.
5
Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos
G G
1 3 2 1
x1 x4 x3 x2 x1 x4 x3 x2
Término do algoritmo.
x1 x4
G x x8
x5 9 x12
x10 x7
x6 x11
x3 x2
6
Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos
Observações
Coloração Gulosa
Dados: Um grafo G com vértices x1, x2, …, xn e as cores 1, 2, …
Uma coloração gulosa de G não necessariamente utiliza χ(G) cores.
para i = 1 até n faça
atribuir ao vértice xi a menor cor não atribuída aos vértices Dado um grafo G, podem existir colorações de seus vértices que não
x1, x2, …, xi – 1 que são adjacentes a xi são gulosas (alguns exemplos são dados em [1]).
retornar o conjunto de vértices com suas cores atribuidas Ao calcular uma coloração gulosa sobre a ordem x1, x2, …, xn , o
número da cor atribuída ao vértice xi , não pode exceder 1 + o número
x1 1 2 x4 de seus vizinhos de índice inferior a i, isto é, 1 + seu grau no subgrafo
G x9 x8
x5 4 3 x12
induzido pelos vértices já coloridos.
1
3 2 Em particular, nenhuma coloração gulosa pode usar mais de ∆(G) + 1
3
x10 2 1 x7 cores, o que nos permite escrever a desigualdade já estudada
x6 x11
Término do algoritmo. x3 2 1
x2 χ(G) ≤ ∆(G) + 1.
Sobre os problemas … Observamos que a coloração ótima com 2 cores é também uma
coloração gulosa. Ela é obtida a partir da ordem a c e g i b d f h j.
Crossroads Em cada um destes dois exemplos, pelo menos uma coloração gulosa
era ótima. De fato, o resultado é geral (ver Cogis e Robert [1]).
A coloração proposta, que já sabemos ser ótima, é uma coloração
gulosa para o grafo sem os vértices isolados. Ela é obtida na coloração
dos vértices considerando-se a ordem AC, AB, AD, BD, BC, EA, EC, Proposição Dado um grafo G, existe sempre pelo menos uma ordem
EB, DA, DB. sobre os vértices de G tal que a coloração gulosa calculada a partir
desta ordem é ótima.
Épocas de Provas Escritas
Demonstração Considere uma coloração válida de um grafo G
O calendário para 5 dias foi determinado pela coloração gulosa a partir utilizando k cores numeradas de 1 a k e seja Ci o conjunto dos
da ordem alfabética dos vértices, o que não foi uma boa estratégia. vértices de G aos quais atribuimos a cor i nesta coloração.
Escolha a ordem dos vértices de G de forma aleatória respeitando a Segue disto que a coloração gulosa utiliza um número de cores inferior
ordem sobre as classes Ci , isto é, tal que se 1 ≤ i ≤ j ≤ k , então todo ou igual a k.
vértice de cor i seja classificado antes de todo vértice de cor j.
Como resultado, qualquer coloração gulosa efetuada sobre uma ordem
Agora calculamos a coloração gulosa com esta ordem. dos vértices que respeite a ordem sobre as classes de uma coloração
ótima produzirá uma coloração ótima.
Iremos mostrar por indução em i que quando atribuimos uma cor a um
vértice x da classe Ci, esta cor só pode ser inferior ou igual a i.
Desta forma, calculando-se as colorações gulosas associadas a todas
De fato, seus vizinhos já coloridos podem pertencer apenas às classes as formas possíveis de ordenarmos os vértices de um grafo,
Cj com 1 ≤ j < i e são, por hipótese de indução, coloridos com uma garantidamente produzimos ao menos uma coloração ótima.
cor igual ou inferior a j.
Isto, infelizmente, não resolve nossos problemas eficientemente.
Cada vértice é então colorido de uma cor inferior ou igual a aquela
atribuida na coloração válida. Como exemplo, iremos considerar o grafo de Chvatal.
7
Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos
Visto que o grafo possui 12 vértices, existem 12! maneiras de Concluimos mencionando que encontrar uma ordem sobre os vértices
efetuarmos uma coloração gulosa. de um grafo de tal forma que a coloração gulosa associada seja ótima é
um problema que não podemos resolver de forma eficaz no caso geral.
E este número não é pequeno. (Ver crescimento da função fatorial.)
No entanto, a utilização da coloração gulosa é em algumas vezes
interessante para pequenos exemplos, e possui propriedades
G adequadas para uso em demonstrações, como como veremos
posteriormente.
Por outro lado, é menos evidente que tais grafos sejam os únicos para Conclusão
os quais o “+ 1” é necessário.
O problema do cálculo de uma coloração ótima aparece em muitas
Teorema (Brooks, 1941) Para todo grafo G conexo que não seja um aplicações.
grafo completo nem um ciclo ímpar, temos
Contudo, o conhecimento atual não nos permite propor uma solução
χ(G) ≤ ∆(G).
geral satisfatória eficientemente [1].
(Uma demonstração deste teorema é apresentada em [1].)
Na prática, temos o desenvolvimento de heurísticas mais ou menos
sofisticadas, conforme necessário. Adicionalmente, temos o
O teorema de Brooks nos permite desqualificar a solução de 5 dias aproveitamento de particularidades dos dados concretos, quando é
porposta inicialmente ao problema da Época das Provas Escritas. possível indentificá-las.
O grafo das incompatibilidades em tal exemplo não é completo nem um Em Teoria da Complexidade, mostramos que o problema geral do
ciclo ímpar, e possui grau máximo 4. Seu número cromático não pode cálculo do número cromático dos grafos é um problema NP-difícil.
portanto exceder este valor.
Como resumo de alguns elementos relativos ao problema da coloração A ordem de todos os subgrafos completos de um grafo é um limite
dos vértices de um grafo: inferior para o número cromático.
Existe uma coloração trivial que fornece um limite superior ao valor a Isto pode ser útil na prática, em alguns casos. Mas em geral, encontrar
ser minimizado (a ordem do grafo). um subgrafo completo de tamanho máximo é em si um problema difícil.
Existe uma majoração simples do número de cores necessárias a toda E não podemos estimar, em um tempo “razoável”, a diferença entre o
coloração ótima (o grau máximo dos vértices do grafo, eventualmente tamanho máximo de um subgrafo completo e o número cromático (ver
mais um); o grau máximo é calculável em um tempo “razoável”, isto é Cogis e Robert [1]).
em um tempo polinomial em função do tamanho dos dados de entrada.
Podemos calcular uma coloração gulosa em tempo polinomial. Se esta
coloração utiliza r cores, o número cromático é majorado por r.
Não podemos estimar em tempo polinomial a diferença entre r e o
número cromático.
8
Referências
[1] O. Cogis, C. Robert. Théorie des Graphes – Au-delà des Ponts de Königsberg –
Problèmes, Théorèmes, Algorithmes, Vuibert, 2003.
[2] D.B. West. Introduction to Graph Theory, Second Edition, Pearson Education, 2002.