Você está na página 1de 16

GRAFOS - COLORAÇÃO

PROF. DR. SCHROEDER


Santos / SP
Polinômios Cromáticos – Coloração
Definição:
• Em teoria dos grafos, coloração de grafos é um caso
especial de gráfico de rotulagem, é uma atribuição de rótulos,
tradicionalmente chamado de "cores" para os elementos de
um gráfico sujeito a certas limitações.
• Na sua forma mais simples, é uma maneira de colorir os
vértices de um grafo tal que não há dois vértices
adjacentes com a mesma cor. Isso é chamado de coloração
de vértices.
• Da mesma forma, uma coloração de borda ou coloração de
arestas atribui uma cor para cada aresta de modo que duas
arestas adjacentes não possuam a mesma cor.
Exemplos
Definições fundamentais
• O polinômio cromático conta o número de maneiras que um
grafo pode ser colorido com não mais do que determinado
número de cores.
• A convenção do uso de cores provém de colorir os países de
um mapa, onde cada face é literalmente colorida.
• Esta foi generalizada para colorir as faces de um grafo planar.
• Em matemática e representações por computador é típico
usar os primeiros números inteiros positivos e não negativos
como as cores.
• Em geral, pode-se usar qualquer conjunto finito como o
conjunto de "cor". A natureza do problema de coloração
depende do número de cores, mas não sobre o que são.
Definições fundamentais
• Poderíamos por exemplo, tentar colorir o mapa abaixo,
sabendo que duas regiões contíguas não podem ter a mesma
cor.
Definições fundamentais
• Na Teoria dos Grafos podemos representar o mapa através
do diagrama de um grafo G(V, E), onde V é o conjunto de
vértices (no caso as regiões do mapa ) e E o conjunto de
arestas (que representam a relação de vizinhança entre as
regiões). Considerando o mapa do slide anterior, temos o
diagrama:

B
E

C
A F

G
D
Definições fundamentais
• Número cromático de um grafo: é o menor número de
cores necessárias para se obter uma coloração de seus
vértices.
• Para encontrar o número mínimo de cores suficiente para
colorir o mapa (grafo), devemos encontrar o menor número
de cores, k, para o qual existe uma coloração de G que
indicaremos por X (G) = k e chamaremos de número
cromático de G.
• Para definir o número de modos diferentes de se colorir o
mapa (vértices) com um número fixo de cores, devemos
encontrar o número de modos diferentes que se pode colorir
o mapa (grafo), associado ao grafo G, com  cores,
polinômio este que chamaremos de polinômio cromático
de G, cuja notação é P (G; ).
• Índice cromático de um grafo: o número mínimo de cores
exigida em uma coloração de arestas de um grafo.
Coloração Qualquer de um grafo
(não mínima)
• Para determinar uma coloração qualquer, não obrigatoriamen-
te a coloração mínima pode-se utilizar um algoritmo que se
baseia nas listas de adjacências:
a) definimos os conjunto Ci =  (vazio), i = 1, 2, 3,..., n, onde n
é o número de vértices de G e Ci é o conjunto de vértices
coloridos com a cor i. Inicialmente, esses conjuntos são
vazios;
b) para cada vértice v e A(v) (a lista de adjacências de v),
verificamos se existe uma cor i de tal modo que a
intersecção entre Ci e A(v) seja o conjunto vazio, ou seja, Ci
∩A(v) = ; se existir, a cor i será atribuída ao vértice v e
incluímos v em Ci; caso contrário, atribuímos a v uma nova
cor que chamaremos de i + 1.
Coloração Qualquer (não mínima)
1) Seja G(V, E) um grafo representado pelo diagrama:
1 2 3

4 5 6 7

Faremos primeiro a lista de adjacências:


A(1) = {2, 4}; A(5) = {2, 3, 4};
A(2) = {1, 3, 4, 5}; A(6) = {3, 7};
A(3) = {2, 5, 6}; A(7) = {6}
A(4) = {1, 2, 5};

No máximo 7 cores serão usadas.


Inicialmente: C1 = C2 = C3 = C4 = C5 = C6 = C7 = 
Coloração Qualquer (não mínima)
v1 Cor 1 C1 = {1}
v2 A(2) = {1, 3, 4, 5}
C1 ∩ A(2) = {1} ∩ {1, 3, 4, 5} = {1}  
C2 = {2}
C2 ∩A(2) =  ∩{1, 3, 4, 5} = , logo cor 2
C2 U {2} =  U {2} = {2}  C2 = {2}
v3 A(3) = {2, 5, 6}
C1 ∩ A(3) = {1} ∩ {2, 5, 6} = , logo cor 1 C1 = {1, 3}
C1 U {3} = {1} U {3} = {1, 3}  C1 = {1,3}
v4 A(4) = {1, 2, 5}
C1 ∩ A(4) = {1, 3} ∩ {1, 2, 5} = {1}  
C2 ∩ A(4) = {2} ∩ {1, 2, 5} = {2}   C3 = {4}
C3 ∩A(4) =  ∩{1, 2, 5} = , logo cor 3
C3 U {4} =  U {4} = {4}  C3 = {4}
Coloração Qualquer (não mínima)
v5 A(5) = {2, 3, 4}
C1 ∩ A(5) = {1, 3} ∩ {2, 3, 4} = {3}  
C2 ∩ A(5) = {2} ∩ {2, 3, 4} = {2}  
C4 = {5}
C3 ∩ A(5) = {4} ∩ {2, 3, 4} = {4}  
C4 ∩A(5) =  ∩{2, 3, 4} = , logo cor 4
C4 U {5} =  U {5} = {5}  C4 = {5}
v6 A(6) = {3, 7}
C1 ∩ A(6) = {1, 3} ∩ {3, 7} = {3}  
C2 = {2, 6}
C2 ∩A(6) = {2} ∩{3, 7} = , logo cor 2
C2 U {6} = {2} U {6} = {2, 6}  C2 = {2, 6}
v7 A(7) = {6}
C1 ∩ A(7) = {1, 3} ∩ {6} = , logo cor 1 C1 = {1, 3, 7}
C1 U {7} = {1,3} U {7} = {1, 3, 7}  C1 = {1,3, 7}
Coloração Qualquer (não mínima) - Resultado
 4 cores foram usadas.
 Cor 1 – vermelho - vértices 1, 3 e 7
 Cor 2 – azul - vértices 2 e 6
 Cor 3 – verde - vértice 4
 Cor 4 – amarelo - vértice 5

1 2 3

4 5 6 7
Coloração Mínima
1) Seja o mesmo grafo G(V, E) utilizado no exemplo anterior.
1 2 3

4 5 6 7

• Para encontrar a coloração mínima (com número mínimo de


cores: X (G) = k) utilizaremos o mesmo algoritmo, porém
tendo o cuidado de colorir as linhas (listas de adjacências) em
ordem decrescente, considerando-se os graus dos vértices de
v. Assim termos:

A(2) = {1, 3, 4, 5}; A(1) = {2, 4};


A(3) = {2, 5, 6}; A(6) = {3, 7};
A(4) = {1, 2, 5}; A(7) = {6}
A(5) = {2, 3, 4};
Coloração Mínima
v2 Cor 1 C1 = {2}
v3 A(3) = {2, 5, 6}
C1 ∩ A(3) = {2} ∩ {2, 5, 6} = {2}  
C2 ∩A(3) =  ∩{2, 5, 6} = , logo cor 2 C2 = {3}
C2 U {3} =  U {3} = {3}  C2 = {3}

v4 A(4) = {1, 2, 5}
C1 ∩ A(4) = {2} ∩ {1, 2, 5} = {2}  
C2 ∩A(4) = {3} ∩{1, 2, 5} = , logo cor 2 C2 = {3, 4}
C2 U {4} = {3} U {4} = {3, 4}  C2 = {3, 4}

v5 A(5) = {2, 3, 4}
C1 ∩ A(5) = {2} ∩ {2, 3, 4} = {2}  
C2 ∩ A(5) = {3, 4} ∩ {2, 3, 4} = {3, 4}  
C3 = {5}
C3 ∩A(5) =  ∩{2, 3, 4} = , logo cor 3
C3 U {5} =  U {5} = {5}  C3 = {5}
Coloração Mínima
v1 A(1) = {2, 4}
C1 ∩ A(1) = {2} ∩ {2, 4} = {2}  
C2 ∩ A(1) = {3, 4} ∩ {2, 4} = {4}   C3 = {1, 5}
C3 ∩ A(1) = {5} ∩ {2, 4} = , logo cor 3
C3 U {1} = {5} U {1} = {5, 1}  C3 = {1, 5}
v6 A(6) = {3, 7}
C1 ∩ A(6) = {2} ∩ {3, 7} = , logo cor 1 C1 = {2, 6}
C1 U {6} = {2} U {6} = {2, 6}  C1 = {2, 6}
v7 A(7) = {6}
C1 ∩ A(7) = {2, 6} ∩ {6} = {6}  
C2 = {3, 4, 7}
C2 ∩ A(7) = {3, 4} ∩ {6} = , logo cor 2
C2 U {7} = {3, 4} U {7} = {3, 4, 7}  C2 = {3, 4, 7}
Coloração Mínima - Resultado
 3 cores foram usadas.
 Número cromático = 3
 Cor 1 – vermelho - vértices 2 e 6
 Cor 2 – azul - vértices 3, 4 e 7
 Cor 3 – verde - vértice 1 e 5

1 2 3

4 5 6 7

Você também pode gostar