Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
encontrar la solución más óptima [2], [3] y [4]. el funcionamiento del algoritmo, se tomaran en
cuenta los siguientes pasos y se ira ilustrando con el
siguiente grafo (fig. 2).
Figura 1
distancia que separa a dos vértices dado en este caso por la diferencia de
cualesquiera del grafo. Se trata de una matriz intensidad. Esta técnica presenta un gran
cuadrada de orden n (vértices del grafo), ahorro de costes frente a las herramientas
cuyos elementos, ij representan las distancias existentes actualmente en el mercado que
entre los vértices xi y xj [11]. usan métodos de vectorización
automáticos.
0 1 2 3 4 5 - Caminos mínimos en Grafos usando XML
y parsers de Java [9]: El concepto de
0 - - 7 2 4 -
camino es una secuencia de operadores y
1 - - 0 - 4 2 conectores: un operador será cualquier
unidad de proceso de información
2 7 0 - - 1 -
realizando un algoritmo específico (i.e.
3 2 - - - 1 3 conversores digitales, de formato etc.) y
un conector será cualquier mecanismo a
4 4 4 1 1 - 1
través del cual los operadores se
5 - 2 - 3 1 - comunican entre sí. Dado un conjunto de
descripciones de operadores y conectores,
Tabla I: Representación de la matriz de unos parámetros de optimización (que el
adyacencia- distancia de un grafo dirigido. usuario queda encargado de introducir) y
una serie de requisitos, el sistema se
E. Aplicaciones del algoritmo encargará de encontrar un camino óptimo
Las aplicaciones del algoritmo de Dijkstra son de una entrada establecida hasta un tipo de
muy diversas y de gran importancia en distintas salida especificada aplicando
áreas del conocimiento. Vamos a presentar algunas transformaciones específicas en el menor
de ellas. tiempo posible.
- Encaminamiento de paquetes por los - Reconocimiento de lenguaje hablado [10]:
routers [7]: Consideremos una red Un problema que se presenta es el
telefónica. En un momento dado, un distinguir entre palabras que suenan de
mensaje puede tardar una cierta cantidad manera similar. Se puede construir un
de tiempo en atravesar cada línea (debido grafo cuyos vértices correspondan a
a efectos de congestión, retrasos en las palabras posibles y cuyos arcos unan
conexiones etc.). En este caso tenemos palabras que puedan ir colocadas una al
una red con costes en los arcos y dos lado de otra. Si el peso del arco
nodos especiales: el nodo de comienzo y corresponde a la probabilidad de que estén
el de finalización, el objetivo aquí es así colocadas, el camino más corto en el
encontrar un camino entre estos dos nodos grafo será la mejor interpretación de la
cuyo coste total sea el mínimo. frase.
- Aplicaciones para Sistemas de - Otras aplicaciones: Enrutamiento de
información geográficos: extracción de aviones y tráfico aéreo. Tratamiento de
características curvilíneas de imágenes imágenes médicas. Problemas de
usando técnicas de minimización del optimización de una función de coste para
camino [8]: La imagen se representa como moverse entre diversas posiciones.
una matriz de puntos, cada uno con una
especial intensidad. Cada nodo se
III. PSEUDOCÓDIGO
corresponde con un punto (pixel) de la
imagen y tiene hasta ocho nodos El algoritmo de Dijkstra mantiene un conjunto de vértices
cuyo camino de pesos mínimos final desde el inicio (fuente) s
adyacentes. El peso de los arcos viene
Universidad de Córdoba. Banda, Ana y Suarez, Sindy. Algoritmo de Dijkstra. 4
REFERENCIAS
[1] Serna, L., Raquel M., and Miguel R. “Programación y
estructuras de datos avanzadas”. Editorial Universitaria
Ramón Areces, 2011.
El algoritmo de Dijkstra relaja todas las aristas. En la línea 1,
[2] J. M. Alonso, “flujo en redes y gestion de proyectos,”
se realiza la inicialización respectiva de d y los valores π, en la
Netbiblo, Mar 1, 2008 - 224 pag.
línea 2 inicializa el conjunto S como el conjunto vacío. En la
[3] Torrubia, G. Sánchez, and V. Lozano Terrazas.
línea 3 luego de inicializar la cola de prioridad Q que contiene
"Algoritmo de Dijkstra. Un tutorial interactivo." VII
todos los vértices en V − S = V − ∅ = V. En cada instante que
Jornadas de Enseñanza Universitaria de la Informática
se produzca el ciclo MIENTRAS desde la línea 4-8 un vértice
(JENUI 2001) (2012).
u es extraído de Q = V −S e insertado en el conjunto S (Al
[4] Pedraza, L., Danilo López, and Octavio Salcedo.
inicio del ciclo u = s). El vértice u, por lo tanto, tiene la más
"Enrutamiento basado en el algoritmo de Dijkstra para
pequeña estimación de camino mínimo de cualquier vértice en
una red de radio cognitiva." (2012).
V − S. Entonces, en las líneas 7-8 se relaja cada arista (u, v)
[5] Salas, Alvaro. "Acerca del Algoritmo de Dijkstra." arXiv
que salen de u, así actualizando la estimación d[v] y el
preprint arXiv:0810.0075 (2008).
predecesor π[v] si el camino mínimo hacia v puede ser
[6] Montón, M., Castells, D., Portero, A., & Carrabina, J.
mejorado al ir atravesó de u. Observemos que los vértices
Implementación SystemC sintetizable de un procesador
nunca son insertados en Q después de la línea 3 y que cada
asociativo para el algoritmo de Dijkstra. Dept.
vértice es extraído de Q e insertado en S exactamente una vez.
Microelectrònica i Sistemas Electrònics, Universitat
Así que el ciclo MIENTRAS de las líneas 4-8 interactúa
Autònoma de Barcelona (2005).
exactamente | V | veces.
[7] Michael A. Trickk: Shortest Path
Con el siguiente teorema y su respectivo corolario
http://mat.gsia.cmu.edu/classes/networks/node4.html
mostraremos que el algoritmo de Dijkstra calcula caminos
Carnegie Mellon University. Computer Science
mínimos. La clave está en mostrar que cada vértice u es
Department. 1998.
insertado en el conjunto
[8] M.R. Dobie y P. H. Lewis: Extracting curvilinear Features
S y tener d[u] = δ(s, u)
from Remotely Sensed Images Using Minimum Cost Path
Techniques.http://www.mmrg.ecs.soton.ac.uk/publications
/archive/dobie1994/html/Universidad de Leeds. U.K.
[9] LindaMay Patterson: Using the IBM XMLParser Find
and replace elements in an XML Document
http://www.as400.ibm.com./developer/java/xml/xml_pars
er2.html IBMXML Parser 2000.
[10] Steven S. Skiena: Shortest Path
http://www.cs.sunysb.edu/~algorith/files/shortestpath.sht
ml.Stone Brook (State University of New York).
computer Science Department,2001.
[11] Morillas, A. "Aplicación de la Teoría de Grafos al estudio
de los cambios en las relaciones intersectoriales de la
economía andaluza en la década de los 80." Instituto de
Estadística de Andalucía, Junta de Andalucía (1995).