1/24
Capítulo 5: Coloración
•
Introducción.
•
Coloración de vértices.
•
Coloración de aristas.
•
Número Cromático.
2/24
Introducción
En un laboratorio hay una serie de compuestos químicos {A,B,C,D,E,F,G,H} que hay que almacenar en cajas para su traslado. No pueden ser almacenados en una misma caja dos compuestos que reaccionen entre sí (como ácidos y bases). Los productos que reaccionan vienen dados por la siguiente tabla. ¿Cómo podemos elegir los elementos que hemos de introducir en cada caja?, ¿cuántas cajas serán necesarias para poder trasladar los productos?, etc.
A F E G D H C B A F E G D H C B
A B C D E F G H
B C A D E A E F B E G B C D G H C H D E H E F G
Grafo de incompatibilidades:
Vértices representan elementos
3/24
Coloración de vértices
c(u)=1, c(v)=2, ... |c(V)|=k
colores
k-vértice-coloración
Una vértice-coloración de un grafo efectua una partición del grafo en conjuntos independientes de vértices:
V = V1 V2 ...Vk Vi = { v V | c(v)=i }
A
F E
G D
H C
B 4-vértice-coloración
V = V1 V2 V3 V4
V1 = { A,E }
V2= { B,F }
V3 = { C,G }
V4 = { D,H }
4/24
Coloración de vértices
Dado un grafo G=(V,A), se llama número cromático de G ( (G) ) al menor número entero k, de forma que existe una
vértice-coloración de G con k colores.
A
F E
G D
H C
B A
F E
G D
H C
B
(G) = 3
El traslado de los compuestos químicos se puede llevar a cabo con tan sólo 3 cajas.
5/24
Coloración de vértices
Propiedades del número cromático:
• Si G es un grafo con n vértices, 1 (G) n
• Si G’ es un subgrafo de G, (G’) (G) .
• Si G1, G2, ... , Gc son las componentes conexas del grafo G: (G) = max {(G1), (G2), ...., (Gc) }.
6/24
Coloración de vértices
¿Cuáles serán los números cromáticos de los grafos Kn y Cn?
(Kn) = n
K2
1 2
K3
1
2 3
K4
1
2 3
4
K5
1
2
3 4
5
1 2
C8 2
1
2 1
2 1
C5 1
2
1 2
3
2 si n es par
3 si n es impar
7/24
Coloración de vértices
Calcular el número cromático de un grafo cualquiera es un “problema intratable”.
Dado un número natural k y un grafo G , ¿es (G) k? (Problema NP-completo)
ALGORITMO VORAZ DE COLORACIÓN DE VÉRTICES:
Paso 1: Ordenar los vértices del grafo.
Paso 2: Comenzando con el primer vértice, y de forma ordenada, asignar a cada vértice el primer color no asignado a sus vértices adyacentes anteriores.
A B
C
D
E F
G H
{ A,B,C,D,E,F,G,H }
( 1 ) ( 2 )
( 2 )
( 1 )
( 3 )
( 1 )
( 2 )
8/24
Coloración de vértices
Calcular el número cromático de un grafo cualquiera es un “problema intratable”.
Dado un número natural k y un grafo G , ¿es (G) k? (Problema NP-completo)
ALGORITMO VORAZ DE COLORACIÓN DE VÉRTICES:
Paso 1: Ordenar los vértices del grafo.
Paso 2: Comenzando con el primer vértice, y de forma ordenada, asignar a cada vértice el primer color no asignado a sus vértices adyacentes anteriores. A B C D E F G H
{ G,H,E,D,B,A,C,F }
( 1 ) ( 2 )
( 2 )
( 1 )
( 3 )
( 1 )
( 2 )
( 4 )
A B C D E F G H
( 2 )
( 2 )
( 2 ) ( 1 )
( 1 )
( 1 )
9/24
Coloración de vértices
Acotaciones del número cromáticoTeorema de Brooks: Sea G=(V,A) un grafo conexo con grado máximo ((v) , vV ), entonces:
1) (Kn) = n = 1 + , (C2n+1)= 3 = 1 + .
10/24
color 2 color 1
Coloración de vértices
Acotaciones del número cromáticoTeorema: Sea G=(V,A) un grafo. Son equivalentes las propiedades: A) G es bipartito.
C) G no admite ciclos de longitud impar. B) (G) = 2.
A B
G es bipartito G = ( V1 V2 , A)
(G) 2
(G) = 2
V1 V
11/24
V2 V1
Coloración de vértices
Acotaciones del número cromáticoTeorema: Sea G=(V,A) un grafo. Son equivalentes las propiedades: A) G es bipartito.
C) G no admite ciclos de longitud impar. B) (G) = 2.
B A
(G) = 2 Existe una vértice-coloración dos colores c con
12/24
Coloración de vértices
Acotaciones del númerocromático
Teorema: Sea G=(V,A) un grafo. Son equivalentes las propiedades: A) G es bipartito.
C) G no admite ciclos de longitud impar. B) (G) = 2.
B Sea G un grafo con (G) = 2
Si G contiene un ciclo de longitud impar
C2i+1 G
3=(C2i+1) (G)
(G) > 2
G no puede contener
13/24 C B Sea G un grafo, que por simplificación podemos
suponer conexo, sin ciclos de longitud impar Representación gráfica de G en niveles:
Nivel 0: un vértice v0 cualquiera Nivel 1: vértices v11 , v12 , ... ,v1r adyacentes a v0
Nivel 2: vértices v21 , v22 , ... ,v2s
adyacentes a los vértices del nivel 1, excepto v0 .
v0
v11 v
12 v13
Nivel i: vértices vi1 , vi2 , ... adyacentes a los vértices del nivel i-1 no incluidos en niveles anteriores
v21 v22 v
23 v24
vi1 vi2 vi3 vi4 vi5
Coloración de vértices
Acotaciones del número cromáticoTeorema: Sea G=(V,A) un grafo. Son equivalentes las propiedades: A) G es bipartito.
14/24
Vértices de niveles impares: color 2
Vértices de niveles pares: color 1
C B
v0
v11 v
12 v13
v21 v22 v
23 v24
vi1 vi2 vi3 vi4 vi5 2-vértice-coloración
(G) = 2
Coloración de vértices
Acotaciones del número cromáticoTeorema: Sea G=(V,A) un grafo. Son equivalentes las propiedades: A) G es bipartito.
C) G no admite ciclos de longitud impar. B) (G) = 2.
Sea G un grafo, que por simplificación podemos suponer conexo, sin ciclos de longitud impar
15/24
Coloración de aristas
ca(a)=1, ca(a’)=2, ...
|ca(A)|=k
colores; k-arista-coloración 6-arista-coloración a b e d c 1 2 4 3 4 2 3 1 5 6
Se llama índice cromático de G (1(G) ) al menor número
entero k, de forma que existe una arista-coloración de G con
k colores.
a b e d c 1 2 4 3 5 3 2 1 4 5
1(K
5) = 5
Dado un grafo G=(V,A), se llama arista-coloración de G a toda función ca: A N, que verifique ca(a) ca(a’) si
a,a’A tiene algún vértice en común.
16/24
Coloración de aristas
¿Cuáles serán los índices cromáticos de los grafos Kn y Cn?
1(K n) =
K2
1
K3
3 K4
1
K5
1
2
C8 C5
1
2 3
2 si n es par
3 si n es impar
1(C n) =
1 2 3 1 2 2 3 1 3 1 2 4 5 4 2 3 5
n-1, si n es par
17/24
Coloración de aristas
ALGORITMO VORAZ DE COLORACIÓN DE ARISTAS:
Paso 1:
Paso 2:
{ a,b,c,d,e,f,g,h }
a b d
c
e
g f
h
( 1 )
( 2 )
( 3 ) ( 4 )
( 2 )
( 4 )
( 3 )
( 1 )
Ordenar las aristas del grafo.
Comenzando con la primera arista, y de forma ordenada, asignar a cada
18/24
Coloración de aristas
ALGORITMO VORAZ DE COLORACIÓN DE ARISTAS:
Paso 1:
Paso 2:
{ a,b,c,d,e,f,g,h }
a b d
c
e
g f
h
( 1 )
( 2 )
( 3 ) ( 4 )
( 2 )
( 4 )
( 3 )
( 1 )
Ordenar las aristas del grafo.
Comenzando con la primera arista, y de forma ordenada, asignar a cada
19/24
Coloración de aristas
Acotaciones del índicecromático
Teorema de Vizing: Sea G=(V,A) un grafo con grado máximo
((v) , vV ), entonces:
1(G) 1+
Si un grafo G=(V,A) tiene un vértice de valencia k, 1(G) k .
1
a
d c
b
2 3
2
1
3
1(K
4) = = 3
Dado un grafo G con grado máximo , ¿es 1(G) = ? (Problema NP-completo)
a
b e
d c
1
2
4
3
5
3
2
1
4
5
1(K
20/24
Coloración de aristas
Teorema: Sea G=(V,A)=(X Y , A) un grafo bipartito, con grado máximo , entonces:
1(G) =
Demostración: Inducción en el número m = |A| de aristas
1) m = 1
2) Supongamos que el resultado es cierto para todo grafo bipartito con hasta m aristas
3) Probamos que el resultado es cierto para todo grafo bipartito con m+1 aristas
21/24
Coloración de aristas
Teorema: Sea G=(V,A)=(X Y , A) un grafo bipartito, con grado máximo , entonces:
1(G) =
3) Probamos que el resultado es cierto para todo grafo bipartito con m+1 aristas
X x Y
y
G-a tiene m aristas y grado máximo o -1
a
Existe una
coloración de las aristas de G-a con
colores: c1, c2,...
2)
’(x) -1
Existe un color (c1), no usado por las aristas incidentes en x
Existe un color (c2), no usado por las aristas incidentes en y
Acotaciones del índice cromático
22/24
Coloración de aristas
Teorema: Sea G=(V,A)=(X Y , A) un grafo bipartito, con grado máximo , entonces:
1(G) =
3) Probamos que el resultado es cierto para todo grafo bipartito con m+1 aristas
X x Y
y x
y a
’(x) -1
Existe un color (c1), no usado por las aristas incidentes en x
Existe un color (c2), no usado por las aristas incidentes en y
Acotaciones del índice cromático
G con m+1 aristas y grado máximo
Si c1 =c2
Coloreando a con c1, tenemos una
arista-coloración de G con a los sumo
colores.
23/24
Coloración de aristas
Teorema: Sea G=(V,A)=(X Y , A) un grafo bipartito, con grado máximo , entonces:
1(G) =
3) Probamos que el resultado es cierto para todo grafo bipartito con m+1 aristas
X a Y
’(x) -1
Existe un color (c1), no usado por las aristas incidentes en x
Existe un color (c2), no usado por las aristas incidentes en y
Acotaciones del índice cromático
y1 c2
x1 c1
y2
c2
x2 c1
y3 c2
G con m+1 aristas y grado máximo
Si c1 =c2
modificamos la
arista-coloración de G-a; para ello
buscamos un
camino alternado.
x
24/24
Coloración de aristas
Teorema: Sea G=(V,A)=(X Y , A) un grafo bipartito, con grado máximo , entonces:
1(G) =
3) Probamos que el resultado es cierto para todo grafo bipartito con m+1 aristas
X a Y
’(x) -1
Existe un color (c1), no usado por las aristas incidentes en x
Existe un color (c2), no usado por las aristas incidentes en y
Acotaciones del índice cromático
y1 c1
x1 c2
y2
c1
x2 c2
y3 c1
G con m+1 aristas y grado máximo
Si c1 =c2
modificamos la
arista-coloración de G-a; para ello
buscamos un
camino alternado.
x
y