Vous êtes sur la page 1sur 4

Algoritmo de Dijsktra

Edsger Wybe Dijkstra naci en Rotterdam, (Holanda) en 1930. Sus padres eran
ambos intelectuales y l recibi una excelente educacin. Su padre era qumico
y su madre matemtica. En 1942, cuando Dijkstra tena 12 aos, entr en
Gymnasium Erasminium, una escuela para estudiantes especialmente
brillantes, donde dio clases, fundamentalmente, de Griego, Latn, Francs,
Alemn, Ingls, biologa, matemticas y qumica. En 1945, Dijkstra pens
estudiar Derecho y trabajar como representante de Holanda en las Naciones
Unidas.
Sin embargo, debido a su facilidad para la qumica, las matemticas y la fsica,
entr en la Universidad de Leiden, donde decidi estudiar fsica terica.
Durante el verano de 1951, asisti a un curso de verano sobre programacin
en la Universidad de Cambridge. A su vuelta empez a trabajar en el Centro
Matemtico en Amsterdam, en marzo de 1952, donde se increment su
creciente inters en la programacin. Cuando termin la carrera se dedic a
problemas relacionados con la programacin. Pero uno de los problemas con
que se encontr es que ser programador no estaba oficialmente reconocido
como una profesin. De hecho, cuando solicit una licencia de matrimonio en
1957, tuvo que sealar que su profesin era fsico terico.
En 1956, Dijkstra anunci su algoritmo de caminos mnimos, despus de haber
estado trabajando con el ARMAC, el ordenador que el Centro Matemtico
posea.
Ms tarde propuso el algoritmo del rbol generador minimal. A principios de la
dcada de los 60, Dijkstra aplic la idea de la exclusin mutua a las
comunicaciones entre una computadora y su teclado. Su solucin de exclusin
mutua ha sido usada por muchos procesadores modernos y tarjetas de
memoria desde 1964, cuando IBM la utiliz por primera vez en la arquitectura
del IBM 360. El siguiente problema del que se ocup Dijkstra fue el de los
filsofos comensales. En este problema, cinco filsofos estn sentados en una
mesa circular con un plato de arroz delante y un palillo a cada lado, de manera
que hay cinco palillos en total. El problema trata sobre el uso de recursos
comunes sin que los procesos (los filsofos) lleguen a una situacin de bloqueo
mutuo, inanicin y que los recursos sean usados de la manera ms eficiente
por todos los procesos. Tambin ayud a fomentar la disciplina en la
programacin: GOTO se puede considerar daino. Cuantas ms sentencias
GOTO haya en un programa, ms difcil es entender el cdigo fuente.
GOTO: El propsito de la instruccin es transferir el control a un punto
determinado del cdigo, donde debe continuar la ejecucin. El punto al que se
salta, viene indicado por una etiqueta. GOTO es una instruccin de salto
incondicional.
Algoritmo Paso a Paso

Teniendo un grafo dirigido ponderado de N nodos no aislados, sea x el nodo


inicial, un vector D de tamao N guardara al final del algoritmo las distancias
desde x al resto de los nodos.
1. Seleccionamos un nodo a partir del cual se obtendrn las distancias al
resto de nodos
2. Comparamos con todos los nodos adyacentes a dicho nodo y los
etiquetamos
3. Seleccionamos el nodo ms cercano y lo marcamos como el nuevo nodo
permanente sin descartar el nodo permanente anterior.
4. Comparamos los caminos a los nodos adyacentes a este nuevo nodo sin
tomar en cuenta el camino al nodo permanente anterior.
5. Repetimos este proceso hasta que todos los nodos queden marcados
como permanentes
Consideraciones
1. En caso de que una etiqueta sea mayor que una nueva se conserva la de
menor tamao
2. En caso de que un nodo tenga dos o ms etiquetas similares significara
que existen dos o ms rutas posibles siempre y cuando no se obtenga
una ruta ms corta.
3. En caso que se tengan dos nodos del mismo valor es recomendable
tomar el nodo con ms caminos para poder obtener ms rutas.
4. Este algoritmo no toma en cuenta pesos negativos.
Una vez terminado al algoritmo, D estar completamente lleno.
Referencias
Susanna S.EPP. (2012). Matematicas discretas con aplicaciones, cuarta edicion.
Universidad de Paul. Cengage Learning.
http://www.elsolucionario.org/matematicas-discretas-aplicaciones-susanna-sepp-4ta-edicion/
Seymour Lipschtz, Ph D. / Marc Lars Lipson, Ph D. Matematicas Discretas,
tercera edicion. Temple University / University of Virginia. Mc Graw Hill.
http://www.elsolucionario.org/matematicas-discretas-schaum-seymourlipschutz-marc-lipson-3ed/
Luis Joyanes Aguilar / Ignacio Zahonero Martinez. Algoritmos y estructura de
datos, Una Perspectiva en C, primera edicion. Universidad Pontificia de
Salamanca campus Madrid, Mc Graw Hill
http://www.elsolucionario.org/algoritmos-y-estructuras-de-datos-unaperspectiva-en-c-luis-joyanes-1ed/
Jerrold W. Grossman. Discrete Mathematics. Oakland University. Macmillan
Mike Piff. Discrete Mathematicas An introduction for software engineers.
Cambridge University. Cambridge University Press

Cuestionario
Una empresa desea abrir sucursales en cinco ciudades A, B, C, D y E. Una de
estas sucursales actuar como central y ser necesario el envi diario de
camiones de la central al resto. Cada camin solo podr abastecer a una de las
sucursales. Las distancias entre ciudades en kilmetros son: 300 entre A y B,
500 entre A y D, 200 entre B y C, 600 entre B y D, 400 entre C y E y 100 entre
E y D.
1. En qu ciudad interesa montar la central?
2. Qu recorrido debera efectuar desde la central a las dems ciudades?
3. Est previsto construir una carretera de 250 kilmetros que una las
ciudades A y E. Qu soluciones propondras entonces para los
apartados a) y b)?
Del siguiente grafo:

Obtenga la ruta mnima entre los nodos:


1. A y F

2.
3.
4.
5.
6.

A
A
B
B
B

y
y
y
y
y

G
K
J
D
K

Vous aimerez peut-être aussi