Sie sind auf Seite 1von 4

ANLISIS DE ALGORITMOS

Algoritmo de Kruskal

Algoritmo de Kruskal
Abstract In this paper develops the concept of the Kruskal algorithm, which is an algorithm in graph theory for finding a minimum spanning tree in a connected graph and weighted. Ie, find a subset of edges that form a tree, and includes all vertices where the total value of all the edges of the tree is a minimum. If the graph is not connected, then seeking a minimum expanded forest (a minimum spanning tree for each connected component). It works as follows: Create a forest B (a set of trees), where each vertex of the graph is a separate tree Create a set C containing all edges of the graph. While C is not empty Delete an edge of minimum weight of C If that edge connects two different trees is added to the forest, combining two trees into a single tree Otherwise, the edge is discarded.

voraz. Esta definicin en trminos simples es como encontrar el rbol de expansin pero que el peso total de las aristas sea el menor posible.

II. DESARROLLO A. Conceptos para el desarrollo del Algoritmo de Kruskal: 1. Grafos: Un grafo es un conjunto de puntos (vrtices) en el espacio, que estn conectados por un conjunto de lneas (aristas). Tipos de Grafos: Existen dos tipos de grafos los no dirigidos y los dirigidos. No dirigidos: son aquellos en los cuales los lados no estn orientados (No son flechas). Cada lado se representa entre parntesis, separando sus vrtices por comas, y teniendo en cuenta (Vi,Vj)=(Vj,Vi). Dirigidos: son aquellos en los cuales los lados estn orientados (flechas). Cada lado se representa entre ngulos, separando sus vrtices por comas y teniendo en cuenta <Vi ,Vj>!=<Vj ,Vi>. En grafos dirigidos, para cada lado <A,B>, A, el cual es el vrtice origen, se conoce como la cola del lado y B, el cual es el vrtice destino, se conoce como cabeza del lado. 2. rboles de Expansin Mnimos: Es aquel que obtenemos en un grafo conexo y sin ciclos. rbol de mximo alcance cuyo valor es mnimo, es decir, la suma de sus aristas es mnima. rbol: Es un grafo en el que existe un nico nodo desde el que se puede acceder a todos los dems y cada nodo tiene un nico predecesor, excepto el primero, que no tiene ninguno.

At the end of the algorithm, the forest has only one component, which forms a minimum spanning tree of the graph. Keywords - Algorithm, Trees, Edges. Resumen En presente artculo desarrolla el concepto del algoritmo de Kruskal, el cual es un algoritmo de la teora de grafos para encontrar un rbol recubridor mnimo en un grafo conexo y ponderado. Es decir, busca un subconjunto de aristas que, formando un rbol, incluyen todos los vrtices y donde el valor total de todas las aristas del rbol es el mnimo. Si el grafo no es conexo, entonces busca un bosque expandido mnimo (un rbol expandido mnimo para cada componente conexa). Funciona de la siguiente manera: Se crea un bosque B (un conjunto de rboles), donde cada vrtice del grafo es un rbol separado Se crea un conjunto C que contenga a todas las aristas del grafo. Mientras C es no vaco Eliminar una arista de peso mnimo de C Si esa arista conecta dos rboles diferentes se aade al bosque, combinando los dos rboles en un solo rbol En caso contrario, se desecha la arista.

Al acabar el algoritmo, el bosque tiene un solo componente, el cual forma un rbol de expansin mnimo del grafo. Palabras clave Algoritmo, rboles, Aristas.

I. INTRODUCCIN

l algoritmo de Kruskal es un algoritmo de la teora de grafos para encontrar un rbol de expansin mnimo en un grafo conexo y ponderado. Es decir, busca un subconjunto de aristas que, formando un rbol, incluyen todos los vrtices y no hay ciclos y donde el valor total de todas las aristas del rbol es el mnimo, a esto se le llama rbol de expansin mnimo. El algoritmo de Kruskal es un ejemplo de algoritmo 1

Tambin podemos definir un rbol como: Un grafo conexo y sin ciclos.

ANLISIS DE ALGORITMOS Un grafo sin ciclos y con n-1 aristas, siendo n el nmero de vrtices. Grado de un nodo en un rbol es el nmero de subrboles de aquel nodo. Denominamos hojas en un rbol a los nodos finales (v3, v5 y v6). del grafo.

Algoritmo de Kruskal

B. Algoritmo de Kruskal: Joseph B. Kruskal investigador del Math Center (Bell-Labs), que en 1956 descubri su algoritmo para la resolucin del problema del rbol de coste total mnimo (minimum spanning tree - MST) tambin llamado rbol recubridor eucldeo mnimo.

Figura 1. Diseo del Algoritmos de Kruskal.

El objetivo del algoritmo de Kruskal es construir un rbol (subgrafo sin ciclos) formado por arcos sucesivamente seleccionados de mnimo peso a partir de un grafo con pesos en los arcos. El algoritmo de Kruskal permite hallar el rbol mnimo de cualquier grafo valorado (con capacidades). Para desarrollar este algoritmo se debe seguir los siguientes pasos: Se marca la arista con menor valor. Si hay ms de una, se elige cualquiera de ellas. De las aristas restantes, se marca la que tenga menor valor, si hay ms de una, se elige cualquiera de ellas.

C. Ejemplos: Apliquemos el algoritmo de Kruskal sobre el grafo del ejemplo anterior. Usamos m para indicar las aristas elegidas y k para el nmero de componentes conexas que hay en cada paso (cada componente conexa de distinto color):

Determinar el rbol de mnima expansin para el siguiente grafo. Siguiendo el algoritmo de Kruskal, tenemos:
1
3

7
2 4

Repetir el paso 2 siempre que la arista elegida no forme un ciclo con las ya marcadas.

Figura 2. Grafo de Ejemplo Solucin: Elegimos, por ejemplo, la arista (5, 6) = 1 (menor valor) y la marcamos.
2
7

El proceso termina cuando tenemos todos los nodos del grafo en alguna de las aristas marcadas, es decir, cuando tenemos marcados n-1 arcos, siendo n el nmero de nodos

7
2 4

ANLISIS DE ALGORITMOS Elegimos la siguiente arista con menor valor (1, 3) = 1 y la marcamos.

Algoritmo de Kruskal Elegimos la siguiente arista con menor valor (4, 5) = 6 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.
2
7

7 1
3

7
2 4

2 4 1 8 5 6

6 3 5
1

Elegimos la siguiente arista con menor valor (5, 7) = 2 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.
2
7

FIN. Finalizamos dado que los 7 nodos del grafo estn en alguna de las aristas, o tambin ya que tenemos marcadas 6 aristas (n-1).

7
2 4

Por tanto el rbol de mnima expansin resultante sera:


1
3

4
2

6
1 5 6

Elegimos la siguiente arista con menor valor (1, 2) = 3 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.
2
7

7
2 4

Figura 4. Grafo resultante usando el Algoritmo de Kruskal

III. CONLUSIONES:
3 5
1

Elegimos la siguiente arista con menor valor (6, 7) = 4 y la desechamos, ya que forma ciclos con las aristas (5, 7) y (5, 6) marcadas anteriormente.

Mediante el algoritmo de Kruskal, encontrar el rbol de expansin mnimo. La formulacin del rbol de expansin mnimo tambin ha sido aplicada para hallar soluciones en diversas reas (diseo de redes de transporte, diseo de redes de telecomunicaciones - TV por cable, sistemas distribuidos, interpretacin de datos climatolgicos, anlisis de clusters y bsqueda de superestructuras de quasar, plegamiento de protenas, reconocimiento de clulas cancerosas, y otros).

Elegimos la siguiente arista con menor valor (2, 5) = 5 y la marcamos, ya que no forma ciclos con ninguna arista de las marcadas anteriormente.
2
7

7
2 4

ANLISIS DE ALGORITMOS IV. REFERENCIAS: 1. http://abdarrayan.blogspot.com/2009/04/oracle-10-vs-sqlserver-2008_14.html 2. http://www.mitecnologico.com/Main/TiposDeGrafos 3. http://personales.upv.es/arodrigu/grafos/Prim.htm 4. http://www.matediscreta.8k.com/grafos.htm 5. www.ganimides.ucm.cl/haraya/doc/GRAFOS.ppt 6. http://eisc.univalle.edu.co/materias/Matematicas_Discreta s_2/pdf/cobertor_arbol_03.pdf 7. http://www.matap.uma.es/profesor/magalan/MatDis/mate rial/ArbolesTema6_2_MatDiscreta.pdf 8. http://www.inf.ucv.cl/~rsoto/cursos/INF245/Cap2_Parte3 _2ppt_INF245.pdf 9. http://www.ma.uva.es/~antonio/Industriales/Clase_0708/LabM/Alg_Kruskal_C.pdf 10. http://www.dma.fi.upm.es/gregorio/grafos/PrimKruskal/k ruskal/kruskal.html

Algoritmo de Kruskal

Das könnte Ihnen auch gefallen