You are on page 1of 30

GRAFOS

HUGO ARAYA CARRASCO

GRAFOS
Un grafo G es un par (V,E) donde V es un conjunto (llamado conjunto de vrtices o nodos) y E un subconjunto de VxV (conjunto de aristas). Grficamente representaremos los vrtices por puntos y las aristas por lneas que los unen. Un vrtice puede tener 0 o ms aristas, pero toda arista debe unir exactamente 2 vrtices. Llamaremos orden de un grafo a su nmero de vrtices, |V|. Si |V| es finito se dice que el grafo es finito. Toda arista une dos vrtices distintos
2

ARISTAS y VERTICES
Si la arista carece de direccin se denota indistintamente {a,b} o {b,a}, siendo a y b los vrtices que une. Si {a,b} es una arista, a los vrtices a y b se les llama sus extremos. Dos vrtices v, w se dice que son adyacentes si {v,w}V (o sea, si existe una arista entre ellos) Llamaremos grado de un vrtice al nmero de aristas de las que es extremo. Se dice que un vrtice es par o

impar segn lo sea su grado.

CAMINOS
Sean x, y V, se dice que hay un camino en G de x a y si existe una sucesin finita no vaca de aristas {x,v1}, {v1,v2},..., {vn,y}. En este caso.
x e y se llaman los extremos del camino El nmero de aristas del camino se llama la longitud del camino Si los vrtices no se repiten el camino se dice propio o simple. Si hay un camino no simple entre 2 vrtices, tambin habr un camino simple entre ellos Cuando los dos extremos de un camino son iguales, el camino se llama circuito o camino cerrado o ciclo (sin aristas repetidas). Llamaremos ciclo a un circuito simple (no existen vertices repetidos excepto el primero y el ultimo) Un vrtice a se dice accesible desde el vrtice b si existe un camino entre ellos. Todo vrtice es accesible respecto a si mismo

EJEMPLOS DE GRAFOS
Grafo regular: Aquel con el mismo grado en todos los vrtices. Si ese grado es k lo llamaremos k-regular.

EJEMPLOS DE GRAFOS
Grafo bipartito: Es aquel con cuyos vrtices pueden formarse dos conjuntos disjuntos de modo que no haya adyacencias entre vrtices pertenecientes al mismo conjunto

EJEMPLO DE GRAFOS
Grafo completo: Aquel con una arista entre cada par de vrtices. Un grafo completo con n vrtices se denota Kn.

EJEMPLOS DE GRAFOS
Todo grafo completo es regular porque cada vrtice tiene grado |V|-1 al estar conectado con todos los otros vrtices. Un grafo regular no tiene por qu ser completo Un grafo bipartido regular se denota Km,n donde m, n es el grado de cada conjunto disjunto de vrtices. A continuacin ponemos los dibujos de K1,2, K3,3, y K2,5

MATRIZ DE ADYACENCIA
La suma de los grados de los vrtices es igual al doble del nmero de aristas Sea G un grafo de orden n. Llamaremos matriz de adyacencia de G a la matriz nxn que llamaremos A = (aij) donde aij = 1 si {i,j}A y aij = 0 en otro caso. La matriz de adyacencia siempre es simtrica porque aij = aji
v1 0 1 1 0 0 v2 1 0 1 1 0 v3 1 1 0 1 1 v4 0 1 1 0 0 v5 0 0 1 0 0 v1 v2 v3 v4 v5

GRAFOS
Sea G un grafo de n vrtices con n > 1 y sea A su matriz de adyacencia. Se cumple que el valor del coeficiente ai,j de la matriz Ak es igual al nmero de caminos de longitud k con extremos vi y vj Si existe un camino de longitud m (m n) entre 2 vrtices cualquiera, entonces existe un camino de longitud n-1 entre esos dos vrtices. Un grafo G se dice conexo si cada par de vrtices est unido al menos por un camino. Una arista de un grafo G se dice de separacin si G es conexo pero al suprimir la arista se divide en dos componentes conexos
10

GRAFOS
Un mtodo para comprobar si un grafo es conexo es el siguiente: Se halla la matriz de adyacencia y se eleva a la (n-1)-sima potencia Se calcula la suma de las potencias de A hasta An-1 Si todos sus elementos son 0, el grafo es conexo. Dados dos grafos G = (V, E) y G = (V, E), se denomina isomorfismo entre G y G a cualquier aplicacin biyectiva f:G G tal que si a, b V, entonces {a,b}E {f(a),f(b)}E.

11

Grafos Eulerianos y Hamiltonianos


Llamaremos camino euleriano a un camino que contiene a todas las aristas del grafo, apareciendo cada una exactamente una vez. Un ciclo euleriano es un camino euleriano que comienza y acaba en el mismo vrtice. Un grafo que admite un ciclo euleriano diremos que es un grafo euleriano.

12

Grafos Eulerrianos y Hamiltonianos


Si un grafo est formado por dos subgrafos eulerianos unidos al menos por un vrtice y sin aristas en comn, entonces es euleriano. Un grafo conexo G=(V,A) es euleriano todo vrtice tiene grado par. Un grafo conexo tiene un camino abierto euleriano tiene exactamente dos vrtices de grado impar.

13

Puentes de Konigsberg
El problema consiste en partir de cualquier lugar , caminar sobre cada puente exactamente una vez y luego regresar a la posicin inicial.

14

Algoritmo de Fleury Si G es un grafo euleriano siempre es posible seguir la siguiente construccin de un circuito euleriano. Se empieza por un vrtice arbitrario y se recorren las aristas arbitrariamente sometida a dos condiciones:
Se borran las aristas a medida que son atravesadas Solo se recorre una arista de separacin si no queda otra alternativa
15

Caminos Hamiltonianos
Un camino hamiltoniano es un camino que recorre todos los vrtices de un grafo sin pasar dos veces por el mismo vrtice. Si el camino es cerrado se dice un ciclo hamiltoniano Un grafo G se dice hamiltoniano si tiene un ciclo hamiltoniano. A diferencia de los grafos eulerianos, no hay una caracterizacin de cuando un grafo tiene un ciclo o un camino hamiltoniano. Si un grafo es conexo con |V|3 y para cada par de vrtices la suma de sus grados es mayor o igual que el nmero de vrtices entonces es hamiltoniano.

16

Problema del Vendedor Viajero


En un grafo G con pesos se pretende encontrar un ciclo que pase por todos los vrtices de forma que la suma de los pesos de las aristas escogidas para formar el ciclo sea lo menor posible.

17

Ruta mas corta


Un grafo con pesos es un grafo en el cual se asignan valores a las aristas y que la longitud de un camino en un grafo con pesos es la suma de los pesos de las aristas en el camino. Con frecuencia se desea determinar la ruta mas corta entre dos vrtices dados. Dijkstra escribi el algoritmo que resuelve este problema.

18

Algoritmo de Dijkstra
Suponemos que los pesos son nmeros positivos. Se desea determinar el camino mas corto de a hasta z. El grafo es conexo. Sea L(v) la etiqueta del vrtice v. En algn momento algunos vrtices tienen etiquetas temporales y otros permanentes. Sea T el conjunto de tienen etiquetas temporales. En principio todos los vrtices tienen etiquetas temporales. En cada iteracin el algoritmo modifica el estado de una etiqueta de temporal a permanente. El algoritmo concluye cuando z recibe una etiqueta permanente, L(z) proporciona la longitud mnima de a hasta z. El peso de la arista (i,j) es w(i,j)
19

Algoritmo de Dijkstra
Procedure dijkstra(w, a, z, L) L(a)=0 For todos los vrtices x != a do L(x) = infinito T = conjunto de todos los vrtices // T es el conjunto de vrtices cuya distancia mas corta a a no ha sido determinada While z pertenece T do elegir v en T con L(v) mnimo T = T-{v} for cada x en T adyacente a v do L(x) = min{L(x),L(v) + w(v,x)} end end
20

ARBOLES
Un grafo se dice un rbol si es conexo y no tiene ciclos. Los primeros dos grafos son rboles:

21

ARBOLES
Por tanto, un grafo es un rbol entre cada par de vrtices existe un camino y slo uno. Un grafo se dice un bosque si sus componentes conexas son rboles. Teorema.- Sea G(V,E) un grafo. Son equivalentes a) G es un rbol b) Cada par de vrtices distintos de V esta conectado por un nico camino. c) G es conexo y toda arista de G es de separacin d) G no tiene ciclos y |V| = |E| + 1 e) G es conexo y |V| = |E| + 1 f) G no tiene ciclos pero al aadirle una arista a G se crea un nico circuito
22

ARBOL GENERADOR
Definicin.- Sea G un grafo, un rbol generador de G es un subgrafo conexo de G que tiene los mismos vrtices que G y no tiene circuitos.

23

ARBOL GENERADOR
Supongamos que a cada arista se le asocia un nmero positivo (su peso). Un rbol generador se dice de peso mnimo si la suma de los pesos de las aristas que lo componen es lo menor posible Para calcular el rbol de peso mnimo existen 2 algoritmos: Kruskal: Se van escogiendo las aristas de menor peso hasta conseguir un rbol de peso mnimo Prim: Consiste en ir borrando las aristas de mayor peso posible y que no sean aristas de separacin. Puede haber ms de un rbol generador de peso mnimo, pero todos deben tener el mismo peso.
24

ALGORITMO DE PRIM
La idea bsica consiste en aadir, en cada paso, una arista de peso mnimo a un rbol previamente construido. Ms explcitamente: Paso 1. Se elige un vrtice u de G y se considera el rbol S={u}
Paso 2. Se considera la arista e de mnimo peso que une un vrtice de S y un vrtice que no es de S, y se hace S=S+e Paso 3. Si el n de aristas de T es n-1 el algoritmo termina. En caso contrario se vuelve al paso 2

25

ALGORITMO DE PRIM

26

ALGORITMO DE PRIM

27

ALGORITMO DE KRUSKAL
La idea bsica consiste en elegir sucesivamente las aristas de mnimo peso sin formar ciclos.
Paso 1. Se elige la arista de mnimo peso e y se considera S={e}. Paso 2. Sea e la arista de mnimo peso tal que eS y S+e' es un grafo acclico. Se hace S=S+e'. Paso 3. Si S tiene n-1 aristas, el algoritmo termina. En caso contrario se vuelve al paso 2.

28

ALGORITMO DE KRUSKAL

29

ALGORITMO DE KRUSKAL

30

You might also like