89
Otimização Combinatória Guilherme Zanardo Borduchi Hugo Armando Gualdron Colmenares Tiago Moreira Trocoli da Cunha 8937458 8429020 8531417 O Problema da 3- Coloração de Grafos Prof.ª Marina Andretta

O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Otimização Combinatória

Guilherme Zanardo BorduchiHugo Armando Gualdron Colmenares

Tiago Moreira Trocoli da Cunha

893745884290208531417

O Problema da 3-Coloração de Grafos

Prof.ª Marina Andretta

Page 2: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Introdução ao Problema

Problema das Três Cores

- Seja um grafo G(V,E).

- Objetivo: Colorir os vértices do grafo com somente 3 cores tal que nenhum vértice adjacente tenha cores iguais.

Page 3: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmos de Aproximação

Solução exata:- Máximo de cores: 3

Algoritmo de Jonhson- Máximo de cores: O(n/log(n))

Algoritmo de Wigderson- Máximo de cores: O(√n)

Page 4: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

- Seja um grafo G(V,E) uma instância.

Prova NP

e1

e1

em

. . .

c(v1) ≠ c(u1) ?

c(v2) ≠ c(u2) ?

c(vn) ≠ c(un) ?

Pergunta

Pergunta

Pergunta

. . .

G

Satisfeito

Verdadeiro

Verdadeiro

Verda

deiro

Falso

Falso

Falso

Não Satisfeito

Page 5: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

Redução do 3-SAT para 3-Coloração.

- Seja φ uma instância do 3-SAT, com variáveis x1,x2...xn e cláusulas C1, C2… Cm.

Page 6: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

3-SAT

3-Coloração

Redução

O que fazer?

2 valores

3 valores

Parte 1

Page 7: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

x1 x1’ x2 x2’ xn xn’

B

F T

. . .

Page 8: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

- Como os vértices das variáveis não podem ser iguais a cor BASE, então só podem ser coloridas com TRUE e FALSE.

Page 9: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

Ci Gi

x1=x2=x3=F

x1=T oux2=T oux3=T

Associação

FalsoNão é 3-Colorável

Verdadeiro 3-Colorável

Parte 2

Page 10: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

Exemplo: x1 ∨ x2’ ∨ x3

x1 T x3

x2’

F

Page 11: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

x1 T x3

x2’

F

Page 12: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

x1

B

T

B

x3

Bx2’

F

Page 13: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

x1

B

F

T

B

x3

B

T

x2’

F

Page 14: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

x1

B

F

T

B

x3

B

T

x2’

?

F

Page 15: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

Exemplo

x1 T x3

x2’

F

Page 16: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

x1 T

B

x3

Bx2’

F

Exemplo

Page 17: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

x1 T

B

x3

B

T

x2’

F

Exemplo

Page 18: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

x1 T

B

x3

B

T

x2’

F

F

Exemplo

Page 19: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

x1

B

T

B

x3

B

T

x2’

F

F

Exemplo

Page 20: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

x1

F

B

T

B

x3

B

T

x2’

F

F

Exemplo

Page 21: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

x1 x1’ x2 x2’ xn xn’

B

F T

. . .

G1 G2 Gm. . .

Page 22: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

C1

C2

Cm

. . .

G1

G2

Gm

. . .

- Se a instância φ é satisfeita para uma dada valoração, então o grafo G é 3-colorável.

φ

Satisfeita

Satisfeita

Satisfeita

Satisfeita

3-colorável

3-colorável

3-colorável

G

3-colorável

Page 23: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova NP-Completo

- Se o grafo G é 3-colorável, então a instância φ é satisfeita.

G1

G2

Gm

. . .

C1

C2

Cm

. . .

G

Satisfeita

3-colorável

3-colorável

3-colorável

φ

3-colorável

Satisfeita

Satisfeita

Satisfeita

Page 24: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Johnson

O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para o problema de coloração de grafos. Trata-se de um algoritmo guloso, cuja garantia de aproximação é de O(n/log(n)) cores, para um grafo G qualquer com n vértices.

Page 25: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Johnson

- O algoritmo funciona encontrando conjuntos independentes no grafo.

- Conjunto independente: conjunto de vértices em um grafo, tais que estes não possuam nenhuma aresta em comum.

- Cada vértice de um conjunto independente terá a mesma cor. Cada conjunto independente distinto possuirá uma cor distinta.

Page 26: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Johnson(G):

Page 27: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

Algoritmo de Johnson

Instância de exemplo

Page 28: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 0

i ← 1U ← V

12

4

67

3

5

8

90

U W

U ≠ Ø? SimW ← U

Algoritmo de Johnson

Page 29: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 0

W ≠ Ø? SimObter o vértice de menor grau no subgrafo induzido por W

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Page 30: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

Colorir v com a cor i

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Page 31: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

W ← W - {v} - N(v)U ← U - {v}

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Page 32: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

W ≠ Ø? SimObter o vértice de menor grau no subgrafo induzido por W

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Page 33: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

Colorir v com a cor i

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Page 34: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

W ← W - {v} - N(v)U ← U - {v}

Page 35: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

W ≠ Ø? SimObter o vértice de menor grau no subgrafo induzido por W

Page 36: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Colorir v com a cor i

Page 37: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

W ← W - {v} - N(v)U ← U - {v}

Page 38: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

W ≠ Ø? SimObter o vértice de menor grau no subgrafo induzido por W

Page 39: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Colorir v com a cor i

Page 40: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

W ← W - {v} - N(v)U ← U - {v}

Page 41: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

Por último...

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Page 42: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 1 Cores: 1

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

W ← W - {v} - N(v)U ← U - {v}

Page 43: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 2 Cores: 1

W ≠ Ø? Nãoi ← i + 1

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Page 44: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 2 Cores: 1

U ≠ Ø? SimW ← U

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Page 45: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 2 Cores: 1

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

W ≠ Ø? SimObter o vértice de menor grau no subgrafo induzido por W

Page 46: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 2 Cores: 2

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Colorir v com a cor i

Page 47: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 2 Cores: 2

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

W ← W - {v} - N(v)U ← U - {v}

Page 48: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 2 Cores: 2

Continuando para esse W...

12

4

67

3

5

8

90

U W

Algoritmo de Johnson

Page 49: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

12

4

67

3

5

8

90

i = 3 Cores: 3

Terminando a execução...

U

Algoritmo de Johnson

Page 50: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Johnson

Teorema 3.1: Um grafo k-colorável possui um conjunto independente σ de tamanho ⌈|V|/k⌉.

Teorema 3.2: Cada vértice v do conjunto independente σ possui |N(v)| ≤ V - ⌈|V|/k⌉ vizinhos.

Page 51: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Johnson(G):

Page 52: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Johnson

Seja H este subgrafo, de forma que W seja o conjunto de vértices de H.

Como H é subgrafo de um grafo k-colorável, H também é k-colorável.

Page 53: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Johnson

Dos teoremas 3.1 e 3.2, temos que H possui um conjunto independente de tamanho pelo menos

|W|/k,sendo que cada vértice neste conjunto possui grau no máximo

|W| - |W|/k = |W|(k-1)/k

Logo, o grau mínimo de H é no máximo |W|(k-1)/k, e assim, pelo menos

|W| - |W|(k-1)/k = |W|/kvértices estarão em W no começo da próxima iteração.

Page 54: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Johnson

O laço interno só termina quando W fica vazio, assim, pelo menos ⌈logk|W|⌉ iterações devem ser executadas:

Iteração 0: |W|Iteração 1: |W|/k

Iteração 2: |W|/k/k = |W|/k2

Iteração 3: |W|/k3

…Iteração n: |W|/kn = 1

Para kn = |W|, precisamos de n = logk|W| iterações.

Page 55: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Johnson

Deste modo, no final do laço interno, teremos|{v | v ∊ W ∧ cor(v) = i}| ≥ ⌈logk|W|⌉.

Ou seja, o número de vértices coloridos com a cor i será pelo menos ⌈logk|U|⌉, sendo U o conjunto de vértices sem cor

antes do começo do laço.

Page 56: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Johnson

Para completar a prova, precisamos analisar o tamanho de U no começo de uma iteração qualquer do laço externo.

Quando |U| ≥ |V|/logk|V|, temos que⌈logk|U|⌉ ≥ logk|U| ≥ logk(|V|/logk|V|) > logk√|V| = ½ logk|V|.

Assim, o tamanho de U diminui pelo menos ½ logk|V| a cada iteração. Desta maneira, quando |U| se tornar menor que

|V|/logk|V|, o algoritmo não terá usado mais do que 2|V|/logk|V| cores.

Page 57: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Johnson

Para completar a prova, precisamos analisar o tamanho de U no começo de uma iteração qualquer do laço externo.

Quando |U| < |V|/logk|V|, é claro que o algoritmo utilizará no máximo |V|/logk|V| cores. Segue então que o algoritmo de

Johnson utiliza no máximo 3|V|/logk|V| cores.

Para o nosso caso, k=3, portanto o algoritmo de Johnson usa no máximo 3|V|/log3|V| cores.

Page 58: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Wigderson

Teorema 4.1: Para um grafo 3-colorável, a vizinhança de cada vértice pode ser colorida com duas cores.

Teorema 4.2: Qualquer grafo cujo vértice de maior grau é (G) pode ser colorido com no máximo (G)+1 cores em

tempo polinomial.

Teorema 4.3: Todo grafo bipartido pode ser colorido em tempo polinomial.

Page 59: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Wigderson

12

4

67

3

5

8

90

Instância de exemplo

Page 60: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Coloração ótima

Algoritmo de Wigderson

12

4

67

3

5

8

90

Page 61: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Wigderson

12

4

67

3

5

8

Cores: 0

90

Page 62: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Wigderson

12

4

67

3

5

8

Cores: 0i = 1

90

Page 63: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Wigderson

12

4

6

3

5

8

Obter o subgrafo H induzido da vizinhança do vértice de maior grau e colorir com as cores i e i+1

Cores: 2i = 1

4

7

90

Page 64: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Wigderson

12

4

6

3

5

8

Colorir o vértice de maior grau com a cor i+2

Cores: 3i = 1

7

90

Page 65: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Wigderson

12

4

6

3

5

8

i ← i + 2

Cores: 3i = 3

7

90

Page 66: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Wigderson

12

4

67

3

5

8

Cores: 3i = 3

Remove, do grafo G, o vértice de maior grau e seu vizinhos

90

Page 67: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Remove, do grafo G, o vértice de maior grau e seu vizinhos

Algoritmo de Wigderson

Cores: 3i = 3

90

12

4

6

3

5

87

Page 68: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Wigderson

Cores: 3i = 3

90

12

4

6

3

5

87

Page 69: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Colorir os vértices restantes com (G)+1 cores

Algoritmo de Wigderson

Cores: 3i = 3

90

12

4

6

3

5

87

Page 70: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Colorir os vértices restantes com (G)+1 cores

Algoritmo de Wigderson

Cores: 6i = 3

90

12

4

6

3

5

87

Page 71: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Resultado

Algoritmo de Wigderson

Cores: 6i = 3

90

12

4

6

3

5

87

Page 72: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Algoritmo de Wigderson(G):

Page 73: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Wigderson

Page 74: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Wigderson

Para cada iteração são usadas 2 cores

Page 75: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Wigderson

Linhas 3 até 9 são executadas no

máximo√n vezes

Page 76: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Wigderson

Serão usadas no máximo

2√n cores

Page 77: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Wigderson

Quando o grafo tiver vértices com grau

menor que √n,eles serão coloridos

com no máximo(G)+1 cores

Page 78: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Prova da Aproximação do Algoritmo de Wigderson

Assim, o algoritmo de Wigderson, para colorir um grafo 3-colorável, emprega

no máximo 3√n cores

Page 79: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Implementação

Os algoritmos de Johnson e Wigderson podem ser implementados com complexidade linear

Acesso em tempo constante ao vértice de menor ou maior grau logo após a remoção de vértices e arestas do grafo

Page 80: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Implementação

Os algoritmos de Johnson e Wigderson podem ser implementados com complexidade linear

Acesso em tempo constante ao vértice de menor ou maior grau logo após a remoção de vértices e arestas do grafo

d0 d1 d (G)...

Page 81: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Implementação

Os algoritmos de Johnson e Wigderson podem ser implementados com complexidade linear

Acesso em tempo constante ao vértice de menor ou maior grau logo após a remoção de vértices e arestas do grafo

d0 d1 d (G)...

v1 v3 vj...

Page 82: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Implementação

Os algoritmos de Johnson e Wigderson podem ser implementados com complexidade linear

Acesso em tempo constante ao vértice de menor ou maior grau logo após a remoção de vértices e arestas do grafo

d0 d1 d (G)...

v1 v3 vj...

V1

V2

V3

Vn

...

Vizinhos&Grau

Page 83: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Resultados

Vértices (|V|) Arestas (|E|) # instâncias500 3318 ± 31.7 5

1000 6651 ± 92.5 51500 14952 ± 130.8 52000 26562 ±115.9 52500 41532 ± 127.2 53000 44926 ± 125.4 53500 48992.8 ± 200 54000 64033 ± 258.2 54500 67581 ± 242.4 55000 83531 ± 223.7 5

Page 84: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Resultados

Page 85: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Resultados

Page 86: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Resultados

Page 87: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Resultados

Page 88: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Resultados

Page 89: O Problema da 3- Coloração de Grafos Otimização Combinatória · Algoritmo de Johnson O algoritmo de Johnson foi o primeiro algoritmo a mostrar uma garantia de aproximação para

Conclusões

O algoritmo de Wigderson, apesar de possuir uma garantia de aproximação melhor que o algoritmo de Johnson, apresentou, em média, piores resultados de coloração.

É importante que uma análise dos algoritmos seja feita antes da escolha de algum deles, uma vez que confiar nas garantias de aproximação nem sempre é a melhor opção.

Dúvidas?