Ciência da Computação GRAFOS Aula 09 Coloração de Grafos Max Pereira
O problema da coloração de grafos trata-se de atribuir cores a determinados elementos de um grafo, sob certas restrições. A coloração dos vértices é o problema mais comum, ou seja, dado um conjunto m de cores, deseja-se encontrar uma maneira de colorir os vértices de um grafo, tal que dois vértices adjacentes não tenham a mesma cor.
Há outros problemas, como a coloração das arestas (arestas adjacentes um vértice em comum não podem ter a mesma cor) e a coloração de faces (pode ser transformado no problema da coloração dos vértices). Coloração de arestas Coloração de faces
O problema da coloração de grafos Não consideramos grafos com laços (loops); Não consideramos grafos com arestas múltiplas; Apenas grafos simples.
Número cromático O menor número de cores necessário para colorir um grafo G é chamado de número cromático de G (o problema para encontrar o número cromático de um grafo é NP completo). Número cromático = 3
Número cromático Um grafo G que exibe k cores, e não menos, é chamado um grafo k-cromático. 4 - cromático 3 - cromático
Aplicações Alocação de recursos Sejam R 1 R k recursos a serem distribuidos para os elementos E 1 E n Suponha que hava restrições da forma E i não pode receber o mesmo recurso que E j. Duas variantes: É possível alocar os k recursos para os n elementos respeitando todas as restrições. Quantos recursos devem existir para que possamos alocar os recursos distintos para elementos conflitantes.
Alocação de recursos Exemplo 1 Uma universidade está preparando o vestibular para n cursos. Para cada curso, os candidatos deverão realizar algumas provas específicas: Computação: matemática, física; Nutriçao: química, biologia; Arquitetura: física, matemática, história; Medicina: química, biologia. Como definir os horários das provas de modo que os candidatos de cada curso façam no máximo uma prova por dia?
Alocação de recursos Exemplo 2 Uma empresa possui n tarefas a serem executadas e m funcionários Cada funcionário já foi designado para um conjunto de tarefas; Cada tarefa demandará a dedicação do funcionário durante um dia complete. Quantos dias serão necessários para que todas as tarefas sejam concluídas?
Alocação de recursos Exemplo 3 Uma universidade está montando o horário do semestre. Já foram definidos quais professores estarão ministrando aula em cada turma. Como determinar os horários das aulas? Restrições possíveis: Mais de uma aula por semana da matéria; Professor restringe os dias da semana que podem ser utilizados na alocação; Recursos conflitantes (ex: salas, equipamentos).
Atribuição de frequências Os vértices representam os transmissores das estações de radio, por exemplo. Duas estações são adjacentes quando suas áreas de transmissão se sobrepõem, o que resultaria em interferência se elas usassem a mesma frequência.
Semáforos Existem oito pistas de tráfego no cruzamento de duas ruas. Durante cada fase do semáforo, somente os carros em pistas as quais o semáforo está aberto (verde) podem prosseguir. Qual o número mínimo de fases necessárias de modo que, eventualmente, todos os carros possam prosseguir através do cruzamento?
Semáforos
Semáforos Modelo?
Algoritmo Existem algoritmos de aproximação para resolver o problema de coloração de grafos (número cromático). Por exemplo, um algoritmo guloso (greedy algorithm) para atribuir cores a um grafo. Ele não garante o uso mínimo de cores, mas o algoritmo básico nunca usa mais do que d+1 cores, onde d é o grau máximo de um vértice em um dado grafo.
Algoritmo O algoritmo nem sempre usurá o número mínimo de cores. Também é importante mencionar que o número de cores depende da ordem dos vértices. Por exemplo, no grafo da direita os vértices 3 e 4 foram trocados. Se considerarmos os vértices 0, 1, 2, 3, 4 no grafo da esquerda, teremos 3 cores. Mas, se considerarmos os vértices 0, 1, 2, 3, 4, no grafo da direita, precisaremos de 4 cores.
Precisamos apenas de 2 cores!
Algoritmo Portanto, a ordem dos vértices é importante. Muitos trabalhos têm sugerido formas diferentes para encontrar uma ordem que funcione melhor do que o algortimo básico. O mais conhecido é o algoritmo de Welsh-Powell que considera os vértices em ordem decrescente de graus.
The Computer Journal, Volume 10, Issue 1, 1 January 1967, Pages 85 86
Algoritmo dewelsh-powell
Algoritmo de Welsh-Powell Quantas cores?
Algoritmo de Welsh-Powell Quantas cores?
Conclusões Coloração de vértices de um grafo surgiu em 1852 a partir de um problema de coloração de mapas; Coloração de vértices possui diversas aplicações práticas; Não existem algoritmos eficientes que garantam uma coloração mínima para grafos arbitrários; - Algoritmo guloso - Algoritmo de Welsh-Powell Coloração de Grafos é uma área de pesquisa muito ativa em Teoria dos Grafos.