Coloracao de grafos e suas aplicacoes
Atılio Gomes Luiz
V Workshop de Tecnologia da Informacao do Sertao CentralUniversidade Federal do Ceara – Campus Quixada
13 de maio 2015
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 1 / 49
Sumario
1) Introducao a coloracao de grafos
2) Historia
3) Aplicacoes
4) Algumas ideias e tentativas de solucao
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 2 / 49
O que e um grafo?
Estrutura matematica abstrata.
Formada por dois conjuntos:
conjunto de vertices (pontos);conjunto de arestas (arcos).
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 3 / 49
O que e um grafo?
Estrutura matematica abstrata.
Formada por dois conjuntos:
conjunto de vertices (pontos);conjunto de arestas (arcos).
Pode ser usado para modelar situacoes do mundo real:
vertices representam pessoas, maquinas, etc.arestas representam existencia de ligacao entre nos, distanciaentre os nos, etc.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 3 / 49
Coloracao de grafos
Um problema de coloracao em grafos consiste em atribuir cores acertos elementos do grafo sujeito a determinadas condicoes.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 4 / 49
Coloracao de grafos
Um problema de coloracao em grafos consiste em atribuir cores acertos elementos do grafo sujeito a determinadas condicoes.
Exemplo: coloracao propria de vertices.
v1
v2 v3
v4
v5
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 4 / 49
Origem da coloracao de grafos
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 5 / 49
Origem da coloracao de grafos
Francis Guthrie (1852): Qualquer mapa polıtico pode ser coloridocom no maximo quatro cores?
Francis Guthrie
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 6 / 49
Origem da coloracao de grafos
Frederick Guthriealuno de De Morgan
Augustus de MorganUniversidade de Londres
sir W. R. Hamiltonmatematico irlandes
Arthur CayleyCambridge University
Caso crıtico
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 7 / 49
Origem da coloracao de grafos
1852 - Francis Guthrie propoe o problema das 4 cores.
1879 - Kempe apresenta uma suposta “solucao”.
1880 - Tait, na tentativa de resolver o problema, inicia o estudo dacoloracao de arestas.
1890 - Heawood apresenta uma falha na demonstracao de Kempe eprova o Teorema das 5 cores.
Francis Guthrie P. J. Heawood A. B. Kempe P. G. Tait
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 8 / 49
Origem da coloracao de grafos
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 9 / 49
1977 - Appel e Haken resolvem o problema: Todo mapa no planopode ser colorido com no maximo 4 cores.
A demonstracao gerou um debate na matematica por envolver uso decomputadores.
Os autores definiram 1936 configuracoes que deveriam ser verificadaspor computador, usando aproximadamente 1200 horas decomputacao.
K. Appel e W. Haken
Mapas e Grafos
Um mapa no plano pode ser representado por um grafo chamado degrafo dual.
MA
CE
PB
BA
SE
AL
RN
PI
PE
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 10 / 49
Teorema das Quatro Cores
Teorema das Quatro Cores [Appel e Haken, 1977]
Todo grafo planar possui uma coloracao de vertices com no maximoquatro cores.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 11 / 49
Aplicacoes da coloracao de vertices
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 12 / 49
Separacao de produtos explosivos
Os vertices representam produtos quımicos necessarios em algumprocesso de producao.
Existe uma aresta ligando cada par de produtos que podemexplodir, se combinados.
O numero cromatico representa o numero mınimo decompartimentos para guardar estes produtos quımicos em seguranca.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 13 / 49
Atribuicao de frequencias de radio
Os vertices representam os transmissores das estacoes de radio.
Duas estacoes sao adjacentes quando suas areas de transmissao sesobrepoem, o que resultaria em interferencia se elas usassem amesma frequencia.
Cada cor contem estacoes que podem receber a mesma frequencia.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 14 / 49
Agendamento de provas na universidade
Queremos agendar os exames de uma universidade de modo queduas disciplinas com estudantes em comum nao tenham seusexames agendados para o mesmo horario?
Qual o numero mınimo de horarios necessarios para agendar osexames?
1
1
1
22
2
3
3
3
4
4
4
5
5
5
6
6
6
7
7
7
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 15 / 49
Alocacao de registradores
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 16 / 49
Sete variaveis ocorrem em um laco num programa de computador.Quantos diferentes registradores sao necessarios para armazenar essasvariaveis durante a execucao?
O numero cromatico representa o numero mınimo de registradoresnecessarios para evitar o problema de overswapping.
r
u
v
w
xy
z
r: 1 a 6
u: passo 2
v: de 2 a 4
w: 1, 3 e 5
x: 1 e 6
y: 3 a 6
z: 4 e 5
Alocacao de registradores
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 16 / 49
Sete variaveis ocorrem em um laco num programa de computador.Quantos diferentes registradores sao necessarios para armazenar essasvariaveis durante a execucao?
O numero cromatico representa o numero mınimo de registradoresnecessarios para evitar o problema de overswapping.
r
u
v
w
xy
z
r: 1 a 6
u: passo 2
v: de 2 a 4
w: 1, 3 e 5
x: 1 e 6
y: 3 a 6
z: 4 e 5
5 registradores
Sudoku
1
1
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
1
1
1
1
1
1
2
22
2
2
2
2
3
3
3
3
3
3
3
4
4
4
4
4
5
55
5
5
6
6
6
6
7
7
7
7
7
8
8
88
8
8
9
9
9
9
9
9
9
O sudoku e uma variacao da coloracao de vertices.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 17 / 49
Sudoku
1
1
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
1
1
1
1
1
1
2
22
2
2
2
2
3
3
3
3
3
3
3
4
4
4
4
4
5
55
5
5
6
6
6
6
7
7
7
7
7
8
8
88
8
8
9
9
9
9
9
9
9
O sudoku e uma variacao da coloracao de vertices.
Cada celula representa um vertice e existe uma aresta entre doisvertices se eles estao em uma mesma linha, mesma coluna ou nomesmo bloco.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 17 / 49
Semaforos
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 18 / 49
Existem oito pistas de trafego no cruzamento de duas ruas. Umsemaforo esta localizado na intersecao. Durante cada fase dosemaforo, somente os carros em pistas para as quais a luz esta verdepodem prosseguir com seguranca. Qual e o numero mınimo de fasesnecessarias de modo que, eventualmente, todos os carros possamprosseguir atraves do cruzamento?
Semaforos
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 18 / 49
Existem oito pistas de trafego no cruzamento de duas ruas. Umsemaforo esta localizado na intersecao. Durante cada fase dosemaforo, somente os carros em pistas para as quais a luz esta verdepodem prosseguir com seguranca. Qual e o numero mınimo de fasesnecessarias de modo que, eventualmente, todos os carros possamprosseguir atraves do cruzamento?
L1
L2
L3
L4
L5
L6
L7
L8
Semaforos
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 18 / 49
Existem oito pistas de trafego no cruzamento de duas ruas. Umsemaforo esta localizado na intersecao. Durante cada fase dosemaforo, somente os carros em pistas para as quais a luz esta verdepodem prosseguir com seguranca. Qual e o numero mınimo de fasesnecessarias de modo que, eventualmente, todos os carros possamprosseguir atraves do cruzamento?
L1
L2
L3
L4
L5
L6
L7
L8
O problema de coloracao mınima
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 19 / 49
Definicoes
Nao consideramos grafos com loops.
Nao consideramos grafos com arestas multiplas.
Considerados apenas grafos simples.
loop
arestas multiplas
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 20 / 49
Definicoes
Dado um grafo simples G e v um vertice de G :
grau(v): o numero de arestas incidentes em v .
grau(v1) = grau(v4) = 1
grau(v2) = grau(v3) = 3
grau(v5) = 2v1 v2 v3 v4
v5
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 21 / 49
Definicoes
Dado um grafo simples G e v um vertice de G :
grau(v): o numero de arestas incidentes em v .
grau(v1) = grau(v4) = 1
grau(v2) = grau(v3) = 3
grau(v5) = 2v1 v2 v3 v4
v5
∆(G) (Grau maximo de G): e o maior grau dentre todos os grausdos vertices de G .
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 21 / 49
Definicoes
Dado um grafo simples G e v um vertice de G :
grau(v): o numero de arestas incidentes em v .
grau(v1) = grau(v4) = 1
grau(v2) = grau(v3) = 3
grau(v5) = 2v1 v2 v3 v4
v5
∆(G) (Grau maximo de G): e o maior grau dentre todos os grausdos vertices de G .
Dois vertices que possuem uma aresta em comum sao ditosadjacentes.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 21 / 49
Definicoes
α(G) = 2
Conjunto independente: subconjunto de vertices de G que naopossuem arestas em comum.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 22 / 49
Definicoes
α(G) = 2
Conjunto independente: subconjunto de vertices de G que naopossuem arestas em comum.
α(G): tamanho do maior conjunto independente de G .
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 22 / 49
Definicoes
Grafo bipartido: seus vertices podem ser particionados em doisconjuntos independentes.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 23 / 49
Definicoes
Grafo bipartido: seus vertices podem ser particionados em doisconjuntos independentes.
Kn (Grafo completo com n vertices): quaisquer dois vertices saoligados por uma aresta.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 23 / 49
Numero cromatico de um grafo
Numero cromatico de um grafo G : o menor inteiro positivo k talque G possui uma k-coloracao propria de vertices.
Esse numero e representado por χ(G).
G1 G2
χ(G1) = 1
χ(G2) = 2
Grafo bipartido
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 24 / 49
Numero cromatico de um grafo
1
1
22
3v1
v2 v3
v4
v5
Grafo H
χ(H) ≤ 3.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 25 / 49
Numero cromatico de um grafo
1
1
22
3v1
v2 v3
v4
v5
Grafo H
χ(H) ≤ 3.
E possıvel colorir H com menos que tres cores?
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 25 / 49
Numero cromatico de um grafo
1
1
22
3v1
v2 v3
v4
v5
Grafo H
χ(H) ≤ 3.
E possıvel colorir H com menos que tres cores?
Como H contem um triangulo, temos que χ(H) ≥ 3.
Logo, χ(H) = 3.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 25 / 49
Grafos bipartidos
Teorema
Um grafo G e bipartido se e somente se ele nao contem ciclo ımpar.
11
1 2
22
22
3
33
3
v1v1
v2
v2
v3
v3 v4
v4
v5v5
v6
v7
χ(G) = 3 χ(G) = 3
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 26 / 49
Grafos bipartidos
Como checar se um grafo e bipartido?
a1
a2
a3
b1
b2
b3
A B
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 27 / 49
Algoritmo para checar se χ(G ) = 2
Algorithm 1 Algoritmo para checar se G e bipartido
Entrada: Grafo G . Vertice inicial v ∈ V (G ).
1: Comece com o vertice inicial v e pinte-o de AZUL.2: Pinte todos os vizinhos de v de VERMELHO.3: Continue a coloracao pintando os vizinhos dos vertices ja colori-
dos, usando ou o AZUL ou o VERMELHO. Ao atribuir cores, seencontrarmos um vizinho colorido com a mesma cor do verticeatual, entao o grafo nao pode ser colorido com duas cores.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 28 / 49
Ilustracao do algoritmo
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 29 / 49
Ilustracao do algoritmo
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 29 / 49
1
Ilustracao do algoritmo
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 29 / 49
1
2
3
4
Ilustracao do algoritmo
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 29 / 49
1
2
3
4
5
6
7
Ilustracao do algoritmo
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 29 / 49
1
2
3
4
5
6
78
9
10
Ilustracao do algoritmo
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 29 / 49
1
2
3
4
5
6
78
9
10
11
12
Ilustracao do algoritmo
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 29 / 49
1
2
3
4
5
6
78
9
10
11
12
13
14
15
Ilustracao do algoritmo
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 29 / 49
1
2
3
4
5
6
78
9
10
11
12
13
14
15
16
Limitantes inferiores para χ(G )
Ma notıcia: Ate hoje, nao se conhece nenhum bom algoritmopara checar se um grafo G possui χ(G) = k , para k ≥ 3.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 30 / 49
Limitantes inferiores para χ(G )
Ma notıcia: Ate hoje, nao se conhece nenhum bom algoritmopara checar se um grafo G possui χ(G) = k , para k ≥ 3.
Dado um grafo G , gostarıamos de determinar limitantes inferiores esuperiores para χ(G).
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 30 / 49
Limitantes inferiores para χ(G )
Ma notıcia: Ate hoje, nao se conhece nenhum bom algoritmopara checar se um grafo G possui χ(G) = k , para k ≥ 3.
Dado um grafo G , gostarıamos de determinar limitantes inferiores esuperiores para χ(G).
a1
a2
a3
a4
a5
a6
a7
χ(G) ≤ 4
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 30 / 49
Limitantes inferiores para χ(G )
Ma notıcia: Ate hoje, nao se conhece nenhum bom algoritmopara checar se um grafo G possui χ(G) = k , para k ≥ 3.
Dado um grafo G , gostarıamos de determinar limitantes inferiores esuperiores para χ(G).
a1
a2
a3
a4
a5
a6
a7
χ(G) ≤ 4
Limitante 1: Para todo grafo G , χ(G) ≥ ω(G).
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 30 / 49
Limitantes inferiores para χ(G )
Ma notıcia: Existe um grafo G sem triangulos e com numero cromaticoχ(G) = k , para todo k ≥ 1. [Mycielski, 1955]
χ(G) = 1 χ(G) = 2 χ(G) = 3 χ(G) = 4
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 31 / 49
Limitantes inferiores para χ(G )
Limitante 2
Se G e um grafo com n vertices, entao χ(G) ≥ nα(G) .
χ(G) ≥ nα(G) =
52 = 2.5 χ(G) ≥ n
α(G) =115 = 2.5
χ(G) = 3 χ(G) = 4
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 32 / 49
. . . e os algoritmos para colorir?
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 33 / 49
Complexidade da Coloracao de Vertices
(Garey e Johnson, 1974): O problema de achar o numerocromatico de um grafo e NP-difıcil.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 34 / 49
Algoritmo de forca bruta
Seja G um grafo simples com n vertices.
kkkkkk = kn
v1 v2 v3 v4 v5 vn
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 35 / 49
Algoritmo de forca bruta
Seja G um grafo simples com n vertices.
kkkkkk = kn
v1 v2 v3 v4 v5 vn
O algoritmo de forca bruta busca por uma k-coloracao de G
considerando cada uma das kn atribuicoes possıveis e checa se cadauma delas e correta.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 35 / 49
Algoritmo de forca bruta
Seja G um grafo simples com n vertices.
kkkkkk = kn
v1 v2 v3 v4 v5 vn
O algoritmo de forca bruta busca por uma k-coloracao de G
considerando cada uma das kn atribuicoes possıveis e checa se cadauma delas e correta.
Para calcular χ(G), este procedimento e testado parak = 1, . . . , n − 1.
=⇒ Computacionalmente inviavel para grandes instancias.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 35 / 49
Algoritmo guloso
Algoritmo guloso e aquele que sempre realiza a escolha que pareceser a melhor no momento, fazendo uma escolha otima local, naesperanca de que esta escolha leve ate a solucao otima global.
– Ele nunca volta atras.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 36 / 49
Algoritmo guloso
Algoritmo guloso e aquele que sempre realiza a escolha que pareceser a melhor no momento, fazendo uma escolha otima local, naesperanca de que esta escolha leve ate a solucao otima global.
– Ele nunca volta atras.
“Como na vida real, algoritmos gulosos, algumas vezes podem levar a
melhor solucao, outras vezes podem levar a solucoes muito boas, e outras
vezes levar a solucoes ruins. O truque e determinar quando ser
ganancioso”— Ian Parberry, Problems on Algorithms.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 36 / 49
Algoritmo guloso
Algorithm 2 Algoritmo Guloso para coloracao de vertices
Input: Vertices de G listados em ordem v1, v2, . . . , vn.Conjunto de cores disponıveis C = {1, 2, . . . , n}.
Output: Uma coloracao propria dos vertices de G .
1: for i := 1 to n do2: O vertice vi recebe a menor cor disponıvel que ainda nao foi
atribuıda a nenhum de seus vizinhos ja coloridos.
3: end for
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 37 / 49
Algoritmo guloso
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 38 / 49
v1
v2 v3
v4 v5
v6 v7
v8
C = {1, 2, . . . , 8}
Algoritmo guloso
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 38 / 49
1
v1
v2 v3
v4 v5
v6 v7
v8
C = {1, 2, . . . , 8}
Algoritmo guloso
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 38 / 49
1
2
v1
v2 v3
v4 v5
v6 v7
v8
C = {1, 2, . . . , 8}
Algoritmo guloso
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 38 / 49
1
1
2
v1
v2 v3
v4 v5
v6 v7
v8
C = {1, 2, . . . , 8}
Algoritmo guloso
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 38 / 49
1
1
2
3
v1
v2 v3
v4 v5
v6 v7
v8
C = {1, 2, . . . , 8}
Algoritmo guloso
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 38 / 49
1
1 2
2
3
v1
v2 v3
v4 v5
v6 v7
v8
C = {1, 2, . . . , 8}
Algoritmo guloso
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 38 / 49
1
1 2
2
3
4
v1
v2 v3
v4 v5
v6 v7
v8
C = {1, 2, . . . , 8}
Algoritmo guloso
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 38 / 49
1
1 2
2 3
3
4
v1
v2 v3
v4 v5
v6 v7
v8
C = {1, 2, . . . , 8}
Algoritmo guloso
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 38 / 49
1
1 2
2 3
3
4
5
v1
v2 v3
v4 v5
v6 v7
v8
C = {1, 2, . . . , 8}
Algoritmo guloso
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 38 / 49
1
1 2
2 3
3
4
5
v1
v2 v3
v4 v5
v6 v7
v8
C = {1, 2, . . . , 8}
Temos que χ(G) = 2, mas o algoritmo guloso de coloracao usou 5 cores.
Algoritmo guloso – Limitante superior
Teorema
Para todo grafo G , χ(G) ≤ ∆(G) + 1.
Demonstracao:
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 39 / 49
Algoritmo guloso – Limitante superior
Teorema
Para todo grafo G , χ(G) ≤ ∆(G) + 1.
Demonstracao:
Suponha que os vertices de G sejam listados na ordem v1, v2, . . . , vne que o algoritmo guloso e aplicado.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 39 / 49
Algoritmo guloso – Limitante superior
Teorema
Para todo grafo G , χ(G) ≤ ∆(G) + 1.
Demonstracao:
Suponha que os vertices de G sejam listados na ordem v1, v2, . . . , vne que o algoritmo guloso e aplicado.
1 2 3 ∆(G) ∆(G) + 1
vi
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 39 / 49
Algoritmo guloso – Limitante superior
Teorema
Para todo grafo G , χ(G) ≤ ∆(G) + 1.
Demonstracao:
Suponha que os vertices de G sejam listados na ordem v1, v2, . . . , vne que o algoritmo guloso e aplicado.
1 2 3 ∆(G) ∆(G) + 1
vi
Na i-esima iteracao do laco, ao colorir o vertice vi , no maximo∆(G) cores terao sido utilizadas para colorir seus vizinhos. Se estefor o caso, entao escolhemos uma cor adicional para colorir vi .Deste modo, teremos utilizados ∆(G) + 1 cores para colorir G .
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 39 / 49
Heurıstica
Heurıstica e um metodo ou processo criado com o objetivo deencontrar solucoes para um problema. E um procedimentosimplificador que, em face de questoes difıceis, envolve asubstituicao destas por outras de resolucao mais facil a fim deencontrar respostas viaveis, ainda que imperfeitas.
Muitas heurısticas para coloracao de vertices se baseiam na intuicaode que um vertice de maior grau sera mais difıcil de colorir maistarde do que um de menor grau.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 40 / 49
Heurıstica
Algorithm 3 Algoritmo de Welsh-Powell
Input: Grafo G com n vertices v1, v2, . . . , vn.Output: Uma coloracao propria dos vertices de G .
1: Calcule o grau de cada vertice de G .
2: Liste os vertices em ordem decrescente de grau.
3: Associe a cor 1 ao primeiro vertice da lista e ao proximo verticeda lista nao adjacente a ele, e sucessivamente para cada no dalista nao adjacente a um no com a cor 1.
4: Associe a cor 2 ao proximo vertice da lista ainda sem cor. Su-cessivamente associe a cor 2 para o proximo vertice da lista naoadjacente aos vertices com cor 2 e que ainda nao esta colorido.
5: Continue esse processo ate que todos os vertices sejam coloridos.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 41 / 49
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
a
b
c
d
e
f
g
h
Ordenacao dos vertices
Passo 1: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
1
a
b
c
d
e
f
g
h
Ordenacao dos vertices
Passo 1: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
1
1
a
b
c
d
e
f
g
h
Ordenacao dos vertices
Passo 1: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
1
1
a
b
c
d
e
f
g
h
Ordenacao dos vertices
Passo 1: b e c d g f a h
Passo 2: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
1
1
2
a
b
c
d
e
f
g
h
Ordenacao dos vertices
Passo 1: b e c d g f a h
Passo 2: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
1
1
2
2
a
b
c
d
e
f
g
h
Ordenacao dos vertices
Passo 1: b e c d g f a h
Passo 2: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
1
1
2
2
2
a
b
c
d
e
f
g
h
Ordenacao dos vertices
Passo 1: b e c d g f a h
Passo 2: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
1
1
2
2
2
2
a
b
c
d
e
f
g
h
Ordenacao dos vertices
Passo 1: b e c d g f a h
Passo 2: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
1
1
2
2
2
2
a
b
c
d
e
f
g
h
Ordenacao dos vertices
Passo 1: b e c d g f a h
Passo 2: b e c d g f a h
Passo 3: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
1
1
2
2
2
2
3
a
b
c
d
e
f
g
h
Ordenacao dos vertices
Passo 1: b e c d g f a h
Passo 2: b e c d g f a h
Passo 3: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
1
1
2
2
2
2
3
3
a
b
c
d
e
f
g
h
Ordenacao dos vertices
Passo 1: b e c d g f a h
Passo 2: b e c d g f a h
Passo 3: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 42 / 49
Exemplo de uma instancia e uma ordenacao ruim:
1
1
2
2
2
2
3
3
a
b
c
d
e
f
g
h
Ordenacao dos vertices
No entanto, χ(G) = 2,
pois G nao possui ciclo ımpar
Passo 1: b e c d g f a h
Passo 2: b e c d g f a h
Passo 3: b e c d g f a h
Execucao do Algoritmo de Welsh-Powell (2)
C2r+1 Ks
grau(v) = 2 + s grau(v) = (2r + 1) + (s − 1) = 2r + s
χ(G) = 3 + s
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 43 / 49
Limitantes superiores para χ(G )
A partir do algoritmo de Welsh-Powell tambem e possıvel provar que:
χ(G) ≤ ∆(G) + 1.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 44 / 49
Limitantes superiores para χ(G )
A partir do algoritmo de Welsh-Powell tambem e possıvel provar que:
χ(G) ≤ ∆(G) + 1.
Teorema [Brooks, 1941]
Se G e um grafo conexo que nao e um grafo completo e nem um cicloımpar, entao χ(G) ≤ ∆(G).
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 44 / 49
Conclusao
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 45 / 49
Conclusao
1) Coloracao de vertices de um grafo surgiu em 1852 a partir de umproblema de coloracao de mapas.
2) Coloracao de vertices possui diversas aplicacoes praticas.
3) Nao existem algoritmos eficientes que garantam uma coloracaomınima para grafos arbitrarios.
– Algoritmo guloso.– Algoritmo de Welsh-Powell.
4) Coloracao de Grafos e uma area de pesquisa muito ativa em Teoriados Grafos.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 46 / 49
Referencias
[1] Gary Chartrand and Ping Zhang.Chromatic Graph Theory.Chapman & Hall/CRC, 1st edition, 2008.
[2] Douglas B. West.Introduction to Graph Theory.Prentice Hall, 2 edition, September 2000.
[3] John-Adrian Bondy and U. S. R. Murty.Graph theory.Graduate texts in mathematics.Springer, New York, London, 2007.OHX.
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 47 / 49
Referencias
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 48 / 49
[4] Robert Sedgewick.Algorithms in C++. Part 5. , Graph algorithms.Addison-Wesley, 2001, Boston, San Francisco, Paris, 2002.
Obrigado
Agradecimentos
Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 49 / 49
Top Related