Você está na página 1de 9

Introdução à Teoria dos Grafos

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]).

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

Exemplos Os fluxos de veículos autorizados a circular ao mesmo tempo podem se


fundir mas nunca se cruzar.
Os exemplos a seguir são apresentados por Cogis e Robert [1].
Como exemplo, consideraremos os fluxos AB, DB e DC que podem ser
Crossroads autorizados a circular ao mesmo tempo. Os fluxos AB, EC e DC
Devemos determinar um esquema de semáforos para o cruzamento também podem ser autorizados a circular ao mesmo tempo. Mas os
representado a seguir [1]. 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

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

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

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

É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.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Os responsáveis forneceram a lista dos alunos inscritos em suas


a avaliações em ordem alfabética das matérias a, b, c, …, i, j.
b
c
d Além disso, eles seguiram um esquema para marcar os dias de prova
e no qual “a primeira prova a ser analisada será a primeira com a data a
f
g ser definida”.
h
i
j
Seguindo este esquema, a organização das datas de provas é dada a
seguir.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

a dia 1 Mas esta é a melhor solução?


b dia 1 nenhum estudante em comum com a prova a
Podemos organizar uma sessão de exames em menos de 5 dias,
c dia 2 estudante 8 em comum com a prova b respeitando as restrições em que cada aluno deve fazer todas as
d dia 2 estudante 15 em comum com a prova a, nenhum com c provas nas quais ele está inscrito, e sem se submeter a mais de uma
e dia 3 estudante 16 em comum com a prova d, 20 com b prova por dia?
f dia 3 estudante 3 em comum com a prova c, 6 com a, nenhum com e
g dia 4 estudante 5 em comum com a prova b, 13 com f, 19 com d Os Estudantes Universitários
h dia 4 estudante 1 em comum com a prova c, 2 com a, 11 com e,
nenhum com g A seguir, um exemplo clássico em Teoria dos Grafos [1].
i dia 5 estudante 7 em comum com a prova d, 12 com h, 14 com f, Temos 2n estudantes universitários que saem para um passeio toda 4ª
e 17 com b feira à tarde, dois a dois em uma fila. Podemos organizar 2n – 1
j dia 5 estudante 4 em comum com a prova e, 9 com g, 10 com a, passeios de forma que um estudante nunca tenha duas vezes o mesmo
18 com c, nenhum com i vizinho?

2
Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

Crossroads Considerando a atribuição de uma cor para cada fase do semáforo,


cada solução do problema proposto significa atribuir a cada vértice do
No exemplo visto, os fluxos de veículos considerados são 13. grafo uma cor de forma que dois vértices adjacentes nunca possuam a
mesma cor.
Os fluxos dois a dois podem ser compatíveis ou não, isto é, podem
ocorrer ao mesmo tempo ou não. O grafo das incompatibilidades de Abaixo, uma coloração dos vértices do grafo. Claramente, existem
fluxos é dado abaixo. outras formas de coloração.
AC AC
DA BD DA BD
G G
ED ED
AB EC AB EC
DC DC
EA DB EA DB
BA BA
AD BC AD BC
EB EB

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

A coloração apresentada representa uma solução para o problema


G b
proposto. a c

É fácil ver que a solução apresentada é melhor do que uma atribuição


j d
utilizando 13 cores (uma para cada vértice). Contudo, podemos
apresentar uma solução utilizando menos de 4 cores?
i e

h f
Épocas de Provas Escritas g

Dois exames quaisquer que possuam um estudante matriculado em


Considerando que a atribuição de uma cor poderá especificar cada dia
comum não podem ocorrer no mesmo dia.
de exame, uma solução para o problema pode ser dada pela atribuição
Assim, temos o seguinte grafo de incompatibilidades entre os exames. de uma coloração aos vértices do grafo, de forma que vértices
adjacentes não possuam a mesma cor.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

Contudo, uma nova representação do mesmo grafo apresentada abaixo


G b
a c
mostra que a solução apresentada não é ótima quanto ao número de
dias, e que 2 dias são suficientes.
j d
G
i e a b

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.

i e Em alguns casos será conveniente numerar as cores de uma k-


coloração de 1 a k, ou simplesmente considerar que o conjunto das
h f cores é diretamente o conjunto { 1, 2, …, k }.
g
Podemos sempre atribuir uma coloração aos vértices de um grafo, visto
que é suficiente atribuir a cada vértice uma cor diferente.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

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.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

É 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.

Obs.: Se G’ é um subgrafo de G, então χ(G’ ) ≤ χ(G).


Encontrar o número cromático de um grafo não é uma tarefa
χ(Sn) = 2 χ(T) = 2
absolutamente trivial, mesmo para grafos relativamente pequenos.

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.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

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.

Desta forma, a coloração inicial não era ótima.


Problemas

Observamos que ∆(G) + 1 ≤ n. Crossroads

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.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

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

Chamamos de coloração gulosa uma coloração obtida pelo algoritmo


Coloração Gulosa
Coloração Gulosa apresentado a seguir.
Dados: Um grafo G com vértices x1, x2, …, xn e as cores 1, 2, …
Cada uma das n! maneiras de ordenarmos os vértices do grafo induz a para i = 1 até n faça
uma determinada coloração gulosa dos vértices do grafo.
atribuir ao vértice xi a menor cor não atribuída aos vértices
O termo “gulosa” é dado pelo fato de que a otimização segue uma x1, x2, …, xi – 1 que são adjacentes a xi
abordagem de análise local da situação, sem levar em consideração as retornar o conjunto de vértices com suas cores atribuidas
implicações futuras de tais escolhas puramente locais.
O algoritmo é apresentado a seguir.
Apresentaremos um primeiro exemplo, considerando-se um grafo
caminho P4 (com 4 vértices), mostrando que a coloração retornada pelo
algoritmo guloso não é necessariamente ótima.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

Coloração Gulosa Coloração Gulosa


Dados: Um grafo G com vértices x1, x2, …, xn e as cores 1, 2, … Dados: Um grafo G com vértices x1, x2, …, xn e as cores 1, 2, …
para i = 1 até n faça para i = 1 até n faça
atribuir ao vértice xi a menor cor não atribuída aos vértices atribuir ao vértice xi a menor cor não atribuída aos vértices
x1, x2, …, xi – 1 que são adjacentes a xi x1, x2, …, xi – 1 que são adjacentes a xi
retornar o conjunto de vértices com suas cores atribuidas retornar o conjunto de vértices com suas cores atribuidas

G G
1 3 2 1

x1 x4 x3 x2 x1 x4 x3 x2

Término do algoritmo.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

Coloração Gulosa Coloração Gulosa


Dados: Um grafo G com vértices x1, x2, …, xn e as cores 1, 2, … Dados: Um grafo G com vértices x1, x2, …, xn e as cores 1, 2, …
para i = 1 até n faça para i = 1 até n faça
atribuir ao vértice xi a menor cor não atribuída aos vértices atribuir ao vértice xi a menor cor não atribuída aos vértices
x1, x2, …, xi – 1 que são adjacentes a xi x1, x2, …, xi – 1 que são adjacentes a xi
retornar o conjunto de vértices com suas cores atribuidas retornar o conjunto de vértices com suas cores atribuidas

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.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

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.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

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.

Majoração do número cromático pelo maior grau

A majoração χ(G) ≤ ∆(G) + 1 do número cromático de um grafo em


função de seu grau máximo é a melhor possivel em geral pois temos a
igualdade para os grafos completos e para os ciclos ímpares.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

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.

Introdução à Teoria dos Grafos Introdução à Teoria dos Grafos

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.

Você também pode gostar