Vous êtes sur la page 1sur 10

UNIVERSIDAD NACIONAL DEL ALTIPLANO Facultad de Ingenier a Mec anica El ectrica, Electr onica y Sistemas Escuela Profesional de Ingenier

a de Sistemas

MONOGRAF IA Algoritmo de Kruskal AUTOR Jhoel Flores Alejo 2013

Indice
1. INTRODUCCION 2. DEFINICIONES 3. PASOS 4. DEMOSTRACION 5. EJEMPLO 6. Referencias 3 5 5 6 6 9

Agradesco a todas las personas que me apoyaron para la culminaci on de esta monograf a. En especial al docente que nos inculc o el uso de est andares para la elaboraci on de esta monograf a.

1.

INTRODUCCION

El algoritmo de Kruskal es conocido como el algoritmo taca no, puesto que siempre busca el menor coste posible y/o disponible. En 1956 el matem atico americano norteamericano Joseph Kruskal descrubrio un algoritmo muy simple cuya aplicaci on nos garantiza encontrar un arbol generador m nimo en cualquier gr aca ponderada. La presente monograf a esta dividida en 4 cap tulos que explican el tema de una forma muy sencilla. En los primeros se toman como referencia a algunos autores de matem aticas discretas, y en las dos ultimas un ejemplo te orico b asico de aplicaci on.

Resumen Kruskal cre o un algoritmo para encontrar un arbol encubridor m nimo en un grafo ponderado y convexo. Este algoritmo de la teor a de grafos busca un subconjunto de aristas que incluyen todos los v ertices formando un arbol y donde todos los valores de las aristas de este son m nimas. Si el grafo no es convexo, busca un bosque de expandido m nimo.

2.

DEFINICIONES

El algoritmo de Kuskal es un algoritmo de expansi on m nima que siempre busca la arista mas barata posible. El algoritmo, conocido como algoritmo de Kruskal, es una variaci on del algoritmo de m nima conexi on. La idea principal de Kruskal consiste en ser ambicioso, escogiendo siempre la 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 arbol (subgrafo sin ciclos) formado por arcos sucesivamente seleccionados de m nimo peso a partir de un grafo con pesos en los arcos. Un a rbol (spanning tree) de un grafo es un subgrafo que contiene todos sus v ertices o nodos.(Calderon,2008,p.87).

on El algoritmo de Kruskal es un ejemplo de algoritmo taca no a que en cada iteraci elige la opci on mas econ omica disponible (es decir, la arista de costo m nimo). (Espinosa,2010,p.400).

3.

PASOS

Seg un El as Micha para la aplicaci on del algoritmo es recomendable seguir los siguientes 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 aca de n v ertices, repite la regla tres hasta que se hayan elegido n-1 aristas dela gr aca. Los v ertices de la gr aca y las n-1 aristas as elegidas constituyen el a rbol generador m nimo.

4.

DEMOSTRACION

Por construcci on T es un subgrafo de recubrimiento ac clico de G. Adem as T. es conexo, pues si no lo fuera seria posible a nadir otra arista sin crear un c clico. Por lo tanto T es un arbol de recubrimiento de G, de aqui que T (n) = n 1. Sean ei1 , ei2 , ..., ein1 las aristas elegidas sucesivamente para construir T . Supongase que T no es un a rbol de recubrimiento de costo m nimo. Sea T un a rbol de recubrimiento de costo y m nimo y sea k {1, 2, ..., n 1} tal que {ei1 , ei2 , ..., ein1 } E (T ) y eik E (T ). Por lo tanto T* +eik tiene un u nico 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 a rbol de recubrimiento de G ademas c(Ti ) = c(T ) + c(eik c(ek )) Como c(eik ) c(ek ) por construcci on se sigue que c(T1 ) c(T ) Hay que observar que T1 tiene una arista mas en com un con T que con T* (pues se ha sustituido la arista ek que no pertenec a a T por la arista eik ). Repitiendo este proceso se puede obtener un arbol TN tal que TN = T y c(TN ) c(T*). Esto implica que c(T ) c(T ) < c(T ) lo cual es una contradicci on.

5.

EJEMPLO

Ejercicio: Utilizar el algoritmo de Kruskal para obtener el a rbol de recubrimiento de costo m nimo en el grafo de la siguiente gura:

gura (1)

Soluci on: 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 gura de abajo muestra el a rbol de recubrimiento correspondiente:

gura (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 vericar que T + ei es ac clica, es necesario comprobar que los extremos de ei est en en diferentes componentes de T. Esto puede lograrse asignando a cada v erticevj una etiqueta de modo que dos v ertices tengan la misma etiqueta si y solo si pertenecen ala misma componente ei tienen distinta etiqueta, se re etiquetan sus extremos con la mas peque na de las dos etiquetas. Para cada arista es necesario hacer una comparaci on para vericar que sus extremos tengan distinta etiqueta. Una vez que una arista es a nadida, la re etiquetaci on de sus extremos requiere de una operaci on mas. En conclusi on, la complejidad del algoritmo de Kruskal depende esencialmente de la operaci on de las aristas y es por lo tanto O(m log m).(Espinosa,2010,p.401)

Conclusi on
El algoritmo de Kruskal siempre tiene una soluci on optima a este tipo de problemas donde se busca el arbol de expansi on m nimo eso quiere decir que este algoritmo pertenece a P porque se puede resolver de forma eciente por una maquina determinista en tiempo polinomial.

6.

Referencias

Micha, E.(2003). Matem aticas Discretas.M exico: Editorial LIMUSA, S.A. Calder on, H.D(2008).Matem aticas Discretas para la Ciencia de Comunicaci on .Puno,Per u: Editorial Pacico Espinosa, R(2010).Matem aticas Discretas .M exico:Alfaomega Grupo Editor

Vous aimerez peut-être aussi