24
Coloração Equilibrada de Arestas Afonso Henrique Sampaio Henrique Chevreux Thiago Fioravante

Coloração Equilibrada de Arestas

Embed Size (px)

Citation preview

Page 1: Coloração Equilibrada de Arestas

Coloração Equilibrada de Arestas

Afonso Henrique SampaioHenrique ChevreuxThiago Fioravante

Page 2: Coloração Equilibrada de Arestas

Apresentação do problema• Dada uma coloração própria, pretende-se obter

uma coloração com distribuição mais equilibrada entre as cores utilizadas(ie, busca-se equilibrar a quantidade de elementos em cada matching)

• Aplicações: o Alocação de professores a turmas buscando minimizar

o número de períodos requeridos para ministrar todas aulas necessárias

o Alocação de canais de comunicação em redes sem fio

Page 3: Coloração Equilibrada de Arestas

Entrada• Entrada consiste em um grafo propriamente

colorido(potencialmente não-equilibrado)

Page 4: Coloração Equilibrada de Arestas

Saída• Saída é o grafo de entrada com coloração própria e

equilibrada

Page 5: Coloração Equilibrada de Arestas

Definindo equilíbrio• Dada uma k-coloração própria, é sempre possível

obter outra k-coloração própria que usa cada cor no mínimo piso(|E|/k) e no máximo teto(|E|/k)

• Portanto, a diferença entre a quantidade de vezes que cada cor é utilizada(no equilíbrio) é no máximo 1 - ou então 0 quando piso(|E|/k) = teto(|E|/k). 

• No exemplo anterior:o |E| = 18o  k = 7o piso(|E|/k) = piso(18/7) = 2o teto(|E|/k) = teto(18/7) = 3

Page 6: Coloração Equilibrada de Arestas

Não-equilibrada• |Laranja| = 1; |Azul-escuro| = 2; |Verde-claro| = 3; |Verde-

escuro| = 3; |Vermelho| = 3; |Rosa| = 3; |Azul-claro| = 3; 

Page 7: Coloração Equilibrada de Arestas

Equilibrada• |Laranja| = 2; |Azul-escuro| = 2; |Verde-claro| = 3; |Verde-

escuro| = 3; |Vermelho| = 3; |Rosa| = 3; |Azul-claro| = 2; 

Page 8: Coloração Equilibrada de Arestas

Implementação• Estruturas de dados implementadas

o Grafo armazenado em matriz de adjacências ponderada(o peso é a cor atual da aresta)

o Cada matching é uma lista de arestaso Para cada vértice há uma lista das cores representadas

naquele vértice

Page 9: Coloração Equilibrada de Arestas

|V| = 10; |E|=40; k=10; limites=[4, 4]

Page 10: Coloração Equilibrada de Arestas

antes da troca: |roxo| = 1; |verde-claro| = 5

Page 11: Coloração Equilibrada de Arestas

depois da troca: |roxo| = 2; |verde-claro| = 4

Page 12: Coloração Equilibrada de Arestas

antes da troca: |roxo| = 2; |verde-escuro| = 5

Page 13: Coloração Equilibrada de Arestas

depois da troca: |roxo| = 3; |verde-escuro| = 4

Page 14: Coloração Equilibrada de Arestas

antes da troca: |roxo| = 3; |laranja| = 5

Page 15: Coloração Equilibrada de Arestas

caminhos de Kempe para cores laranja e roxo

Page 16: Coloração Equilibrada de Arestas

construindo caminho de Kempe(começa com (1, 4))

Page 17: Coloração Equilibrada de Arestas

insere aresta (4, 2) no caminho

Page 18: Coloração Equilibrada de Arestas

insere aresta (2, 7) no caminho

Page 19: Coloração Equilibrada de Arestas

insere aresta (1, 9) no outro extremo do caminho

Page 20: Coloração Equilibrada de Arestas

insere aresta (9, 8) no caminho

Page 21: Coloração Equilibrada de Arestas

inverte as cores no caminho de Kempe

Page 22: Coloração Equilibrada de Arestas

coloração equilibrada, após todas as trocas

Page 23: Coloração Equilibrada de Arestas

grafo original

Page 24: Coloração Equilibrada de Arestas

Próximos passos• Testar o programa para instâncias maiores

• Avaliar estratégias ou estruturas mais eficientes

• Comparar execução para estratégias diferentes de implementação(cada uma utilizando uma estrutura em particular)