CC/EC/PPGI/UFES

Download Report

Transcript CC/EC/PPGI/UFES

Coloração

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

• • •

O problema de Coloração de Grafos

Pode ser definido sobre o conjunto dos vértices ou o conjunto das arestas de um grafo; Coloração própria : uma coloração própria para um grafo não direcionado G=(V,E) é um mapeamento

c

:V→{

1

, . . .,

k

} tal que se {

u

,

v

}  E então

c

(

u

) ≠ c(

v

).

Os elementos do conjunto {

1

, . . .,

k

} são chamados cores

CC/EC/PPGI/UFES

• – –

Coloração de Grafos

Duas versões usuais para o problema são: Determinar se é possível colorir um grafo com um número pré-determinado de cores ou Determinar o número cromático (ou o índice cromático) de um grafo G: o menor número de cores de {

1

, . . .,

k

} para colorir propriamente o conjunto de vértices (ou de arestas) de um dado grafo G

CC/EC/PPGI/UFES

Número cromático (χ(G))

• Um grafo que requere

k

cores diferentes para a sua coloração própria e nenhuma a menos possui número cromático χ(G) =

k

b

3 cromático

a c e f d Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Exemplos de aplicação

• primeira versão alocação de n professores a m turmas nos h horários disponíveis na escola. programação de horários de grades escolares: vértice aresta aula de um professor as aulas ligadas pela aresta não podem ser realizadas no mesmo horário cor horário • segunda versão computação paralela: vértices de uma mesma cor representam processos que podem ser executados em paralelo, pois não possuem dependências. poucas cores processamento rápido

CC/EC/PPGI/UFES

4 5 6 7 1 2 3

Exemplo

Existem 7 disciplinas.

em comum: onde há * disciplina i e na disciplina j.

A tabela mostra a existência de alunos na célula ij, existe um aluno matriculado na

1

1 * 2 * * 3 * * * 4 * * 5 * * * 6 * * * * * 7 A matriz é simétrica: a parte abaixo da diagonal principal não foi preenchida

7 6 5 Horário Disc. 1 1 e 6 2 7 e 4 3 3 e 5 4 2 4 2 3 CC/EC/PPGI/UFES

6

Obter o número cromático

 Particionar o conjunto de vértices em k subconjuntos (mínimo possível) de vértices não adjacentes.

CC/EC/PPGI/UFES

Um exemplo de aplicação

• Problema dos exames: alocação de um grupo de alunos aos exames de recuperação que eles devem prestar em um colégio » Restrição: Duas disciplinas só podem ter exames realizados simultaneamente se não envolverem alunos em comum

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Um exemplo de aplicação

1 2 3 4 5 6 G H F I M x P x Q B x x x x x x x x x x x x 7 8 9 1 0 1 1 x x x x x 1 2 x 1 3 1 4 1 5 x 1 6 x x x x x x x x x x x

CC/EC/PPGI/UFES

Q B

Um exemplo de aplicação

M P I F H G

São necessários apenas dois horários para realização dos exames: um para os exames de Matemática, Geografia, Biologia e História e outro, para os exames de Português, Inglês, Física e Química.

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Como obter o número cromático?

NP-Completo difícil de resolver heurísticas nem sempre se garante a obtenção do menor número de cores

CC/EC/PPGI/UFES

Algoritmo de Coloração

k=0 Para j=0 até n–1 faça D = {1, ... , k} Para i=0 até j–1 faça se v[i] é adjacente a v[j] então D = D – {cor[v[i]]} fim se fim Para se D não é vazio então cor[v[j]] = min D a b senão k = k+1 cor[v[j]] = k fim se fim Para d e g h c f j

Outro exemplo

Número de cores utilizadas: 4

Número cromático = 3

 

Algumas considerações...

Coloração de vértices: considerado em grafos simples e conexos Grafo nulo: 1 cromático  Grafo com uma ou mais arestas: pelo menos 2 cromático   Grafo com clique de tamanho k: pelo menos k cromático Grafo cíclico: 2-cromático ou 3-cromático

CC/EC/PPGI/UFES

Teorema

Toda árvore com dois ou mais vértices é 2-cromática Obs: toda árvore é 2-cromática mas nem todo grafo 2 cromático é uma árvore

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Teorema

Um grafo com pelo menos uma aresta é 2 cromático sss não possui ciclos com comprimento ímpar

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Corolário

Um grafo G é bipartido sss G é 2-cromático

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Teorema

Seja Δ o grau máximo dos vértices de G. Então χ(G)  1 + Δ

Exercício!

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Coloração de arestas

Exemplo de aplicação: Em um laboratório, uma lista de tarefas deve ser cumprida o mais rápido possível. Cada tarefa deve ser realizada por

f

uma dupla de integrantes do laboratório e necessita de 1 hora para ser executada. Qual é o menor número de horas

Menor número de cores para

necessárias para que todas as

e a d b c CC/EC/PPGI/UFES

Partição Cromática

• Um grafo G k cromático é p-partido sss k  p.

• Em um grafo p-partido , vértices de uma mesma partição não são adjacentes.

• Um conjunto de vértices independente de um grafo é dito se não possui vértices adjacentes.

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Conjunto Independente de vértices

c g e a b d f

Exemplos: {a, c, d, g}, {e}, {a,d}

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Conjunto Independente de vértices

• Incompatibilidade de horários entre professores que devem aplicar prova final: deseja se obter o maior número possível de turmas que realizarão prova final de várias disciplinas em um mesmo horário. Turmas com alunos em comum que farão prova final de disciplinas diferentes não podem ser alocadas no mesmo horário.

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Conjunto independente maximal de vértices

Um conjunto independente maximal é um conjunto independente no qual não se pode adicionar mais nenhum vértice sem destruir a propriedade de independência .

c g

Exemplos: {a,c,d,g}, {b,f}

a b e d f Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Como achar um conjunto independente maximal?

• Comece com um vértice qualquer.

• Selecione os próximos vértices sempre testando se o conjunto ao qual eles estão sendo inseridos continua independente • Atenção: encontra-se um conjunto maximal e não o maior de todos!

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Matchings

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Exemplo

• Sejam a1, a2, a3 e a4 candidatos a preencher 6 vagas p1, p2, p3, p4, p5 e p6 de uma empresa. A qualificação de cada candidato o possibilita a se candidatar para um certo subconjunto de vagas, conforme a figura a seguir:

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

É possível empregar todos os candidatos em posições nas quais eles são qualificados?

Exemplo

a1 a2 a3 a4 p1 p2 p3 p4 Qual é o número máximo de posições que podem

Problema de

Matching

de candidatos?

Teoria dos Grafos (INF 5037/INF2781) p5 p6 CC/EC/PPGI/UFES

Matching

• Um matching em um grafo é um subconjunto de arestas não adjacentes. Uma única aresta já é considerada um matching.

• Um matching maximal é um matching no qual nenhuma aresta a mais pode ser adicionada sem ferir a propriedade de matching

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

a d b c

Exemplos

a d b c a d b c Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Exemplo de aplicação

Em um laboratório, cada tarefa de uma lista de tarefas especificadas, deve ser realizada por uma dupla de integrantes do laboratório e necessita de 1 hora para ser executada. Qual é o maior número de tarefas que podem ser executadas em um mesmo horário?

f e a d b c CC/EC/PPGI/UFES

Matching Perfeito

• Um matching perfeito é um matching no qual todo vértice do grafo é um extremo de algum elemento do matching • Nem todo grafo contém um matching perfeito:

a b e d c Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Observação

Todo matching perfeito é maximal mas nem todo matching maximal é perfeito

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Matching

completo

• Definição válida para grafos bipartidos • Em um grafo bipartido com subconjuntos de vértices V 1 e V 2 , um matching completo de V 1 em V 2 é um matching no qual existe uma aresta incidente a cada aresta de V 1 .

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Observação

um matching completo é o maior matching maximal mas um matching maximal pode não ser completo

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

a1 a2 a3 a4

Exemplo

p1 p2 p3 p4 p5 p6 Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Condições para existência de um matching completo

• |V1|  |V2|; • todo subconjunto de r vértices em V1 deve ser adjacente a pelo menos r vértices em V2, para r = 1, 2, ..., |V1|.

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Problema de representantes distintos

Cinco senadores (s1, s2, s3, s4 e s5) são membros de três comitês (c1, c2 e c3)

Um membro diferente de cada comitê deve participar de uma comissão geral. É possível realizar esse matching?

c1 c2 c3 s1 s2 s3 s4 s5 Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Teorema

Em um grafo bipartido, se existe um inteiro positivo m tal que d(v1) ≥ m ≥ d(v2) , com v1 de V1 e v2 de V2, então existe um matching completo de V1 para V2

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Cobertura de vértices

• Um conjunto de vértices K de V é uma cobertura de G se toda aresta de G possui pelo menos um extremo em K • Cobertura mínima: aquela que possui o menor número possível de vértices • Aplicações: – Vigilância: menor número possível de câmeras de segurança em lugares públicos.

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Exemplo

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES

Observações

• Se K é uma cobertura de vértices e M um matching de G então K contém pelo menos um extremo de cada aresta de M • Para quaisquer K e M em G tem-se |M|  |K|

Teoria dos Grafos (INF 5037/INF2781) CC/EC/PPGI/UFES