Luis Manuel Monroy García Matemáticas discretas Ingeniería de Sistemas Universidad Simón Bolívar.

Slides:



Advertisements
Presentaciones similares
Árbol recubridor mínimo Distancias
Advertisements

Experimentación Numérica
Capa de Red4-1 Capítulo 4: Capa de Red  4. 1 Introducción  4.2 Circuitos virtuales y redes de datagramas  4.3 ¿Qué hay dentro de un router?  4.4 IP:
Capa de Red4-1 Capítulo 4: Capa de Red  4. 1 Introducción  4.2 Circuitos virtuales y redes de datagramas  4.3 ¿Qué hay dentro de un router?  4.4 IP:
Recorridos de grafos Segunda Parte M.C. Meliza Contreras González.
Practica 8 Open Shortest Path First (OSPF).  3 Router Cisco 2500  3 Cable Consola Cisco  3 Cable Serial  3Cable UTP Cruzado  3 Laptop.
Un grafo consta de un conjunto de vértices y un conjunto de aristas. Cada arista de un grafo se especifica mediante un par de vértices. Denotemos al conjunto.
BÚSQUEDA EN ESPACIOS DE ESTADOS Espacio de estados: modelo del mundo representado por un grafo Espacio de estados: modelo del mundo representado por un.
Profesor: Mag. Ing. Pavel Aliaga E. Facultad de Ing. de Sistemas Universidad de Lima Teoría de Grafos Estructuras Discretas en Computación.
UNIVERSIDAD NACIONAL DE TRUJILLO INGENIERÍA DE SISTEMAS Docente: Poemape Rojas Gloria Integrantes: BARRANTES NAUCA KELY EAST POMA GROBY INFANTE QUISPE.
BÚSQUEDA DE SOLUCIONES Soluciones no Informadas (cont.) Dra. Myriam Hernández A.
ALGORITMO DE DIJKSTRA BANDA DÍAZ ANA KARINA SUAREZ BARON SINDY TATIANA.
Redes y medios de transmisión
Capítulo 4: Capa Red - IV ELO322: Redes de Computadores
Curso Sygma. Grafos Universidad San Buenaventura Cali.
Protocolos de enrutamiento de estado de enlace
Capítulo 4: Capa Red - IV ELO322: Redes de Computadores
Árboles de Decisión Son modelos gráficos empleados para representar las decisiones secuenciales, así como la incertidumbre asociada a la ocurrencia de.
PLANIFICACIÓN DE LAS RUTAS DE DISTRIBUCIÓN
ANALISIS Y DISEÑO DEL ALGORITMOS
PROBLEMA DEL AGENTE VIAJERO
Guía de Ejercicios 3: D&AA Universidad Viña del Mar 30/9/2002
Licenciatura en Contaduría Tema:
TAD’s ARBOLES GENERALIZADOS
REDES DE COMPUTADORES SEGÚN TIPOLOGIA
Unidad 6. Capítulo IV. Puntos ordinarios y puntos singulares.
REDES DE COMPUTADORAS SEGÚN TOPOLOGIA
LA REGLA DE LA ESQUINA NOROESTE
TEORÍA DE GRAFOS -Algoritmo de Dijkstra -Algoritmo de Primm -Algoritmo de Kruskal Integrantes:
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Unidad 2. Algoritmos Unidad 4. Control de flujo
Dijkstra Su nombre se refiere a Edsgers Dijkstra, quien lo describió por primera vez en 1959.
Análisis de redes Por: Alexander Miss.
Análisis de redes. 3.4 Problema de flujo máximo.
Búsqueda por profundidad iterativa
Teoría de Redes Ing. Douglas Vergara. Concepto básico Un arco es dirigido si permite el flujo positivo en una dirección y un flujo cero en la dirección.
INTRODUCCION AL ENRUTAMIENTO “EL ROUTER”. Un router también conocido como enrutador, encaminador o rúter es un dispositivo que proporciona conectividad.
Protocolos de enrutamiento de estado de enlace
Protocolos de enrutamiento de estado de enlace
Estructuras de Repetición Pseudocodigo1 Estructuras de Repetición Algoritmos Mientras Hacer-Mientras Para.
CONFIG URACIÓN DE UN ROUTER. DEFINICIÓN: Un router también conocido como enrutador, es un dispositivo que proporciona conectividad a nivel de red. Su.
Agentes que planifican. 1. Introduccion En la actualidad todas la mayoría de actividades en un empresa o compañía, como en el hogar o el medio ambiente.
Problema de la ruta mínima
Localización y planeación de trayectorias
Capítulo 5: Capa Red, Plano de Control
Inteligencia Artificial
MATH 112 Álgebra Intermedia II TALLER #1 – 24 de enero de 2017
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2018
CCNA 2 Conceptos y Protocolos de Enrutamiento
Algoritmo de Floyd-Warshall
GRAFOS ESTRUCTURAS DE DATOS.
MÉTODO DE MÍNIMO COSTO DANIELA NARANJO LAURA RUBIO RENGIFO
Grafos (parte 1).
ANGULO YOMAIRA QUINTERO MARIA PAEZ MARIAM
OPTIMIZACIÓN EN REDES EN ALGUNOS PROBLEMAS DE OPTIMIZACIÓN PUEDE SER ÚTIL REPRESENTAR EL PROBLEMA A TRAVÉS DE UNA GRÁFICA: ruteo de vehículos, distribución.
Sistemas de Comunicación Magistral Nro. 7
Tema 5: Grafos CIS - UABJB - Estructura de Datos II
Algoritmos de caminos más cortos
Recursividad 1 Análisis de algoritmos. Matrushka La Matrushka es una artesanía tradicional rusa. Es una muñeca de madera que contiene otra muñeca más.
características algoritmo algoritmo
Minimum Spanning Tree (Árbol de Expansión Mínima)
Estructuras de Repetición Algoritmos
Implementación de algoritmo para juegos. Algoritmo Minimax  El algoritmo de minimax en simples palabras consiste en la elección del mejor movimiento.
Capítulo 5: Capa Red, Plano de Control
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERU FACULTAD DE INGENIERIA DE MINAS HUANCAYO I MODELO DE REDES Ing. Eli Teobaldo Caro Meza CURSO: INVESTIGACION.
Maestro: Oscar Medina Espinosa REDES CONVERGENTES Unidad II. Calidad de Servicio (QoS).
Estrategia algorítmica
Grafos. Concepto: Un Grafo no es más que un conjunto de nodos o vértices que se encuentran relacionados con unas aristas. Además, los vértices tienen.
Guías Modulares de Estudio Cálculo diferencial – Parte B.
Investigación Operativa
Transcripción de la presentación:

Luis Manuel Monroy García Matemáticas discretas Ingeniería de Sistemas Universidad Simón Bolívar

Algoritmo de dijkstra

 Es un algoritmo de búsqueda grafica que resuelve solo la fuente más corta de un problema del camino para un gráfico con los negativos de bordes costos de ruta, produciendo un camino más corto al árbol. Este algoritmo se utiliza a menudo en la ruta y como una subrutina en otros algoritmos de grafos.  Para una fuente dada de vértice (nodo) en el gráfico, el algoritmo encuentra la ruta con menor coste (es decir, el camino más corto) entre el vértice y cualquier otro vértice. Algoritmo de la ruta más corta:

Ejemplo  Si los vértices de una gráfica 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 más corta entre una ciudad y todas las demás ciudades. Como resultado, el camino más corto primera vez ampliamente utilizado en la red los protocolos de enrutamiento, en especial IS-IS y OSPF (Open ShortestPathFirst).

Modelo de la ruta más corta:  El problema de la ruta más corta incluye un juego de nodos conectados donde solo un nodo es considerado como el origen y solo un nodo es considerado como el nodo destino. Su objetivo es determinar un camino de conexiones que minimizan la distancia total del origen al destino. El problema se resuelve por el “algoritmo de etiquetado”. La esencia del procedimiento es que analiza toda la red a partir del origen; identifica de manera sucesiva la ruta más corta a cada uno de los nodos en orden ascendente de sus distancias (más cortas), desde el origen; el problema queda resuelto en el momento de llegar al nodo destino.

Definición del problema:  Se tiene n nodos, partiendo del nodo inicial1 y terminando en el nodo final n.  Arcos bi-direccionales conectan los nodos con distancias mayores que cero.  Se desea encontrar la ruta de mínima distancia que conecta el nodo 1 con el nodo n.  Por medio de la aplicación del algoritmo de este problema podemos conocer la menor distancia entre un nodo origen y un nodo destino.

Pasos a seguir:  Elaborar un cuadro con todos los nodos y los ramales que salen de él.  Partiendo del origen, debemos encontrar el nodo más cercano a él.  Anular todos los ramales que entren al nodo más cercano elegido.  Comenzando en el origen se debe encontrar el nodo más cercano a él, por intermedio del nodo ya elegido y volver al tercer paso hasta llegar al destino.

Algoritmo de Dijkstra: CAMINO MAS CORTO  Este algoritmo también llamado algoritmo de caminos mínimos, es un algoritmo para la determinar del camino más corto dado un vértice origen al resto de vértices en un grafo con pesos en cada arista. Su nombre se refiere a Edsger Dijkstra, quien lo describió por primera vez en  Allí se determina la ruta más corta desde un nodo origen hacia los demás nodos.

 La idea subyacente en este algoritmo consiste en ir explorando todos los caminos más cortos que parten del vértice origen y que llevan a todos los demás vértices; cuando se obtiene el camino más corto desde el vértice origen, al resto del vértices que componen el grafo, el algoritmo se detiene.  El algoritmo es una especialización de la búsqueda de costos uniforme, y como tal, no funciona en grafos con aristas de costo negativo(al elegir siempre el nodo con distancia menor, pueden quedar excluidos de la búsqueda de nodos que en próximas iteraciones bajarían el costo general del camino al pasar por una arista con costo negativo).

Ruta más corta – solución por el algoritmo de Dijkstra:  Para solucionar el problema de la ruta más corta entre dos nodos de un grafo se puede utilizar el algoritmo de Dijkstra, el cual sigue el siguiente procedimiento para calcular la ruta más corta desde el nodo origen hasta cada uno de los nodos del grafo:  Crear una lista de nodos para almacenar los nodos con distancia mínima ya calculada  Crear una cola de prioridad para los nodos pendientes de evaluar  Inserta el nodo de origen a la cola de prioridad  Mientras que haya nodos en la cola de prioridad

Ejemplo  Si los pesos de mis aristas son de valor 1, entonces bastará con usar el algoritmo de BFS.algoritmo de BFS  Si los pesos de mis aristas son negativos no puedo usar el algoritmo de dijsktra, para pesos negativos tenemos otro algoritmo llamado Algoritmo de Bellmand-Ford.

Algoritmo de Bellman-Ford

El algoritmo de Bellman-Ford  Este algoritmo es una estructura básica muy parecido al algoritmo de Dijkstra, pero en vez de seleccionar vorazmente el nodo de peso mínimo aun sin procesar para relajarlo, simplemente relaja todas las aristas, y lo hace │ V │ -1 veces, siendo │ V │ el número de vértices en el grafo.  Las repeticiones permiten a las distancias mínimas recorrer el árbol, ya que en la ausencia de ciclos negativos, el camino más corto solo visita cada vértice una vez. A diferencia de la solución voraz, la cual depende de la suposición de que los pasos sean positivos, esta solución se aproxima más al caso general.

Versiones del algoritmo de Bellman-Ford  Versión no optimatizada para grafos con ciclos negativos, cuyo coste de tiempo es O(VE)  Versión optimatizada para grafos con aristas de peso negativo, pero en el grafo no existen ciclos de coste negativo, cuyo coste de tiempo, es también O (VE).

Versiones del algoritmo de Bellman-Ford  Una variante distribuida al algoritmo del Bellman-Ford se usa en protocolos de encaminamiento basados en vector de distancias, por ejemplo el protocolo de encaminamiento de información (RIP). El algoritmo es distribuido porque envuelve unas series de nodos (routers) dentro de un sistema autónomo (AS), un conjunto de redes y dispositivos router IP administrados típicamente por un Proveedor de Servicios de Internet (ISP).

Se compone de los siguientes pasos:  Cada nodo calcula la distancia entre el mismo y todos los demás dentro de un AS y almacena esta información en una tabla.  Cada nodo envía su tabla a todos los nodos vecinos.  Cuando un nodo recibe las tablas de distancias de sus vecinos, este calcula la ruta más corta a los demás nodos y actualiza su tabla para reflejar los cambios.

Las desventajas principales del algoritmo de Bellman-Ford en este ajuste son:  No es escala bien.  Los cambios en la topología de red no se reflejan rápidamente ya que las actualizaciones se distribuyen nodo por nodo.  Contando hasta el infinito (si un fallo de enlace o nodo hace que un nodo sea inalcanzable desde un conjunto de otros nodos, estos pueden estar siempre aumentando gradualmente sus cálculos de distancia a él, y mientras tanto puede haber bucles de enrutamiento).

Algoritmo de Floyd-Warshall

Algoritmo de Floyd-Warshall  El problema que intenta resolver este algoritmo es el de encontrar el camino más corto entre todos los pares de nodos o vértices de un grafo. Esto es semejante a construir una tabla con todas las distancias mínimas entre pares de ciudades de un mapa, indicando además la ruta a seguir para ir de la primera ciudad a la segunda. Este es uno de los problemas más interesantes que se pueden resolver con algoritmos de grafos.

 Existen varias soluciones a este problema y los algoritmos a aplicar dependen también de la existencia de arcos con pesos o costes negativos en el grafo. En el caso de no existir pesos negativos, sería posible ejecutar V veces el algoritmo de Dijkstra para el cálculo del camino mínimo, donde V es el número de vértices o nodos del grafo. Esto conllevaría un tiempo de ejecución de O (V^3) (aunque se puede reducir).

 Si existen arcos con pesos negativos, se puede ejecutar también V veces el Algoritmo de Bellman-Ford, una vez para cada nodo del grafo. Para grafos densos (con muchas conexiones o arcos) esto conllevaría un tiempo de ejecución de O (V^4).

 El algoritmo de Floyd-Warshall (‘All-Pairs- Shortest-Path’ – Todos los caminos mínimos) ideado por Floyd en 1962 basándose en un teorema de Warshall también de 1962, usa la metodología de Programación Dinámica para resolver el problema. Éste puede resolver el problema con pesos negativos y tiempos de ejecución iguales a O (V^33); sin embargo, para ciclos de peso negativo el algoritmo tiene problemas. A continuación se muestra el pseudocódigo del algoritmo: