Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Coloreo de Grafo
Definicin Grfica
2
Anlisis y Diseo de
Algoritmos II
CO LO R E O DE UN G R A F O
Coloreo de Grafo
Definicin Formal
Un coloreo de un grafo = ( , ) es una transformacin :
donde
es un conjunto finito de colores tal que si ( , ) pertenece a , luego:
( ) ! = ( ). Es decir, vrtices adyacentes no pueden tener el mismo
color.
El nmero cromtico de
para colorearlo.
06/04/2015
Alternativas de Solucin
Backtracking
Alternativas de Solucin
Transformaciones
Locales
Greedy
Aproximacin de
Horowitz
Transformaciones
Locales
Backtracking
Combinacin de
Tcnicas
Combinacin de
Tcnicas
Greedy
Alternativas de Solucin
Aproximacin de
Horowitz
Coloreo de Grafo
Transformaciones Parciales
Backtracking
Transformaciones
Locales
Greedy
Aproximacin de
Horowitz if (|G|
Combinacin de
Tcnicas
= 0 )
0 colores;
else
if (|G| = 1 )
1 color;
else
if (G es bipartito)
2 colores;
else
4 colores;
3
1
2
4
8
5
06/04/2015
Coloreo de Grafo
Coloreo de Grafo
3
1
6
1
4
8
COLORES
COLORES
Se aplic un Coloreo Secuencial tomando los vrtices de menor a mayor respecto de su valor.
Coloreo de Grafo
Coloreo de Grafo
3
1
6
1
4
8
COLORES
5
UN NICO PAR PARA ANALIZAR
COLORES
7
UN NICO PAR PARA ANALIZAR
06/04/2015
Coloreo de Grafo
Coloreo de Grafo
3
1
6
1
2
4
2
4
Componente 3
Componente 2
Componente 1
Coloreo de Grafo
COLORES
Componente 1
Coloreo de Grafo
Anlisis Componente1
Anlisis Componente1
3
8
7
5
COLORES
Componente 3
Componente 2
COLORES
5
Componente 1
COLORES
Componente 1
06/04/2015
Coloreo de Grafo
Coloreo de Grafo
Anlisis Componente1
3
6
1
2
4
COLOREAR CON
NO ES POSIBLE
Componente 2
Componente 3
NO ES POSIBLE
5
COLORES
Componente 2
Coloreo de Grafo
COLORES
Coloreo de Grafo
Anlisis Componente2
Anlisis Componente2
4
Componente 2
Componente 2
COLORES
Componente 1
COLORES
06/04/2015
Coloreo de Grafo
Coloreo de Grafo
Anlisis Componente2
3
4
1
Componente 2
4
8
COLOREAR CON
ES POSIBLE
Componente 2
Componente 3
COLORES
COLORES
Coloreo de Grafo
Componente 1
Coloreo de Grafo
3
1
6
1
4
8
COLOREAR CON
ES POSIBLE
Componente 2
Componente 3
COLORES
Componente 1
COLORES
06/04/2015
Coloreo de Grafo
Coloreo de Grafo
Anlisis Componente1
3
6
1
4
8
Componente 3
Componente 2
5
COLORES
COLORES
Componente 1
Coloreo de Grafo
Componente 1
Coloreo de Grafo
3
1
2
4
COLORES
Componente 3
Se podra aplicar
alguna estrategia para
elegir el orden de las
componentes.
Componente 2
Componente 1
06/04/2015
Coloreo de Grafo
Coloreo de Grafo
Coloreo de Grafo
Combinacin de Tcnicas
Coloreo de Grafo
Combinacin de Tcnicas
Desde el punto de vista prctico hay que resolver los problemas NP eficientemente.
Si las entradas son pequeas Usar algoritmos basados en backtracking que realicen una bsqueda exhaustiva
Si las entradas no son pequeas Construir soluciones aproximadas,cercanas a la mejor solucin, a partir de algoritmos
polinomiales.
if ( |G| <=
colores
else{
colores
colores
}
MAX_VERTICES )
:= coloreoBacktracking(G)
:= coloreoGreedy(G);
:= coloreoTransfParciales(G,colores);
06/04/2015
Coloreo de Grafo
Combinacin de Tcnicas
Las transformaciones parciales tambin pueden aplicarse en conjunto con el algoritmo de coloreo secuencial.
Supongamos problemas de optimizacin, en los que cada solucin factible tiene un costo
positivo y se pretende obtener una solucin cercana a la ptima.
for (cada vertice v){
color := 1;
while (g.adyacenteColoreado(v,color)
color++;
while (g.adyacenteColoreado(v,color)
color++;
if ( color ya haba sido usado)
g.colorear(v,color)
else
aplicar transformaciones parciales
g.colorear(v,color)
Un algoritmo de aproximacin est acotado por (n) si para cualquier entrada de tamao n, el
costo de la solucin del algoritmo de aproximacin, para un costo de una solucin factible c y
un costo c* de una solucin ptima, es:
max ( c/c* , c*/c) (n)
}
}
Anlisis y Diseo de
Algoritmos II
CO LO R E O DE UN G R A F O
ING . TO MMA S E L A NTO NE L A