Introducción a la Teoría de Grafos

Documentos relacionados
Introducción a la Teoría de Grafos

Investigación Operativa

Flujo en Redes. Algoritmos y Estructuras de Datos III

Teoría de grafos y optimización en redes

Máximo Flujo (Maximum Flow) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

Tema 4: Redes y flujos

Algoritmos para determinar Caminos Mínimos en Grafos

CAPÍTULO 4 PROGRAMACIÓN LINEAL ENTERA

Flujos de redes (Network Flows NF)

Introducción a la Teoría de Grafos

Análisis de Algoritmos Problemas de grafos

Un GRAFO O GRAFO NO ORIENTADO es una terna G = {V, A,ϕ } conv

Algoritmo de Fleury. por. Ramón Espinosa Armenta

Dualidad 1. 1 Formas simétricas. 2 Relación primal-dual. 3 Dualidad: el caso general. 4 Teoremas de dualidad. 5 Condiciones de holgura complementaria.

Formulando con modelos lineales enteros

Unidad 2: Problemas de camino mínimo

Hamilton, Euler y Dijkstra

Tema 7: Problemas clásicos de Programación Lineal

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

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

Clases de complejidad computacional: P y NP

2007 Carmen Moreno Valencia

Capítulo 3: Grafos Clase 1: Grafos: Modelos, tipos, representación e isomorfismo

Caminos y Flujos optimales. 2da y 3er clase 2007

Camiones, encomiendas, y teoría de grafos

Algoritmos de Aproximación para el problema de Corte de Multicaminos (Multiway Cut)

Jesús Getán y Eva Boj. Marzo de 2014

MARITZA HERRERA FLOREZ YUDY MARCELA BOLAÑOS RIVERA

Grafos. Algoritmos y Estructuras de Datos III

Algoritmos pseudo-polinomiales

Teoría de grafos. Coloración de vértices

El método simplex 1. 1 Forma estándar y cambios en el modelo. 2 Definiciones. 3 Puntos extremos y soluciones factibles básicas. 4 El método simplex.

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

Introducción. Königsberg, s.xviii A

NP-Completeness: 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

Tema 5: Problemas de Optimización

Introducción a la Teoría de Grafos

Apuntes de Teórico de Programación 3. Apuntes de Teórico PROGRAMACIÓN 3. Greedy. Versión 1.1

Análisis de Algoritmos Teoría de grafos

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

Coloreo de Grafos. Algoritmos y Estructuras de Datos III

GRAFOS GEOMÉTRICOS. Introducción. Número de corte. Aplicaciones. Incidencias de puntos y rectas. Distancias unitarias. k-sets.

Observación En algunas fuentes, estas coloraciones se denominan coloraciones admisibles; aquí, por comodidad, las denominamos coloraciones.

Los grafos son estructuras de datos Representan relaciones entre objetos. Son aplicables en. Relaciones arbitrarias, es decir No jerárquicas.

Interpolación Polinomial

Fundamentos de Investigación de Operaciones Modelos de Grafos

1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila 0/1 para los siguientes casos:

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

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

Análisis y Diseño de Algoritmos. Teoría de Gráficas

Programación Entera. Nelson Devia C. IN Modelamiento y Optimización Departamento de Ingeniería Industrial Universidad de Chile

UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-RUACS. Investigación de Operaciones

MATEMÁTICA DISCRETA. Segundo cuatrimestre Año 2015 Práctico 7 Parte I TEORÍA DE GRAFOS: INTRODUCCIÓN

Coloreo de vértices Definiciones: Coloreo de Grafos. Cotas para χ Proposición: Si H es un subgrafo de G entonces χ(h) χ(g).

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

Flujo en Redes. IN34A: Clase Auxiliar. Universidad de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Industrial

Algoritmos y Estructuras de Datos III

Algebra Matricial y Teoría de Grafos

Teorema de la Divergencia (o de Gauss) y la Ecuación de

IN34A - Optimización

Sea NxN = {(0,0), (0,1), (1,0), (0,2), (1,1), (2,0),... } el conjunto de pares de naturales,

Grafos Eulerianos y Hamiltonianos. Algoritmos y Estructuras de Datos III

Geometría combinatoria de cuadrados mágicos, latinos, sudokus y otras tablas curiosas

Trayectorias y circuitos Eulerianos y Hamiltonianos,

Optimización de Problemas de Producción

Algoritmos y Estructuras de Datos III

INVESTIGACION DE OPERACIONES:

Algoritmos para caminos más cortos (2) comp-420

4ta. Práctica. Búsqueda en árbol con contrincante: MiniMax con poda Alfa-Beta. Inteligencia Artificial Prácticas 2004/2005

Flujo Máximo. Agustín J. González ELO320: Estructura de Datos y Algoritmos 1er. Sem. 2002

Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler]

Apuntes de Matemática Discreta 8. Relaciones de Equivalencia

Optimización de redes

Problemas y algoritmos sobre Grafos

TEMA 5 El tipo grafo. Tipo grafo

Computación Geométrica Descomposición en polígonos monótonos

Algoritmos Elementales de Grafos DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

Tema 2. Fundamentos Teóricos de la. programación dinámica Teorema de Optimalidad de Mitten

Cuadrados mágicos y matrices de permutación

Enunciados Lista 5 Nota: 7.2* 7.7* 7.9* 7.14* 7.20* 7.21*

ARBOLES GENERADORES. Orlando Arboleda Molina. 16 de septiembre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

Tema 1: Introducción a la Teoría de Grafos

Tema 21: Algoritmos de exploración de grafos

Tema: Algoritmos para la ruta más corta en un Grafo.

6. Diagramas de flujo.

Forma estándar de un programa lineal

FORMALIZACIÓN Y EJECUCIÓN DEPARTAMENTO DE ELECTRÓNICA Y COMPUTADORES. Mercedes Granda Departamento de Electrónica y Computadores

1. GRAFOS : CONCEPTOS BASICOS

Caminos. Sobre los problemas de encontrar caminos en grafos. Complexity D.Moshkovitz

Taller de grafs: rutes, mapes i xarxes socials

Tema 3 Optimización lineal. Algoritmo del simplex

Contenido. Contenidos interactivos... xiii Plataforma de contenidos interactivos... xviii Prefacio... xix. Parte I Fundamentos...

Guia N 1. Sea G = (V, E) un grafo no dirigido. Pruebe que las siguiente proposiciones son equivalentes:

Grafos. Amalia Duch Brown Octubre de 2007

INGENIERÍA DE SISTEMAS INVESTIGACIÓN OPERATIVA

Flujo en Redes. Algoritmos y Estructuras de Datos III

Introducción a la complejidad computacional

Derivada de la función compuesta. Regla de la cadena

Enero Febrero Marzo Abril. D: uds D: uds D: uds D: uds

Geometría Computacional. Dr. Antonio Marín Hernández

Transcripción:

Introducción a la Teoría de Grafos Flavia Bonomo fbonomo@dc.uba.ar do. Cuatrimestre 009

Programa Introducción a la teoría de grafos Problemas de camino mínimo Problemas de flujo máximo Clases de complejidad computacional: P y NP

Unidad 3: Problemas de flujo máximo Definición del problema Ejemplos y aplicaciones Algoritmo Algoritmo de caminos de aumento Propiedad de integralidad Teorema Flujo máximo - Corte mínimo

El problema de flujo En su versión más simple, se tiene una red orientada con dos vértices distinguidos s y t, llamados fuente y sumidero, y capacidades en cada arco. Un flujo es una función que a cada arco le asigna un valor entre 0 y su capacidad, respetando la ley de conservación (para cada vértice excepto la fuente y el sumidero, el flujo que entra es igual que el que sale). El valor de un flujo es lo que entra al sumidero. Lo que se busca es un flujo de valor máximo. s 5,4 7,7 3, 3,, 3,3 3,3 5, 3,, 4,4 6,5 7,6 t capacidades flujo valor del flujo:

El problema de flujo Más formalmente, tenemos un grafo dirigido G = (V, E), s y t vértices de G, típicamente con d in (s) = 0 y d out (t) = 0 y una función de capacidad c : E R 0 ó N 0. Un flujo en G es una función f : E R 0 tal que para cada e E, f (e) c(e) y además, para cada v V \ {s, t}, w:wv E f (wv) = z:vz E f (vz) (ley de conservación). El valor de un flujo es v:vt E f (vt), que es igual a f (sv). Lo que se busca es un flujo de valor máximo. v:sv E s 5,4 7,7 3, 3,, 3,3 3,3 5, 3,, 4,4 6,5 7,6 t capacidades flujo valor del flujo:

El problema de corte Un corte en la red es una partición de los vértices en dos conjuntos, S y S de modo que s S, t S. Los arcos del corte son los que van de S a S (o sea, vw E con v S y w S). El valor del corte es la suma de las capacidades de sus arcos. Lo que se busca es un corte de valor mínimo. s S 5 7 3 3 3 3 5 3 4 6 7 S t aristas del corte valor del corte: 3

Variantes Algunas variantes del problema de flujo: flujo en redes con arcos no dirigidos flujo factible, máximo o mínimo con cotas inferiores y superiores capacidades en los vértices flujo máximo con costo mínimo o acotado: el costo es proporcional al flujo transportado a través del arco (fácil) el costo es fijo y se cobra por el uso del arco (difícil) múltiples orígenes y destinos

Aplicaciones El problema de flujo máximo se puede usar para modelar problemas de: transporte de mercadería (logística) flujo de gases y ĺıquidos por tuberías flujo de componentes o piezas en ĺıneas de montaje flujo de corriente en redes eléctricas flujo de paquetes de información en redes de comunicaciones tráfico ferroviario, etc.

Ejemplo El Diego quiere armar la nueva selección de fútbol. Para eso escribió una lista con sus 40 jugadores favoritos, de los cuales debe elegir los 9 convocados para el próximo encuentro. Necesita arqueros, entre 4 y 5 delanteros, entre 6 y 7 defensores, volantes por izquierda, volantes por derecha y cincos. Por otra parte, los clubes no están dispuestos a ceder a la selección más de dos jugadores. Modelar el problema del Diego como un problema de flujo.

Primer aproximación... elegir 9 jugadores Chatruc Saviola Batistuta s [0,]... Aimar Costanzo Bonano Sorin Figueroa Cardetti [0,] [9,9] t Mascherano Lucchetti Gallardo

Agregamos las posiciones Chatruc Saviola s [0,]... Batistuta [0,] Aimar Contanzo Bonano Sorin Figueroa Cardetti arquero [,] delantero [4,5] defensor [6,7] vol. der. [,] vol. izq. [,] cinco [,] [9,9] t Mascherano Lucchetti Gallardo

Agregamos las restricciones de los clubes Chatruc s [0,] Alavés [0,] River Racing Barcelona (Ec.) Valencia Al Arabi Cruzeiro Cruz Azul Mónaco... Saviola Batistuta [0,] Aimar Costanzo Bonano Sorin Figueroa Cardetti Mascherano Lucchetti Gallardo arquero [,] delantero [4,5] defensor [6,7] vol. der. [,] vol. izq. [,] cinco [,] [9,9] t

Algoritmo de caminos de aumento Propiedad de integralidad Te Algoritmo de Ford y Fulkerson (956) Dada una red G = (V, E) con capacidades en los arcos c y un flujo f, se define el grafo residual G = (V, E ) con los mismos vértices que G y tal que: Ej: Si ij E y f (ij) < c(ij) entonces ij E con capacidad c (ij) = c(ij) f (ij) Si ij E y f (ij) > 0 entonces ji E con capacidad c (ji) = f (ij). s 5,4 7,7 3, 3,, 3,3 3,3 5, 3,, 4,4 6,5 7,6 t s 7 4 3 3 4 4 5 6 t

Algoritmo de caminos de aumento Propiedad de integralidad Te Algoritmo de Ford y Fulkerson (956) Un camino de aumento es un camino dirigido de s a t en el grafo residual. Ej: s 7 4 3 3 4 4 5 6 t La capacidad del camino de aumento es el mínimo de las capacidades de sus arcos.

Algoritmo de caminos de aumento Propiedad de integralidad Te Algoritmo de Ford y Fulkerson (956) f (ij) = 0 para todo ij E(G); T = falso; Mientras T construir el grafo residual G de la red en base a f ; buscar un camino de aumento en G ; Si existe camino de aumento c = capacidad del camino; Para cada arco ij del camino Si ij E(G) y f (ij) c(ij) c f (ij) = f (ij) + c Si no (en ese caso, notar que ji E(G) y f (ji) c) f (ji) = f (ji) c Si no T = verdadero;

Algoritmo de caminos de aumento Propiedad de integralidad Te La complejidad del algoritmo de caminos de aumento puede ser muy mala, si tenemos mala suerte al elegir los caminos... puede ser del orden de la capacidad máxima, la cual puede ser exponencial en el tamaño de la entrada (si las capacidades son enteras! si no, podría incluso no terminar). Ej: F F F F

Algoritmo de caminos de aumento Propiedad de integralidad Te Modificación de Edmonds y Karp (97) La modificación propuesta consiste en elegir el camino de aumento utilizando BFS (o sea, elegir un camino mínimo en cantidad de aristas entre s y t, en lugar de uno arbitrario). Con esta modificación, se puede demostrar que el algoritmo ahora tiene complejidad O(nm ).

Algoritmo de caminos de aumento Propiedad de integralidad Te Propiedad de integralidad Si las capacidades de los arcos son enteras, entonces el valor del flujo máximo es entero y además, existe un flujo máximo cuyo valor en cada arco es entero. Demo: Por inducción utilizando el algoritmo de caminos de aumento.

Algoritmo de caminos de aumento Propiedad de integralidad Te Teorema (Ford y Fulkerson, 96) Sea G un grafo dirigido con capacidades en lo arcos y s y t vértices de G. Entonces el valor del flujo máximo entre s y t coincide con el valor de un corte mínimo (S, S) tal que s S y t S. Demo: Es fácil ver que el valor de un flujo máximo ϕ máx no puede superar el valor de un corte mínimo ν mín, porque el flujo que pasa de s a t tiene que pasar de S a S (de hecho, el valor de f dado un corte se puede calcular como la suma del flujo de S a S menos la suma del flujo de S a S, que es no negativa). Entonces ϕ máx ν mín. Por otra parte, al terminar el algoritmo determina un corte (S, S) y un flujo f tal que los arcos del corte están saturados y los arcos de S a S tienen flujo cero (S son los vértices alcanzables desde s en G y S el resto). Por lo tanto ϕ máx ϕ f = ν (S,S) ν mín. Luego ϕ máx = ν mín, y esto demuestra también que el algoritmo obtiene un flujo máximo.