Está en la página 1de 3

Algoritmo de la ruta ms corta El algoritmo de Dijkstra, concebida por el holands equipo cientfico de Dijkstra Edsger en 1956 y publicado en 1959,

es un algoritmo de bsqueda grfico que resuelve la sola fuente ms corta problema del camino para un grfico con los negativos de borde costos de ruta, produciendo un camino ms corto rbol . Este algoritmo se utiliza a menudo en la ruta y como una subrutina en otros algoritmos de grafos. Para una fuente dada de vrtice (nodo) en el grfico, el algoritmo encuentra la ruta con menor coste (es decir, el camino ms corto) entre el vrtice y cualquier otro vrtice. Tambin puede ser utilizado para encontrar costos de caminos ms cortos desde un vrtice nico a un destino nico vrtice al detener el algoritmo una vez que el camino ms corto al destino vrtice ha sido determinada. Por ejemplo, si los vrtices de la grfica representan las ciudades y los costos de borde de ruta representan conducir distancias entre pares de ciudades conectadas por un camino directo, el algoritmo de Dijkstra se puede utilizar para encontrar la ruta ms corta entre una ciudad y todas las dems ciudades. Como resultado, el camino ms corto primero es ampliamente utilizado en la red los protocolos de enrutamiento, en especial IS-IS y OSPF (Open Shortest Path First). Algoritmo original de Dijkstra no utiliza una cola de prioridad min y se ejecuta en O (| V | 2). La idea de este algoritmo tambin se da en un ( Leyzorek et al. 1957 ). La puesta en prctica comn, basada en una cola de prioridad min-implementado por un montn de Fibonacci y se ejecuta en O (| E | + | V | registro | V |) se debe a ( Fredman y Tarjan 1984 ). Esto es asintticamente ms rpido de lo conocido de una sola fuente de camino ms corto algoritmo para arbitrarios grafos dirigidos con pesos no negativos sin lmites. (Para una visin general de los primeros algoritmos del camino ms corto y las mejoras y adaptaciones posteriores, ver: una sola fuente de caminos ms cortos de los algoritmos de grafos dirigidos con pesos no negativos.) Ilustracin de bsqueda algoritmo de Dijkstra para encontrar ruta de acceso desde un nodo de inicio a un nodo meta en un robot de planificacin de movimiento problema. Los nodos abiertos representan la "tentativa" de ajuste. Los nodos son visitados los rellenos, con el color que representa la distancia: cuanto ms verde, ms lejos. Los nodos en todas las diferentes direcciones se exploran de manera uniforme, apareciendo como ms o menos circular de frente de onda como el algoritmo de Dijkstra utiliza una heurstica idnticamente igual a 0. Deje que el nodo en el que estamos empezando ser llamado el nodo inicial. Que la distancia del nodo Y es la distancia desde el nodo inicial al algoritmo de Dijkstra Y. asignar algunos valores de la distancia inicial y trataremos de mejorar paso a paso.

1. Asignar a cada nodo un valor de distancia provisional: la puso a cero para nuestro nodo inicial y hasta el infinito para todos los dems nodos. 2. Marcar todos los nodos no visitados. Establecer el nodo inicial como actual. Crear un conjunto de los nodos no visitados llamadas sin visitar el conjunto formado por todos los nodos excepto el nodo inicial. 3. Para el nodo actual, tenga en cuenta todos sus vecinos no visitados y calcular sus distancias provisionales. Por ejemplo, si el nodo actual A est marcado con una distancia de 6, y el borde que lo conecta con un B vecino tiene una longitud de 2, entonces la distancia a B (a travs de A) ser 6 2 = 8. Si esta distancia es menor que la distancia previamente grabada, a continuacin, sobrescribir esa distancia. A pesar de que un vecino ha sido examinado, no est marcado como visitado en este momento, y sigue siendo en el conjunto no visitados. 4. Cuando se llevan a cabo teniendo en cuenta todos los vecinos del nodo actual, marque el nodo actual como visitado y sacarlo de la serie no visitados. Un nodo visitado nunca volver a comprobarse, la distancia registrada es final y mnima. 5. Si el nodo de destino se ha marcado como visita (la hora de planificar una ruta entre dos nodos especficos) o si la distancia ms pequea tentativa entre los nodos en el conjunto no visitados es infinito (cuando se planifica un completo recorrido), luego se detiene. El algoritmo ha terminado. 6. Establecer el nodo no visitado marcado con la distancia ms pequea tentativa, ya que el prximo "nodo actual" y volver al paso 3.

Representaciones de Graficas Matriz de Adyacencia Nuestro primer mtodo de representacin de una grfica utiliza la matriz de adyacencia. Consideremos la grfica:

Si consideramos la grfica anterior para obtener la matriz de adyacencia: Primero elegimos un orden para los vrtices digamos a,b,c,d,e Luego etiquetamos los renglones y columnas de una matriz con los vrtices ordenados. La entrada en esta matriz es: y 1 si los vrtices de rengln y la columna son adyacentes y

0 en caso contrario.

La matriz de adyacencia no es una manera muy eficiente para representar una grfica.

Observe que podemos obtener el grado de un vrtice v en una grfica simple G, sumando el rengln v o la columna v en la matriz de adyacencia de G. Esta matriz nos permite representar lazos, pero no aristas paralelas.

También podría gustarte