Beruflich Dokumente
Kultur Dokumente
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.
EJEMPLOS DE GRAFOS
EJEMPLOS DE GRAFOS
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
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
v2
v3
v4
v5
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 a i,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
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
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