El algoritmo de Kruskal es un ejemplo de algoritmo ``tacaño" ya que en cada iteración elige la opción mas económica disponible (es decir, la arista de costo mínimo).
1. UNIVERSIDAD NACIONAL DEL ALTIPLANO
Facultad de Ingenier´ Mec´nica El´ctrica, Electr´nica y Sistemas
ıa
a
e
o
Escuela Profesional de Ingenier´ de Sistemas
ıa
MONOGRAF´
IA
“Algoritmo de Kruskal”
AUTOR
Jhoel Flores Alejo
2013
3. Agradesco a
todas las personas que me apoyaron para la
culminaci´n de esta monograf´a. En especial
o
ı
al docente que nos inculc´ el uso de est´ndares
o
a
para la elaboraci´n de esta monograf´a.
o
ı
2
4. 1.
´
INTRODUCCION
El algoritmo de Kruskal es conocido como el algoritmo taca˜o, puesto que siempre busca
n
el menor coste posible y/o disponible.
En 1956 el matem´tico americano norteamericano Joseph Kruskal descrubrio un algoa
ritmo muy simple cuya aplicaci´n nos garantiza encontrar un ´rbol generador m´
o
a
ınimo en
cualquier gr´fica ponderada.
a
La presente monograf´ esta dividida en 4 cap´
ıa
ıtulos que explican el tema de una forma
muy sencilla. En los primeros se toman como referencia a algunos autores de matem´ticas
a
discretas, y en las dos ultimas un ejemplo te´rico b´sico de aplicaci´n.
o
a
o
3
5. Resumen
Kruskal cre´ un algoritmo para encontrar un ´rbol encubridor m´
o
a
ınimo en un grafo
ponderado y convexo. Este algoritmo de la teor´ de grafos busca un subconjunto de
ıa
aristas que incluyen todos los v´rtices formando un ´rbol y donde todos los valores de
e
a
las aristas de ´ste son m´
e
ınimas. Si el grafo no es convexo, busca un bosque de expandido
m´
ınimo.
4
6. 2.
DEFINICIONES
El algoritmo de Kuskal es un algoritmo de expansi´n m´
o
ınima que siempre busca la arista
mas barata posible.
“El algoritmo, conocido como algoritmo de Kruskal, es una variaci´n del algoritmo de m´
o
ınima conexi´n. La idea principal de Kruskal consiste en ser ambicioso, escogiendo siempre la
o
arista mas barata disponible y cuidando que en cada paso del proceso no se forme nigun
circuito”(Micha,2003,p.85).
“El objetivo del algoritmo de Kruskal es construir un ´rbol (subgrafo sin ciclos) formado
a
por arcos sucesivamente seleccionados de m´
ınimo peso a partir de un grafo con pesos en los
arcos. Un arbol (spanning tree) de un grafo es un subgrafo que contiene todos sus v´rtices o
´
e
nodos.”(Calderon,2008,p.87).
o
“El algoritmo de Kruskal es un ejemplo de algoritmo “taca˜o a que en cada iteraci´n
n
elige la opci´n mas econ´mica disponible (es decir, la arista de costo m´
o
o
ınimo). ”(Espinosa,2010,p.400).
2
3.
PASOS
Seg´n El´ Micha para la aplicaci´n del algoritmo es recomendable seguir los siguientes
u
ıas
o
pasos:
1. elige la arista de menor peso (en caso de empate elige una arbitrariamente)
2. Elige la siguiente arista disponible de menor peso. Si hay mas de una, elige una arbitrariamente.
3. Elige la siguiente arista disponible de menor peso. Que no cierra un circuito con las
aristas ya elegidas. Si hay mas de una, elige una arbitrariamente.
4. para una gr´fica de n v´rtices, repite la regla tres hasta que se hayan elegido n-1 aristas
a
e
dela gr´fica. Los v´rtices de la gr´fica y las n-1 aristas as´ elegidas constituyen el arbol
a
e
a
ı
´
generador m´
ınimo.
5
7. 4.
´
DEMOSTRACION
Por construcci´n T es un subgrafo de recubrimiento ac´
o
ıclico de G. Adem´s T. es conexo,
a
pues si no lo fuera seria posible a˜adir otra arista sin crear un c´
n
ıclico. Por lo tanto T es
un arbol de recubrimiento de G, de aqui que T (n) = n − 1. Sean ei1 , ei2 , ..., ein−1 las aristas
elegidas sucesivamente para construir T .
Supongase que T no es un arbol de recubrimiento de costo m´
´
ınimo. Sea T ∗ un arbol de
´
recubrimiento de costo y m´
ınimo y sea k ∈ {1, 2, ..., n−1} tal que {ei1 , ei2 , ..., ein−1 } ⊆ E(T ∗)
y eik ∈ E(T ∗). Por lo tanto T* +eik tiene un unico ciclo C y eik ∈ E(C). Ahora bien,
´
E(C) − E(T ) = por que T es ac´
ıclica. ek ∈ E(C) − E(T ) y sea T1 = (T ∗ +eik ) − ek . Por
lo tanto T1 es un arbol de recubrimiento de G ademas
´
c(Ti ) = c(T ∗) + c(eik − c(ek ))
Como c(eik ) c(ek ) por construcci´n se sigue que c(T1 ) c(T ∗) Hay que observar que T1
o
tiene una arista mas en com´n con T que con T* (pues se ha sustituido la arista ek que
u
no pertenec´ a T por la arista eik ). Repitiendo este proceso se puede obtener un ´rbol TN
ıa
a
tal que TN = T y c(TN ) c(T*). Esto implica que c(T )
c(T ∗) < c(T ) lo cual es una
contradicci´n.
o
5.
EJEMPLO
Ejercicio: Utilizar el algoritmo de Kruskal para obtener el arbol de recubrimiento de costo
´
m´
ınimo en el grafo de la siguiente figura:
figura (1)
6
8. Soluci´n:
o
Las aristas que se eligen utilizando el algoritmo de kruskal son: ei1 = v1 v3 , ei2 = v4 v6 , ei3 =
v2 v3 , ei4 = v5 v6 y ei5 = v2 v4 La figura de abajo muestra el arbol de recubrimiento correspon´
diente:
figura (2)
El algoritmo de Kruskal requiere ordenar las m aristas de menor a mayor costo y esto
requiere O(m log m) operaciones. Para poder verificar que T + ei es ac´
ıclica, es necesario
comprobar que los extremos de ei est´n en diferentes componentes de T. Esto puede lograrse
e
asignando a cada v´rticevj una etiqueta de modo que dos v´rtices tengan la misma etiqueta
e
e
si y solo si pertenecen ala misma componente ei tienen distinta etiqueta, se re etiquetan sus
extremos con la mas peque˜a de las dos etiquetas. Para cada arista es necesario hacer una
n
comparaci´n para verificar que sus extremos tengan distinta etiqueta. Una vez que una arista
o
es a˜adida, la re etiquetaci´n de sus extremos requiere de una operaci´n mas. En conclusi´n,
n
o
o
o
la complejidad del algoritmo de Kruskal depende esencialmente de la operaci´n de las aristas
o
y es por lo tanto O(m log m).(Espinosa,2010,p.401)
7
9. Conclusi´n
o
El algoritmo de Kruskal siempre tiene una soluci´n optima a este tipo de problemas
o
donde se busca el ´rbol de expansi´n m´
a
o
ınimo eso quiere decir que este algoritmo pertenece
a P porque se puede resolver de forma eficiente por una maquina determinista en tiempo
polinomial.
8
10. 6.
Referencias
Micha, E.(2003). Matem´ticas Discretas.M´xico: Editorial LIMUSA, S.A.
a
e
Calder´n, H.D(2008).Matem´ticas Discretas para la Ciencia de Comunicaci´n .Puno,Per´:
o
a
o
u
Editorial Pacifico
Espinosa, R(2010).Matem´ticas Discretas .M´xico:Alfaomega Grupo Editor
a
e
9