You are on page 1of 8

Actividad algoritmos de Kruskal y de Dijkdtra

Algoritmo de Kruskal
Definicin del algoritmo.
El algoritmo de kruskal es un algoritmo de recubrimiento mnimo conexo
ponderado, o sea que va unir todos los nodos formando un rbol, tomando
la aristas que tengan un peso que siempre sea menor. Este rbol (spanning
tree) de un grafo es un subgrafo que contiene todos sus vrtices o nodos.
Un grafo puede tener mltiples rboles. Por ejemplo, un grafo completo de
cuatro nodos (todos relacionados con todos) tendra 16 rboles.
El algoritmo se basa en una propiedad clave de los rboles que permite
estar seguros de si un arco debe pertenecer al rbol o no, y usar esta
propiedad para seleccionar cada arco. Ntese en el algoritmo, que siempre
que se aade un arco (u,v), ste ser siempre la conexin ms corta (menor
coste)alcanzable desde el nodo u al resto del grafo G. As que por definicin
ste deber ser parte del rbol. Este algoritmo es de tipo voraz (tambin
llamado greedy) ya que a cada paso, ste selecciona el arco ms barato y
lo aade al subgrafo. Este tipo de algoritmos pueden no funcionar para
resolver otro tipo de problemas, por ejemplo para encontrar la ruta ms
corta entre los nodos a y b.
CARACTERSTICAS
Algoritmo basado en las aristas
Agregar las aristas , uno a la vez, en orden de peso creciente
El algoritmo mantiene A un bosque de rboles. Una arista es
aceptada si se conecta vrtices de distintos rboles
Necesitamos una estructura de datos que mantiene una particin, es
decir ,a coleccin de conjuntos disjuntos

1. Tenemos un grafo como observamos las aristas son los conectores entre
dos vrtices o nodos (bolitas de color mbar y estn enumeradas del 1
al 8) estas contienen un peso. luego elegimos la arista con menor peso
(marcada de rojo)

2. A este proceso de aristas se le suma el siguiente arista que sea menor


(obviamente diferente al que habamos elegido) con peso en este caso
29.

3. Elegimos a otra que tenga el menor peso (en este caso 31)

4. nos ubicamos el los vrtices 2 y 8 , si en la arista que los conecta


hubiera 32 como peso no se debe elegir ya que debe ser un rbol que
es un grafo no cclico (no forma un ciclo o una cerradura de vrtices).
por lo tanto y en este ejemplo el 32 est en el vrtice 2 y 5.

5. Seguimos tomando las aristas y que no formen un ciclo, estas tratan de


conectar todos los vrtices.

6. En este punto del proceso vemos que como caso especial que
habamos visto, no tomamos la arista de los vrtices 2 y 3, pues formara
un ciclo.

7. Finalmente se han unido los vrtices, sin formar un cilco en las aristas.

Vamos a utilizar tres operaciones:

Make-Set (x)-crea un nuevo conjunto cuyo nico miembro es x.


Union (x, y) los conjuntos que contienen x e y, digamos, Sx y Sy, en un
juego nuevo que es la Unin de los dos conjuntos.
FInd-Set (x)-devuelve un puntero a la representante del conjunto que
contiene x.

TENEMOS EL ALGORITMO
1)
2)
3)
4)
5)
6)

Kruskar(G,w)
A
para cada vertice v pertenece V[G] hacer
Make-set(v)
O(V)
ordenar las aristas de E por no decrecientes peso w
O(ElogE)
para cada arista (u,v) pertenece E en orden por no decreciente peso
hacer O(E)
7) si Find-set(u)Find-set(v) entonces
8) AA {(u,v)}
9) union(u,v)
O(V)
10)return A

Algoritmo de Dijkstra
Tambin llamado algoritmo de caminos mnimos, es un algoritmo para la
determinacin del camino ms corto dado un vrtice origen al resto de
vrtices en un grafo con pesos en cada arista. La idea subyacente en este
algoritmo consiste en ir explorando todos los caminos ms cortos que
parten del vrtice origen y que llevan a todos los dems vrtices; cuando se
obtiene el camino ms corto desde el vrtice origen, al resto de vrtices que
componen el grafo, el algoritmo se detiene. El algoritmo es una
especializacin de la bsqueda de costo uniforme, y como tal, no funciona
en grafos con aristas de costo negativo (al elegir siempre el nodo con
distancia menor, pueden quedar excluidos de la bsqueda nodos que en
prximas iteraciones bajaran el costo general del camino al pasar por una
arista con costo negativo). Este algoritmo obtiene los caminos de longitud
mnima desde un vrtice s a los restantes vrtices del grafo G. La idea
bsica es realizar una exploracin en anchura "pesada" empezando en el
vrtice s. El algoritmo es de tipo "voraz", aumentando iterativamente una
nube de vrtices a partir de s, entrando los nuevos vrtices en la nube en
orden de su distancia al vrtice s. En cada iteracin se elige el vrtice,
exterior a la nube, que es el ms cercano a s. El algoritmo termina cuando
no quedan vrtices fuera de la nube; en ese punto tendremos un camino
mnimo desde s a cada uno de los restantes vrtices del grafo.
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.
1. 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

2. 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

3. 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

4. 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

5. 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: ADCBF
Distancia: 17

6. 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

7. 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

Referencias
xcodigoinformatico.blogspot.com.co
septiembre 2012

You might also like