At´ılio Gomes Luiz - INSTITUTO DE COMPUTAÇÃOatilio/slidesWtisc.pdf · 1880 - Tait, na tentativa...

Post on 14-Mar-2020

8 views 0 download

Transcript of At´ılio Gomes Luiz - INSTITUTO DE COMPUTAÇÃOatilio/slidesWtisc.pdf · 1880 - Tait, na tentativa...

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

Contatogomes.atilio@gmail.com

Agradecimentos

Atılio Gomes Luiz Coloracao de grafos e suas aplicacoes 49 / 49