Вы находитесь на странице: 1из 16

Grafos Un grafo G es un par G=(V, E) donde V es un conjunto finito de elementos llamados vrtices o nodos y E un conjunto de pares no ordenados de vrtices

que se denominan aristas o arcos. Propiedades de los Grafos El nmero de vrtices de un grafo G, es el orden del grafo. El nmero de aristas de un grafo G, es su tamao. Dos aristas son independientes si no tienen vrtices en comn. Si una arista relaciona dos vrtices (u,v) se dicen que u y v son vrtices adyacentes. Un lazo o bucle es una arista que relaciona al mismo nodo; es decir, una arista donde el nodo inicial y el nodo final coinciden. Grados de un Vrtice en un Grafo Se denomina grado de un vrtice v de un grafo no dirigido G al nmero de aristas que inciden en v, y se designar g(v) (un lazo en v contribuye de manera doble al grado de v). Grado de un Vrtice en un Dgrafo En un grafo dirigido, el grado de salida es el nmero de aristas que salen de l, y el grado de entrada es el nmero de aristas que entran en l. A un vrtice de grado 0 se le denomina vrtice aislado. A un vrtice de grado 1 se le denomina vrtice terminal o extremo. Incidencia de un Grafo Si (u, v) es una arista de un grafo dirigido, decimos que incide desde o sale de el vrtice u, que ser su vrtice inicial, y que incide hacia o entra en el vrtice v, que ser su vrtice final. Si se trata de un grafo no dirigido, decimos que (u,v) simplemente incide en los vrtices u y v, que sern sus vrtices extremos. Representaciones de los Grafos Existen diversas maneras de representar un grafo. Las ms destacadas por su uso son las siguientes: 1. Representacin Grfica Consiste en un grfico en que los vrtices se representan mediante puntos. En funcin del tipo de grafo que se tenga, ocurre: Los vrtices se unen mediante segmentos si el grafo es no orientado. Los vrtices se unen mediante flechas indicando el vrtice origen y final si el grafo es orientado.

Este tipo de representacin es adecuada para la interpretacin y resolucin de problemas en grafos pequeos o medianos. Ejemplos

Grafo no Dirigido

Grafo Dirigido

2. Representacin Relacional Se basa en la aplicacin de representacin en pares ordenados de la relacin que compone el grafo.

Grafo dirigido para el ejemplo de representacin en forma de relacin.

R={(v7,v6),(v7,v1),(v1,v2),(v6,v2),(v2,v5),(v2,v3),(v3,v4),(v5,v4)} 3. Representacin Matricial Matriz de Adyacencia: la matriz de adyacencia asociada al grafo G = (V, E) es la matriz M= (mij) de orden pxp y definida en funcin del tipo de grafo que se tenga. Si el grafo es no dirigido se tiene:

Si el grafo es dirigido se tiene:

Ejemplo: Un ejemplo de representacin grfica de un grafo no dirigido es el grafo formado por el conjunto de vrtices que representan las poblaciones anteriores: v1= {Cerecinos de Campos}, v2 = {Villalpando}, v3 = {Valladolid}, v4 = {Pozaldez}, v5 = {Medina del Campo}, v6 = {Villaffila} y v7 = {Revellinos}, y, el conjunto de aristas que representa la direccin en que una persona puede ir de una poblacin a otra queda descrito a continuacin: e1 = {Cerecinos de Campos, Villapando}, e2 = {Villapando, Valladolid}, e3 = {Valladolid, Pozaldez}, e4 = {Medina del Campo, Pozaldez}, e5 = {Villalpando, Medina del Campo}, e6 = {Villaffila, Villapando}, e7 = {Revellinos, Villaffila}

Grafo dirigido para ejemplo de representacin relacional y matriz de adyacencia

Una persona puede ir de Revellinos a Cerecinos de Campos o a Villaffila, pero no puede ir de Cerecinos de Campos a Revellinos. La matriz de adyacencia que forma el grafo anterior es el siguiente:

Matriz de Incidencia: sea G= (V, E) un grafo con v vrtices y e aristas, entonces le corresponde una matriz v e denominada la matriz de incidencia de G. Si denotamos los vrtices de G por v1, v2,. . ., vv y las aristas por e1, e2,. . ., ee. Entonces la matriz de incidencia de G es la matriz M (G) = [mij] donde mij es el nmero de veces que la arista ej incide en el vrtice vi; los valores son 0,1 2 (2 en el caso que la arista sea un lazo). Si G es un dgrafo la matriz de incidencia se define como sigue:

4. Lista de Adyacencia Consiste en una lista de los vrtices del grafo y adems para cada vrtice una lista de sus vrtices vecinos. Ejemplo:

Grafo. Matriz de adyacencia. Lista de Adyacencia

Tipos de Grafos 1. Grafos Planares: se dice que un grafo G es planar si se puede dibujar en el plano sin que los lados se crucen fuera de sus extremos.

Grafo Planar

2. Grafos Conexos: decimos que un vrtice u de un grafo es accesible (o alcanzable) desde otro vrtice v si existe un camino de u a v. Un grafo no dirigido es conexo si cada par de vrtices est conectado por un camino (es decir, todos los vrtices son mutuamente accesibles). Las componentes conexas de un grafo son las clases de equivalencia de los vrtices bajo la relacin de accesibilidad. El grafo de la figura anterior es conexo ya que cada par de vrtices estn conectados por un camino. Sin embargo, el siguiente grafo no es conexo y tiene dos componentes conexas. Esto se debe a que, por ejemplo, al vrtice 3 no se puede acceder desde el vrtice 1.

Grafo no conexo

En una componente conexa, todos los vrtices son mutuamente accesibles; es evidente, por tanto, que un grafo es conexo si y solamente si tiene una nica componente conexa. Intuitivamente, las componentes son los diferentes trozos conexos en que el grafo se descompone. En conclusin, Un grafo se puede definir como conexo si cualquier vrtice V pertenece al conjunto de vrtices y es alcanzable por algn otro. Otra definicin que dejara esto ms claro sera: un grafo conexo es un grafo no dirigido de modo que para cualquier par de nodos existe al menos un camino que los une. Un grafo dirigido es fuertemente conexo si cualquier vrtice es accesible desde cualquier otro.

3. Grafo Completo: de orden n, que se denota por Kn, es el grafo que tiene n vrtices y cada vrtice est unido a los dems por exactamente una arista. Un grafo completo de n vrtices tiene exactamente (n (n1))/2 aristas.

Grafos Completos

4. Grafo Bipartito: sea un grafo G y sea su conjunto de vrtices que puede ser expresado como la unin disjunta de dos subconjuntos de vrtices V1 y V2 de forma que cada arista de G une un vrtice de V1 con otro de V2, entonces se dice que G es un grafo bipartito. Se cumple que V1V2=0, V1UV2=V. Un grafo bipartito en el cual todos los elementos de V1 estn unidos con todos los elementos de V2 se denomina grafo bipartito completo.

Grafo Bipartito

5. Grafo Simple: se denomina grafo simple al grafo G= {V, E} que verifica que para todo u,v que pertenece a V, existe a lo sumo una nica arista {u,v} de E que los une. En caso contrario se llama multgrafo. El grafo de la derecha es un grafo simple y el grafo de la izquierda es un multgrafo.

Grafo Simple

6. Grafo Nulo: se denomina grafo nulo a un grafo donde E es vaco, es decir; el conjunto de aristas es el conjunto vaco. Obviamente en este tipo de grafo todo vrtice es aislado.

Grafo Nulo

7. Subgrafo: un subgrafo de un grafo G es un grafo formado por un subconjunto de vrtices de G y todas las aristas de G que los unen.

Subgrafo

8. Grafo Regular: se llama grafo regular a un grafo cuyos vrtices tienen todo el mismo grado. Si el grado de cada vrtice es r, se tiene un grafo regular de grado r. Todo grafo nulo es un grafo regular de grado 0. Todo grafo completo con n vrtices es un grafo regular de grado n 1.

Grafo regular 9. Pseudografo (dirigido): un pseudografo es un grafo no dirigido (dirigido) que acepta bucles en G.

Pseudografo

10. Grafos Isomorfos (Isomorfismo de grafos): dos grafos son isomorfos cuando existe una correspondencia biunvoca (uno a uno), entre sus vrtices de tal forma que dos de estos quedan unidos por una arista en comn. Si dos grafos G1 y G2 son isomorfos, tienen el mismo nmero de vrtices, el mismo nmero de aristas, el mismo nmero de vrtices de cualquier grado, el mismo nmero de ciclos de cualquier longitud, etc. Propiedad: Dos grafos simples G1 y G2 son isomorfos si y slo si para cierto orden de sus vrtices las matrices de adyacencia son iguales. Ejemplos: 1. Grafos isomorfos a travs de definicin de funciones que los hacen isomorfos

Grafos Isomorfos

11. Grafos Orientados o dgrafos: se denomina grafo dirigido o dgrafo cuando cada arista tiene un orden en sus extremos. El orden se indica en la grfica mediante una flecha. Se llama origen al primer vrtice de la arista y fin al segundo.

Dgrafo

12. Grafo de Euler: En 1736, Euler resolvi el problema conocido como problema de los puentes de Knigsberg, que consiste en lo siguiente: Dos islas en el ro Pregel que cruza Knigsberg se unen entre ellas y con la tierra firme mediante siete puentes. Se plante la posibilidad de dar un paseo empezando por una cualquiera de las cuatro partes de tierra firme, cruzando cada puente una sola vez y volviendo al punto de partida. Fue resuelto por el matemtico Leonhard Euler en 1736. Adems, di una caracterizacin general.

Puentes de Knigsberg

Los puentes de Knigsberg de manera grfica y mediante un grafo es la siguiente:

Grafo Puentes de Knigsberg


Grafo Puentes de Knigsberg

Sea G un grafo no dirigido. Denominamos recorrido euleriano de G a un camino que pasa por todas las aristas de G apareciendo cada una de ellas exactamente una vez. Si, adems, el recorrido es cerrado, se denomina que hay un circuito euleriano y el grafo es

euleriano. El grafo correspondiente a los puentes de Knigsberg no es un grafo euleriano (no todos los vrtices tienen grado par). Un grafo euleriano est caracterizado por la paridad de los grados de los vrtices de la siguiente manera: Un grafo conexo es euleriano si y solo si cada vrtice tiene grado par. Todo grafo conexo cuyos vrtices son de grado par es un grafo euleriano. Un grafo (digrafo) euleriano es aquel en que pueden recorrerse todas sus aristas (arcos) de manera consecutiva y sin repetirlas. 13. Multgrafo: un multgrafo (no dirigido) G es un par G = (V; A) donde V es un conjunto no vaco de vrtices y A es un conjunto de aristas que se identifican con conjuntos de uno o dos vrtices. Es decir, para cada arista a A existen vrtices x; y V (no necesariamente distintos) tales que a = {x,y}. Cola Euleriana: llamaremos cola euleriana en un multgrafo a una cola (trayectoria sin aristas repetidas) que recorra todas las aristas del multgrafo. Si la cola euleriana es cerrada la llamaremos circuito euleriano. Algoritmo de Fleury Si un multgrafo (V, A) tiene una cola euleriana C, puede construirse mediante el siguiente algoritmo: Empezar en un vrtice x de grado impar. Si no lo hay, empezar en cualquier vrtice x. Hacer C=x. Si gr(x)=0 parar, donde gr es el grado del vrtice.

Si gr(x)=1 con a={x,y}, tomar (V,A)=(V{x},A{a}), hacer C=Cay y continuar en 5. Si gr(x)>1 elegir una arista a={x,y}, cuya eliminacin no desconecte el multgrafo. Tomar (V, A)= (V, A {a}) y hacer C=Cay. Reemplazar x por y y volver a 2.

14. Grafos de Hamilton: Sea G un grafo (dirigido o no). Un camino simple en G se dice que es hamiltoniano si el camino pasa por cada vrtices del grafo exactamente una vez. Un ciclo que pasa exactamente una vez por cada vrtice (excepto el vrtice inicial, que aparece tambin como final), se denomina ciclo hamiltoniano. Un grafo que contiene un ciclo hamiltoniano se dice que es un grafo hamiltoniano. Ejemplo: W.R. Hamilton (18051865) invent (y patent) un juego en el que se trataba de

hacer un recorrido por 20 ciudades del mundo sin pasar por ninguna ms de una vez. Las ciudades estaban unidas por 30 aristas, formando el grafo de un icosaedro. Es decir, se trataba de construir un camino Hamiltoniano en el grafo del dodecaedro.

Juego Hamilton El dodecaedro es hamiltoniano; el grafo de Herschel no es hamiltoniano porque es bipartito y tienen un nmero impar de vertices.

a) dodecaedro. b) grafo de Herschel

rboles El concepto general de rbol implica una estructura en la que los datos se organizan de modo que los elementos de informacin estn relacionados entre s a travs de ramas. El rbol genealgico es el ejemplo tpico ms representativo del concepto de rbol general. Definicin 1: un rbol es un grafo no dirigido conexo sin ciclos. Un bosque es un grafo no dirigido sin ciclos pero no conexo. Una definicin equivalente es que un bosque es una unin disjunta de rboles (de aqu el nombre). Un rbol a veces recibe el nombre de rbol libre.

Grafo. Bosque. rbol Definicin 2: un rbol consta de un conjunto finito de elementos, llamados nodos y un conjunto finito de lneas dirigidas llamadas ramas que conectan los nodos. Definicin 3: n rbol es una estructura no lineal en la que cada nodo puede apuntar a uno o varios nodos. Ejemplo:

rbol con nodos y ramas

Algunas definiciones dentro de los rboles:

rbol con nodos y ramas

En cuanto a los nodos: Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del rbol. En el ejemplo, 'L' y 'M' son hijos de 'G'. Nodo padre: nodo que contiene un puntero al nodo actual. En el ejemplo, el nodo 'A' es padre de 'B', 'C' y 'D'. Los rboles con los que trabajaremos tienen otra caracterstica importante: cada nodo slo puede ser apuntado por otro nodo, es decir, cada nodo slo tendr un padre. Esto hace que estos rboles estn fuertemente jerarquizados, y es lo que en realidad les da la apariencia de rboles. En cuanto a la posicin dentro del rbol: Nodo raz: nodo que no tiene padre. Este es el nodo que usaremos para referirnos al rbol. En el ejemplo, ese nodo es el 'A'. Nodo hoja: nodo que no tiene hijos. En el ejemplo hay varios: 'F', 'H', 'I', 'K', 'L', 'M', 'N' y 'O'. Nodo rama: son los nodos que no pertenecen a ninguna de las dos categoras anteriores. En el ejemplo: 'B', 'C', 'D', 'E', 'G' y 'J'. Caractersticas del rbol, en relacin a su tamao: Orden: es el nmero potencial de hijos que puede tener cada elemento de rbol. De este modo, diremos que un rbol en el que cada nodo puede apuntar a otros dos es de orden dos, si puede apuntar a tres ser de orden tres, etc. Grado: el nmero de hijos que tiene el elemento con ms hijos dentro del rbol. En el rbol de la Figura 25, el grado es tres, ya que tanto 'A' como 'D' tienen tres hijos, y no existen elementos con ms de tres hijos. Nivel: se define para cada elemento del rbol como la distancia a la raz, medida en nodos. El nivel de la raz es cero y el de sus hijos uno. As sucesivamente. En el rbol de la Figura 25, el nodo 'D' tiene nivel 1, el nodo 'G' tiene nivel 2, y el nodo 'N', nivel 3. Altura: la altura de un rbol se define como el nivel del nodo de mayor nivel. Como cada nodo de un rbol puede considerarse a su vez como la raz de un rbol, tambin podemos hablar de altura de ramas. El rbol del ejemplo tiene altura 3, la rama 'B' tiene altura 2, la rama 'G' tiene altura 1, la 'H' cero, etc. Propiedades de los rboles Algunas de las propiedades caractersticas de los rboles son las siguientes: Teorema: sea G=(V,E) un grafo con n vrtices. Los siguientes enunciados son equivalentes: 1.G es un rbol. 2.Dos vrtices cualesquiera de G estn conectados por un nico camino simple (Dados dos nodos cualesquiera de un rbol, existe exactamente un camino que los conecta.) 3.G es conexo y si se suprime una arista deja de serlo. 4.G es conexo y E=V1 (un rbol con N nodos tiene N1 aristas)

rboles Generadores Un rbol T es un rbol generador de un grafo G si T es un subgrafo de G que contiene todos los vrtices de G. Un grafo puede tener varios rboles generadores.

Grafo Problema: se desea determinar que rutas pueden ser cerradas de tal manera que se pueda seguir viajando entre cualquier par de ciudades. Un rbol generador para el problema original es el siguiente:

rbol generador Los algoritmos ms usados para construir arboles generadores son: bsqueda en profundidad y bsqueda en amplitud, los cuales se enuncian a continuacin: 1.Algoritmo bsqueda en profundidad En la bsqueda en profundidad se avanza de vrtice en vrtice, marcando cada vrtice visitado. La bsqueda siempre avanza hacia un vrtice no marcado, internndose profundamente en el grafo sin repetir ningn vrtice. Cuando se alcanza un vrtice cuyos vecinos han sido marcados, se retrocede al anterior vrtice visitado y se avanza desde ste. Sea G(V, E) un grafo conexo y v un vrtice de V. El algoritmo de bsqueda en profundidad puede detallarse de la siguiente manera: 1.Se comienza en un vrtice v (vrtice activo) y se toma como la raz del rbol generador T que se construir. Se marca el vrtice v. 2.Se elige un vrtice u, no marcado, entre los vecinos del vrtice activo. Si no existe tal vrtice, ir a 4. 3.Se

aade la arista (v,u) al rbol T. Se marca el vrtice u y se toma como activo. Ir al paso 2. 4.Si se han alcanzado todos los vrtices de G el algoritmo termina. En caso contrario, se toma el vrtice padre del vrtice activo como nuevo vrtice activo y se vuelve al paso 2. 2.Algoritmo bsqueda en anchura (amplitud) La bsqueda en anchura es otro procedimiento para visitar sistemticamente todos los vrtices de un grafo. Es adecuado especialmente para resolver problemas de optimizacin, en los que se deba elegir la mejor solucin entre varias posibles. Al igual que en la bsqueda en profundidad se comienza en un vrtice v (la raz) que es el primer vrtice activo. En el siguiente paso se etiquetan como visitados todos los vecinos del vrtice activo que no han sido etiquetados. Se contina etiquetando todos los vecinos de los hijos de v (que no hayan sido visitados an). En este proceso nunca se visita un vrtice dos veces por lo que se construye un grafo sin ciclos, que ser un rbol generador de la componente conexa que contiene a v. Sea G(V, E) un grafo conexo y v un vrtice de V. El algoritmo de bsqueda en anchura puede detallarse de la siguiente manera: 1.Designamos a v como vrtice activo y como raz del rbol generador T que se construir. Se le asigna a v la etiqueta 0. 2.Sea i=0 y S={v}. 3.Hallar el conjunto M de todos los vrtices no etiquetados que son adyacentes a algn vrtice de S. 4.Si M es vaco el algoritmo termina. En caso contrario, se etiquetan todos los vrtices de M con i+1, se aaden a T las aristas entre cada vrtice de S y su vecino en M y se hace S=M. 5.i= i+1 y volver al paso 3. rboles Generadores Minimales Un rbol generador mnimo de un grafo ponderado es un rbol generador tal que la suma de los pesos de sus aristas es la mnima posible de entre todos los rboles generadores. Se parte de un grafo ponderado (con peso) con n vrtices. La idea es construir un subgrafo que una a todos los puntos pero con el mnimo de peso (el peso se refiere al valor que se le da a cada uno de los lados de un grafo). Este subgrafo debe ser un rbol generador, ya que debe unir todos los vrtices, debe ser conexo y debe haber un nico camino entre cada par de vrtices, por lo tanto, lo que se necesita es un rbol generador con el mnimo de peso, es a esto lo que se llama rbol generador minimal. Ejemplo: Sea el grafo G que se muestra a continuacin, se desea encontrar dos rboles generadores de G y entre ellos escoger el rbol generador minimal.

Grafo G Dos rboles generadores del grafo G son los siguientes:

rbol T1

rbol T2

Como se dijo previamente los rboles T1 y T2 son rboles generadores de G, sin embargo el peso de ambos es distinto (T1=32 y T2=41). Por lo tanto el rbol Generador Minimal de G es T1. 1.Algoritmo de Prim Este algoritmo fu propuesto por Robert Prim en 1957. La idea del algoritmo es la siguiente: Ordenar arcos de menor a mayor. Insertar la menor arista a partir del nodo dado. Recorrer la lista de menor a mayor e ir insertando aquellas aristas que sean incidentes con un vrtice que ya est en el rbol y se evala la condicin de que no se formen ciclos con las que ya han sido incorporadas. El algoritmo se detiene cuando se han aadido n1

aristas. 2.Algoritmo de Kruskal Este algoritmo fue descubierto por Joseph Kruskal en 1956. Los pasos que se deben seguir para construir un rbol generador minimal a partir del algoritmo de Kruskal son los siguientes: Ordenar arcos de menor a mayor. Aadir sucesivamente aristas de peso mnimo que no forme ciclos con las que ya han sido incorporadas. El algoritmo se detiene cuando se han aadido n1 aristas.

Вам также может понравиться