You are on page 1of 14

GRAFOS

Un grafo es una pareja de conjuntos G = (V,A), donde V es el conjunto de vértices, y A es el conjunto de aristas, este último es un conjunto de pares de la forma (u,v) tal que , tal que. Para simplificar, notaremos la arista (a,b) como ab. »Multigrafo: Cuando hay 2 o más aristas paralelas, o cuando 2 vertices estan relacionados más veces con sigo mismo.

»Dígrafo: Hay un punto de origen y uno de destino final, es decir: no pueden ser a,b = b,a.

-QUE ES UNA ARISTA: Son las lineas con las que se unen los vertices de un grafo, los vertices a y b son los extremos. »Arista Adyacente: 2 aristas son adyacentes si convergen en el mismo vertice. »Arista Paralelas: Son dos aristas conjuntas si el vertice inicial y final son el mismo. »Arista Ciclicos: Es la arista que parte de un vertice para entrar en el mismo. »Cruce: Son 2 aristas que cruzan en un mismo punto.

-QUE ES UN VERTICE: Los vértices son los dos elementos que forman un grafo. Como ocurre con el resto de las ramas de las matemáticas, a la Teoría de Grafos no le interesa saber qué son los vértices. Diferentes situaciones en las que pueden identificarse objetos y relaciones que satisfagan la definición de grafo pueden verse como grafos y así aplicar la Teoría de Grafos en ellos.

CAMINO

Un camino en un grafo es una sucesión finita en la que aparecen alternadamente vértices y aristas de dicho grafo. »Longitud del Camino: Está dada por número de aristas, parecido al tamaño. »CAMINO ABIERTO: Diferente punto de partida al de llegada, Que no llega a su principio. »CAMINO CERRADO:

Cuando su punto de llegada es el mismo de partida. »CAMINO SIMPLE: No tiene aristas repetidas pero si puede tener vértices repartidos »CAMINO ELEMENTAL: No puede repetir ni aristas ni vértices, tiene que ser abierto. »Todo camino elemental es simple, pero no todo caminos simple es elelemntal.

-TIPOS DE GRAFOS »GRAFO CIRCULO: Camino simple y cerrado

»GRAFO CICLO: Camino elemental y cerrado

»GRAFO CADENA: Camino elemental y abierto

Unidad 5. Introducción a los grafos 5.1. Grafos

La teoría de grafos es un tema muy antiguo; sin embargo, es utilizado en muchas aplicaciones modernas. Sus ideas básicas fueron introducidas en el siglo XVIII por el matemático suizo Leonhard Euler. Los grafos son usados para resolver problemas en muchos campos, por ejemplo, se puede utilizar para diferenciar dos compuestos químicos con la misma fórmula molecular pero empleando distintas estructuras; para el caso de nuestra área de interés, un ejemplo es que los grafos pueden ser utilizados para establecer si dos computadoras están conectadas por un enlace de comunicaciones entre las de redes de computadoras.

5.1. 1 Introducción a los grafos

Los grafos son estructuras discretas ordenadas donde son conjuntos de vértices o nodos conectados por arcos. Existen diferentes tipos de grafos que difieren respecto al número y tipo de arcos que pueden enlazar un par de vértices. En las diferentes áreas de estudio existen algunas dificultades que pueden ser solucionadas utilizando los modelos de grafos.

Los grafos con pesos asignados a sus arcos pueden emplearse para solucionar problemas, por ejemplo hallar el camino más corto entre dos puntos en una red de transporte, o bien para programar exámenes y asignar canales a las estaciones de televisión.

5.1. 2 Grafos utilizados en el uso de la computación

Los grafos son una herramienta importante, y muy útil, empleada en el área de las computadoras, principalmente para modelar las redes. Una red es construida con líneas telefónicas y, por supuesto, por computadoras. En la siguiente ilustración se muestra la ubicación de cada computadora como un punto y cada línea telefónica con un arco:

Fig. 5.1 Red de computadoras

De acuerdo a lo anterior, en esta red se percibe una única línea telefónica entre dos computadoras; además, cada línea opera en ambas direcciones y no se observan computadoras que tengan hacia sí mismas una línea telefónica, por lo tanto, esta red puede ser modelada apoyándose en la elaboración de un grafo simple, el cual representa vértices, computadoras y arcos no dirigidos. Entonces, este grafo simple es representado como G = (V, A), en el que V es un conjunto no vacío de Vértices y A un conjunto de pares no ordenados de diferentes elementos de V nombrados arcos, es decir, son grafos no dirigidos que no tienen arcos múltiples ni lazos.

También es frecuente la existencia de varias líneas telefónicas entre las computadoras en la red y no se puede elaborar por grafos simples sino que se requiere emplear otros, como es el caso de los multígrafos, que son vértices y arcos no dirigidos entre estos vértices, pero permitiendo múltiples arcos entre los pares de los vértices.

. Esto se puede representar de la siguiente manera:

Fig. 5.2 Red de computadoras con varias líneas telefónicas

El multígrafo se representa como G = (V, A) y es conjuntos de Vértices V, de arcos A, respectivamente, y una función f de A .Los arcos A1 y A2 reciben el nombre de arcos paralelos o múltiples si la f(A1) = f(A2), es decir, son grafos no dirigidos que pueden contener arcos múltiples, pero no pueden contener lazos

También puede suceder que exista una red de computadoras, que puede contener una línea telefónica de una computadora a sí misma y ésta se puede ser representada por los pseudografos, que se representan como G = (V, A) es un conjunto de Vértices V, un conjunto de arcos A y una función f de A

Un arco es un lazo si f(a) = {u} para algún u Î V, es decir, son el tipo más general de grafos no dirigidos, ya que contienen arcos cíclicos y arcos múltiples, y se puede visualizar con la siguiente figura:

Fig. 5.3 Red de computadoras con líneas de diagnóstico

Los grafos dirigidos son arcos pares ordenados con dirección cuando sus arcos son pares ordenados. Los lazos son pares ordenados del mismo elemento y están permitidos, pero los arcos múltiples en la misma dirección entre dos vértices, no. Un grafo dirigido Gd = (V, A) consiste en un conjunto de vértices V y un conjunto de arcos A que son pares ordenados de elementos de V. Un ejemplo claro de lo anterior son las líneas telefónicas en una red de computadoras que no pueden operar en ambas direcciones. Supongamos, conforme el ejemplo que se ha estado desarrollado, que el host de Veracruz solo puede recibir datos de otras computadoras y no puede enbiarlos: sin embargo, las líneas telefónicas operan en ambas direcciones y están representadas por pares de arcos en direcciones opuestas, como se representa en la siguiente figura:

Fig. 5.4 Red de comunicación de líneas telefónicas con una sola dirección

Otro caso se presenta cuando los multígrafos dirigidos tienen arcos múltiples dirigidos de un vértice a otro y se define como Gd= (V, A) que es un conjunto de vértices V, un conjunto de arcos A y una función f de A {{u, v} | u, v ∈V}. Los arcos A1 y A2 son arcos múltiples si f(A1)= f(A2). Los arcos dirigidos múltiples están asociados con el mismo par de vértices; además, se puede decir que (u, v) es un arco de G = (V, A) en la medida en que exista al menos un arco A con f(A)=(u, v); en un caso práctico esto se puede utilizar en la red de computadoras, en las que puede haber muchas líneas de un solo sentido hacia el host en Veracruz desde cualquier lugar, y tal vez de una línea de regreso a cada computadora remota desde el host, y se representa de la siguiente forma:

Fig. 5.5 de Red de computadoras con múltiples líneas de una dirección.

5.1.3 Teorema de Hand Shaking

Sea G = (V, A) un grafo no dirigido con e arcos, entonces es:

Ejemplo: Supóngase que en un grafo se encuentran 10 vértices y cada uno de estos con grado 8 ¿Cuántos arcos hay en el grafo?

A través del Teorema Hand Shaking se comprueba que la suma de los grados de los vértices de un grafo no dirigido es par.

5.1. 4 Grafos especiales

Existen casos de los grafos especiales, de acuerdo a cada caso son utilizados: 1.- Grafo completo: es el grafo completo de n vértices, se representa como Cn, que es grafo simple que tiene exactamente un arco entre cada par de vértices distintos. En la siguiente figura, se representan grafos para n =1, 2, 3, 4, 5:

Fig. 5.6 Grafos de n=1,2,3,4,5 y6

2.- Grafo cíclico: es el grafo Cln, n ≥ 3, consiste de n vértices v1, v2, …, vn y arcos {v1, v2}, {v2, v3}, …,{vn1, vn} y {vn, v1}. Por ejemplo, en la siguiente figura se muestran grafos cíclicos de 3,4, 5y 6, respectivamente:

Fig. 5.7 Grafos cíclicos de n=3,4,5,6

3.- Grafos de n-cubos: se expresa como Gcn, y en él hay vértices que muestran las 2n cadenas de bits de longitud n. Dos vértices son adyacentes si y solo si las cadenas de bits que estos representan difieren en exacto. En la siguiente figura se muestran ejemplos cuando es Gc 1, Gc2 y Gc3

Fig.5.8 Grafos de n-cubos para 1,2 y 3 5.2. Representación e isomorfismo en grafos Se emplea el concepto de isomorfismo cuando en ciertas situaciones se puede dar el caso que los grafos pueden tener la misma figura, por lo que existe una correspondencia uno a uno entre sus conjuntos de vértices.

5.2.1 Representación de grafos

Una manera de representar un grafo sin arcos múltiples es registrar todos los arcos del grafo, o bien empleando listas de adyacencia, las cuales especifican los vértices que son adyacentes a cada vértice del grafo.

Ejemplo: cuando se utiliza un registro de adyacencia para especificar un grafo simple. Conforme lo anterior se puede representar el siguiente registro y grafo:

Registro de adyacencia

Vértices

Vértices adyacentes

a

b,c

b

a

c

a,d

d

e,c

Cuadro 5.1 Registro de adyacencia 5.2.2 Matrices de adyacencia En algunas ocasiones, la utilización de los grafos puede ser laboriosa y muy extensa. Con el fin de reducirlos se ocupan matrices. Usualmente la matriz que se utiliza está basada en la adyacencia de los vértices o bien, en la incidencia de los vértices y los arcos.

Supóngase que G = (V, A) es un grafo simple donde |V| = n; además que los vértices de G se registran arbitrariamente como v1, v2,…, vn; por lo que la matriz de adyacencia se basa en un ordenamiento escogido para los vértices y se expresa A = [ai,j], por lo que aj es 1 si es un arco de G, y 0 en otra parte. Es importante mencionar que la matriz de adyacencia de un grafo simple es simétrica, es decir, ai,j = aj,i, entradas son 1 cuando vi y vi son adyacentes, además, ambas son 0 en otra parte y cabe mencionar que como el grafo simple no tiene lazos, cada entrada ai,j, i = 1, 2, 3, …, n es 0.

Por ejemplo, la forma de mostrar el siguiente grafo utilizando la matriz de adyacencia es la siguiente:

Fig. 5.9 Grafo simple Donde los renglones y las columnas representan, respectivamente, a,b,c,d; y la matriz se representa:

Los grafos no dirigidos con lazos y arcos múltiples también se pueden apoyar en las matrices adyacentes, si un lazo en el vértice ai es representado por un 1 en la posición (i, i) de la matriz de adyacencia, cuando los arcos múltiples están presentes, ahora la entrada (i, j) de la matriz de adyacencia es igual al número de arcos que están asociados a {vi, vj}. Es importante mencionar que todos los grafos no dirigidos, los multigrafos y pseudografos, tienen matrices de adyacencia simétricas. Por ejemplo, supóngase el siguiente grafo:

Fig. 5.10 Pseudografo

Entonces la matriz es representada:

Si la matriz A= [ai,j] es la matriz de adyacencia para el grafo dirigido con respecto a esta lista de vértices, entonces ai,j = 1 si {vi,,vj} es un arco de G, si no la matriz de adyacencia de un grafo dirigido no tiene que ser simétrica, ya que no tiene que haber un arco de vj a vi cuando hay un arco de vi a vj. 5.2.3. Matrices de incidencia La matriz de incidencia, es un grafo no dirigido G = (V, A), además se supone que v1, v2,…, vn son los vértices y a1, a2, …, am son los arcos de G; por lo tanto, la matriz de incidencia es de orden n x m, por lo que R = [ri,j] donde 1 es cuando el arco aj es incidente con vi y 0 en otra parte.

Las matrices de incidencia también se pueden usar para representar arcos múltiples y lazos. Los arcos múltiples son representados en la matriz de incidencia usando columnas con entradas idénticas cuando estos arcos son incidentes con el mismo par de vértices. Los lazos son representados usando una columna con exactamente una entrada igual a 1, correspondiendo al vértice que es incidente con este lazo. Por ejemplo, supóngase el siguiente grafo:

Fig.5.11 Pseudografo

En cada renglón se representan los arcos, a1,a2,a3,a4,a5 y a6, respectivamente y en cada columna se representan los vértices, es decir, v1,v2,v3 y v4 respectivamente, por lo que la matriz queda de la siguiente manera:

5.2.4. Isomorfismo de grafos Los grafos simples G1 = (V1, A1) y G2 = (V2, A2) se consideran isomorfos si existe una función uno a uno de V1 a V2 , siendo a y b son adyacentes en G1 si la función (a) y la función (b) son adyacentes en G2, para todas las a y b en V1. Por ejemplo supóngase que se tiene los siguientes grafos:

Fig. 5.12 grafos

Y si se quiere demostrar si son isomorfos entonces:

El grafo H y G, con sus respectivas funciones corresponde a tener f(u1)= v1, f(u2) = v4, f(u3) = v3 y f(u4) = v2 es una correspondencia uno a uno, además se observan los vértices adyacentes en G son u1 y u2, u1 y u3, u2 y u4, y u3 y u4, y cada uno de los pares f(u1) =v1 y f(u2) = v4, f(u1) = v1 y f(u3) = v3, f(u2) = v4 y f(u4) = v2, y f(u3) = v3 y f(u4) = v2 son adyacentes en H. 5.2.5 Conectividad En los grafos no dirigidos un camino de longitud n de u a v, donde n es un entero positivo, es una sucesión de arcos e1, …, en del grafo tal que f(e1) = {x0, x1}, f(e2) = {x1, x2}, …, f(en)= {xn-1, xn}, donde x0 = u y xn = v. Cuando el grafo es simple, denotamos este camino con su secuencia de vértices x0, x1, …, xn (ya que listando los vértices se determina de manera única el camino). Los caminos son circuitos que empiezan y terminan en el mismo vértice, esto es si u = v. El circuito pasa por los vértices x1, x2, …, xn-1;

y es de tipo simple cuando tiene el mismo arco más de una vez y cuando no se necesita distinguir entre arcos múltiples, se expresa cuando se identifican los caminos por los que atraviesa como e1, e2,…, en donde f(ei) = {xi-1, xi} para i = i, 2, …, n por su lista de vértices x0, x1, …, xn.

Un ejemplo de camino simple es el siguiente:

Fig, 5.13 Grafo simple

Conforme lo anterior, se observa un camino simple de longitud, donde los arcos son y Además b, c, f, e, b es un circuito, que empieza en a y finaliza en b; de longitud 4 porque {b, c}, {c, f}, {f, e} y {e, b} son arcos y este camino comienza y termina en b.

También se puede observar un camino no simple, en a, b, e, d, a, b, longitud 5), por la doble presencia de de arco {a, b}.

En camino de longitud n en un multígrafo dirigido , donde n es un entero positivo, de u a v es una secuencia de arcos e1, e2,…, en del grafo tal que f(e1) = (x0, x1), f(e2) = (x1, x2), …,f(en) = (xn-1, xn), donde x0 = u y xn = v, y cuando en el grafo, no existen arcos múltiples, el camino se expresa por la secuencia de vértices x0, x1,…, xn. En los casos que un camino que empieza y finaliza en el mismo vértice, se llama circuito o ciclo, es de tipo simple si el circuito no tiene el mismo arco más de una vez. Y en los casos que no es necesita diferenciar entre arcos múltiples en un camino, se expresa como e1, e2,…, en donde f(ei) = (xi-1, xi) para i = 1, 2, …, n por su lista de vértices x0, x1, …, xn.

5.3. Caminos de Euler y Hamilton 5.3.1 Caminos y circuitos de Euler El circuito de Euler comienza con un vértice a y continúa con un arco incidente en a, digamos {a, b}. El arco {a, b} contribuye en uno a deg(a). Cada vez que un circuito pasa a través de un vértice, contribuye en 2 a su grado, ya que el circuito entra vía un arco incidente en este vértice y lo abandona vía otro arco. Finalmente, el circuito termina donde comenzó, contribuyendo en 1 a deg(a). Entonces, deg(a) debe ser par porque el circuito contribuye en 1 cuando comienza, en 1 cuando termina y en 2 cada vez qua pasa a través de a (si es que pasa). Un vértice distinto de a tiene un grado par, ya que el circuito contribuye en

2 a su grado cada vez que pasa a través del vértice. Concluimos que si un grafo conectado tiene un circuito de Euler, cada uno de sus vértices debe tener un grado par. Cuando existe un circuito de Euler en un multigrafo conectado, si todos sus vértices tienen grado, se supone que G es un multigrafo conectado y el grado de cada vértice de G es par. Al construir un circuito simple que comience en un vértice arbitrario a de G. Hagamos x0 = a, se escoge arbitrariamente un arco {x0, x1} incidente con a, además se construye un camino simple {x0, x1}, {x1, x2},…, {xn-1, xn} tan largo como sea posible. Por ejemplo, en el grafo G de la figura 2.25 comencemos con a y escojamos en sucesión los arcos {a, f}, {f, c}, {c, b}, y {b, a}, finalizando el camino porque el grafo tiene un número finito de arcos. El camino empieza en a con un arco de la forma {a, x}, y finaliza en el mismo a con un arco de la forma {y, a}, debido que se pasa a través de un vértice con grado par y solo se usa un arco para entrar a este vértice, y al menos sobra un arco para que el camino deje el vértice, el camino puede no utilizar todos los arcos, o bien lo puede hacer.

Se elabora un circuito de Euler si todos los arcos se utilizan. En caso contrario, el subgrafo B elaborado gracias al obtenido de A elimina los arcos ya usados y los vértices que no son incididos por ningún arco sobrante, por lo tanto al eliminar el circuito a, f, c, b, a, se obtiene el subgrafo B y se expresa en la siguiente figura:

Fig. 5.14

Conforme se observa en la figura anterior, A está conectado y B posee al menos un vértice en común con el circuito que ha sido borrado. Por lo tanto un multigrafo conectado tiene un circuito de Euler si y solo si sus vértices tienen grado par.

Ejemplo: Resolver el siguiente grafo a través de circuitos y caminos de Euler:

Fig. 1.15 grafos curvos Solución: Como se observa el grafo en sus vértices tienen grado par. Para formar el circuito de Euler, primero, se crea el circuito a, b, d, c, b, e, i, f, e, a, y posteriormente se obtiene el subgrafo H borrando los arcos en este circuito y así todos los vértices quedan aislados; posteriormente se forma el circuito d, g, h, j, i, h, k, g, f, d en H, y después de crearlo se forma este circuito, ocupando todos los arcos en G, ordenando este nuevo circuito dentro del primer en el lugar adecuado produce el circuito de Euler: a, b, d, g, h, j, i, h, k, g, f, d, c, b, e, i, f, e, a.

5.3.2 Caminos y circuitos de Hamilton Un camino x0, x1,…, xn-1, xn en el grafo G = (V, A) es de Hamilton si V = {x0, x1,…, xn-1, xn} y xi ≠ xj para 0 ≤ i < j ≤ n. Un circuito x0, x1,…, xn-1, xn, x0 con (n > 1) en un grafo G = (V, A) es llamado un circuito de Hamilton si x0, x1,…, xn-1, xn es un camino de Hamilton.

El término se debe que al juego de Hamilton que es era un dodecaedro de madera con una tachuela en cada vértice del dodecaedro y un hilo. Los 20 vértices del dodecaedro eran etiquetados con diferentes ciudades del mundo. El objetivo del juego era iniciar en una ciudad y viajar a través de las aristas del dodecaedro, visitando cada una de las otras 19 ciudades exactamente una vez, y terminar en la misma ciudad en la que se comenzó. El circuito viajado era marcado usando el hilo y las tachuelas. En la siguiente figura se muestra este dodecaedro:

Fig. 1.16 Docaedro de Hamilton Las condiciones para valorar si existe un camino o un circuito de Hamilton son:

1.- Un grafo con un vértice de grado 1 no puede tener un circuito de Hamilton, ya que en un circuito de Hamilton cada vértice es incidente con dos arcos del circuito. 2.- Si un vértice en el grafo tiene grado 2, entonces los dos arcos que inciden en él deben ser parte de cualquier circuito de Hamilton 3.- Un circuito de Hamilton se empieza a construir y este circuito pasa a través de un vértice, entonces todos los arcos restantes incidentes en este 4.- Un circuito de Hamilton no puede contener a un circuito más pequeño dentro de él.