Vous êtes sur la page 1sur 10

UNIVERSIDAD ABIERTA Y A DISTANCIA

DE MÉXICO

MATEMÁTICAS DISCRETAS

UNIDAD 2. EVIDENCIA DE APRENDIZAJE

Árbol de peso mínimo

ALUMNO: Cesar Felipe Morales Mérida

MATRICULA: ES1821010706

DOCENTE: Mtro. Carlos Quiroz Lima

GRUPO: Matemáticas discretas (MT-MMDI-1901-B1-002)


A continuación, encontrarán los algoritmos de Kruskal y de Prim, cada uno de ellos
se explica mediante un ejemplo, los cuales deberán de analizar y comprender. La
tarea de esta actividad, consiste en que investiguen y expongan un ejemplo de
aplicación para cada uno de los algoritmos aquí mostrados o similares a los aquí
expuestos. Si pueden hacerlos con el editor de ecuaciones de Word, mejor, pero si
se les complica, entonces háganlo a mano y escaneen su trabajo. Suban el
documento de acuerdo a las instrucciones de la plataforma.

Algoritmo de Kruskal.

Paso 1. Hacemos el contador i  1 y seleccionamos una arista e1 en G , tal que

pe1  sea lo más pequeño posible.


Paso 2. Para 1  i  n  2 , si hemos seleccionado las aristas e1 , e2 ,..., ei , entonces

seleccionamos la arista ei1 de las aristas restantes de G de modo que

a  p ei 1  sea lo más pequeño posible y b el subgrafo de G

determinado por las aristas e1 , e2 ,..., ei , ei 1 (y los vértices incidentes) no


contenga ciclos.
Paso 3. Reemplazamos i con i 1 .

Si i  n 1, el subgrafo de G determinado por las aristas e1, e2 ,...,en1 es


conexo, con n vértices y n 1 aristas, y es un árbol recubridor óptimo
para G .

Si i  n 1, regresamos al paso 2.

Ejemplo.
Aplicaremos el algoritmo de Kruskal al grafo de la siguiente figura.
Inicialización:
i  1 Puesto que solo existe una arista (a saber, e, g) de peso mínimo 1,

comenzamos con T  e, g . (Al principio, T es un árbol con una arista, y después
de cada iteración crece hasta ser un árbol más grande o un bosque. Después de la
última iteración, El subgrafo T es un árbol recubridor óptimo para el grafo dado G.

Primera iteración.
Entre las aristas restantes de G , tres de ellas tienen el siguiente peso menor, 2.
Seleccionamos d, f , la cual satisface las condiciones del paso 2. Ahora T es el
bosque e, g,d, f  e incrementamos i a 2. Como i  2  6 , regresamos al paso
2.

Segunda iteración.
Dos de las aristas restantes tienen peso 2. Seleccionamos d, e. Ahora, T es el
árbol e, g,d, f ,d, e e i toma el valor 3. Como 3<6, el algoritmo nos envía de
regreso al paso 2.

Tercera iteración.
Entre las aristas de G que no están en T , la arista f , e tiene un peso minimal 2.
Sin embargo, si añadimos esta arista a T , el resultado contiene un ciclo, lo que
destruye la estructura de árbol que buscamos. En consecuencia, analizamos las
aristas c, e, c, g y d, g. La arista d, g produce un ciclo, pero c, e o c, g
satisfacen las condiciones del paso 2 . Seleccionamos c,e. T crece a
e, g,d, f ,d, e,c, e e i aumenta a 4 . Regresamos al paso 2 y vemos que las
iteraciones cuarta y quinta nos proporcionan los siguientes resultados.

Cuarta iteración.
T  e, g, d, f , d, e, c, e, b, e i aumenta a 5.

Quinta iteración.
T  e, g, d, f , d, e, c,e, b,e, a,b ; el contador i toma el valor 6=(número de
vértices de G )-1. Por lo tanto, T es un árbol óptimo para el grafo G y tiene peso
1 2  3  4  5 17 .
La siguiente figura muestra este árbol recubridor de peso minimal.
Algoritmo de Prim.

Paso 1:
Hacemos el contador i 1 y colocamos un vértice arbitrario 1 V en el conjunto P

. Definimos N  V  1 y T   .

Paso 2:
Para 1 i  n 1, donde V  n , sean P  1, 2 ,...,i , T  e1, e2 ,... ei 1, y N  V  P

Añadimos a T la arista más corta (la arista de peso minimal) de G que conecta un
vértice c en P con un vértice y i 1  en N . Colocamos y en P y lo eliminamos
de N .

Paso 3:
Incrementamos el contador en 1.
Si i  n , el subgrafo de G determinado por las aristas e1, e2 ,... en1 es conexo, con n
vértices y n 1 aristas y es un árbol óptimo para G .

Si i  n , regresamos al paso 2

Ejemplo.
Utilizaremos el algoritmo de Prim para encontrar un árbol óptimo para el grafo
siguiente:
Primera iteración:
T  a,b ; P  a,b; N  c, d, e, f , g; i  2 .

Segunda iteración
T  a,b, b,e ; P  a,b,e; N  c, d, f , g; i  3 .

Tercera iteración:
T  a,b, b,e, e,g ; P  a,b, e, g; N  c, d, f ; i  4 .

Cuarta iteración:
T  a,b, b,e,e,g, d,e ; P  a,b, e, g, d; N  c, f ; i  5 .

Quinta iteración:
T  a,b, b,e, e,g, d,e, f , g ; P  a,b, e, g, d, f ; N  c ; i  6 .

Sexta iteración:
T  a,b, b,e,e,g, d,e, f , g, c,g ; P  a,b, e, g, d, f , c V ; N   ; i  7  V .

Por lo tanto, T es un árbol recubridor óptimo de peso 17 para G , como se ve en la


siguiente figura.

Observe que el árbol generador minimal obtenido aquí difiere del que se obtuvo con
el algoritmo de Kruskal. Así, este tipo de árbol recubridor no tiene que ser único.
Algoritmo de Kruskal. Ejercicio
Se quiere encontrar el árbol mínimo para el siguiente grafo
Algoritmo de Prim. Ejercicio
Se hará el mismo grafo pero con el 2do método
REFERENCIAS
Jordan Lluch Cristina (2011) Conceptos básicos de la teoría de grafos 1-
42|UPV. (YouTube) Universitat Politécnica de Valencia- UPV. Disponible
en: https://www.youtube.com/watch?v=pzca71UtH-A
LCTutorials (2014) Algoritmo de Kruskal.[Archivo de Video] YouTube
Disponible en: https://youtu.be/OZKuWP1KxdY

Vous aimerez peut-être aussi