Professional Documents
Culture Documents
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
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
12
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
17
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