Está en la página 1de 7

3.

3 RUTA MÁS CORTA 87

RUTA MÁS CORTA

Consiste en hallar la ruta más corta desde un origen a un destino a través de una red. El
algoritmo que permite resolver el problema de la ruta más corta consiste en los siguientes pasos:
1. Rotular con etiquetas temporales todos los nodos a los que se puede llegar inmediatamente
desde el nodo inicial. Las etiquetas tienen la siguiente forma:
[distancia desde el nodo inicial, nombre del nodo inicial]
2. Elegir, de todos los nodos con etiquetas temporales, aquel que posee la menor distancia en
la etiqueta y marcarlo como etiqueta permanente (para lo cual se puede usar un asterisco).
3. Etiquetar todos los nodos a los que se pueda llegar desde el último nodo marcado con
etiqueta permanente. Si estos nodos ya tienen una etiqueta temporal, esta se reevalúa con
respecto a la distancia del nodo permanente que se está trabajando: si mejora la etiqueta
actual, se elimina la etiqueta anterior.
4. Se evalúan todas las etiquetas temporales existentes. La que tenga la menor distancia
acumulada desde el origen se marca como etiqueta permanente y se repite el tercer paso
hasta que todas las etiquetas sean permanentes.

Problema resuelto N°𝟏𝟒

Existen siete barrios interconectados, representados por la red que se ilustra a continuación.
Cada arco representa la trayectoria permitida de un barrio a otro y los valores sobre los arcos
representan las distancias (en km) entre los barrios. Se desea conocer la secuencia de barrios que
arroja la mínima distancia entre el barrio 𝐴 (origen) y el barrio 𝐺 (destino).

Etiquetamos todos los nodos a los que se puede llegar desde el nodo inicial 𝐴, es decir los nodos
𝐵, 𝐶 y 𝐷:

MATERIAL DE CÁTEDRA DE ÁLGEBRA III ELABORADO POR LA PROF. ELIANA BOVIER


3.3 RUTA MÁS CORTA 88

La etiqueta [4; 𝐴] colocada en 𝐵 indica que desde el nodo predecesor 𝐴 hay 4 unidades de
distancia, la etiqueta [5; 𝐴] colocada en 𝐶 indica que desde el nodo predecesor 𝐴 hay 5 unidades
de distancia y la etiqueta [3; 𝐴] colocada en 𝐷 indica que desde el nodo predecesor 𝐴 hay 3
unidades de distancia.
Evaluamos cuál de todas las etiquetas temporales colocadas tiene la menor distancia acumulada
desde el origen para que se convierta en etiqueta permanente. De las tres etiquetas temporales
[4; 𝐴], [5; 𝐴] y [3; 𝐴], la que tiene la menor distancia acumulada es [3; 𝐴] que colocamos en el nodo
𝐷, por lo que la convertimos en etiqueta permanente [3; 𝐴]∗ :

MATERIAL DE CÁTEDRA DE ÁLGEBRA III ELABORADO POR LA PROF. ELIANA BOVIER


3.3 RUTA MÁS CORTA 89

Ahora etiquetamos los nodos a los que se llega desde el nodo de la última etiqueta permanente
(nodo 𝐷) sin volver al origen (nodo 𝐴): los nodos 𝐶 y 𝐹. Al etiquetar consideramos las distancias
acumuladas desde el origen de la red, por lo que la etiqueta para el nodo 𝐹 es [3 + 7, 𝐷] = [10, 𝐷]
mientras que la etiqueta para el nodo 𝐶 es [3 + 2, 𝐷] = [5; 𝐷] –en este caso da igual dejar la
etiqueta actual, que tiene una distancia de 5, que cambiarla por esta última–:

Nuevamente evaluamos cuál de todas las etiquetas temporales –[4, 𝐴], [5, 𝐴] y [10, 𝐷]– es la
que tiene la menor distancia acumulada. La que tiene menor distancia acumulada es la etiqueta
correspondiente al nodo 𝐵, por lo que pasa a tener una etiqueta permanente [4; 𝐴]∗ :

MATERIAL DE CÁTEDRA DE ÁLGEBRA III ELABORADO POR LA PROF. ELIANA BOVIER


3.3 RUTA MÁS CORTA 90

Repitiendo el procedimiento, etiquetamos todos los nodos a los que se puede llegar desde la
última etiqueta permanente, la cual corresponde al nodo 𝐵. Estos nodos son 𝐶 y 𝐸. La etiqueta
para el nodo 𝐶 sería [4 + 3, 𝐵] = [7, 𝐵], pero como ya tiene una etiqueta temporal [5, 𝐴] que tiene
una distancia acumulada menor desde el origen, no la cambiamos. Mientras tanto, la etiqueta para
el nodo 𝐸 es [4 + 6, 𝐵] = [10, 𝐵]:

Evaluamos, de todas las etiquetas temporales, cuál es la que tiene la menor distancia
acumulada. Entre las etiquetas temporales [10, 𝐵], [5, 𝐴] y [10, 𝐷], la de menor distancia es [5, 𝐴]
correspondiente al nodo 𝐶 por lo que la marcamos como etiqueta permanente [5, 𝐴]∗ :

MATERIAL DE CÁTEDRA DE ÁLGEBRA III ELABORADO POR LA PROF. ELIANA BOVIER


3.3 RUTA MÁS CORTA 91

Ahora etiquetamos todos los nodos a los que se puede llegar desde el nodo 𝐶 que es el último
nodo en el que colocamos una etiqueta permanente: los nodos 𝐸, 𝐹 y 𝐺. Para el nodo 𝐸 la etiqueta
sería [5 + 4, 𝐶 ] = [9, 𝐶] lo cual nos da una distancia menor que la que tiene –[10, 𝐵]– y por eso la
cambiamos, para el nodo 𝐹 corresponde la etiqueta [5 + 5, 𝐶 ] = [10, 𝐶] pero como ya tiene una
etiqueta con distancia acumulada de 10 nos es indiferente y no la cambiamos, mientras que la
etiqueta para el nodo 𝐺 es [5 + 25, 𝐶 ] = [30, 𝐶]:

Evaluamos cuál de las etiquetas temporales tiene la menor distancia acumulada. Entre la
etiqueta [9, 𝐶] para el nodo 𝐸, la etiqueta [10, 𝐷] para el nodo 𝐹 y la etiqueta [30, 𝐶] para el nodo
𝐺, gana la etiqueta del nodo 𝐸 y pasa a ser etiqueta permanente [9, 𝐶]∗ :

MATERIAL DE CÁTEDRA DE ÁLGEBRA III ELABORADO POR LA PROF. ELIANA BOVIER


3.3 RUTA MÁS CORTA 92

Desde el nodo 𝐸 evaluamos todos los nodos a los que se puede llegar y los rotulamos con
etiquetas temporales. La nueva etiqueta para el nodo 𝐹 sería [9 + 6, 𝐸 ] = [15, 𝐸] pero la distancia
de 15 es mayor que la distancia actual de 10, por lo que no cambiamos la etiqueta [10, 𝐷] de este
nodo, mientras que la etiqueta para el nodo 𝐺 es [9 + 7, 𝐸 ] = [16, 𝐸] que mejora la etiqueta actual
[30, 𝐶] y por eso la cambiamos:

Quedan con rótulos temporales los nodos 𝐹 y 𝐺. El de menor distancia acumulada es el nodo
𝐹, por lo que lo marcamos como permanente [10, 𝐷]∗ :

MATERIAL DE CÁTEDRA DE ÁLGEBRA III ELABORADO POR LA PROF. ELIANA BOVIER


3.3 RUTA MÁS CORTA 93

En esta instancia no hay más rótulos temporales excepto el del nodo 𝐺. Como el último nodo
rotulado con etiqueta permanente fue el 𝐹, la nueva etiqueta para 𝐺 sería [10 + 8, 𝐹 ] = [18, 𝐹]
que es mayor que la distancia actual correspondiente a la etiqueta [16, 𝐸], por lo que no la
cambiamos y finalmente marcamos como etiqueta permanente a [16, 𝐸 ]∗ :

Como todos los nodos han sido rotulados con etiquetas permanentes, el algoritmo ha llegado a
su fin. Para indicar la ruta más corta basta con considerar las etiquetas hacia atrás, desde el destino
hacia el origen, es decir 𝐺 − 𝐸 − 𝐶 − 𝐴, por lo que en esta red la ruta más corta desde el barrio
origen hasta el barrio destino es la ruta 𝐴 − 𝐶 − 𝐸 − 𝐺, con una distancia mínima de 16 km. 

ACTIVIDAD

Retomemos el problema del parque mencionado en la pág. 77. Los números que aparecen en
cada arco son las distancias (en kilómetros) entre las distintas estaciones:

A
7 T
5
2 D
2
4
O 5 B
1
7
4 1 3

C 4 E

Se pide encontrar la ruta mínima que conecta los nodos O y T. ¿Cuál será la distancia recorrida
por una persona que transita esa ruta?
MATERIAL DE CÁTEDRA DE ÁLGEBRA III ELABORADO POR LA PROF. ELIANA BOVIER

También podría gustarte