La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Capítulo 7: Grafos Autor: José Alfredo Jiménez Murillo.

Presentaciones similares


Presentación del tema: "Capítulo 7: Grafos Autor: José Alfredo Jiménez Murillo."— Transcripción de la presentación:

1 Capítulo 7: Grafos Autor: José Alfredo Jiménez Murillo

2 Objetivos - Aprender la simbología y nomenclatura propia de la teoría de grafos y distinguir las características de los grafos. - Conocer las condiciones que debe cumplir un grafo que se considera que tiene circuitos importantes como Euler y Hamilton. - Usar la técnica de coloración de grafos para iluminar un mapa con la cantidad mínima de colores sin que se junten dos colores iguales. - Aplicar la teoría de grafos a la solución de problemas factibles de ser resueltos con esta metodología.

3 Introducción Uno de los primeros trabajos de teoría de grafos que se llevó a cabo fue el que realizó Leonhard Euler en el siglo XVIII sobre los puentes de Königsberg (en la ciudad Rusa de Kaliningrado), en el cual pretendía hacer un recorrido a través de 7 puentes que conectaban a 4 porciones de tierra como se muestra en la figura Río A B D C El objetivo era salir de un punto específico y regresar al punto de partida después de haber cruzado los 7 puentes, pero pasando solamente una vez por cada uno de ellos. Euler representó al problema por medio de una figura como la siguiente.

4 Introducción C B A D A esta figura Euler la llamó “Grafo”, a las porciones de tierra representadas por un punto las llamó “Vértices”, a los puentes representados por líneas les dio el nombre de “Aristas” y a las líneas que salen o entran a un vértice los llamó “Orden del vértice”, más tarde al orden de un vértice se le llamó valencia. Después de analizar el problema, Euler llegó a la conclusión de que es imposible obtener un itinerario que saliera de un vértice y regresara a él, pasando por todas las aristas solamente una vez. Euler mencionaba que si el vértice donde se inicia y termina el recorrido es el mismo, entonces dicho vértice debe tener valencia par ya que por un puente sale y por otro diferente debe regresar. Lo mismo ocurre con todos los demás vértices ya que debe estar contemplada la entrada y salida, por lo tanto Euler estableció que “En un grafo solamente se puede establecer un ciclo que pase por todas las aristas de un grafo solamente una vez, si todos los vértices tienen valencia par”.

5 Partes de un grafo Un grafo (G) es un diagrama que consta de un conjunto de vértices (V) y un conjunto de lados (L). Sea el siguiente grafo. Vértices (Nodos). Se indican por medio de un pequeño círculo y se les asigna un número o letra. En la figura anterior V={a, b, c, d}. 6 5 3 2 4 1 c d a b Lados (ramas o aristas). Son las líneas que unen un vértice con otro. Se les asigna una letra, número o combinación de ambos: L={1, 2, 3, 4, 5, 6}. Lados paralelos . Son aquellas aristas que tienen relación con un mismo par de vértices: P={2, 3}. Valencia de un vértice. Es el número de lados que salen o entran a un vértice. En la figura anterior las valencias de los vértices son: Lazo. Es aquella arista que sale de un vértice y regresa al mismo vértice. En la figura anterior A={6}. Valencia (a) = 2 Valencia (b) = 4 Valencia (c) = 2 Valencia (d) = 3

6 Tipos de grafos Grafos simples. Son aquellos grafos que no tienen lazos ni lados paralelos. Ejemplo. 9 8 7 3 2 1 g f e d c b a 6 5 4 Grafo completo de n vértices (Kn). Es aquel grafo en donde cada vértice está relacionado con todos los demás, sin lazos ni lados paralelos. Se indica como Kn, en donde n es el número de vértices del grafo. 4 c c La valencia en cada uno de los vértices es (n-1) y el número de lados está dado por la expresión: 5 d 3 1 6 1 3 1 a b a 2 b 2 a b No. de vértices = K2 K3 K4

7 Tipos de grafos Complemento de un grafo (G’). Es aquél grafo que le falta al grafo G, para entre ambos formar un grafo completo de n vértices. Dicho grafo no tiene lazos ni ramas paralelas. Ejemplo: d d 1 a a 12 3 6 11 15 5 2 e e b 14 4 13 8 b 7 c c 10 9 f f G G’ Valencia de cada vértice = (n-1)=(6-1) = 5 No. de lados = = = 15

8 Tipos de grafos Grafo Bipartido. Es aquel que está compuesto por dos conjuntos de vértices. Uno de ellos A = {a1, a2, a3, ... , an} y otro B = { b1, b2, ..., bm}, además de que los vértices del conjunto A se relacionan con los del B, pero entre los vértices de un mismo conjunto no existe arista que los una. Ejemplo: 3 6 4 5 1 2 7 A B A={5,6,7} y B={1,2,3,4} A={1,3,4,6} y B={2,5,7}

9 Tipos de grafos Grafo bipartido completo (Kn,m). Es aquél grafo que está compuesto por dos conjuntos de vértices. Uno de ellos A = {a1, a2, a3, ..., an} y otro B = { b1, b2, ..., bm}, en donde cada vértice de A está unido con todos los vértices de B pero entre los vértices de un mismo conjunto no existe arista que los una. El grafo bipartido completo se indica como Kn,m. Ejemplo: 3 2 1 b a 4 K4,2 A={1,2,3,4} B={a,b} K2,3 A={1,2,3} 1 2 3 4 5 6 4 1 No es grafo bipartido completo porque no cumple con la condición, como se observa en el grafo equivalente de al lado 2 3 5 6

10 Representación matricial
Matriz de adyacencia (Ma). Es una matriz cuadrada en la cual los vértices del grafo se indican como filas, pero también como columnas de la matriz d b a e c x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 a b c d e 1 Ma = Matriz de incidencia (Mi). En esta matriz se colocan los vértices del grafo como filas y las aristas como columnas. x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 a 1 5 b 4 Mi = c d e 3 2 Valencias 2 son aristas 1 lazos

11 Caminos y circuitos En un grafo se puede recorrer la información de diferente manera, lo que implica seguir distintas rutas para llegar de un nodo del grafo a otro. Camino. Es una sucesión de lados que van de un vértice x a un vértice w (dichos lados se pueden repetir). Camino simple de longitud n. Es una sucesión de lados que van de un vértice x a un vértice w, en donde los lados que componen dicho camino son distintos e iguales a n. Circuito (Ciclo). Es un camino del vértice w al vértice w. Esto es, un camino que regresa al mismo vértice de donde salió. Circuito simple de longitud n. Es aquél camino del vértice w al vértice w que solamente tiene un ciclo en la ruta que sigue.

12 Ejemplo f h g d b a e c En la tabla siguiente se muestran distintos recorridos del grafo que se encuentra al lado. Recorrido Camino Camino simple Circuito Circuito simple {a,c,d,f} * {c,b,a,h,a} {b,c,d,e,e,c,b} {c,e,d,c} {e,e} {a,c,e,e,g,e,d,c,a} {h,a,c,e,d,b}

13 Ejemplo Grafo conexo. Es aquél en el que para cualquier par de vértices w, x, distintos entre sí, existe un trayecto para ir de w a x. Ejemplo: c b a f e d Grafo conexo Grafo no conexo En el grafo conexo (conectado) siempre existe un camino para ir de un vértice a otro.

14 Ejemplo Camino de Euler. Es el camino que recorre todos los vértices pasando por todas las ramas solamente una vez. f h g d b a e c Una característica del camino de Euler es que el recorrido sale de un vértice de valencia impar y termina también en un vértice de valencia impar. Camino de Euler es {a, b, e, h, g, e, d, a, c, f, d, g, f, h}

15 Ejemplo Circuito de Euler. Es aquel ciclo que recorre todos los vértices pasando por todos los lados solamente una vez. “La firma del diablo” es un juego que consiste en dibujar una figura sin levantar el lápiz del papel, partiendo de un punto y regresando nuevamente a él, sin pasar dos veces por una misma arista. Este problema se puede resolver por medio del circuito de Euler. El algoritmo Fleury permite determinar un circuito de Euler Si todos los vértices del grafo ya están desconectados, ya se tiene el circuito de Euler y finalizar. De otra manera continuar con el paso 3. Verificar que el grafo sea conexo y que todos los vértices tengan valencia par. Si no cumple con estas condiciones entonces el grafo no tiene circuito de Euler y finalizar. Si cumple con la condición anterior seleccionar un vértice arbitrario para iniciar el recorrido. Escoger una arista a partir del vértice actual. Esa arista seleccionada no debe ser Lado puente* a menos que no exista otra alternativa. Desconectar los vértices que están unidos por la arista seleccionada. 1) 2) 3) 4) 5)

16 Ejemplo A partir del siguiente grafo, determinar un circuito de Euler
Escoger una arista que no sea puente a partir del vértice actual. (Arista punteada {b,d}) 3) Escoger una arista que no sea puente a partir del vértice actual. {b,d,e) 3.1) A partir del siguiente grafo, determinar un circuito de Euler h g f d b a e c h g f d b a e c h g f d b a e c 4) Eliminar la arista seleccionada. El vértice actual ahora es (d). Eliminar la arista seleccionada. El vértice actual ahora es (e) 4.1) Usando el algoritmo de Fleury h g f d b a e c f b a h g d e c Se observa que es conexo y todos los vértices tienen valencia par, por lo tanto tiene circuito de Euler. 1) 2) Seleccionar un vértice arbitrario, por ejemplo {b} y llamarlo vértice actual. Si todos los vértices del grafo ya fueron eliminados, ya se tiene el circuito de Euler, en caso contrario regresar al paso 3. 5)

17 Ejemplo 3.4) Escoger una arista que no sea puente a partir del vértice actual. {b,d,e,b,c,h). Observar cómo en este caso no puede ser la arista (c,a) ya que es puente y el grafo ya no sería conexo. Escoger una arista que no sea puente a partir del vértice actual. {b,d,e,b) 3.2) Escoger una arista que no sea puente a partir del vértice actual. {b,d,e,b,c) 3.3) b a f h g d e c b a f h g d e c f b a h g d e c 4.4) Eliminar la arista seleccionada. El vértice actual ahora es (h). Eliminar la arista seleccionada. El vértice actual ahora es (b). 4.2) Eliminar la arista seleccionada. El vértice actual ahora es (c). 4.3) f b a h g d e c b a f h g d e c f b a g d e c h Continuar hasta que todos los vértices estén desconectados para obtener el circuito de Euler.

18 Ejemplo Circuito de Hamilton. Es un problema similar al circuito de Euler, pero en lugar de pasar por todos los lados del grafo solamente una vez como lo hace el circuito de Euler, en el circuito de Hamilton se pasa por cada vértice solamente una vez. En un grafo se sabe de antemano que tiene un circuito de Euler, si es conexo y todos sus vértices tienen valencia par, pero no hay forma de saber con anticipación si tiene o no un circuito de Hamilton. Encontrar (si es posible) un circuito de Hamilton en el siguiente grafo. j i f h g d b a e c Ejemplo: Respuesta a Observar como no es necesario que se pase por todas las aristas. b c e f d h g j i Circuito de Hamilton: {a,b,h,g,e,j,i,f,d,c,a}

19 Isomorfismo Se dice que dos grafos G1 y G2 son isomorfos cuando, teniendo apariencia diferente, realmente son iguales porque coinciden en: Mismo número de lados. Mismo número de vértices. Mismo conjunto de valencias. Ambos son o no conexos. Ambos tienen el mismo número de circuitos de longitud n. Ambos tienen o no circuito de Euler. Esto implica que todos los vértices de G1 tienen un vértice equivalente en G2 y que todas las aristas del grafo G1 tienen una arista equivalente en G2. Por otro lado, se sabe que dos grafos G1 y G2 son isomorfos si y sólo si para alguna ordenación de vértices y sus aristas, sus matrices de incidencia son iguales.

20 Ejemplo Determinar si los grafos siguientes G1 y G2 son isomorfos, haciendo coincidir sus matrices de incidencia, manteniendo una matriz estática y realizando intercambios de filas y/o columnas en la otra matriz. x10 r9 r8 r7 r3 r5 r4 r6 r2 r1 x9 x8 x7 x6 x5 x4 x3 x1 x2 5 6 4 3 f 2 1 d b a e c G1 G2

21 Ejemplo Las matrices de incidencia son: x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
1 1 b 1 1 1 1 MG1 = c 1 1 1 1 d 1 1 1 1 e 1 1 1 1 f 1 1 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 1 1 1 1 1 2 1 1 MG2 = 3 1 1 4 1 1 1 1 5 1 1 1 1 6 1 1 1 1

22 Ejemplo Solución: Se deben hacer intercambios de filas por columnas hasta hacer que MG2=MG1 1 3 5 6 4 = MG2 2 r2 r9 r8 r7 r6 r5 r4 r3 r10 r1 1 3 5 6 = MG2 4 2 r7 r6 r9 r2 r8 r1 r3 r10 r5 r4 Aquí faltan más intercambios hasta llegar a...

23 Ejemplo Demostrar que dos grafos son isomorfos haciendo intercambios de filas y/o columnas, hasta que las matrices de incidencia coincidan, es muy complicado y a medida que aumenta el número de vértices y aristas es aún más complicado. En lugar de hacer coincidir las matrices lo que se realiza es una comparación de las propiedades principales de los grafos; si coinciden en todas ellas se concluye que son isomorfos, pero si existe alguna diferencia ya sea en el número de vértices, en el conjunto de valencias, o si uno de ellos es conexo y el otro no, o si uno tiene circuito de Euler y el otro no, o si uno de ellos tiene más circuitos de longitud n que el otro, eso es causa suficiente para determinar que los grafos no son isomorfos.

24 Ejemplo La siguiente tabla muestra las propiedades en donde debe haber coincidencia entre G1 y G2 anteriores para que se consideren isomorfos. Propiedad G1 G2 Observación No. de vértices 6 No. de lados 10 Valencias 2,4,4,4,4,2 4,2,2,4,4,4 Coinciden en el mismo número de vértices de valencia 2 y de valencia 4 Conexo Si Ya que para cualquier par de vértices se puede encontrar un camino. Camino de Euler No Ya que todos los vértices tienen valencia par Circuito de Euler Ya que todos los vértices tienen valencia par y se trata de grafos conexos. Circuitos de longitud n (En este caso de longitud 3) a,b,d,a b,e,c,b b,d,c,b b,d,e,b c,d,e,c c,e,f,c 1,3,5,1 1,6,4,1 1,4,5,1 1,5,6,1 2,4,6,2 4,5,6,4 En lugar de tener longitud 3, se pudo ver cuántos circuitos tienen longitud 4. Pero en cualquier caso debe coincidir.

25 Ejemplo Grafos planos. Un grafo plano es aquél que se puede dibujar en un solo plano y cuyas aristas no se cruzan entre sí. Ejemplo: f d b a e c Euler establece que la ecuación A = L – V +2 es válida para un grafo plano y conexo. En donde A: Numero de áreas, L: Número de lados y V: Número de vértices. f d b a e c 1 2 3 4 5 6 A = L – V +2 6 = 10 – 6 +2 Observar cómo la parte que rodea al grafo también se cuenta como área.

26 Ejemplo Existen grafos importantes que se vieron anteriormente, por ejemplo K4 es un grafo plano ya que se puede dibujar en forma plana sin que sus aristas se crucen. Pero K5 es un grafo no plano ya que no hay forma en que por lo menos un par de aristas se deje de cruzar. c b a d K4 K5 e d c a b Otro grafo importante que no es plano, es el grafo bipartido completo K3,3. f e d b a c Tanto K5 como K3,3 se utilizan como patrones para demostrar que otros grafos más grandes no son planos.

27 Ejemplo Solución Dibujar en forma plana el siguiente grafo, o bien demostrar que no es plano encontrando dentro de él un grafo K3,3 o K5. En caso de ser plano probar que se cumple la ecuación de Euler A=L-V+2. Por más que se trate de dibujar el grafo en forma plana no va a ser posible, ya que tiene dentro de él un grafo no plano K3,3. 7 5 6 4 1 3 8 2 9 7 5 6 4 1 3 8 2 9 10 De esta forma si se eliminan las aristas punteadas, los vértices de valencia dos y los nodos que queden desconectados se descubrirá un grafo K3,3.

28 Ejemplo Dibujar en forma plana el siguiente grafo o bien demostrar que no es plano encontrando dentro de él un grafo K3,3 o K5. En caso de ser plano probar que se cumple la ecuación de Euler A=L-V+2. Tampoco este grafo es plano ya que dentro de él se puede encontrar: 7 5 6 4 1 3 8 2 9 Eliminando los lados de línea punteada y los vértices {1, 3, 5, 8, 10 y 11} se encuentra que hay un grafo K5 y que por lo tanto este grafo no es plano. 10 11

29 Ejemplo Solución Dibujar en forma plana el siguiente grafo o bien demostrar que no es plano encontrando dentro de él un grafo K3,3 o K5. En caso de ser plano probar que se cumple la ecuación de Euler A=L-V+2. En este caso se trata de un grafo plano como se muestra: 7 5 6 4 1 3 8 2 9 10 11 7 5 6 4 1 3 8 2 9 10 11 En éste se cumple la Ecuación de Euler: A = L – V + 2 11 = 19 –

30 Grafos de similaridad Los grafos de similaridad permiten agrupar información con características semejantes. Esto implica formar subgrafos en donde los vértices de un subgrafo están relacionados entre sí pero no tienen relación con los vértices del otro subgrafo, ya que no son similares. Una utilidad de este tipo de grafos es en reconocimiento de patrones, en donde se agrupa información con propiedades muy parecidas. En este tipo de grafo se debe definir una función que permita determinar la similaridad que existe entre los vértices, principalmente la distancia entre sus características. Una función muy usada para determinar la distancia es S(Px-Py) = Px,i-Py,i=Px,1-Py,1+Px,2-Py,2+………+Px,n-Py,m en donde Px,n es la propiedad n del punto Px, y Py,m es la propiedad m del punto Py.

31 Grafos de similaridad Con la función anterior es posible encontrar la distancia que existe entre las propiedades de los vértices x y y. Un valor grande de S(Px-Py) indica que no existe similaridad entre los vértices x y y, mientras que un valor pequeño significa que son muy parecidos o similares. Pero además de la función anterior, es necesario un valor referencial para discriminar la información que en este caso se llamará coeficiente de inferencia “C”. El valor de C se puede seleccionar de acuerdo a la experiencia que se tenga en el campo o bien por medio de prueba piloto. Si C es grande la similaridad es poco exacta, sin embargo para un valor de C pequeño la similaridad es muy fuerte. Una vez que se tiene S(Px-Py) para todos los puntos (vértices) en cuestión, se forman los grafos similares por medio del siguiente criterio: Si S(Px-Py)  C se traza una arista entre los vértices Px y Py, y se dice que Px y Py son similares. Los grafos similares forman un subgrafo y los no similares otro distinto.

32 Ejemplo La siguiente tabla muestra las características que tienen las diferentes partes de tejido de igual sección transversal de un análisis de mama, de acuerdo a “temperatura”, “Intensidad de color” e “inflamación”. 9 49 39 5 41 36 4 8 47 40 3 6 42 37 2 7 48 1 Inflamación (I) Color (Co) Temperatura (T) Parte (P) Determinar los grafos de similaridad para un coeficiente de inferencia C=5.

33 Respuesta Lo primero que se debe hacer es encontrar la distancia entre los puntos Px y Py por medio de la siguiente función: S(Px-Py) = Px,i-Py,i=Px,1-Py,1+Px,2-Py,2+………+Px,n-Py,m Si x = y. S(P1-P1) = P1,1-P1,1+P1,2-P1,2+P1,3-P1,3 =  + +7 - 7=0 Si x ≠ y. S(P1-P2) = P1,1-P2,1+P1,2-P2,2+P1,3-P2,3 =  + +7 - 6= 9 S(P1-P3) = P1,1-P3,1+P1,2-P3,2+P1,3-P3,3 =  + +7 - 8= 3 S(P1-P4) = P1,1-P4,1+P1,2-P4,2+P1,3-P4,3 =  + +7 - 5= 12 S(P1-P5) = P1,1-P5,1+P1,2-P5,2+P1,3-P5,3 =  + +7 - 9= 3

34 Respuesta S(P2-P3) = P2,1-P3,1+P2,2-P3,2+P2,3-P3,3 =  + +6 - 8= 10 S(P2-P4) =  + +6 - 5 = 3 S(P2-P5) =  + +6 - 9 = 12 S(P3-P4) =  + +8 - 5 = 13 S(P3-P5) =  + +8 - 9 = 4 S(P4-P5) =  + +5 - 9 = 15 Si se considera que dos puntos son similares si S(Px-Py)  C, en este caso S(Px-Py)  5 (valores con fondo azul) con lo cual se puede decir que el grafo está dividido en dos partes como se muestra a continuación. P3 P5 P1 P4 P2 Los lazos en cada uno de los vértices significan la similaridad entre ellos mismos. Con los grafos anteriores se puede considerar que las partes de tejido P1, P3, P5 son similares y las partes P2 y P4 también lo son.

35 Grafos ponderados En un grafo ponderado a las aristas se les asigna un valor. A ese valor se le llama ponderación y podría representar la distancia que hay de un nodo a otro, o bien el costo de transportarse de una ciudad a otra. Determinar la ruta más corta es un problema típico de la teoría de grafos y consiste en encontrar el camino más corto para ir de una ciudad origen (w) a una ciudad destino (x). Pueden existir distintas rutas para ir de un nodo a otro, pero el objetivo es encontrar el más corto o bien el más económico si es que la ponderación representa un costo. Algoritmo de Dijkstra 1.- Seleccionar la ciudad origen (a).

36 Grafos ponderados Usar una matriz que tenga como columnas el número de iteración, una columna para cada nodo (a,b,c,d,….), la columna actual que se utilizará para indicar el vértice que se seleccione en cada iteración y una columna seleccionados para registrar a los vértices que se van seleccionado en el proceso, como se muestra en la siguiente tabla. 2.- seleccionados actual …. d c b a Iteración 3.- Colocar en la matriz la distancia que existe de la ciudad origen a ella misma. (Cuando se trata de encontrar la distancia de una ciudad a ella misma considerar que es 0). A todas las demás columnas se les coloca ∞ como distancia. …. seleccionados actual d c b a Iteración

37 Grafos ponderados Iteración a b c d …. actual seleccionados ∞
4.- Colocar en la columna actual el vértice que tenga la distancia más corta de entre todos los nodos. (Es obvio que en esta primera iteración es el nodo origen.) En la columna seleccionados registrar dicho nodo escogido para ya no volverlo a elegir. (En nuestro caso le colocamos a esta distancia en negrita y subrayado.) Iteración a b c d …. actual seleccionados 5.- Registrar en la columna de cada uno de los nodos la distancia más corta que resulta de sumar la distancia registrada en el nodo actual + distancia a los vértices adyacentes a él y seleccionar la distancia más corta cuyo nodo aún no esté seleccionado de esa fila de la matriz. Suponer que d1 > d2, por lo tanto la matriz será: Iteración a b c d …. actual seleccionados 1 d1 d2

38 Grafos ponderados Iteración a b c d …. actual seleccionados ∞ 1 d1 d2
Si el nodo seleccionado tiene una distancia diferente de ∞ que es menor o igual a la que se obtiene de sumar la distancia registrada en la columna del nodo actual + la distancia de ese nodo actual a los nodos adyacentes a él dejarla tal como está, en caso contrario cambiarla por la nueva suma. 6.- Registrar en la columna actual el vértice que tenga la distancia más corta de entre todos los nodos y que no haya sido seleccionado hasta ahora. Además de anotar en la columna seleccionados dicho nodo para ya no volverlo a elegir. Iteración a b c d …. actual seleccionados 1 d1 d2 a,c 7.- Si ya están todos los vértices seleccionados finalizar. En caso contrario regresar al paso 5.

39 Ejemplo Encontrar la ruta más corta para ir de la ciudad origen (a) a las ciudades restantes. f 1 4 3 2 d b a e c g h i j Ite a b c d e f g h i j k act seleccionados 1 4 3 a,e 2 5 a,e,b a,e,b,g a,e,b,g,h a,e,b,g,h,c 6 a,e,b,g,h,c,f 7 a,e,b,g,h,c,f,d 8 a,e,b,g,h,c,f,d,i 9 a,e,b,g,h,c,f,d,i,j 10 a,e,b,g,h,c,f,d,i,j,k k Ejemplo: Para ir de a a j la distancia mínima es 6. Para ir de a a k la distancia es 8.

40 Coloración Sea G(V,A) un grafo y sea C un conjunto de colores. La coloración de los vértices V del grafo usando un color del conjunto C se encuentra dada por la función. f: VC Si v1,v2 V adyacente entonces f(v1) ≠ f(v2) Esto implica que cuando se lleva a cabo la coloración en vértices de un grafo, cada par de vértices adyacentes v1 y v2 del grafo deberán estar iluminados con un color diferente. Número cromático Es el número mínimo de colores con que se puede colorear un grafo G cuidando que los vértices adyacentes no tengan el mismo color. El número cromático se indica de la siguiente manera: X (G)

41 Coloración La coloración de grafos es un problema NP-Computable, esto significa que no hay procedimientos eficientes para llevar a cabo esta tarea, sin embargo existen métodos aproximados que pueden dar buenos resultados. Uno de ellos es: Seleccionar el vértice de mayor valencia v e iluminarlo con un color cualquiera del conjunto C. Colorear los vértices adyacentes al vértice v verificando que no existan vértices adyacentes del mismo color. En caso de ser necesario llevar a cabo intercambio de colores con la finalidad de usar la menor cantidad de ellos. Si ya están coloreados todos los vértices del grafo finalizar, en caso contrario continuar con el paso 3. Seleccionar el vértice v de mayor valencia que ya esté coloreado y que todavía tenga vértices adyacentes sin colorear. Regresar a paso 2. 1) 2) 3) Se recomienda colorear del mismo color tantos vértices como sea posible e iluminar al mismo tiempo los vértices que compartan nodos vecinos.

42 Ejemplo Encontrar el número cromático del siguiente grafo G. Paso 2:
b a c,2 g,2 h,1 i j,2 e Paso 2: Encontrar el número cromático del siguiente grafo G. e f G d b a c g h i j e f,3 G d,3 b a c,2 g,2 h,1 i j,2 Vértice seleccionado Paso 3: Paso 1: f G d b a e c g h,1 i j f,3 G d,3 b,3 a,1 c,2 g,2 h,1 i j,2 Paso 2: e

43 Ejemplo El número cromático es por lo tanto: X(G) = 3 Paso 3: Paso 2:
f,3 G d,3 b,3 a,1 c,2 g,2 h,1 i j,2 Paso 3: e Vértice seleccionado X(G) = 3 El número cromático es por lo tanto: f,3 G d,3 b,3 a,1 c,2 g,2 h,1 i,1 j,2 Paso 2: e,1

44 Características del número cromático
1) Un grafo G tiene número cromático X(G) = 1 si y sólo si no tiene aristas. Ya que un vértice sólo puede iluminarse de un solo color c,1 2) El número cromático para un camino o un ciclo de longitud 2 es X(G) = 2 ya que siempre se podrán alternar los colores. c,1 d,2 X (G) = 2 b,2 a,1

45 Aplicaciones de los grafos
Redes (carreteras, telefónicas, eléctricas, de computadoras, etc.) Optimización de los recursos. Sistemas de información. Reconocimiento de patrones.


Descargar ppt "Capítulo 7: Grafos Autor: José Alfredo Jiménez Murillo."

Presentaciones similares


Anuncios Google