Você está na página 1de 26

ÁRBOL DE EXPANSIÓN

MÍNIMA
Reyner A. Garces Torres
Árbol de expansión mínima
• Un árbol de expansión mínima es aquel que conecta todos sus
nodos dentro de una red.

• Este árbol vincula los nodos de una red valiéndose de la longitud


mínima total de las ramas de conexión.

• No se forman ciclos en el árbol de expansión mínima.


Concepto claves
Hay que tener en cuenta estos 3 conceptos claves para elaborar
un árbol de expansión, son los siguientes:
• Flujo: Corresponde a la cantidad que debe transportarse de un
nodo a otro.
• Arco no dirigido: Si el flujo puede transportarse en varias
direcciones o sea es un grafo sin flechas.
• Nodo adyacente: Este se da cuando existe un arco que une a dos
nodos
Aplicaciones
• Diseño de redes de telecomunicación (redes de fibra óptica, de
computadoras, telefónicas, de televisión por cable, etcétera).
• Diseño de redes de transporte para minimizar el costo total de
proporcionar las ligaduras (vías ferroviarias, carreteras, etcétera)
• Diseño de una red de líneas de transmisión de energía eléctrica
de alto voltaje.
• Diseño de una red de cableado de equipo eléctrico —como sistemas de
cómputo— para minimizar la longitud total de cable.
• Diseño de una red de tuberías para conectar varias localidades.
Métodos de solución de un AEM
• Existen 2 formas de poder resolver un árbol de expansión mínima .

• Algoritmo de Kruskal

• Algoritmo de Prim
Algoritmo Kruskal
Es un algoritmo de la teoría de grafos para encontrar un árbol recubierto mínimo o
un árbol de expansión mínima, en un grafo conexo (si cada par de vértices está
conectado por un camino, le llamamos grafo conexo) y ponderado (si los arcos de un
grafo tiene un costo le llamamos grafo ponderado o grafo valorado).

• Seleccionamos aristas de menor longitud o peso


• Evitamos que se produzcan ciclos, ni repetir nodos
• Se inicia desde el arco o arista de menor o mayor peso según corresponda a una
maximización o minimización
• En los casos en los que tengamos un grafo disperso, nos convendrá usar el
algoritmo de kruskal
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.

• Vértice de inicio puede ser arbitrario


• Solo funciona con grafos ponderados
• Seleccionamos los vértices adyacentes a los nodos marcados y tomar la arista de menor
peso o de menor longitud
• Consideramos la arista de menor peso que une un vértice y uno que no este unido.
• No tener ciclos
• En los casos en los que tengamos un grafo denso, nos convendrá usar el algoritmo de Prim.
Ejemplo
Una empresa de gas quiere requiere suministrar sus servicios a varios
corregimientos del este de la ciudad. ¿ Cual seria la ruta mas económica de
suministrar los servicios de la empresa de gas a todos los corregimientos ?

8
B E 7

5 G
6
1 9
2
10
C
A
H
11
3
4 3

D F
15
Observamos que desde nuestro punto de inicio que es nuestro nodo A,
buscaremos la forma de ir a los nodos B, C y D con la ruta mas corta, ya
que estos son los nodos adyacentes de A. Observamos que del nodo AB
tenemos un peso de 6, del nodo AC un peso de 10 y del AB un peso de 4
analizamos cual es de menor peso y nos vamos por ese camino.

8
B E 7

5 G
6
1 9
2
10
C
A
H
11
3
4 3

D F
15
Aquí nos encontramos en el nodo D aquí analizamos entre los nodos marcados, cuales son
sus nodos adyacentes, observamos cuales son las posibles rutas y observamos entre esas
rutas cual es la de menor peso o menor longitud. Tenemos las rutas AB con un peso de 6,
AC con un peso de 10, DC con un peso de 3 y DF con un peso de 15, como vemos que la de
menor peso es la de DC nos vamos por esa arista.
8
B E 7
G
5
6 1
9 2
10
A C
H

3 11
4
3
D F
15
Observamos cuales son los nodos adyacentes de los nodos marcados o nodos conexos que serian
A, D y C, para analizar cuales son las posibles rutas que podemos seguir, analizamos que las
posibles rutas son, AB con un peso de 6, AC con un peso de 10, DF con un peso de 15, CF con un
peso de 11, CB con un peso de 1, CE con un peso de 5, CG con un peso de 9, observamos cual es la
de menor peso y nos vamos por la arista de CB que es la de menor peso. Hay que tener en cuenta
que no podemos formar ciclos así que descartamos el camino de AC.
8
E 7
B
G
5
6 1
9 2
10
A C
H

3 11
4
3
F
D 15
Entre los nodos ya marcados observamos cuales son los nodos adyacentes para saber cuales son las posibles
rutas a elegir, tenemos de DF con peso de 15, BE con un peso de 8, CE con un peso de 5, CG con un peso de 9,
CF con un peso de 11, observamos que el de menor peso entre las posibles rutas es de CE con un peso de 5,
esta seria la próxima ruta a recorrer, tenemos que tener en cuenta que los caminos AB y de AC las
descartamos por que en el árbol de expansión mínima no se deben formar ciclos.

8
B E 7
G
5
6 1
9 2
10
A C
H

3 11
4
3
D F
15
Observamos cuales son los nodos marcados y analizamos cuales son las posibles rutas a elegir entre los nodos
conexos y los nodos inconexos, observamos que las posibles rutas son, DF con un peso de 15, CG con un peso
de 9, CF con un peso de 11 y de BE con un peso de 8 y de EG con un peso de 7, hay tenemos que tener en
cuenta que el camino de BE lo descartamos por que se formaría un ciclo entre BCE, entre las posibles rutas la
de menor peso es de EG con un peso de 7 y nos vamos por esa arista.

8
B E 7
G
5
6 1
9 2
10
A C
H

3 11
4
3
D F
15
Aquí vemos que nos encontramos en el nodo G, miramos de los nodos marcados cuales son las posibles rutas
entre los nodos conexos y los nodos inconexos y entre nodos analizamos cual es la de menor peso, GH con un
peso de 2, DF con un valor de 15, CF con un valor de 11 y de CG con un valor de 9 este ultimo camino lo
descartamos por que se formaría un ciclo entre CEG, entre las artistas de menor peso es de GH con un peso de
2 esta seria nuestra arista a seguir.

8
B E 7
G
5
6 1
9 2
10
A C
H

3 11
4
3
D F
15
Observamos entre los nodos marcados cuales son los nodos adyacentes a estos y miramos cuales son las
posibles rutas entre los nodos conexos y los nodos inconexos y analizamos entre todas las rutas cual es la de
menor peso. Tenemos las rutas de DC con un peso de 15, CF con un peso de 11 y de HF con un peso de 3, nos
vamos por la arista de menor peso que es HF con un peso de 3.

8
B E 7
G
5
6 1
9 2
10
A C
H

3 11
4
3
D F
15
Aquí observamos que ya todos los nodos están marcados y unidos entre si, aunque todavía faltan caminos por
recorrer tenemos que tener en cuenta que los caminos entre CF y CG y DF no los podemos tener en cuenta por
que se formaría ciclos dentro del árbol de expansión mínima, tal como los caminos de AB y AC, asi que los
descartamos

8
B E 7
G
5
6 1
9 2
10
A C
H

3 11
4
3
D F
15
Nuestro árbol de expansión

B E 7
G
5
1
2

A C
H

3
4
3
D F
Solución
Ck Čk Destino

A B,C,D,E,F,G,H 0
A,D B,C,E,F,G,H 4
A,D,C B,E,F,G,H, 3
A,D,C,B E,F,G,H 1
A,D,C,E F,G,H 5
A,D,C,E,G F,H 7
A,D,C,E,G,H F 2
A,D,C,E,G,H,F ----- 3
25
Ejemplo de Prim

A
6 5

B 1 D
5 5

C
2
3 6
4

F
G
6
• Consideramos que nuestra nodo inicial es A y observamos en el grafo original que
arista podemos agregar de menor peso entre todas las posibles, tenemos de AB,
AD y de AC en este caso la arista de menor peso es AB con un peso de 1 y la
agregamos.

B 1 D

F
G
• Buscamos que nueva arista de peso mínimo podemos agregar a los nodos ya
marcados, tendíamos las aristas de CD y de CF, observamos entre todas las aristas
cual es la de menor peso y la agregamos en este caso agregamos de CF que tiene
un peso de 4 que es la menor entre las posibles.

B 1 D

G F
• Analizamos que nodos se pueden agregar al árbol que se esta construyendo
teniendo en cuenta que no se formen ciclos, observamos en el grafo original que
caminos podemos seguir, tenemos de CB, CG y de FD comparamos cual de estos
caminos tiene menor peso y la agregamos a nuestro árbol, miramos en el grafo
original y vemos que la de menor peso es de FD con un peso de 2 y la agregamos a
el árbol.
A

B 1 D

C
2
4

F
G
• Analizamos que nodos se pueden agregar al árbol que se esta construyendo
teniendo en cuenta que no se formen ciclos, observamos en el grafo original que
caminos podemos seguir, tenemos de CB, y de CG comparamos cual de estos dos
caminos tiene menor peso y la agregamos a nuestro árbol, miramos en el grafo
original y vemos que la arista de menor peso es de BC, se descarta el camino de
DA por que se formaría un ciclo y esto no esta permitido en los árbol de expansión
mínima.

1 D
B 5

2
C

4
F
G
• Observamos cuales aristas podemos agregar a la árbol, analizamos que tenemos
los caminos de BG, CG observamos en el grafo original y comparamos cual de
estos dos caminos tiene menor peso y lo agregamos a el árbol en este caso es la de
BC que tiene un peso de 3

1 D
B 5

2
C
3

4
F
G
• Aquí ya tenemos nuestro árbol de expansión mina ya formado, tenemos que tener
en cuenta que los caminos AB, AD, GC y GF no los tenemos en cuenta por que se
formarían ciclos.

B 1 D

5 C 2

3 4
G F

Solución : 1 + 2 + 4 + 5 + 3 = 15
Gracias