Recorridos de grafos Segunda Parte M.C. Meliza Contreras González.

Slides:



Advertisements
Presentaciones similares
Tania Guzmán García Luis González Varela Alexandre González Rivas
Advertisements

ALGORITMOS DE KRUSKAL Y PRIM
Caminos más cortos a partir de múltiples fuentes en un grafo
GRAFOS Presentado por: Oscar Leonardo Ramírez John Freddy Sandoval
Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo.
GRAFOS: ALGORITMOS FUNDAMENTALES
Teoría de Grafos I semestre 2009 UNIVERSIDAD NACIONAL DE INGENIERIA
Ordenamiento Topológico
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.
MATEMÁTICAS DISCRETAS.
INSTITUTO TECNOLOGICO DE VILLAHERMOSA
Instituto Tecnológico De Villahermosa
ALGORITMO DEL ÁRBOL DE MÍNIMA EXPANSIÓN
Investigación Operativa II
ESTRUCTURAS DE DATOS AVANZADAS
Grafos dualmente cordales y sus relaciones con otros tipos de grafos


Teoría de Grafos.
Analisis y Diseño de Algoritmos Tema: Grafos 3ra Parte
Problemes de Viatjants
AED I. Estructuras de Datos.
Cecilia Laborde González
GRAFOS HUGO ARAYA CARRASCO.
Estructuras de datos y algoritmos
1 Algoritmos Elementales de Grafos Agustín J. González ELO-320: Estructura de Datos Y Algoritmos 1er.Sem
Programación entera y grafos
PROGRAMACIÓN PARALELA EN ALGORITMOS SOBRE GRAFOS
Modelos Cuantitativos
Ejemplos de Grafos: Red de tráfico con caminos y cruces.
Grafos. Un Grafo G es un par de conjuntos (V, E), donde V es un conjunto no vacío de elementos llamados vértices o nodos y E es un conjunto formado por.
Teoria de grafos.-clase 4
Definiciones: conjuntos, grafos, y árboles
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Árbol recubridor mínimo Distancias
Single-Source Shortest Paths “Camino más corto desde/hacia una fuente”
Problemas de Decisión y Optimización
Matemáticas Discretas
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos

Métodos de Búsqueda Informada. Búsqueda de la mejor Ruta En esta sección no sólo nos interesa encontrar una posible ruta, sino obtener aquella ruta que.
A LGORITMO DE BÚSQUEDA POR COSTO UNIFORME Dorian López.
Analisis y Diseño de Algoritmos Tema: Grafos
Parte II. Algorítmica. 3. Algoritmos voraces.

Diseño y análisis de algoritmos
INSTITUTO TECNOLÓGICO DE VILLAHERMOSA. CATEDRATICO:
Jorge Mondragón Leonardo Herrera Cristian Fernández
Matemáticas Discretas
Estructuras de datos para Grafos
Tópicos I Árboles, montículos y grafos
Sesión 3: Teoría de Grafos
1 Single-Source Shortest Paths “Camino más corto desde/hacia una fuente” Agustín J. González ELO320: Estructura de Datos y Algoritmos 1.er. Sem
Minimum Spanning Tree (Árbol de Expansión Mínima)
Definiciones: conjuntos, grafos, y árboles
1 Flujo Máximo Agustín J. González ELO320: Estructura de Datos y Algoritmos.
Minimum Spanning Tree (Árbol de Expansión Mínima)
TEMA 5: El problema del flujo con costo mínimo
Cecilia Laborde González
Estructura de Datos 4 Grafos Dirigidos
Instituto Tecnológico De Villahermosa Alumno: Lázaro García Hernández.
ALUMNO: GABRIEL GARCÍA VELAZQUEZ NO.CONTROL: MATERIA: INV. OPERACIONES UNIDAD 3.
Heap Fibonacci heap de Fibonacci es una estructura de datos similar a un heap binomial pero con mejor coste amortizado. se utiliza para mejorar el tiempo.
UNIDAD 2 Grafos Árboles abarcadores mínimos Caminos más cortos.
BUSQUEDA EN ANCHURA Y PROFUNDIDAD
Capítulo 8: Árboles Autor: José Alfredo Jiménez Murillo.
M.C. Meliza Contreras González
Matemáticas Discretas MISTI
TEORÍA DE GRAFOS -Algoritmo de Dijkstra -Algoritmo de Primm -Algoritmo de Kruskal Integrantes:
Transcripción de la presentación:

Recorridos de grafos Segunda Parte M.C. Meliza Contreras González

5/25/ Camino más corto Dado un grafo G = (V,E) con una función de peso W: E  R (asignando valores reales a las aristas) Peso del camino p = v 1  v 2  …  v k es Camino más corto = un camino con el peso mínimo Aplicaciones –Ruteo de redes –Planeación de movimientos de un robot

Aplicaciones Árbol de extensión mínima (Prim, Kruskal) que ayuda a obtener el costo mínimo de conexión para un grafo. Árbol del camino más corto(Dijkstra) que ayuda a obtener la distancia más corta (o el costo más pequeño) de un nodo del grafo hacia los otros nodos. 5/25/2016 3

Árbol de extensión mínima El AEM de un grafo x es un subgrafo conectado que contiene todos los nodos del grafo x y los arcos cuya suma de ponderaciones es la mínima. 5/25/2016 4

5 Algoritmo de Prim Resuelve el camino mínimo para aquellos grafos dirigidos, con peso no negativo. Entonces se asume w(u,v)  0  (u,v)  E. Al final del algoritmo se tiene que para todos los vértices d[v] =  (s,v). Utiliza una técnica voraz.

5/25/ Algoritmo de Prim PRIM (G,s) 1 Crear el grafo vacío AEM(árbol de Extensión Mínimo) 2 Insertar el nodo s del grafo en el AEM 3 Insertar todos los vértices vecinos del nodo s en una cola priorizada (el valor del arco que une al vértice x con su vecino es su prioridad, la mayor prioridad es el menor valor). 4 mientras la cola priorizada no esté vacía y no se hayan agregado todos los nodos al AEM 5 Sacar un vértice de la cola priorizada 6 Si el nodo vértice no está en el AEM, agregarlo con su arco y meter todos sus vecinos, que no estén en el AEM, en la cola de prioridad.

5/25/ Ejemplo  C DE  7

Algoritmo de Kruskal A diferencia del algoritmo de Prim, este trabaja con base en los arcos existentes en el grafo. Para ir conformando el árbol, se apoya en una cola priorizada que le permite ir eligiendo los arcos de menor peso. 5/25/2016 8

9 Algoritmo de Kruskal 1Crear el grafo vacío AEM(Arbol de Extensión Mínimo) 2 Crear una cola priorizada vacia 3 Encontrar el arco (i,j) que tenga el menor peso dentro del grafo. 4 Insertar ese arco, junto con los nodos i y j en el árbol AEM. 5 Para cualquier vértice K distinto de j: 6 Si hay un arco (i,k), insertarlo en la cola priorizada. 7 Para cualquier vértice K distinto de i: 8 Si hay un arco (j,k), insertarlo en la cola priorizada. 9 Mientras la cantidad de nodos en el AEM sea menor que la cantidad de nodos vértices del grafo: 10 Sacar de la cola priorizada el arco (a,b) con el menor peso. 11 Si el vértice b no existe en el AEM 12 Insertar el vértice b y el arco (a,b) en el AEM. 13 Para cada vértice c, de los arcos conformados por (b,c): 14 Si el vértice c, aún no existe en el AEM 15 Meter el arco (b,c) en la cola priorizada

5/25/ Ejemplo  C DE  7

5/25/ Arbol del camino más corto ACMC El ACMC a partir del nodo x de un grafo G, es un subgrafo conectado que contiene: – todos los vértices del grafo G – los arcos necesarios para minimizar la suma de las ponderaciones de los arcos en el camino del nodo x a cualquier otro vértice – el nodo x es la raíz del árbol.

Algoritmo de Dijkstra Se utiliza el mismo algoritmo de Prim, pero las prioridades se forman acumulando las ponderaciones de los arcos, desde el nodo inicial hasta el nodo analizado.

5/25/ Algoritmo de Dijkstra DIJKSTRA (G,s) 1 Crear el grafo vacío ACMC(Árbol del Camino Más Corto) 2 Insertar el nodo s del grafo en el ACMC 3 Insertar todas las aristas que vinculen los nodos vecinos del nodo s en una cola priorizada (el valor del arco que une al vértice x con su vecino es su prioridad, la mayor prioridad es el menor valor). 4 mientras la cola priorizada no esté vacía y no se hayan agregado todos los nodos al ACMC 5 Sacar una arista de la cola priorizada 6 Si la arista (a,b) no está en el ACMC, agregarla junto con sus vértices que no estén en el ACMC y meter las aristas relacionadas con el nodo b considerando el camino desde el vértice s, que no estén en el ACMC, en la cola de prioridad.

5/25/ Ejemplo  C DE  7