P. 1
algoritmosdekruskalyprim-100825075943-phpapp01

algoritmosdekruskalyprim-100825075943-phpapp01

|Views: 4|Likes:
Publicado porOrto BioSalud

More info:

Published by: Orto BioSalud on May 20, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

11/19/2015

pdf

text

original

ALGORITMOS DE KRUSKAL Y PRIM

JULIÁN RICARDO CÁRDENAS FERNANDO PEREZ TORRES ELKIN YAMITH BARRERA

GRAFOS
 Un

grafo es un conjunto de puntos (vértices) en el espacio, que están conectados por un conjunto de líneas (aristas).

y se representa por A(b. Un grafo es no-dirigido cuando los arcos no tienen dirección. Algunos vértices pueden conectar un nodo consigo mismo. Un camino es una secuencia de uno o más arcos que conectan 2 nodos. .Terminología de Grafos           Una arista se representa por los vértices que conecta. por ejemplo.d). Un camino simple es. si todos los vértices usados son distintos excepto el1ero y el último que se permite sean idénticos. el vértice d tiene el formato V(d. La arista 3 conecta los vértices b y d. Un grafo es dirigido cuando los arcos tienen dirección. La longitud de un camino es el nº de arcos que comprende. Estas aristas se denominan bucles Al número de vértices que tiene un grafo se le llama orden del grafo Un grafo nulo es un grafo de orden 0 Dos vértices son adyacentes si hay un arco que los une.d).

Vj>!=<Vj .Vi). • Dirigidos: son aquellos en los cuales los lados están orientados (flechas). se conoce como la cola del lado y B.Tipos de Grafos    Existen dos tipos de grafos los no dirigidos y los dirigidos. Cada lado se representa entre ángulos. se conoce como cabeza del lado. separando sus vértices por comas.Vi>. el cual es el vértice destino. . • No dirigidos: son aquellos en los cuales los lados no están orientados (No son flechas). el cual es el vértice origen. A. y teniendo en cuenta (Vi.B>. para cada lado <A. En grafos dirigidos. Cada lado se representa entre paréntesis. separando sus vértices por comas y teniendo en cuenta <Vi .Vj)=(Vj.

Árbol es un grafo en el que existe un único nodo desde el que se puede acceder a todos los demás y cada nodo tiene un único predecesor. es decir. excepto el primero. Un grafo sin ciclos y con n-1 aristas. Grado de un nodo en un árbol es el número de subárboles de aquel nodo. siendo n el número de vértices. Un árbol de máximo alcance       . Árbol de máximo alcance cuyo valor es mínimo. Denominamos hojas en un árbol a los nodos finales (v3. que no tiene ninguno. la suma de sus aristas es mínima. También podemos definir un árbol como: Un grafo conexo y sin ciclos.ÁRBOLES DE EXPANSIÓN MÍNIMOS  es aquel que obtenemos en un grafo conexo y sin ciclos. v5 y v6).

Kruskal en 1956. (Estados Unidos) es un matemático e ingeniero informático.ROBERT PRIM   Nació en 1921. Este problema también fue resuelto por Joseph B. . que fue considerado originalmente por Otakar Boruvka en 1926 mientras estudiaba la necesidad de electrificación rural en el sur de Moravia en Checoslovaquia. Este problema es un problema típico de optimización combinatoria. Sweetwater. Robert Prim en 1957 descubrió un algoritmo para la resolución del problema del Árbol de coste total mínimo(minimum spanning tree MST).

MST) también llamado árbol recubridor euclídeo mínimo. que en 1956 descubrió su algoritmo para la resolución del problema del Árbol de coste total mínimo (minimum spanning tree . El objetivo del algoritmo de Kruskal es construir un árbol (subgrafo sin ciclos) formado por arcos sucesivamente seleccionados de mínimo peso a partir de un grafo con pesos en los arcos. Kruskal investigador del Math Center (Bell-Labs).Joseph KRUSKAL   Joseph B. .

salvo que en esta ocasión no partimos desde ningún nodo elegido al azar. El Algoritmo de Kruskal que resuelve la misma clase de problema que el de Prim. . e iremos tomando una para formar el ARM. Para resolver el mismo problema lo que hacemos es pasarle a la función una lista con las aristas ordenada de menor a mayor.

ALGORITMO DE PRIM  El algoritmo incrementa continuamente el tamaño de un árbol. las aristas a considerar son aquellas que inciden en vértices que ya pertenecen al árbol. Esto significa que en cada paso. El árbol recubridor mínimo está completamente construido cuando no quedan más vértices por agregar.  . comenzando por un vértice inicial al que se le van agregando sucesivamente vértices cuya distancia a los anteriores es mínima.

Objetivo de Algoritmo prim  Encontrar el árbol recubridor más corto .

Requisitos — Ser — Ser un grafo conexo un grafo sin ciclos todos los arcos etiquetados. — Tener .

Más explícitamente:  Paso 1. en cada paso. Se elige un vértice u de G y se considera el árbol S={u}  Paso 2. Si el nº de aristas de T es n-1 el algoritmo termina. La idea básica consiste en añadir. y se hace S=S+e  Paso 3. En caso contrario se vuelve al paso 2 . Se considera la arista e de mínimo peso que une un vértice de S y un vértice que no es de S. una arista de peso mínimo a un árbol previamente construido.

.

.

De las aristas restantes. si hay más de una. 4. se marca la que tenga menor valor. se elige cualquiera de ellas. 2. Repetir el paso 2 siempre que la arista elegida no forme un ciclo con las ya marcadas. es decir. Se marca la arista con menor valor. se elige cualquiera de ellas. 3. El proceso termina cuando tenemos todos los nodos del grafo en alguna de las aristas marcadas. Hay que seguir los siguientes pasos: 1. siendo n el número de nodos del grafo . cuando tenemos marcados n-1 arcos. Si hay más de una. ALGORITMO DE KRUSKAL El algoritmo de Kruskal permite hallar el árbol minimal de cualquier grafo valorado (con capacidades).

.

.

Ejemplo   Determinar el árbol de mínima expansión para el siguiente grafo: Siguiendo el algoritmo de Kruskal. tenemos: .

Ejercicio .

Finalizamos dado que los 7 nodos del grafo están en alguna de las aristas. 2) = 3 y la marcamos. Elegimos la siguiente arista con menor valor (5. ya que no forma ciclos con ninguna arista de las marcadas anteriormente. 3) = 1 y la marcamos. 7) = 2 y la marcamos. 5) = 6 y la marcamos. o también ya que tenemos marcadas 6 aristas (n-1). por ejemplo. ya que forma ciclos con las aristas (5. FIN. 7) y (5. 5) = 5 y la marcamos. 6) marcadas anteriormente.        Elegimos. ya que no forma ciclos con ninguna arista de las marcadas anteriormente. . 7) = 4 y la desechamos. Elegimos la siguiente arista con menor valor (4. Elegimos la siguiente arista con menor valor (1. 6) = 1 (menor valor) y la marcamos. la arista (5. Elegimos la siguiente arista con menor valor (2. Elegimos la siguiente arista con menor valor (6. Elegimos la siguiente arista con menor valor (1. ya que no forma ciclos con ninguna arista de las marcadas anteriormente. ya que no forma ciclos con ninguna arista de las marcadas anteriormente.

Por tanto el árbol de mínima expansión resultante sería: .

WEBGRAFÍA        http://www.htm www.matediscreta.htm http://www.cl/haraya/doc/GRAFOS.inf.ucm.ucv.com/grafos.es/arodrigu/grafos/Prim.pdf .com/Main/TiposDeGraf os http://personales.matap.ganimides.8k.ppt http://eisc.mitecnologico.uma.pdf http://www.es/profesor/magalan/Ma tDis/material/ArbolesTema6_2_MatDiscreta.pdf http://www.upv.univalle.edu.co/materias/Matematicas _Discretas_2/pdf/cobertor_arbol_03.cl/~rsoto/cursos/INF245/Cap2_ Parte3_2ppt_INF245.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->