Sie sind auf Seite 1von 34

Grafos

No lineales Puede tener uno o ms predecesores o sucesores. Estn compuestos por: -Vrtices (Nodos): Almacenan informacin. -Aristas (Arcos): Representan dicha informacin.

Definiciones
Una grfica o grafo G consta un par ordenado: V(G) y A(G).
V(G) lo integran elementos llamados nodos o vrtices. A(G) est integrado por arcos o aristas. Conjunto de puntos (vrtices) en el espacio, que estn conectados por un conjunto de lneas (aristas). Vrtices Son los puntos o nodos con los que esta conformado un grafo. Aristas Son las lneas con las que se unen los vrtices de un grafo y con la que se construyen tambin caminos.

Conceptos importantes
Grado de un vrtice: Nmero de aristas incidentes de l. -S el grado de un vrtice es 0 (no tiene aristas) se dice que es un nodo aislado. Lazo o Bucle: Arista que conecta a un vrtice consigo mismo. Camino: Secuencia de n vrtices que se debe seguir para llegar al vrtice v1 (origen) al vrtice vn (destino). Camino cerrado: Si el primer vrtice y el ltimo vrtice son iguales. Es decir, si v1=vn. Camino simple: Todos sus nodos son distintos, con excepcin del primero y del ltimo, que pueden ser iguales.

Ciclo: Camino simple cerrado de longitud 3 o mayor. Grfica Conexa: Tiene un camino simple entre cualesquiera dos de sus nodos. Grfica rbol: Cuando el grafo G es una grfica conexa sin ciclos.

Grfica Completa: Cada vrtice v de G es adyacente a todos

los dems vrtices de G. Grfica etiquetada: Sus aristas tienen un valor asignado, llamado costo, peso o longitud. Multigrfica: Al menos dos de sus vrtices estn conectados entre s por medio de dos aristas. Las aristas se denominan aristas mltiples o paralelas

Subgrfica: Un grafo H es un subgrafo de un grafo G si V(H) estn incluidos en V(G) y E(H) estn incluidos en E(G).

Tipos de grafos
Grafo NO Dirigido (Sin direccin definida)

Grafo Dirigido
Caractersticas:
-Sus aristas tienen asociada una direccin. Es decir; son pares ordenados. -Los vrtices se utilizan para representar informacin. -Las aristas representan una relacin con direccin.

Una Aplicacin: -Representacin de ciudades en los vrtices, y la duracin de los vuelos en las aristas.

Nota: Un grafo dirigido tambin es llamado digrfica.

Representacin de Grafos Dirigidos


Para las aristas de las digrfica se aplica la siguiente terminologa: a) a empieza en u y termina en v. b) u es el origen o punto inicial de a, y v es el destino o punto terminal de a. c) u es predecesor de v y v es un sucesor o vecino de u. u v

d) u es adyacente hacia v y v es adyacente desde u.

Para construir un grafo dirigido podemos usar 2 herramientas diferentes

Lista de adyacencia
Una lista de adyacencia para un vrtice a es una lista ordenada de todos los vrtices adyacentes de a. Por lo tanto para representar la grafica dirigida estar formada por tantas listas como vrtices tenga G. Para guardar los vrtices de G se puede utilizar otra lista o arreglo.
Arreglo a b c

b
c d d

a b
a b

Ejemplo
Arreglo

b
a

c d

c
d

El arreglo[i] es un apuntador a la lista de vrtice i En la posicin correspondiente a cada uno de los 4 vrtices, se guardo un puntero a la lista de adyacencia. As, en la posicin del nodo a hay un puntero a la lista formada por los vrtices b y c, ambos adyacentes desde a.

La lista de adyacente requiere un espacio de almacenamiento proporcional a la suma del numero de vrtices mas el numero de arcos. Este tipo de representaciones se recomienda cuando el numero de aristas es menor a n. El uso de la lista de adyacencia permite ahorrar espacio de almacenamiento.

Matriz de adyacencia
Es una matriz booleana, de orden n donde n indica el numero de vrtices de G. Los renglones y columnas de la matriz representan a los vrtices y su contenido la existencia o no de arcos entre ellos. Entonces, cada elemento de i,j de la matriz almacena un 1 o un 0, dependiendo de si existe o no un arco entre los vrtices i y j.

a e i
a e i o u 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0

o u
0 1 0 0 1 0 0 1 0 0

Como generar una matriz de adyacencia


Se le da un orden arbitrario a sus vrtices, y se asignan a los renglones y a las columnas de una matriz el mismo orden. Un elemento de la matriz ser 1 si los vrtices tanto de rengln como de columna estn unidos por una arista y 0 en caso contrario.

Ejemplo
a a b c d e 0 0 0 0 1 b 1 0 0 0 1 c 1 1 1 0 0 d 1 1 0 0 0 e 0 0 1
d a b

1 0

c e

Matriz de costo
a

5 4 c 2

b 3 d

Una variante de la matriz de adyacencia es la matriz de adyacencia etiquetada, en donde M[i,j] representa la etiqueta o costo asociado al arco. Si la arista no existe, entonces el valor de M[i,j] ser cero. Estas matrices tambin se denominan matrices de costos o de distancias.

6 e 2 8 g

7 f 5

Ejemplo
a b c d e f
B
3 9 1 4 5 3 7

C
2

a
b c

0
0 0

3
0 0

0
7 0

4
9 0

0
0 8

0
0 0
A

d
e f

0
0 0

0
0 3

0
0 2

0
0 0

6
0 5

1
0 0

Obtencin de caminos dentro de un dgrafo.


En el caso de las digraficas es de inters encontrar los caminos mas cortos entre sus vrtices. Es decir interesan aquellos caminos que nos permiten llegar desde un vrtice origen a un vrtice destino recorriendo la menor distancia o el menor costo posible

Algoritmo Dijsktra
Es un algoritmo para la determinacin del camino mas corto dado un vrtice origen al resto de vrtices en un grafo con pesos en cada arista.

Teniendo un grafo dirigido ponderado de N nodos no aislados, sea x el nodo inicial, un vector D de tamao N guardar al final del algoritmo las distancias desde x al resto de los nodos. Inicializar todas las distancias en D con un valor infinito relativo ya que son desconocidas al principio, exceptuando la de x que se debe colocar en 0 debido a que la distancia de x a x sera 0. Sea a = x (tomamos a como nodo actual).

Recorremos todos los nodos adyacentes de a, excepto los nodos marcados, llamaremos a estos vi. Si la distancia desde x hasta vi guardada en D es mayor que la distancia desde x hasta a sumada a la distancia desde a hasta vi; esta se sustituye con la segunda nombrada, esto es: si (Di > Da + d(a, vi)) entonces Di = Da + d(a, vi) Marcamos como completo el nodo a. Tomamos como prximo nodo actual el de menor valor en D (puede hacerse almacenando los valores en una cola de prioridad) y volvemos al paso 3 mientras existan nodos no marcados. Una vez terminado al algoritmo, D estar completamente lleno.

Con nodo final Dijkstra (Grafo g, Nodo s, Nodo f) Q := {s} --Inicializar lista de nodos fijados S:= Vrtices (g) -{s} -Inicializar lista de nodos no fijados d:= {0,Infinito,Infinito...} --Inicializar Distancias p:={-1,-1,...} --Inicializar Predecesores

While not encontradoNodo { u:= extraerNodoMenorCoste (S) aadirNodo (Q,u) If (u != f) then For v in Adyacentes (u,S) do If (d(v) > d(u) + d'(u,v)) then d(v)=d(u) + d'(u,v) -Actualizar distancias p(v)=u --Actualizar Predecesores End If End For Else encontradoNodo End If End While FINALIZAR

Sin nodo final


Dijkstra (Grafo g, Nodo s) Q := {s} --Inicializar lista de nodos fijados S:= Vrtices (g) -{s} --Inicializar lista de nodos no fijados d:= {0,Infinito,Infinito...} --Inicializar Distancias p:={-1,-1,...} --Inicializar Predecesores While not Vaco (S) { u:= extraerNodoMenorCoste (S) aadirNodo (Q,u) For v in Adyacentes (u,S) do If d(v) > d(u) + d'(u,v) then d(v)=d(u) + d'(u,v) --Actualizar distancias p(v)=u --Actualizar Predecesores End If End For End While FINALIZAR

EJEMPLO
El siguiente ejemplo se desarrollar con el fin de encontrar el camino ms corto desde a hasta z:

Rojo: Aristas y vrtices pertenecientes a la solucin momentnea. Azul: Aristas y vrtices candidatos.

Paso 1 En este primer paso, podemos apreciar que hay tres candidatos: Los vrtices b, c y d. En este caso, hacemos el camino desde el vrtice a, hasta el vrtice d, ya que es el camino ms corto de los tres.

Solucin momentnea: Camino: AD Distancia:5

Paso 2 Ahora, vemos que se aade un nuevo candidato, el vrtice e, y el vrtice c, pero esta vez a travs del d. Pero el camino mnimo surge al aadir el vrtice c.

Solucin momentnea: Camino: ADC Distancia:9

Paso 3 En este paso no se aade ningn candidato ms puesto que el ltimo vrtice es el mismo que en el paso anterior. En este caso el camino mnimo hallado es el siguiente: Solucin momentnea: Camino: ADCB Distancia:11

Paso 4 Como podemos comprobar, se han aadido dos candidatos nuevos, los vrtices f y g, ambos a travs del vrtice b. El mnimo camino hallado en todo el grafo hasta ahora es el siguiente: Solucin momentnea: Camino: ADCBF Distancia:15

Paso 5 En este antepenltimo paso, se aaden tres vrtices candidatos, los vrtices g, z y e. Este ltimo ya estaba pero en esta ocasin aparece a travs del vrtice f. En este caso el camino mnimo, que cambia un poco con respecto al anterior, es: Solucin momentnea: Camino: ADCBG Distancia:17

Paso 6 En el penltimo paso, vuelve a aparecer otro candidato: el vrtice z, pero esta vez a travs del vrtice g. De todas formas, el camino mnimo vuelve a cambiar para retomar el camino que vena siguiendo en los pasos anteriores: Solucin momentnea: Camino: ADCBFE Distancia:18

Paso 7
Por fin, llegamos al ltimo paso, en el que slo se aade un candidato, el vrtice z a travs del e. El camino mnimo y final obtenido es: Solucin Final: Camino: ADCBFEZ Distancia:23

Das könnte Ihnen auch gefallen