≈Diferentes Algoritmos para Calcular el Número de
Caminos de un Grafo≈
Algoritmo de Dijkstra: Resuelve el problema de los
caminos más cortos desde un único vértice, origen
hasta todos los otros vértices del grafo.
Algoritmo de Bellman-Ford: Resuelve el problema
de los caminos más cortos desde su origen si la
ponderación de las aristas es negativa.
Algoritmo de Búsqueda A: Resuelve el problema de
los caminos más cortos entre un par de vértices
usando la heurística.
Algoritmo de Floyd-Warshall: Resuelve el problema
de los caminos más cortos entre todos los vértices.
Algoritmo de Johnson: Resuelve el problema de los
caminos más cortos entre todos los vértices y puede
ser más rápido que el de Floyd-Warshall.
Algoritmo de Viterbo: Resuelve del problema del
camino estocastico más corto con un peso
probabilístico adicional en cada vértice.
≈Camino Más Corto≈
Algoritmo de Dijkstra
Su idea consiste en: Si P es un camino de longitud
mínimas S- -Z y P contiene él vértice V , entonces
la parte S- - V de P es también caminó de longitud
mínimas de S a V. Esto indica que si queremos
determinar el camino óptimo de S a cada vértice Z
de G, podremos hacerlo en orden creciente de la
distancia de (S,Z).
≈Característica≈
Un grafo ponderado , un vértice S que pertenece a
V . El peso de la arista U V indica por W(UV),
colocando W( UV) infinito si U V no es arista. ( Las
aristas no tiene pesos negativos).
Mantener el conjunto T de vértices para el camino
más corto y incrementas T hasta que T=V para
esto etiquetamos cada vértice Z con t(Z) que es la
longitud del camino más corto ya encontrado.
Así mantenemos un conjunto A de vértices que se
encuentran en el árbol de búsqueda pero no en el
árbol de camino mínimo y que son alcanzables
desde los vértices de T.
Sea A={S},T{},T(S)=d(S,S)=0, T(Z)= infinito para Z
diferente de S.
Elegimos el vértice V que pertenece a A con
etiqueta mínima añadimos V a T. Designamos V
como “ vértice actual” y eliminarlo de A.
Analizar cada arista V Z con Z no perteneciente de
T y actualizamos la etiqueta de Z a min{T(Z),T(V)T
W (VZ(}. Y añadimos Z a A.
La aliteración continúa hasta que T=V(G) o hasta
que T(Z)= infinito para cada vértice Z no
perteneciente a T.
En cualquier caso la etiqueta de cada vértice Z en
T será la distancia de S a Z en el segundo caso los
vértices que no están en T no son alcanzables
desde S.
≈Cual es el método más Óptimo≈
Se le conoce al Algoritmo Dijkstra como algoritmo
de caminos mínimos , dado que determina el
camino más corto dado un vértice origen. Aparte
es óptimo encontrado en una etapa puede
modificarse posteriormente si surge una solución
mejor.