La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ALGORITMO FLOYD WARSHALL

Presentaciones similares


Presentación del tema: "ALGORITMO FLOYD WARSHALL"— Transcripción de la presentación:

1 ALGORITMO FLOYD WARSHALL
Marisol Bautista Lady Cubides Viviana Tuta

2 CONTENIDO DEFINICIÓN HISTORIA EJEMPLO APLICACIONES

3 HISTORIA “Por qué esta magnífica tecnología científica, que ahorra trabajo y nos hace la vida más fácil, nos aporta tan poca felicidad? La respuesta es ésta: simplemente porque aún no hemos aprendido a usarla ”  Albert Einstein

4 ROBERT W. FLOYD * (8 de junio de 1936 - 25 de septiembre de 2001)
* Floyd culminó bachillerato a los 14 años, Se graduó en la Universidad de Chicago en 1953 a los 17 años y como Físico en 1958. *Operador de computadoras en los años 60. Publicó sus primeros artículos los cuales fueron de gran influencia y fue nombrado profesor asociado en la Universidad de Carnegie Mellon. Seis años más tarde fue nombrado profesor en la Universidad de Stanford.

5 ROBERT W. FLOYD Entre sus contribuciones se encuentran el diseño y análisis de algoritmos eficientes para encontrar el camino más corto en un grafo y para el problema de reconocimiento de frases, pero probablemente su logro más importante fue el ser pionero, con su artículo de 1965 "Assigning Meanings to Programs"", en el área de verificación de programas utilizando aserciones lógicas, donde aparece la importante noción de invariante, esencial para demostrar propiedades de programas iterativos. Floyd recibió el Premio TURING de la  ACM en 1978 "por tener una clara influencia en las metodologías para la creación de software eficiente y confiable, y por haber contribuido a la fundación de las subáreas teoría del reconocimiento de frases, semántica de los lenguajes de programación, verificación automatizada de programas, síntesis automatizada de programas y análisis de algoritmos."

6 DEFINICIÓN Es un algoritmo de análisis sobre grafos para encontrar el camino mínimo en grafos dirigidos ponderados. El algoritmo encuentra el camino entre todos los pares de vértices en una única ejecución. El algoritmo de Floyd-Warshall es un ejemplo de programación dinámica, teniendo en cuenta que este tipo de programación tiene como fin encontrar una solución optima a dicho problema recursivamente.

7 EJEMPLO Dado el siguiente grafo:

8 Llenar la matriz distancia: La diagonal siempre va vacía y el resto de casillas se llenan de acuerdo a las distancias del grafo: Matriz Distancia 1 2 3 4 - 5

9 Llenar la matriz recorridos: La diagonal siempre va vacía y las demás casillas se llenan con el mismo número de columna: Matriz Recorrido 1 2 3 4 -

10 Iteraciones Eliminar filas y columnas Se deberán analizar los valores quedan en blanco (los que no fueron tachados) y la idea es mejorar ese valor. Esto se hace cuando la suma de componentes es menor al valor que no está tachado. Cambiar valores en las matrices Dibujar matrices finales. Conclusiones

11 SOLUCIÓN Matriz Distancia 1 2 3 4 - Matriz Recorrido 1 2 3 4 -

12 CONCLUSIONES La distancia entre el punto 1 y 2 es 3. Para llegar es necesario recorrer los puntos La distancia entre el punto 1 y 3 es 2. Para llegar es necesario recorrer los puntos 1-3. La distancia entre el punto 1 y 4 es 4. Para llegar es necesario recorrer los puntos

13 APLICACIONES En el diseño de circuitos.
En el diseño de rutas de transporte. Aproximaciones al problema del viajante. Camino mínimo en grafos dirigidos (algoritmo de Floyd). Cierre transitivo en grafos dirigidos (algoritmo de Warshall). Es la formulación original del Algoritmo de Warshall.

14

15 Encontrar una expresión regular dada por un lenguaje regular aceptado por un autómata finito (algoritmo de Kleene). Inversión de matrices de números reales (algoritmo de Gauss-Jordan). Ruta optima. En esta aplicación es interesante encontrar el camino del flujo máximo entre 2 vértices. Esto significa que en lugar de tomar los mínimos con el pseudocódigo anterior, se coge el máximo. Los pesos de las aristas representan las limitaciones del flujo. Los pesos de los caminos representan cuellos de botella; por ello, la operación de adición anterior es reemplazada por la operación mínimo. Comprobar si un grafo no dirigido es bipartito. Como base de otros algoritmos más complejos.

16 REFERENCIAS Algoritmo de Floyd-Warshall. [En línea]< [Consultado el 20/08/10] TP:Algoritmo de Warshal - Programación dinámica. [En línea]< /wiki/index.php/TP:Algoritmo_de_Warshal_- _Programaci %C3%B3n_ din%C3 %A1mica> [Consultado el 20/08/10] Algoritmos de rutas cortas y árboles mst. . [En línea]< geiser.gcc.googlepages. com/Exposicion- AlgoritmoRutasCortas.ppt > [Consultado el 20/08/10] Algoritmo de Floyd. [En línea]< algoritmodefloyd /algoritmodefloyd.html> [Consultado el 20/08/10]


Descargar ppt "ALGORITMO FLOYD WARSHALL"

Presentaciones similares


Anuncios Google