Grafos coloreables

7
Grafos coloreables Si existe una kcoloración De G se dice que el grafo G es k coloreable. Las coloraciones siempre existen, pues podemos asignar a cada vértice del grafo un color Diferente si fuera necesario. Cada coloración de G produce en el conjunto de vértices, V (G), Una partición en conjuntos independientes denominados clases de color. Un conjunto de Vértices I se llama independiente si dos vértices cualesquiera de I no son adyacentes. Número cromático El número cromático de un grafo G, χ(G), es el número mínimo de colores necesario para Colorear G. No es fácil determinar el número cromático de un grafo. De hecho, el correspondiente Problema de decisión, conocido por Chromatic Number Problem, es un problema NPcompleto: Dado un grafo G y un entero k, ¿es cierto que χ(G) k Algunas observaciones inmediatas sobre el número cromático son las siguientes: 1. Para todo grafo G, χ(G)≤|V|, porque siempre podremos colorear con |V| colores, Asignando a cada vértice un color distinto. Esta es, obviamente, la forma menos efectiva de Colorear. 2. Si el grafo contiene al menos una arista, necesitaremos dos colores como mínimo; es decir, si |A|≥ 1, entonces χ(G) ≥ 2. 3. Si G contiene a G′ como subgrafo, entonces χ(G)≥χ(G′) 4. Si G tiene k componentes conexas, G1,G2, . . . ,Gk que tienen números cromáticos χ(G1), χ(G2), . . . , χ(Gk) respectivamente, entonces χ(G) = máx (1≤i≤k){χ(Gi)} 5. Si G y G′ son isomorfos, entonces χ(G) =χ(G′).

Transcript of Grafos coloreables

Page 1: Grafos coloreables

Grafos coloreablesSi existe una kcoloraciónDe G se dice que el grafo G es k coloreable.Las coloraciones siempre existen, pues podemos asignar a cada vértice del grafo un colorDiferente si fuera necesario. Cada coloración de G produce en el conjunto de vértices, V (G),Una partición en conjuntos independientes denominados clases de color. Un conjunto de

Vértices I se llama independiente si dos vértices cualesquiera de I no son adyacentes.

Número cromáticoEl número cromático de un grafo G, χ(G), es el número mínimo de colores necesario paraColorear G.No es fácil determinar el número cromático de un grafo. De hecho, el correspondienteProblema de decisión, conocido por Chromatic Number Problem, es un problema NPcompleto:

Dado un grafo G y un entero k, ¿es cierto que χ(G) ≤ k

Algunas observaciones inmediatas sobre el número cromático son las siguientes:1. Para todo grafo G, χ(G)≤|V|, porque siempre podremos colorear con |V| colores,Asignando a cada vértice un color distinto. Esta es, obviamente, la forma menos efectiva deColorear.2. Si el grafo contiene al menos una arista, necesitaremos dos colores como mínimo; es decir, si|A|≥ 1, entonces χ(G) ≥ 2.3. Si G contiene a G′ como subgrafo, entonces χ(G)≥χ(G′)4. Si G tiene k componentes conexas, G1,G2, . . . ,Gk que tienen números cromáticos χ(G1),χ(G2), . . . , χ(Gk) respectivamente, entonces χ(G) = máx (1≤i≤k){χ(Gi)}5. Si G y G′ son isomorfos, entonces χ(G) =χ(G′).

6. Todo grafo planar es 4coloreable.

Propiedades

Cuotas del número cromático

Asignando distintos colores a distintos vértices siempre obtendremos una coloración propia, entonces

El único grafo que es 1-coloreable es el grafo sin aristas, y el grafo completo de n

vértices requiere colores.

Page 2: Grafos coloreables

Si G contiene un clique de orden k, entonces a lo menos son necesarios k colores para colorear el clique; en otras palabras, el número cromático es a los menos el número de clique:

Los grafos 2-coloreables son exactamente grafos bipartitos, incluidos árboles y bosques. Por el teorema de los cuatro colores, todo grafo plano es 4-coloreable.

Una coloración a través de un algoritmo voraz muestra que cada grafo puede ser coloreado con un color más que el grado del vértice máximo.

Coloración de vérticesLos algoritmos conocidos para colorear los vértices de un grafo se clasifican en dos grandesgrupo: secuenciales e independientes. Dada una ordenación de los vértices del grafo, losAlgoritmos secuenciales asignan el mínimo color posible al siguiente vértice. Es decir, siqueremos colorear el vértice v, teniendo ordenados numéricamente los colores, asignamos a vEl color más pequeño que no aparece entre los asignados a los vecinos de v ya coloreados. Laordenación inicial es esencial para colorear con pocos colores.Los algoritmos “independientes” buscan en primer lugar un conjunto independiente de vérticesI1 de cardinal grande, colorea todos los vértices con el color 1, elimina los vértices de I 1 y repiteEl proceso en el grafo GI1,Continuando así hasta colorear todos los vértices.Se presenta un procedimiento secuencial para colorear los vértices de un grafo siguiendo unorden impuesto a los vértices, usando la menor cantidad de colores posibles. Este algoritmo esllamado austero (avaricioso, greedy en inglés).Supongamos que C={c1,c2,...} es el conjunto de colores; procedemos a describir el algoritmoque denominamos algoritmo austero y consta de los siguientes pasos:•Paso inicial. Ordenamos los vértices del grafo. Es importante notar que la eficiencia delAlgoritmo depende del orden que elijamos. Hacemos una lista de los vértices del grafo (v1,v2,..., vn).Un buen orden debe minimizar los colores prohibidos: se deben colocar los vértices de mayorOrden al principio. De todas maneras no hay un criterio establecido para construir dicho orden.•Primer paso. Le asignamos el primer color c1 al vértice v1.•Segundo paso. Procedemos a asignar un color al vértice v2 así: si es adyacente al vértice v1

leAsignamos el siguiente color c2, en otro caso le asignamos c1.

Page 3: Grafos coloreables

•késimoPaso. Para colorear el vértice vk buscamos todos los vértices del conjunto {v1,v2,...,

vk−1} que son adyacentes a vk y determinamos los colores que han sido usados en susColoraciones; luego usamos el primero disponible en el orden de C que no haya sido usado enla coloración de los vértices adyacentes a vk.Ejemplo: En unas jornadas científicas se van a dictar cierto número de conferencias. Si losHorarios de dos conferencias se solapan, éstas tienen que dictarse en salones distintos.Consideremos el grafo G que tiene como vértices a las conferencias, y en el cual dosConferencias son adyacentes si y sólo si sus horarios se solapan. Entonces decir que G es kcolorableEquivale a decir que k salones son suficientes para dictar todas las conferencias.El número cromático (G) representa el mínimo número de salones necesario para poder dictarTodas las conferencias..

Ejemplo: Consideremos el siguiente grafo con los vértices ordenados y C = {a, b, c, . . . }Figura1. Ejemplo de grafo para colorearUsamos el algoritmo austero para asignar los colores: Al vértice v1 le asignamos el colora a;Puesto que el vértice v2 es adyacente a v1 le asignamos el color b; el vértice v3 es adyacente a v2

pero no es adyacente a v1, de este modo le asignamos el color a; v4 es adyacente a v2 y v3,luego le asignamos el color c; v5 le corresponde a; v6 le corresponde b y a v7 le corresponde b.El número de colores usado es tres el cual es su número cromático. La coloraciónCorrespondiente siguiendo el algoritmo austero es:Figura 2. Ejemplo de grafo coloreado

Ejemplo:Cualquier árbol A de orden n>=2 tiene número cromático 2. En efecto, si se toma un vértice uComo raíz y se pinta del color 1, y los adyacentes a u se pintan de color 2, y los que están aDistancia 2 de u se pintan de color 1, y los que están a distancia 3 de u se pintan de color 2, yAsí sucesivamente, es claro que se obtiene una 2coloración.Como un color no es suficiente sin>=2, se tiene χ(A)=2.Figura 3. Ejemplo de coloración de un árbol

Coloración de aristasUna coloración de aristas de un grafo G (no necesariamente simple) es una asignación deColores a sus aristas de modo que aristas adyacentes reciban colores distintos. Si se usan kColores hablaremos de una kcoloraciónen aristas. Una coloración en las aristas origina unaPartición del conjunto de aristas A (G) en las llamadas clases de color de las aristas, cada una

Page 4: Grafos coloreables

De las cuales consta de todas las aristas de un determinado color. Si G tiene una kcoloraciónen aristas decimos que G es kcoloreableen aristas.Se llama índice cromático de G al mínimo k para el que G es kcoloreableen aristas.Designaremos a este número con la notación N'(G).También es un problema NPcompletodeterminar el índice cromático de un grafo. Y losalgoritmos conocidos para colorear las aristas de un grafo siguen las mismas estrategiasdescritas para la coloración de vértices.Ejemplo:Consideremos la tabla de horarios de un liceo. Se puede construir un multigrafo bipartitotomando como conjunto de vértices V1 a los profesores, y como conjunto de vértices V2 a losgrupos. Por cada clase que un profesor debe dictar a un grupo durante la semana se traza unaarista del profesor al grupo. Supongamos que cada clase dura una hora. Entonces tomemoscomo conjunto de colores las horas posibles (por ejemplo lunes de 8 a 9, martes de 11 a 12,etc.) A cada arista se le debe asignar un horario de modo tal que las que salen de un mismoprofesor tengan horarios diferentes, y las que llegan a un mismo grupo también.El índice cromático de este multigrafo representa la mínima longitud total de la tabla dehorarios (es decir el menor número total de horas ocupadas en la semana).

Coloración de regiones (Relaciones con listas y particiones en bloques)Una coloración de un grafo G es equivalente a una lista con ciertas restricciones. Supongamosque V(G)={v1, v2,...,vn}, entonces una coloración usando los k colores C={a1, a2, . . . , ak} esuna lista (nupla)con repetición (ai1,ai2 , . . . ,ain) tal que si vs y vt son adyacentes entoncesais҂ait.Dada una coloracion χV(G) → C definimos la relación entre los vértices de G de la siguientemanera: uRv si χ(u)=χ(v), es decir, dos vértices están relacionados si tienen el mismo color.Esta es una relación de equivalencia.Esta relación induce una partición sobre el conjunto V(G) cuyos bloques son las clases deequivalencia. Cada bloque (clase) está constituido por vértices que tienen el mismo color. Esimportante notar que los vértices que están relacionados no son adyacentes; si dos vértices sonadyacentes se encuentran en bloques (clases) distintos.Recíprocamente, si se particiona el conjunto de vértices de un grafo G de tal manera quevértices adyacentes se encuentran en bloques distintos, entonces esta partición induce unacoloración de los vértices de G. Se colorean los vértices del mismo bloque con un mismo colory bloques distintos con colores distintos. Estas observaciones son útiles para resolverproblemas.

Page 5: Grafos coloreables

Como ejemplo, se citan los grafos bipartitos. El conjunto de vértices se puede particionar endos conjuntos V1(G) y V2(G) de tal manera que vértices adyacentes se encuentran en conjuntosdistintos, así es posible usar dos colores para colorear los vértices de dicho grafo. A los vérticesde V1(G) se les asigna un color y a los vértices de V2(G) se les asigna otro color, y resulta unacoloración de G.

Polinomio cromáticoDado un grafo G y un número natural x, llamemos PG(x) al número de coloraciones porvértices de G con colores {1, 2, . . . , x}. A PG(x) se le llama polinomio cromático de G, ya quecomo veremos siempre es un polinomio en x.Ejemplo:Para hallar el polinomio cromático del grafo G de la figura 8.Figura 8. Ejemplo de polinomio cromáticoSe comienza por asignar al vértice a uno cualquiera de los x colores disponibles. Ahora b sepuede pintar con cualquiera de los x−1 colores restantes; c sólo se puede pintar de x−2maneras, ya que no puede tener igual color que a ni que b; d se puede pintar con cualquiercolor diferente al de b, es decir x−1 posibilidades; e se puede pintar con cualquier colordiferente al de c, es decir x−1 posibilidades.Por el principio del producto:PG(x)=x(x − 1)(x − 2)(x − 1)(x − 1)=x(x − 1)3 (x − 2).