Vous êtes sur la page 1sur 22

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).
Terminología de Grafos
Una arista se representa por los vértices que conecta. La arista 3 conecta los
vértices b y d, y se representa por A(b,d).
Algunos vértices pueden conectar un nodo consigo mismo; por ejemplo, el
vértice d tiene el formato V(d,d). 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.
Un camino es una secuencia de uno o más arcos que conectan 2 nodos.
Un grafo es dirigido cuando los arcos tienen dirección.
Un grafo es no-dirigido cuando los arcos no tienen dirección.
La longitud de un camino es el nº de arcos que comprende.
Un camino simple es, si todos los vértices usados son distintos excepto el1ero
y el último que se permite sean idénticos.
Tipos de Grafos
 Existen dos tipos de grafos los no dirigidos y los dirigidos.
 • No dirigidos: son aquellos en los cuales los lados no están
orientados (No son flechas). Cada lado se representa entre
paréntesis, separando sus vértices por comas, y teniendo en
cuenta (Vi,Vj)=(Vj,Vi).
 • Dirigidos: son aquellos en los cuales los lados están
orientados (flechas). Cada lado se representa entre ángulos,
separando sus vértices por comas y teniendo en cuenta <Vi
,Vj>!=<Vj ,Vi>. En grafos dirigidos, para cada lado <A,B>, A,
el cual es el vértice origen, se conoce como la cola del lado y
B, el cual es el vértice destino, se conoce como cabeza del
lado.
ÁRBOLES DE
EXPANSIÓN MÍNIMOS
 es aquel que obtenemos en un grafo conexo y sin ciclos. Árbol de máximo
alcance cuyo valor es mínimo, es decir, la suma de sus aristas es mínima.
  
 Á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, excepto el
primero, que no tiene ninguno.
 También podemos definir un árbol como:
 Un grafo conexo y sin ciclos.
 Un grafo sin ciclos y con n-1 aristas, siendo n el número de vértices.
 Grado de un nodo en un árbol es el número de subárboles de aquel nodo.
Denominamos hojas en un árbol a los nodos finales (v3, v5 y v6).
Un árbol de máximo alcance
ROBERT PRIM
 Nació en 1921, Sweetwater, (Estados Unidos) es
un matemático e ingeniero informático.
 Robert Prim en 1957 descubrió un algoritmo para la
resolución del problema del Árbol de coste total
mínimo(minimum spanning tree - MST). Este
problema es un problema típico de optimización
combinatoria, 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 también fue resuelto
por Joseph B. Kruskal en 1956.
Joseph KRUSKAL
 Joseph B. Kruskal investigador del Math Center (Bell-
Labs), que en 1956 descubrió su algoritmo para la
resolución del problema del Árbol de coste total
mínimo (minimum spanning tree - MST) también
llamado árbol recubridor euclídeo mínimo.
 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.
 El Algoritmo de Kruskal que resuelve la
misma clase de problema que el de Prim,
salvo que en esta ocasión no partimos desde
ningún nodo elegido al azar. Para resolver
el mismo problema lo que hacemos es
pasarle a la función una lista con las aristas
ordenada de menor a mayor, e iremos
tomando una para formar el ARM.
ALGORITMO DE PRIM
 El algoritmo incrementa continuamente el tamaño de un
árbol, comenzando por un vértice inicial al que se le van
agregando sucesivamente vértices cuya distancia a los
anteriores es mínima. Esto significa que en cada paso, las
aristas a considerar son aquellas que inciden en vértices
que ya pertenecen al árbol.

 El árbol recubridor mínimo está completamente construido


cuando no quedan más vértices por agregar.
 
Objetivo de Algoritmo prim
 Encontrar el árbol recubridor más corto
Requisitos

 —  Ser un grafo conexo


 
 —  Ser un grafo sin ciclos
 
 —  Tener todos los arcos etiquetados.
 La idea básica consiste en añadir, en cada paso,
una arista de peso mínimo a un árbol previamente
construido. Más explícitamente:
 Paso 1. Se elige un vértice u de G y se considera el
árbol S={u}
 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, y se hace S=S+e
 Paso 3. Si el nº de aristas de T es n-1 el algoritmo
termina. En caso contrario se vuelve al paso 2
ALGORITMO DE KRUSKAL
El algoritmo de Kruskal permite hallar el árbol minimal de

cualquier grafo valorado (con capacidades). Hay que seguir
los siguientes pasos:
1. Se marca la arista con menor valor. Si hay más de una,
se elige cualquiera de ellas.
2. De las aristas restantes, se marca la que tenga menor
valor, si hay más de una, se elige cualquiera de ellas.
3. Repetir el paso 2 siempre que la arista elegida no
forme un ciclo con las ya marcadas.
4. 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 número de nodos
del grafo
Ejemplo
 Determinar el árbol de mínima expansión para el
siguiente grafo:
 Siguiendo el algoritmo de Kruskal, tenemos:
Ejercicio
 Elegimos, por ejemplo, la arista (5, 6) = 1 (menor valor) y la
marcamos.
 Elegimos la siguiente arista con menor valor (1, 3) = 1 y la marcamos.
 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.
 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.
 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.
 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.
 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.
 FIN. Finalizamos dado que los 7 nodos del grafo están en alguna de las
aristas, o también ya que tenemos marcadas 6 aristas (n-1).
Por tanto el árbol de mínima expansión resultante
sería:
WEBGRAFÍA

http://www.mitecnologico.com/Main/TiposDeGrafos
http://personales.upv.es/arodrigu/grafos/Prim.htm
http://www.matediscreta.8k.com/grafos.htm
www.ganimides.ucm.cl/haraya/doc/GRAFOS.ppt
http://eisc.univalle.edu.co/materias/Matematicas_Discretas_2/
pdf/cobertor_arbol_03.pdf
http://www.matap.uma.es/profesor/magalan/MatDis/material/
ArbolesTema6_2_MatDiscreta.pdf
http://www.inf.ucv.cl/~rsoto/cursos/INF245/Cap2_Parte3_2p
pt_INF245.pdf

Vous aimerez peut-être aussi