You are on page 1of 10

8.

3 Un algoritmo voraz para el


nmero cromtico

Aplicaciones de la
Teora de Grafos
a la vida real

Alberto Conejero y Cristina Jordn


Depto. Matemtica Aplicada
E.T.S. Ingeniera Informtica
Universitat Politcnica de Valncia

Ejemplo 1 de aplicacin del algoritmo


{v1, v2, v3, v4, v5, v6, v7, v8}
v4 v1

v1

v4 v1

v4 v1

v4 v1

v4

v6

v7

v6

v7

v6

v7

v6

v7

v6

v7

v3

v2

v3

v2

v3

v2

v3

v2

v3

v2

v8

v5 v8

v5 v8

v5 v8

v5 v8

v1

v4 v1

v4

v4 v1

v4

v6

v7

v3

v2

v6

v7

v3

v2

v1
v6

v6

v7

v5

v7

4 colores
v8

v5 v8

v3
v5 v8

v2

v3
v5 v8

v2
v5

Algoritmo voraz para la coloracin de vrtices


Sea G un grafo no dirigido y S = {a, b, c,.} tal que |S| = n
Paso inicial de ordenacin

Ordenamos los vrtices en una lista {v1, v2, v3, ..., vn}
Pasos de asignacin de colores
P1. Asignamos a v1

el primer color disponible a

Pk. Coloracin de vk, k 2


Si hemos coloreado v1 , v2 , , vk-1 con j colores, asignamos a
vk el color t, donde t j+1 es el mnimo color permitido para vk
teniendo en cuenta los asignados a sus adyacentes

Ejemplo 1 de aplicacin del algoritmo


{v1, v2, v3, v4, v5, v6, v7, v8}
v4 v1

v1

v4 v1

v4 v1

v4 v1

v4

v6

v7

v6

v7

v6

v7

v6

v7

v6

v7

v3

v2

v3

v2

v3

v2

v3

v2

v3

v2

v8

v5 v8

v5 v8

v5 v8

v5 v8

v1

v4 v1

v4

v4 v1

v4

v6

v7

v3

v2

v6

v7

v3

v2

v1
v6

v6

v7

v5

v7

4 colores
v8

v5 v8

v3
v5 v8

v2

v3
v5 v8

v2
v5

Ejemplo 1 de aplicacin del algoritmo


{v1, v2, v8, v5, v6, v3, v4, v7}
v4 v1

v1

v4 v1

v4 v1

v4 v1

v4

v6

v7

v6

v7

v6

v7

v6

v7

v6

v7

v3

v2

v3

v2

v3

v2

v3

v2

v3

v2

v8

v5 v8

v5 v8

v5 v8

v5 v8

v1

v4 v1

v4

v4 v1

v4

v6

v7

v3

v2

v6

v7

v3

v2

v1
v6

v6

v7

v5

v7

3 colores
v8

v5 v8

v3
v5

v8

v2

v3
v5 v8

v2
v5

Ejemplo 1 de aplicacin del algoritmo


{v1, v3, v5, v7, v2, v4, v6, v8}
v4 v1

v1

v4 v1

v4 v1

v4 v1

v4

v6

v7

v6

v7

v6

v7

v6

v7

v6

v7

v3

v2

v3

v2

v3

v2

v3

v2

v3

v2

v8

v5 v8

v5 v8

v5 v8

v5 v8

v1

v4 v1

v4

v4 v1

v4

v6

v7

v3

v2

v6

v7

v3

v2

v1
v6

v6

v7

v5

v7

2 colores
v8

v5 v8

v3
v5

v8

v2

v3
v5 v8

v2
v5

Ejemplo 1 de aplicacin del algoritmo


v1

v4
v6

v7

v3

v2
v5

v8

{v1, v2, v3, v4, v5, v6, v7, v8}


v1

v4

{v1, v2, v8, v5, v6, v3, v4, v7}


v1

v4

{v1, v3, v5, v7, v2, v4, v6, v8}


v1

v4

v6

v7

v6

v7

v6

v7

v3

v2

v3

v2

v3

v2

v5

v8

4 colores

v5

v8

3 colores

v5

v8

2 colores

Ejemplo 2 de aplicacin del algoritmo


v1

v2

v3

v4

v5

v6

v7

v8

{v1, v2, v3, v4, v5, v6, v7, v8}


v1

v2

v3

{v1, v3, v5, v7, v2, v4, v6, v8}


v1

v2

v4

v3

v4

v5

v6

v5

v6

v7

v8

v7

v8

n/2 = 4 colores

2 colores

Observacin importante
El nmero de colores de la coloracin proporcionada por el algoritmo voraz
depende mucho del orden establecido en los vrtices

Entre la ideas que se manejan para elegir una ordenacin de vrtices que
rebaje el nmero de colores a utilizar se encuentran:

Colorear en primer lugar los vrtices de grado alto


Los vrtices con los mismos vecinos deben colorearse al mismo tiempo
Asignar a muchos vrtices el mismo color es una buena idea

Observacin importante
El nmero de colores de la coloracin proporcionada por el algoritmo voraz
depende mucho del orden establecido en los vrtices

Entre la ideas que se manejan para elegir una ordenacin de vrtices que
rebaje el nmero de colores a utilizar se encuentran:

Colorear en primer lugar los vrtices de grado alto


Los vrtices con los mismos vecinos deben colorearse al mismo tiempo
Asignar a muchos vrtices el mismo color es una buena idea