Se puede dibujar la siguiente figura, empezando y terminando en el mismo punto, sin levantar e lápiz del papel?

Documentos relacionados
2007 Carmen Moreno Valencia

Algoritmos para determinar Caminos Mínimos en Grafos

Introducción a la Teoría de Grafos

LAS CIENCIAS DE LA PLANIFICACIÓN

Grafos. Algoritmos y Estructuras de Datos III

Un grafo G = (V, E) se dice finito si V es un conjunto finito.

LAS CIENCIAS DE LA PLANIFICACIÓN

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Caminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007

Máster Interuniversitario en Técnicas Estadísticas. Cooperación en los problemas del viajante (TSP) y de rutas de vehículos (VRP): una panorámica.

Grafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30

Teoría de grafos y optimización en redes

CLASIFICACIÓN DE PROBLEMAS

ALGORITMOS HEURÍSTICOS Y APROXIMADOS. Análisis y diseño de algoritmos II- 2009

Complejidad computacional (Análisis de Algoritmos)

TEORIA DE GRAFOS. Estructuras Discretas Ing. Jenny Paredes Aguilar

Introducción a la Teoría de Grafos

Introducción a la Teoría de Grafos

Objetivos formativos de Matemática Discreta. Tema 1: Conjuntos, aplicaciones y relaciones

Flujos de redes (Network Flows NF)

Pintar mapas, organizar fiestas... en el fondo, es sólo teoría de grafos

Grafos. Amalia Duch Brown Octubre de 2007

GRAFOS I. Antonio Luis Rodríguez López-Cañizares y Ceferino Ruiz Garrido

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos.

C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]

Tema 5: Grafos. Índice. E. Martín, A. Méndez, C. Ortiz y J. Sendra. Febrero de Guía del tema. 1. Grafos 1

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Coloración. Unos cuantos problemas. Asignación de frecuencias de radio. Gregorio Hernández Peñalver. Unos cuantos problemas. Unos cuantos problemas

Tema: Los Grafos y su importancia para la optimización de redes.

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

Apuntes de Matemática Discreta 14. Grafos

I. Complejidad de Problemas

Minicurso de Teoría de Gráficas Escuela de Verano 2014 por María Luisa Pérez Seguí Facultad de Ciencias Físico-Matemáticas, Universidad Michoacana

Cómo Programar las Vacaciones: El Problema del Viajante. Javier Soria

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

Grafos. es un grafo sobre V, donde V es el conjunto de vértices y E el conjunto de aristas. Lo anotaremos G ( V, E) Abierto Cerrado

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

Programación Lineal. Modelo de Redes. Alcance de las aplicaciones. Curso: Investigación de Operaciones Ing. Javier Villatoro

Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre

El TAD Grafo. El TAD Grafo

Figura 3.1. Grafo orientado.

Ejemplo: El problema de la mochila. Algoritmos golosos. Algoritmos y Estructuras de Datos III. Segundo cuatrimestre 2013

Un grafo G es un par (V,E) donde V es un conjunto (llamado conjunto de vértices) y E un subconjunto de VxV (conjunto de aristas).

Grafos y Redes. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista.

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

Un subconjunto no vacío H de un espacio vectorial V es un subespacio de V si se cumplen las dos reglas de cerradura:

En la fig. 1 se representa el grafo, G=(V,A) donde: V = {1, 2, 3, 4, 5, 6} A = { {1,2}, {1,3}, {1,5}, {3}, {3,4}, {4,5}, {5,6} }

Complejidad de los Algoritmos

Algebra lineal y conjuntos convexos

Coloración de grafos

Algoritmos Básicos de Grafos

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

Práctica N o 8 Desigualdades Válidas - Algoritmos de Planos de Corte - Algoritmos Branch & Cut

Factorización de polinomios

Clase 1: Primalidad. Matemática Discreta - CC3101 Profesor: Pablo Barceló. P. Barceló Matemática Discreta - Cap. 5: Teoría de números 1 / 32

11. MOSAICOS. El ángulo interior de un polígono regular de n lados es

GRAFOS. LICESIO J. RODRíGUEZ-ARAGÓN

Planaridad. Algoritmos y Estructuras de Datos III

Proyecto 2: recorridos sobre grafos y componentes conexas

SISTEMAS DE ECUACIONES LINEALES. Método de reducción o de Gauss. 1º DE BACHILLERATO DPTO DE MATEMÁTICAS COLEGIO MARAVILLAS AUTORA: Teresa González.

Teorema de Hoffman-Singleton.

IN Guía de Problemas Resueltos de Geometría de Programación Lineal v1.0

Leonard Euler y la Teoría de Grafos

TÓPICOS AVANZADOS EN TEORÍA DE GRAFOS. F.C.E.I.A. - Universidad Nacional de Rosario Escuela de Posgrado y Ed. Continua

Matemáticas Discretas TC1003

Límites y continuidad. Cálculo 1

Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2011

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

1. Conceptos básicos sobre el problema en cuestión y cuestiones afines. 2. Formulación de los correspondientes algoritmos y su pseudocódigo.

Benemérita Universidad Autónoma de Puebla

Práctica N 6 Modelos de Programación Lineal Entera

Introducción a la teoría de grafos

Problemas en P y NP. Marcos Kiwi. Semestre Otoño U. Chile

Espacios Vectoriales

Algoritmos sobre Grafos

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros

PROBLEMAS RESUELTOS DE PREPARACIÓN PARA OPOSICIONES. Problemas 02

Formulación del problema de la ruta más corta en programación lineal

Capítulo 2: Inducción y recursión Clase 2: El principio de Inducción Fuerte

Matemáticas Avanzadas I

APUNTES DE ÁLGEBRA LINEAL TEMA 2. SISTEMAS DE ECUACIONES LINEALES

Capítulo 7. Trigonometría del triángulo rectángulo. Contenido breve. Presentación. Módulo 17 Medición de ángulos. Módulo 18 Ángulos notables

Con miras a conocer la metodología que se aplica en el Método SIMPLEX, tenemos a continiacion un ejemplo:

TEMA 2 FUNDAMENTOS Y APLICACIONES DE LA TEORIA DE GRAFOS. DIAGRAMAS EN ARBOL.

Estudiemos el siguiente problema, propuesto por Wirth y desarrollado por Dijkstra: Una lista de las primeras secuencias que cumplen es:

Análisis y síntesis de sistemas digitales combinacionales

TEORÍA DE GRAFOS. OPTIMIZACIÓN EN REDES 1

OPTIMIZACIÓN Y SIMULACIÓN PARA LA EMPRESA. Tema 4 Optimización no Lineal

Francis Guthrie Planteo el problema de los cuatro colores, después de colorear el mapa de Inglaterra 9/15/2015 3

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

4. NÚMEROS PSEUDOALEATORIOS.

Optimización combinatoria poliédrica: problemas de rutas-localización

CONSTRUCCIÓN DE UNA FUNCIÓN POLINOMIAL

Matrices y aplicaciones

Soluciones básicas factibles y vértices Introducción al método símplex. Investigación Operativa, Grado en Estadística y Empresa, 2011/12

Teoría de Redes o Grafos

Apuntes de Matemática Discreta 8. Relaciones de Equivalencia

Espacios topológicos. 3.1 Espacio topológico

DE PRISMAS Y POLIEDROS. A LA BÚSQUEDA DEL CUBOIDE PERFECTO

4.1. Polinomios y teoría de ecuaciones

Transcripción:

Se puede dibujar la siguiente figura, empezando y terminando en el mismo punto, sin levantar e lápiz del papel?

Y esta otra?

Los puentes de Königsberg Königsberg es famosa por ser la ciudad natal de Immanuel Kant, pero también es famosa por sus siete puentes y por el problema que consistía en saber si una persona podría cruzar todos los puentes una sola vez, volviendo al lugar de donde partió.

Los puentes de Königsberg Este problema fue resuelto por Euler en 1736, quien demostró que no era posible. Para eso modeló el problema como un problema de grafos: recorrer todas las aristas de un grafo una y solo una vez, volviendo al vértice inicial.

Definiciones Ej: Un circuito Euleriano en un grafo o multigrafo G es un circuito que recorre cada arista una y sólo una vez. Un grafo o multigrafo es Euleriano si tiene un circuito Euleriano. Obs: Si un grafo tiene al menos dos componentes conexas no triviales, no puede tener camino ni circuito Euleriano.

El Teorema de Euler Teorema Son equivalentes, para G grafo o multigrafo conexo: 1. G es Euleriano. 2. Todo vértice de G tiene grado par. 3. Las aristas de G pueden particionarse en circuitos.

Grafos Eulerianos u 4 u 1 u 6 u 3 u 5 u 2 u 7 u 8

En base a los teoremas anteriores, cuál es la complejidad computacional de saber si un grafo es o no Euleriano? A partir de la demostración, se puede escribir un algoritmo para construir un circuito Euleriano para un grafo que tiene todos sus vértices de grado par.

Grafos Eulerianos Entrada: G = (V, E) conexo con d(v) par para todo v V. Salida: Un circuito Euleriano de G. Comenzar por cualquier vértice v y construir un ciclo Z. Mientras E \ Z hacer: Elegir w tal que exista (w, u) Z y (w, z) E \ Z. Desde w construir un ciclo D con D Z =. Z := unir Z y D por medio de w. Fin mientras Retornar Z.

Grafos Eulerianos Un camino Euleriano en un grafo o multigrafo G es un camino que recorre cada arista una y sólo una vez. Un grafo orientado o digrafo, se dice Euleriano si tiene un circuito orientado que pasa por cada arco de G exactamente una vez. Teorema Un grafo o multigrafo conexo tiene un camino Euleriano si y sólo si todos sus vértices tienen grado par salvo dos. Teorema Un digrafo conexo es Euleriano si y sólo si para todo vértice v de G se verfica que d in (v) = d out (v).

Problema del cartero chino (Kuan, 1962) Definición. Dado un grafo G = (V, E) con longitudes asignadas a sus aristas, l : E R +, el problema del cartero chino consiste en encontrar un circuito de longitud mínima que pase por cada arista de G al menos una vez. Si G es Euleriano, un circuito Euleriano es la solución del problema del cartero chino. Existen algoritmos polinomiales para el problema del cartero chino cuando G es orientado o no orientado. Sin embargo, no se conocen algoritmos polinomiales si el grafo es mixto (tiene tanto aristas orientadas como aristas no orientadas).

El juego de Hamilton En 1859 Hamilton inventó un juego que consistía en encontrar un recorrido de todos los vértices de un dodecaedro sin repetir vértices y volviendo al original.

Definiciones Ej: Un camino Hamiltoniano en un grafo G es un camino que recorre cada vértice una y sólo una vez. Un circuito Hamiltoniano en un grafo G es un circuito que recorre cada vértice una y sólo una vez. Un grafo es Hamiltoniano si tiene un circuito Hamiltoniano. Obs: Si un grafo no es conexo, no puede tener camino ni circuito Hamiltoniano.

Grafos Hamiltonianos: Ejemplo

Grafos Hamiltonianos: Ejemplo

Grafos Hamiltonianos: Ejemplo

Grafos Hamiltonianos Teorema (condición necesaria). Sea G un grafo conexo. Si existe W V tal que G \ W tiene c componentes conexas con c > W entonces G no es Hamiltoniano. Es cierta la recíproca de este teorema? Teorema (Dirac, 1952) (condición suficiente). Sea G un grafo con n 3 y tal que para todo v V se verifica que d(v) n/2. Entonces G es Hamiltoniano. Es cierta la recíproca de este teorema?

Grafos Hamiltonianos No se conocen condiciones necesarias y suficientes que caractericen en forma elegante a los grafos Hamiltonianos. No se conocen algoritmos polinomiales para determinar si un grafo es Hamiltoniano o no (algoritmos de reconocimiento). Más aún, se sospecha que no existen (!) algoritmos polinomiales para este problema ( cómo se demuestra esto?).

El problema del viajante de comercio (TSP) El problema del viajante de comercio se trata de un viajante que debe recorrer lo más pronto posible cierta cantidad de ciudades y volver finalmente a la ciudad donde vive. En términos de grafos, es encontrar un circuito Hamiltoniano de longitud mínima en un grafo completo con longitudes asociadas a sus aristas. En su versión de decisión, la entrada es un grafo completo G con longitudes asociadas a sus aristas y un número k, y la pregunta es Existe en G un circuito Hamiltoniano de longitud k?.

El problema del viajante de comercio (TSP) Entrada: Un grafo G = (V, E) completo y una función de distancias l : E R +. Salida: Un circuito Hamiltoniano C E que minimice la distancia total l(c) = ij C l(ij). Se trata de una generalización del problema de circuito Hamiltoniano ( por qué?). Como consecuencia, no se conocen algoritmos polinomiales para resolver el TSP ( por qué??). Pausa filosófica:... entonces qué hacemos?

El problema del viajante de comercio (TSP) Opciones inmediatas: Si las instancias que tenemos que resolver no son muy grandes... Un esquema de fuerza bruta puede no ser mala idea. En caso contrario, intentar con un backtracking. Si las instancias hacen imposibles estos procedimientos... Intentar una heurística golosa. Generar aleatoriamente muchas soluciones y quedarse con la mejor! Variantes más sofisticadas: búsqueda local, búsqueda tabú, simulated annealing, etc.

Recorridos con cuatro ciudades

Recorridos con cinco ciudades

Recorridos con más de cinco ciudades Cuántos recorridos tengo en un caso con 10 ciudades? 181440 Cuántos recorridos tengo en un caso con 50 ciudades? 3041409320171337804361260816606476884437764156896 05120000000000 Cuántos recorridos tengo en un caso con 100 ciudades? 4666310772197207634084961942813335024535798413219 0810734296481947608799996614957804470731988078259 1431268489604136118791255926054584320000000000000 000000000 Cuántos recorridos tengo en un caso con n ciudades? (n 1)! 2

El problema del viajante de comercio (TSP) Hipótesis: Las distancias cumplen la desigualdad triangular: l(ij) + l(jk) l(ik) para todo i, j, k V. Obtener un árbol generador mínimo T = (V T, E T ) de G. Duplicar las aristas de E T, obteniendo un nuevo árbol T. Encontrar un circuito Euleriano C en T (siempre existe!). Transformar C en un circuito Hamiltoniano salteando vértices ya visitados.

El problema del viajante de comercio (TSP) Teorema. Si l min es la longitud de la solución óptima del TSP para la instancia (G, l) y l heur es la longitud de la solución generada por la heurística anterior, entonces l heur l min 2. En virtud de este teorema, decimos que esta heurística es un algoritmo 2-aproximado. Se puede mejorar?

Heurística de Cristofides (1976) Obtener un árbol generador mínimo T = (V T, E T ) de G. Sea I V T el conjunto de vértices con grado impar en T. Encontrar un matching perfecto de peso mínimo M en el subgrafo de G inducido por I. Combinar las aristas de M y T para formar un multigrafo H. Encontrar un circuito Euleriano C en H (siempre existe!). Transformar C en un circuito Hamiltoniano salteando vértices ya visitados.

Heurística de Cristofides (1976) Teorema (Cristofides, 1976). Si l min es la longitud de la solución óptima del TSP para la instancia (G, l) y l heur es la longitud de la solución generada por la heurística anterior, entonces l heur l min 3/2. Se puede mejorar? Si las distancias l son eucĺıdeas en el plano, entonces existe un algoritmo (1 + 1/c)-aproximado con complejidad O(n(log n) O(c 2) ).

El problema del viajante de comercio (TSP) Desde el punto de vista de algoritmos exactos, el enfoque más exitoso a la fecha está dado por algoritmos basados en programación lineal entera.

Soluciones óptimas para el TSP En 1954 Dantzig, Fulkerson y Johnson resolvieron un caso de 49 ciudades del TSP. Resolvieron significa que D,F&J demostraron que la solución que presentaban era la mejor de un conjunto de 60 decillones de soluciones posibles.

Solucio n record (en 2001) de 15112 ciudades de Alemania Resuelta en una red de 110 ma quinas en las universidades de Rice y Princeton, por Applegate, Bixby, Chva tal y Cook. Tiempo total de co mputo de 22.6 an os de una PC de 500 MHz. Longitud total de aproximadamente 66.000 Km (Un poco ma s de una vuelta y media a la tierra por el ecuador).

Solución record (en 2004) de 24978 ciudades de Suecia Resuelta por Applegate, Bixby, Chvátal, Cook y Helsgaun. Longitud total de aproximadamente 72.500 Km.

Año Equipo Ciudades 1954 G. Dantzig, R. Fulkerson y S. Johnson 49 1971 M. Held y R.M. Karp 64 1975 P. M. Camerini, L. Fratta y F. Maffioli 100 1977 M. Grötschel 120 1980 H. Crowder y M. W. Padberg 318 1987 M. Padberg y G. Rinaldi 532 1987 M. Grötschel y O. Holland 666 1987 M. Padberg y G. Rinaldi 2,392 1994 D. Applegate, R. Bixby, V. Chvátal y W. Cook 7,397 1998 D. Applegate, R. Bixby, V. Chvátal y W. Cook 13,509 2001 D. Applegate, R. Bixby, V. Chvátal y W. Cook 15,112 2004 D. Applegate, R. Bixby, V. Chvátal y W. Cook 24,978 2005 D. Applegate, R. Bixby, V. Chvátal, W. Cook, 33,810 2006 D. Espinoza, M. Goycoolea y K. Helsgaun 85,900