Optimización de viaje en transporte público por medio de grafos
|
|
- Alberto Cabrera Lara
- hace 5 años
- Vistas:
Transcripción
1 Optimización de viaje en transporte público por medio de grafos Descripción del problema Áreas como ciudades frecuentemente disponen de múltiples medios de transporte públicos como lo son los camiones y el metro. Se hace uso de estas para facilitar y acelerar el traslado de personas alrededor de la ciudad por un costo, aunque sin ocupar ser dueño de las unidades para poder usar de sus servicios. Cuando hay múltiples rutas de transporte alrededor de la ciudad se forma una red de magnitud y complejidad variada que depende del caso. Un problema que se presenta en el uso de estos medios es la reducción de tiempo que toma llegar de un lado a otro y conocer el costo de antemano que presenta hacer uso del conjunto de estos servicios. Como existen muchas formas de cruzar la ciudad con variada inversión de tiempo y dinero, encontrar la combinación de transportes con mínimo valor de tiempo resulta conveniente. Marco teórico Problema de camino más corto Cuando se habla de grafos ponderados, el problema del camino más corto o de costo mínimo trata sobre encontrar el conjunto de vértices ordenados que conduzcan desde el vértice S (origen) a el vértice t (destino) con la propiedad de tener una sumatoria de pesos inferior a la de todos los otros posibles caminos. [1] Por otro lado otro tipo aproximamiento a este problema es el de obtener el camino más corto entre cada par de vértices en lugar de ingresar origen y destino. [2] El problema del camino más corto puede ser usado como una de las aplicaciones de grafos más intuitivas, pues sus vértices pueden representar localizaciones o intersecciones y sus aristas pueden representar calles y caminos con la posibilidad de poder representarse gráficamente tal como aparecería en un mapa. Este tipo de problema puede presentar a las aristas con ponderación equivalente a la distancia física 1
2 entre vértices, pero cabe mencionar entre sus propiedades se puede encontrar que en lugar de distancias también se le puede dar ponderaciones tales como tiempo que toma cruzar de uno a otro. [1] Algoritmos relacionados Bellman-Ford El algoritmo de Bellman-Ford es usado para encontrar el camino más corto desde un solo origen. Se basa en su mayoría en una operación simple llamada relajación de ejes, el cual consiste en la comparación de valores previamente almacenados de distancias junto con el valor de la suma de los pesos de ir de la arista actual a alguna adyacente, actualizando el valor de la distancia si la nueva suma es menor. [3] Parte de lo que lo distingue a este algoritmo es que permite el manejo adecuado de pesos negativos en las aristas, los cuales resultan en complicaciones en otros procedimientos similares. [1] El algoritmo sigue los siguientes pasos con una velocidad de O(VE). [3] 1. Inicializar distancias en infinito y declarar predecesores a igual a nulo. 2. Ciclar V - 1 veces a través de todas las aristas aplicando el procedimiento de relajación para obtener las distancias mínimas. 3. Ciclar una vez más para identificar si hay ciclos de aristas negativas. En caso de Dijkstra que se pueda seguir relajando en esta iteración, mandar notificación de que existe un tal ciclo. la manera de ubicar las citas bibliográficas es equivocada; revisa algún tutorial para aprender hacerlo bien en el futuro El algoritmo de Dijkstra es otro algoritmo usado para encontrar el camino más corto desde un solo origen a todos los demás vértices. Así como el algoritmo de Bellman Ford, este se basa en el procedimiento de relajación, sin embargo, se distingue en que este no maneja adecuadamente pesos negativos y que dispone de una velocidad inferior cuando es aplicado con una cola de prioridad. 2
3 Este algoritmo es uno de los más famosos con relación a encontrar caminos más cortos entre vértices. Dispone de considerables variantes, a continuación se presenta los pasos de una variante con velocidad O(V + E log V) [4] : 1. Inicializar todas las distancias a vértices con un valor igual a infinito con excepción del origen que será igual a 0 2. Introducir a una cola de prioridad (prioridad a distancia mínima) el vértice origen junto con su distancia. 3. Sacar el vértice de la parte frontal de la cola de prioridad y usarlo como pivote para encontrar la distancia hacia todos los vértices que puede alcanzar actualizando los valores de la distancia de aquellos que cumplan con la siguiente condición distancia del vértice pivote + peso de arista a vértice siguiente < distancia de vértice siguiente (Relajación de ejes) y añadir el vértice con nueva distancia a la cola de prioridad. 4. Aplicar el paso 3 hasta que la cola de prioridad este vacía. Ejemplo Diagrama 1 Ejemplo de camino más corto usando algoritmo de Dijkstra donde cuadros representan distancias de origen a respectivo vértice y subíndices representan vértice predecesor. 3
4 Soluciones relacionadas Google Maps Esta aplicación web permite encontrar múltiples rutas desde un origen a un destino incluyendo múltiples paradas en el camino. Usualmente es usada como sistema de navegación para uso en automóviles proveyendo como salida el camino tomar, la distancia recorrer y tiempo estimado de llegada para cada ruta. Además, tomo como entradas tráfico y otros factores adicionales. [5] Cuando se trata de navegación en transporte privado resulta como una solución de alta eficacia, aunque con campo a mejorar con respecto a enrutamiento. Rutadirecta Esta aplicación web es basada en el API de Google maps y está especializada en encontrar posibles rutas de camiones de un punto inicial a final, y rutas que pasan por cierto punto. Este sistema actualmente funciona solo en algunas partes de Mexico. Sus salidas son listas con representación grafica de combinaciones de rutas que se pueden usar para llegar de un punto a otro o que pasan por cierto punto además de algunos datos sobre la ruta y sus unidades. [6] Modelación del problema Entradas y especificaciones: Sea G (V, E) un grafo dirigido donde: V = Vértices tomados de intersecciones de caminos en un mapa y paradas de camiones/estaciones de metro. E = Los camino/calles/avenidas entre intersecciones y conexiones de paradas entre si de mismas rutas de camión/vías de metro. o Cada arista se le atribuyen distintas propiedades: Tipo de transporte: P -> Pie C -> Camión M -> Metro 4
5 no uses el mismo símbolo E para dos conceptos Para E E con tipo de transporte = C M Identificador de transporte Para E E con tipo de transporte = C M se incluye la propiedad de Tiempo de espera, que representa el valor promedio de tiempo que tarda en pasar la unidad de transporte. Precio de transporte al tomarlo. Y sea W (U, V) los pesos en las aristas donde: El peso es una función para tiempo en que t(d(u,v)) = d(u,v) / V(Tipo de transporte) donde: o d(u,v) Es el valor de la distancia física entre u y v o V(Tipo de transporte) es un factor divisor equivalente a la velocidad promedio del tipo de transporte atribuido al par de vértices u y v. Salidas: Se desea obtener: convendría usar otro estilo (por ejemplo letra cursiva) para los símbolos matemáticos Un arreglo ordenado de vértices que representen el camino más corto del origen s al destino t. Costo de recorrer el camino en términos de P (precio) Costo en tiempo T de recorrer el camino. 5
6 Instancias con datos verdaderos Diagrama 2 Mapa tomado del API de Google con Intersecciones (vertices) resaltados. Ubicación Parque fundidora Monterrey, Nuevo León. [7] 6
7 Diagrama 2 Mapa tomado del API de Google incluyendo Intersecciones, paradas y respectivas aristas. Ubicación Parque fundidora Monterrey, Nuevo León. [7]. Se incluyen rutas 117, 228, 328. [6] Diagrama 3 Mapa tomado del API de Google [7] incluyendo Intersecciones, paradas y respectivas aristas ponderadas. Ubicación, sección del Diagrama 2. Se incluyen rutas 117, 228, 328. [6] 7
8 Diagrama 4 Grafo inducido a partir del API de Google [7] incluyendo Intersecciones, paradas y respectivas aristas ponderadas. Ubicación, sección del Diagrama 3. Se incluyen rutas 117, 228. [6] Diseño de la solución Debido a la velocidad superior y la ausencia de pesos negativos en las aristas, se optó por aplicar una variante del algoritmo de Dijkstra, ajustada para este problema. [4] 1. Inicializar todas las distancias a vértices con un valor igual a infinito con excepción del origen que será igual a Introducir a una cola de prioridad (prioridad a distancia mínima) el vértice origen junto con su distancia. 3. Sacar el vértice de la parte frontal de la cola de prioridad y usarlo como pivote para encontrar la distancia hacia todos los vértices que puede alcanzar actualizando los valores de la distancia de aquellos que cumplan con la siguiente condición distancia del vértice pivote + peso de arista a vértice siguiente < distancia de vértice siguiente (Relajación de ejes) y añadir el vértice con nueva distancia a la cola de prioridad. 4. Aplicar el paso 3 y 4 hasta que la cola de prioridad este vacía. 5. Revisar la tabla de distancias para formar el recorrido de camino más corto en forma de lista. 6. Recorrer la lista del recorrido para encontrar la suma de su tiempo total. 7. Por cada combinación de rutas en el grafo ejecutar el paso 1 a 6 activando y desactivando las aristas de las rutas existentes de tal manera que toda 8
9 combinación sea calculada agregando al paso 6 añadir el Tiempo de espera de cada ruta usada a la suma de tiempo total. 8. Al obtener la ruta de peso mínimo de todas las instancias del paso 7 elegir la de mínimo peso de estas y aplicar el siguiente criterio un recorrido de la lista de sus vértices y aristas: Inicializar acumulador PT (Precio transportes) = 0 y CP (contador de camiones) = 0. Si el tipo de transporte de una arista recorrida es igual a M (Metro), añadir su precio a PT. Si el identificador propiedades de la arista, en caso de tenerla, es diferente a tal de la siguiente arista añadir 1 a variable CP y comparar el valor de CP con los siguientes casos: Si CP = 1, añadir el precio de las propiedades de la arista multiplicado por 0.6 a la variable PT. Si CP = 2, añadir el precio de las propiedades de la arista multiplicado por 0.3 a la variable PT. Si CP = 3, cambiar valor de CP a Mostrar lista de vértices y aristas del camino mas corto, la variable PT y el Tiempo total. 9
10 Implementación Entradas: Grafo G (V, E) ponderado (Distancias estimadas a partir de mapa). Origen S = vértice 7 Destino T = vértice Q Ruta 117 (Amarillo) - Tiempo espera: 300 Segundos (Valor inventado para ejemplo) - V(Tipo de transporte) : 7 ms -1 - Precio: 12 Pesos - Identificador: R-117 Ruta 228 (Rojo) Pasos Tiempo espera: 150 Segundos (Valor inventado para ejemplo) - V(Tipo de transporte) : 7 ms -1 - Precio: 12 Pesos - Identificador: R-228 Diagrama 5 Grafo G ponderado en base a ubicación tomada de Google Maps. Diagrama 6 Grafo G, combinación 1, presentando ambas rutas, con desarrollo de Dijkstra. 10
11 Diagrama 7 Grafo G, combinación 2, presentando ruta 117, con desarrollo de Dijkstra. Diagrama 8 Grafo G, combinación 3, presentando ruta 228, con desarrollo de Dijkstra. 11
12 Diagrama 9 Grafo G, combinación 4, presentando ninguna ruta, con desarrollo de Dijkstra. Paso 8 Min {Tiempos total C1, Tiempos total C2, Tiempos total C3, Tiempos total C4} Min {193, 343, 193, 214} Min = 193 Por lo tanto, se usa cualquiera de las combinaciones, en este caso combinación 3 será usada. Lista de vértices y aristas de camino más corto: 7 --(id = R-228)--> B --(id = R-228)--> C --(id = R-228)--> J --(id = R-228)--> Q Recorrido de lista PT (Precio transportes) = 0 CP (contador de camiones) = 0. Vertice 6 Id = Vertice B!= R-228? => Verdadero CP += 1 CP = 1 CP = 1? PT += 12 * 0.6 PT =
13 Vertice C R-228!= R-228? => Falso Vertice J R-228!= R-228? => Falso Vertice Q R-228!= R-228? => Falso Paso 9 Presentación de resultado Camino: 7 --(id = R-228)--> B --(id = R-228)--> C --(id = R-228)--> J --(id = R-228)--> Q PT: 7.2 Pesos Tiempo total: 193 Segundos Evaluación La solución propuesta hace uso del algoritmo de Dijkstra para encontrar la ruta más corta de un vértice a otro y lo hace adecuadamente en el procedimiento, sin embargo, se encontró con la complicación de que cuando se manejan los tiempos de espera, muchas veces no se encuentra el valor buscado pues se tiende a tomar rutas que no son las más eficientes. Para solucionar ese problema, en la solución se agregó el paso que consiste en realizar el algoritmo para cada combinación de rutas de camión/metro existentes y agregar, en caso de haberse usado rutas, el tiempo de espera al final de la ejecución del algoritmo de Dijkstra en lugar de durante para luego comparar todos los posibles tiempos totales y determinar el verdaderamente mínimo. Aunque la modificación resulta en mayor precisión, el tiempo de ejecución se eleva en considerable medida, pues se debe realizar el algoritmo de Dijkstra un número de veces equivalente a la cantidad de combinaciones de rutas existentes en el grafo. Esta modificación, a medida que incrementa la cantidad de datos, hace que sea infectable su aplicación si se busca respuestas inmediatas dada la gran cantidad de instrucciones que debe correr, aunque resulta plausible para grafos que incluyen pocas cantidades de rutas. Una forma de solucionar la situación, o mínimo disminuir la carga de instrucciones, seria descartando aquellas rutas que no tienen ninguna incidencia sobre la ruta más corta. Por otro lado, cabe mencionar que aún con esa implementación o una similar, el algoritmo 13
14 de Dijkstra por si solo rápidamente se convierte en un proceso tardado, por lo que se ocuparía implementar alguna funcionalidad de clustering al grafo cuando se trata de una más grande y compleja cantidad de vértices y aristas y así simplificar el cálculo. Entre otras posibles mejoras a la solución se puede buscar incluir la posibilidad de optimizar con respecto a costos de transporte además de tiempo. Para incrementar la precisión de los datos convendría buscar alguna fuente de datos que pueda proveer datos actualizados sobre las rutas de transporte manejadas y así conocer su verdadera velocidad individual, así como mayor precisión en sus tiempos de espera. Como posible mejora se podría manejar entradas de destino como un conjunto de vértices en lugar de uno solo, para los cuales encontrar cualquiera de ellos resulte en una respuesta factible. Esto facilitaría el problema de definir un área grande como solo un vértice. Bibliografía 1. Sedgewick, R., & Wayne, K. Algorithms (4th ed.). Boston,: Pearson Education. 2. Shortest Path Algorithms Brilliant Math & Science Wiki. (2017). Brilliant.org. Retrieved 26 November 2017, from 3. Lecture 21: Single Source Shortest Paths - Bellman-Ford Algorithm. (2017). Faculty.ycp.edu. Retrieved 26 November 2017, from 4. Shortest Path Algorithms Tutorials & Notes Algorithms HackerEarth. (2017). HackerEarth. Retrieved 26 November 2017, from 5. Google Maps. (2017). Google.com. Retrieved 26 November 2017, from 6. Bibliography: Rutas De Camiones Y Líneas Del Metro De Monterrey Y Su Área Metropolitana. (2017). rutadirecta. Retrieved 26 November 2017, from visibility:off &zoom=15¢er= ,
Algoritmos voraces (greedy)
Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 21 de marzo de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Algoritmos voraces 21 de marzo de 2018 1 / 45 1 Algoritmos voraces (greedy) Aplicaciones de
Más detallesTaller de grafs: rutes, mapes i xarxes socials
Taller de grafs: rutes, mapes i xarxes socials Cristina Chiralt y Fernando Hernando Universidad Jaume I e Instituto Universitario de Matemáticas y sus Aplicaciones de Castellón Grado de Matemática Computacional
Más detallesRuta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE
Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) 1 DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Problema de Encontrar la Ruta más Corta 2 Se requiere llegar de
Más detallesTema: Algoritmos para la ruta más corta en un Grafo.
Programación IV. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Algoritmos para la ruta más corta en un Grafo. Objetivos Específicos Definir el concepto de camino
Más detallesTema: Recorrido de Grafos. Ruta más corta
PED104. Guía N 12 Página 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación con Estructuras de Datos Tema: Recorrido de Grafos. Ruta más corta Competencia Desarrolla sistemas de información
Más detallesCapítulo 7. Grafos. Continuar
Capítulo 7. Grafos Continuar Introducción Uno de los primeros resultados de la teoría de grafos fue el que obtuvo Leonhard Euler en el siglo XVIII al resolver el problema de los puentes de Königsberg.
Más detallesCamino mínimo en grafos
Camino mínimo en grafos Melanie Sclar Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Nacional OIA 206 Melanie Sclar (UBA) Camino mínimo en grafos Nacional OIA 206 / Contenidos Camino
Más detallesEste material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios
CLASE GRAFOS Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios libros por lo que está prohibida su impresión
Más detallesUnidad 2: Problemas de camino mínimo
Representación Recorrido de grafos Camino mínimo Unidad 2: Problemas de camino mínimo Representación Matriz de adyacencia Matriz de incidencia Listas de vecinos Recorrido de grafos Estructuras de datos
Más detallesAlgoritmos para determinar Caminos Mínimos en Grafos
Problemas de camino mínimo Algoritmos para determinar Caminos Mínimos en Grafos Algoritmos y Estructuras de Datos III DC, FCEN, UBA, C 202 Problemas de camino mínimo Dado un grafo orientado G = (V, E)
Más detallesCapítulo V. Conclusiones y trabajo futuro
Capítulo V. Conclusiones y trabajo futuro En este capítulo se presentan las conclusiones obtenidas a lo largo del desarrollo de Navin. Se presentarán sus ventajas y limitaciones, así como el trabajo propuesto
Más detallesTema: Algoritmos para la ruta más corta en un Grafo.
Programación IV. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Algoritmos para la ruta más corta en un Grafo. Objetivos Específicos Definir el concepto de camino
Más detallesARBOLES GENERADORES. Orlando Arboleda Molina. 16 de septiembre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle
ARBOLES GENERADORES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 16 de septiembre de 2008 Contenido Árboles generadores Algoritmo búsqueda por profundidad
Más detallesCiclos y grafos acíclicos
Ciclos y grafos acíclicos Domingo Gómez Pérez Domingo Gómez Pérez Ciclos y grafos acíclicos 1 / 23 Definición de ciclos Figura: Figura con ciclos Definición de camino Un camino en un grafo es una lista
Más detallesBúsqueda en espacio de estados
Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial CCIA, US Búsqueda en espacio de estados IA 1 / 35 Metodología
Más detallesMateria: Matemática de 5to Tema: Ecuación vectorial. Marco Teórico
Materia: Matemática de 5to Tema: Ecuación vectorial Marco Teórico Como ya sabemos y = mx + b es la forma pendiente-intersección de una recta. Mientras que esta ecuación funciona bien en el espacio de dos
Más detallesAlgoritmos de búsqueda en grafos II
II Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 12 de febrero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Búsqueda en grafos II 12 de febrero de 2018 1 / 26 1 Algoritmos de búsqueda en grafos Dr.
Más detallesTodos los Pares de Rutas más Cortas (All-Pairs Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE
Todos los Pares de Rutas más Cortas (All-Pairs Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Problema de Encontrar todos los Pares de Rutas más Cortas 2 Encontrar las rutas
Más detallesCaminos más cortos en gráficas. comp-420
Caminos más cortos en gráficas comp-40 Caminos más cortos en gráficas Dado un grafo con peso y dirigido G = (V, E) con una función de peso w : E R que transforma aristas a valores reales de peso. El peso
Más detallesUn sistema de ecuaciones diferenciales son aquellas que tienen varias posibilidades para su solución. Estas son:
Unidad X: Programación lineal (continuación) Objetivo específico: Entender ampliamente el fenómeno del comportamiento de los modelos matemáticos para la resolución de problemas enfocados a las ecuaciones
Más detallesGrafos. Leopoldo Taravilse. Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires. Training Camp 2012
Grafos Leopoldo Taravilse Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Training Camp 2012 Leopoldo Taravilse (UBA) Grafos TC 2012 1 / 78 Contenidos 1 Definiciones básicas Algoritmos
Más detallesGrafos (principiantes) - Parte I
Grafos (principiantes) - Parte I Juan Cruz Piñero Facultad de Informática Universidad Nacional del Comahue Training Camp 2017 Juan Cruz Piñero (FAI - UNCo) Grafos (Principiantes) Parte I TC 2017 1 / 39
Más detallesCiclos Hamiltonianos Algoritmo de la Ruta Más Corta. Matemática Discreta. Agustín G. Bonifacio UNSL. Teoría de Grafos II
UNSL Teoría de Grafos II y Ejemplos Un ciclo en un grafo que contiene cada vértice justo una vez, excepto por el vértice inicial y el final que aparece dos veces, recibe el nombre de ciclo de Hamilton.
Más detallesDescripción del problema:
PROBLEMA DEL AGENTE VIAJERO USANDO BÚSQUEDA TABU PROYECTO FINAL PROGRAMACIÓN CIENTIFICA ANGELES BAEZ OLVERA 4 JUNIO 2009 Descripción del problema: El problema del agente viajero o TSP como se le conoce
Más detallesUNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE 1. INFORMACIÓN GENERAL
Más detallesTeoría de redes y optimización en redes
Teoría de redes y optimización en redes Pedro Sánchez Martín Contenidos Definiciones básicas Árbol generador mínimo de expansión Camino mínimo Algoritmo Dkstra Algoritmo Bellman-Ford Fluo máximo Fluo de
Más detallesMetaheurísticas y heurísticas. Algoritmos y Estructuras de Datos III
Metaheurísticas y heurísticas Algoritmos y Estructuras de Datos III Metaheurísticas Heurísticas clásicas. Metaheurísticas o heurísticas modernas. Cuándo usarlas? Problemas para los cuales no se conocen
Más detallesNIVEL 17: ESTRUCTURAS NO LINEALES
1 NIVEL 17: ESTRUCTURAS NO LINEALES Grafos, definiciones y tipos de problemas 2 Agenda Qué son? Formalismo abstracto de los grafos dirigido Conceptos Ejemplo: Red de distribución de agua Caminos y Ciclos
Más detallesTema 6.2: Camino de Menor Valor. CMV: Objetivo. CMV: ejemplo. Ejemplo. Camino de menor valor
Tema.: Camino de Menor Valor Modelización Matemática Máster en Ingeniería de Caminos, Canales y Puertos Camino de menor valor Algoritmos Algoritmo de Dijkstra Algoritmo de Bellman-Ford Ignacio Montes Departamento
Más detallesRESOLUCIÓN DE SUDOKUS
RESOLUCIÓN DE SUDOKUS Propuesta de tema: En el siguiente proyecto nos enfocaremos en el Sudoku el cual cuyo objetivo es moldearlo así mismo utilizando grafos y con esto utilizando el coloreo para ver si
Más detallesRepresentación y manipulación de grafos: caminos, expansión, cortes y flujos
Un grafo G es un par de conjuntos G =(V,E) Representación y manipulación de grafos: caminos, expansión, cortes y flujos V = un conjunto de n vértices u, v, w V E = un conjunto de m aristas V = n, E = m
Más detallesEstructuras de Repetición
1 Estructuras de Repetición 2013 Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas 2 Objetivos Aprender a construir grandes y complejos problemas a través de la ejecución
Más detallesAlgoritmos en Teoría de Grafos
Algoritmos en Teoría de Grafos Jesús García López de Lacalle Algoritmos en Teoría de Grafos 1. Introducción 2. Conectividad 3. Caminos mínimos y distancias 4. Planificación y optimización de tareas 5.
Más detallesTeoría de Grafos. Herramientas de programación para procesamiento de señales
Teoría de Grafos Herramientas de programación para procesamiento de señales Indice Nociones básicas: Definiciones Ejemplos Propiedades Nociones avanzadas: Grafos planares Árboles Representación en computadora
Más detallesFrancisco J. Hernández López
Francisco J. Hernández López fcoj23@cimat.mx Estructura de datos no lineales donde cada componente o nodo puede tener uno o más predecesores (a diferencia de los árboles) y sucesores Un grafo esta formado
Más detallesAlgoritmos para caminos más cortos (2) comp-420
lgoritmos para caminos más cortos (2) comp-420 lgoritmo * escrito totalmente en 1968 por Peter art, Nils Nilsson y ertram Raphael. n 1964 Nils Nilsson inventó un método que utiliza una heurística para
Más detallesTaller de Grafos: Rutas, Mapas y Redes Sociales
Taller de Grafos: Rutas, Mapas y Redes Sociales Cristina Chiralt y Fernando Hernando Universidad Jaume I e Instituto Universitario de Matemáticas y sus Aplicaciones de Castellón Grado de Matemática Computacional
Más detallesTeoría de grafos y optimización en redes
Teoría de grafos y optimización en redes José María Ferrer Caja Universidad Pontificia Comillas Definiciones básicas Grafo: Conjunto de nodos (o vértices) unidos por aristas G = (V,E) Ejemplo V = {,,,,
Más detallespara aterrizar finalmente en otro aeropuerto en el noroeste de los controladores aéreos. Los caminos de estos dos aviones se cruzan?
Materia: Matemáticas de 4to año Tema: Combinación lineal de dos o más vectores Control del tráfico aéreo es el seguimiento de dos aviones en las proximidades de su aeropuerto. En un momento dado, un avión
Más detallesCAPITULO 2: MARCO TEÓRICO. En el desarrollo de este capítulo se presentan descripciones generales,
CAPITULO 2: MARCO TEÓRICO En el desarrollo de este capítulo se presentan descripciones generales, definiciones y métodos, que nos pueden ayudar a entender con claridad el método que desarrolló en esta
Más detallesTIPOS ABSTRACTOS DE DATOS EN HASKELL
TIPOS ABSTRACTOS DE DATOS EN HASKELL ÍNDICE GENERAL 1. Introducción a Haskell 2. Tipos abstractos de datos en Haskell 3. TAD Grafo 4. TAD Montículos 5. Bibliografía INTRODUCCIÓN A HASKELL 1. Introducción
Más detallesMatemáticas Básicas para Computación
Matemáticas Básicas para Computación MATEMÁTICAS BÁSICAS PARA COMPUTACIÓN 1 Sesión No. 10 Nombre: Grafos Objetivo: Al término de la sesión el participante conocerá los elementos que integran los grafos,
Más detallesESTRUCTURA DE DATOS Y DE LA INFORMACIÓN II
ESTRUCTURA DE DATOS Y DE LA INFORMACIÓN II PRÁCTICA 2: GRAFOS grupo comienzo entrega 1a miércoles 3/3 miércoles 14/4 1b jueves 4/3 jueves 15/4 1c lunes 8/3 lunes 12/4 2a viernes 5/3 viernes 9/4 2b lunes
Más detallesLos protocolos de enrutamiento dinámico se han usado en redes desde comienzos de la década de los ochenta.
Los protocolos de enrutamiento dinámico se han usado en redes desde comienzos de la década de los ochenta. La primera versión de RIP se lanzó en 1982, pero algunos de los algoritmos básicos dentro del
Más detallesConceptos Fundamentales del Análisis de Algoritmos
Conceptos Fundamentales del Análisis de Algoritmos Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 15 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis 15 de
Más detallesParte de Algoritmos de la asignatura de Programación Master de Bioinformática. Grafos
Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Grafos Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias preparadas a partir
Más detallesTeoría y Complejidad Algorítmica
Teoría y Complejidad Algorítmica Practica 3 Eduardo Viciana Gámez Contiene documentación y código fuente de la práctica 2 Descripción de la Práctica En esta práctica se van a comparar dos algoritmos que
Más detallesAcerca del Algoritmo de Dijkstra
Acerca del Algoritmo de Dijkstra Alvaro H. Salas S. * Resumen arxiv:0810.0075v1 [cs.ds] 1 Oct 2008 In this paper we prove the correctness of Dijkstra s algorithm. We also discuss it and at the end we show
Más detallesUso de grafos para localizar el sanitario más cercano desde un punto de FIME mediante el Algoritmo de Dijkstra
Uso de grafos para localizar el sanitario más cercano desde un punto de FIME mediante el Algoritmo de Dijkstra Un grafo es un grupo de vértices (nodos) que está unido por un conjunto de líneas (aristas).
Más detallesINSTITUTO TECNOLÓGICO
INSTITUTO TECNOLÓGICO DE NUEVO LAREDO Con la Ciencia por la Humanidad Introducción a la Ingeniería en Sistemas Computacionales y al Diseño de Algoritmos Curso propedéutico Instructor: Bruno López Takeyas
Más detallesMétodo de árbol de cubos para resolver problemas de optimización discreta en la toma de decisiones. CONTENIDO
Método de árbol de cubos para resolver problemas de optimización discreta en la toma de decisiones. 1 CONTENIDO Introducción Marco teórico Métodos de optimización Método de árbol de cubos Problema de optimización
Más detallesINDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.
INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.7 GRAFOS CONEXOS7 ÁRBOLES..7 BOSQUES DE ÁRBOLES...8 RECORRIDO DE UN GRAFO..8
Más detallesOptimización de Recorridos
Optimización de Recorridos Isnardo Arenas Navarro *, Nicolas Rey Villamizar ** 14 de mayo de 2009 Resumen En este proyecto tratamos el problema de encontrar el costo mínimo en un recorrido desde un lugar
Más detallesUSO DE AGRUPAMIENTO JERÁRQUICO EN JUEGOS MULTIJUGADOR EN LÍNEA PARA SELECCIONAR AL MEJOR HOST. Propuesta de tema
USO DE AGRUPAMIENTO JERÁRQUICO EN JUEGOS MULTIJUGADOR EN LÍNEA PARA SELECCIONAR AL MEJOR HOST jamás uses comillas como decoración Propuesta de tema En general cuando alguien se conecta a un sitio web éste
Más detallesGrafos: algunas definiciones
Grafos: algunas definiciones Un grafo dirigido G es un par (V, E), donde V es un conjunto finito de nodos (o vértices) y E es una relación binaria sobre V. Un grafo no dirigido G es un par (V, E), donde
Más detallesAlgoritmos y Programación Orientada a Objetos I. Contenedoras de tamaño variable y uso de ciclos en otros contextos
Algoritmos y Programación Orientada a Objetos I y uso de ciclos en otros contextos Agenda Motivación Uso de ciclos en otros contextos Agenda Motivación Uso de ciclos en otros contextos Motivación En muchos
Más detallesGrafos Eulerianos y Hamiltonianos. Algoritmos y Estructuras de Datos III
Grafos Eulerianos y Hamiltonianos Algoritmos y Estructuras de Datos III Grafos eulerianos Definiciones: Un circuito C en un grafo (o multigrafo) G es un circuito euleriano si C pasa por todos las aristas
Más detallesEstructuras de Datos y Algoritmos. Grafos
Estructuras de Datos y Algoritmos Grafos Definiciones Grafo modelo para representar relaciones entre elementos de un conjunto. Grafo: (V,E), V es un conjunto de vértices o nodos, con una relación entre
Más detallesApuntes de Teórico de Programación 3. Apuntes de Teórico PROGRAMACIÓN 3. Greedy. Versión 1.1
Apuntes de Teórico PROGRAMACIÓN 3 Greedy Versión 1.1 1 Índice Índice... Introducción... 3 Ejemplo 1 (problema de las monedas)... 3 Ejemplo (problema de la mochila)... 4 Aplicaciones del método Greedy a
Más detalles5.4 Caminos mínimos: Algoritmo de Dijkstra
81 5.4 Caminos mínimos: Algoritmo de Dijkstra Al observar nuestro mapa de carreteras se pueden considerar las distancias en km que hay entre las ciudades, a cada arista se le asigna el valor correspondiente
Más detallesGrafos. Amalia Duch Brown Octubre de 2007
Grafos Amalia Duch Brown Octubre de 2007 Índice 1. Definiciones Básicas Intuitivamente un grafo es un conjunto de vértices unidos por un conjunto de líneas o flechas dependiendo de si el grafo es dirigido
Más detallesBúsqueda en espacio de estados
Búsqueda en espacio de estados Departamento de Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Abstracción Problema Representación como espacio de estados Implementación del
Más detallesAnálisis de algoritmos
Demostración laboratorio: Martes 14 de Julio de 2015 Entrega vía Web: Domingo 19 de Julio de 2015 Demostración laboratorio y Entrega vía Web (Extraordinario): Martes 21 de Julio de 2015 M. en C. Edgardo
Más detallesUNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad l Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE 1. INFORMACIÓN GENERAL 1.1
Más detallesUniversidad Autónoma del Estado de México Licenciatura en Matemáticas Programa de Estudios: Algoritmos Sobre Gráficas
Universidad Autónoma del Estado de México Licenciatura en Matemáticas 2003 Programa de Estudios: Algoritmos Sobre Gráficas I. Datos de identificación Licenciatura Matemáticas 2003 Unidad de aprendizaje
Más detallesProgramación Lineal. María Muñoz Guillermo Matemáticas I U.P.C.T. M. Muñoz (U.P.C.T.) Programación Lineal Matemáticas I 1 / 13
Programación Lineal María Muñoz Guillermo maria.mg@upct.es U.P.C.T. Matemáticas I M. Muñoz (U.P.C.T.) Programación Lineal Matemáticas I 1 / 13 Qué es la Programación Lineal? Introducción La Programación
Más detallesFlujo máximo en redes. M.C.C Magali Arellano Vázquez
M.C.C Magali Arellano Vázquez El ujo máximo de una red En una red de oleoductos se transporta petroleo desde un pozo a una renería. Antes de llegar a la renería debe pasar por varias estaciones de bombeo
Más detalles1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N 2-1 b. 2 N+1-1 c. 2 N d. 2 N+1 i.
1. Cuál es el número total máximo de nodos que tiene un árbol binario de N niveles? a. N - 1 b. N1-1 c. N d. N1 i.. Dado el siguiente árbol binario: raiz Q K T D M R Y B J P W N a. Cuáles son los antecesores
Más detallesAlgoritmos Voraces. Diseño y Análisis de Algoritmos
Algoritmos Voraces Diseño y Análisis de Algoritmos Contenidos Contenidos 1 Introducción 2 Ejemplos básicos 3 Cambio de monedas 4 Problema de la mochila 5 Problemas de planificación de tareas 6 Patrones
Más detallesFrancisco J. Hernández López
Francisco J. Hernández López fcoj23@cimat.mx Sus aristas son pares de vértices no ordenados, es decir si hay un camino del vértice i al vértice j, será exactamente el mismo camino del vértice j al vértice
Más detallesTema 13 Modelos de Representación de Diagramas
Tema 13 Modelos de Representación de Diagramas En este tema haremos una revisión rápida de los modelos de representación de diagramas, y su utilidad en la Expresión Gráfica. 13.1 Introducción y Definición
Más detalles5. ESTRUCTURAS DE REPETICIÓN
5. ESTRUCTURAS DE REPETICIÓN Las estructuras de repetición, permiten la ejecución de una lista o secuencia de instrucciones () en varias ocasiones. El número de veces que el bloque
Más detallesAlgoritmos de búsqueda básicos
Algoritmos de búsqueda básicos por Iván Cruz Cuando se necesita encontrar un valor dentro de un conjunto de datos almacenados en un arreglo, surgen diversos algoritmos para lograrlo de la manera más eficiente
Más detallesAlgoritmos y Estructuras de Datos III
Árboles Algoritmos y Estructuras de Datos III Árboles Definición: Un árbol es un grafo conexo sin circuitos simples. Árboles Teorema: Dado un grafo G = (V, X ) son equivalentes: 1. G es un árbol. 2. G
Más detallesIntroducción a la programación: Algoritmos
Introducción a la programación: Algoritmos Algoritmo La palabra algoritmo proviene del nombre del matemático persa del siglo IX Muhammad ibn Musa al-jwarizmi Un algoritmo es una secuencia ordenada de pasos,
Más detallesGuía práctica de estudio 7
Guía práctica de estudio 7 Algoritmos de Grafos. Parte 2. Elaborado por: Revisión: Ing. Laura Sandoval Montaño Facultad de Ingeniería U.N.A.M. Guía Práctica 7 Estructura de datos y Algoritmos II Algoritmos
Más detallesTema 9. Recursividad
Tema 9. Recursividad http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la información Universitat
Más detallesLa Marca Del Líder Roadnet UPS Logistic Technologies, Unidad de Negocios de UPS, Rutas Óptimas de Calles Rutas Óptimas = Mayores Ganancias Roadnet
1 La Marca Del Líder Roadnet es la Solución de UPS Logistic Technologies, Unidad de Negocios de UPS, para crear cotidianamente las Rutas Óptimas de Calles por donde transitarán los vehículos y vendedores
Más detallesEl TAD Grafo. El TAD Grafo
! Esta representación resulta útil cuando el número de vértices se conoce previamente y permanecerá fijo durante la resolución del problema, pero resulta ineficiente si necesitamos añadir o eliminar vértices
Más detallesAlgebra Matricial y Teoría de Grafos
Algebra Matricial y Teoría de Grafos Unidad 3: Nociones de teoría de grafos Luis M. Torres Escuela Politécnica del Litoral Quito, Enero 2008 Maestría en Control de Operaciones y Gestión Logística p.1 Contenido
Más detallesAngular es un framework, diseñado por Google, de tipo MVW (Model View Whatever) para el frontend.
Contenido Tutorial básico de Angular JS... 2 Ejemplo 1: Hola mundo... 3 Ejemplo 2: Dar bienvenida a usuario... 5 Ejemplo 3: Lista de comentarios de un servidor remoto... 8 Ejemplo 4: Barra de navegación...
Más detallesUSO PRÁCTICO DEL SMARTPHONE, TABLET E INTERNET. AVANZADO
USO PRÁCTICO DEL SMARTPHONE, TABLET E INTERNET. AVANZADO GOOGLE MAPS Prof. D. Antonio Fernández Herruzo : Novedades Nueva Interfaz 1. En tu teléfono abre la aplicación. 2. En la parte inferior, toca alguna
Más detallesÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES
ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOL Un árbol es un grafo no dirigido, conexo, sin ciclos (acíclico), y que no contiene aristas
Más detallesProgramación en Java. Instructor:
Instructor: Lección 6: Usando Colecciones 1. Collections 2. Iteración 3. La interfaz Collection 4. Set 5. List 6. Maps 7. La clase Collections Collections Muchos programas requieren de mantener un conjunto
Más detallesTema 03: TAD Cola. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom
Tema 03: TAD Cola M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Descripción del TAD Cola Especificación
Más detallesHéctor Guerra Crespo (1) I. T. de Tuxtla Gutiérrez Walter Torres Robledo (2), I. T. de Tuxtla Gutiérrez,
Mapa del transporte público de la ciudad de Tuxtla Gutiérrez, Chiapas, México. Map of public transportation in the city of Tuxtla Gutierrez, Chiapas, Mexico. Héctor Guerra Crespo (1) I. T. de Tuxtla Gutiérrez
Más detallesTrekkapp. Manual de usuario Versión
Trekkapp Manual de usuario Versión 1.2.10 Tabla de contenidos 1. QUÉ ES TREKKAPP?... 3 2. CONFIGURAR LA PREFERENCIA DE IDIOMAS... 3 3. ACCEDER A LAS RUTAS E ITINERARIOS DISPONIBLES... 4 4. DESCARGAR UNA
Más detallesGuía de Usuario para Windows Versión 3.6 Octubre 2014
Guía de Usuario para Windows Versión 3.6 Octubre 2014 Índice Pantalla principal del mapa... 2 Elementos del mapa... 2 Menú inferior... 2 Pantalla de información de la parada... 3 Pantalla de información
Más detalles1. La ventana de Excel
JFSG 1. La ventana de Excel Cuadro de nombres Barra de fórmulas Títulos de columnas Celda activa Títulos de filas Etiquetas de hojas 2. Definiciones básicas Celda.- Unidad básica de una hoja de trabajo
Más detallesConjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación.
NÚMEROS REALES Conjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación. Un conjunto es una colección bien definida
Más detallesEnrutamiento. Area de Ingeniería Telemática
Enrutamiento Area de Ingeniería Telemática http://www.tlm.unavarra.es Arquitectura de Redes, Sistemas y Servicios Grado en Ingeniería en Tecnologías de Telecomunicación, 2º Resumen hasta ahora Algoritmo
Más detallesQué son los protocolos Link-state?
Sistemas Operativos SISTEMAS OPERATIVOS 1 Sesión No. 11 Nombre: Protocolos de enrutamiento de link-state Contextualización Qué son los protocolos Link-state? El objetivo principal es que cada router reciba
Más detallesINSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS La principal razón para que las personas aprendan lenguajes de programación es utilizar una computadora como una herramienta para la resolución de problemas. Cinco
Más detallesTrackIt. Obteniendo y Alcanzando lo Máximo Dentro de TrackIt. Andres Cano. Jefe de Grupo de Proyecto y Implementación
TrackIt Obteniendo y Alcanzando lo Máximo Dentro de TrackIt Andres Cano Jefe de Grupo de Proyecto y Implementación Agenda Obteniendo y Alcanzando lo Máximo dentro de Trackit Identificar problemas que pueden
Más detallesModelos de Redes: Árbol. M. En C. Eduardo Bustos Farías
Modelos de Redes: Árbol de expansión n mínimam M. En C. Eduardo Bustos Farías as Objetivos Conceptos y definiciones de redes. Importancia de los modelos de redes Modelos de programación n lineal, representación
Más detallesManual Perfil de Proyecto Turístico. Senderos Turísticos
Manual Perfil de Proyecto Turístico Senderos Turísticos 1 PROYECTO DE SENDEROS TURÍSTICOS. La información que se debe registrar en la primera parte del formulario sirve para identificar el proyecto que
Más detallesCurso Developing ASP.NET MVC 4 Web Applications (20486)
Curso Developing ASP.NET MVC 4 Web Applications (20486) Programa de Estudio Curso Developing ASP.NET MVC 4 Web Applications (20486) Aprende a desarrollar aplicaciones avanzadas de ASP.NET MVC usando tecnologías
Más detallesCapítulo 8. Árboles. Continuar
Capítulo 8. Árboles Continuar Introducción Uno de los problemas principales para el tratamiento de los grafos es que no guardan una estructura establecida y que no respetan reglas, ya que la relación entre
Más detallesMetroMinutoMonforte. TIPS de ruta. Nombre equipo [M 3 ]
MetroMinutoMonforte Nombre equipo [M 3 ] 1 Quienes somos? El equipo! Nombre y apellidos: Nombre y apellidos: Nombre y apellidos: Nombre y apellidos: 2 Imágenes http://www.freepik.com/ MetroMinutoMonforte
Más detallesUniversidad Autónoma de Nuevo León
Universidad Autónoma de Nuevo León Facultad de Ingeniería Mecánica y Eléctrica División de Posgrado en Ingeniería de Sistemas Eficiencia de la Búsqueda Local para Instancias Diferentes del Problema de
Más detalles