Ciudad de Könisberg, Prusia, en XVIII:

Slides:



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

Diseño y análisis de algoritmos
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.
EC. DIFERENCIAL Def: Se llama ecuación diferencial a una relación que contiene una o varias derivadas de una función no especificada “y” con respecto.
Hoja 3.- Grafos ej ¿Cuál es el mínimo número de veces que hay que levantar el lápiz del papel para trazar los siguientes dibujos? El primer.
Sesión 3: Teoría de Grafos
Teoría de Grafos I semestre 2009 UNIVERSIDAD NACIONAL DE INGENIERIA
NUMERO DE CONTROL: NOMBRE DEL TRABAJO: MAPA CONCEPTUAL
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.
“GRAFOS” Chacón Zamora José Christian González García Andrea
Instituto Tecnológico De Villahermosa
Investigación Operativa II
RafaC - Matemática Discreta - UCM 07/08
Grafos dualmente cordales y sus relaciones con otros tipos de grafos

V.Álvarez M.D. Frau J.R. Narro P. Reyes Matemática Discreta Tema 5: Coloración 1/24 Capítulo 5: Coloración Introducción. Coloración de vértices. Coloración.
Tema 5 Grafos.. Grafos Un grafo se define como un par G = (V, A), donde V es un conjunto finito no vacío de vértices A es un conjunto de pares de vértices.
Teoría de Grafos.
Analisis y Diseño de Algoritmos Tema: Grafos 3ra Parte
Problemes de Viatjants
AED I. Estructuras de Datos.
GRAFOS HUGO ARAYA CARRASCO.
Teoría de Grafos.
Estructuras de datos y algoritmos
Programación entera y grafos
Matemáticas para Ciencias de la Computación MCC3182
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
Instituto Tecnológico de Tijuana Subdirección Académica
Definiciones: conjuntos, grafos, y árboles
Teoría de Grafos lógica y algoritmos.
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Cesar Luis García Castro
Matemáticas Discretas
Diseño y análisis de algoritmos
Tema 5: Grafos Rafa Caballero - Matemática Discreta - UCM 06.
Grafos planos Jose hungria.
Teoría de Grafos.-Clase 2

Algoritmos y Estructuras de Datos III (segunda parte) 1er cuatrimestre 2010 Min Chih Lin Irene Loiseau.
Trabajo de investigación (TEMA #7): TEORÍA DE GRAFOS
Agustín J. González ELO320: Estructura de Datos y Algoritmos
TEORIA DE GRAFOS SALIR INTRODUCCION GRAFOS DIGRAFOS ÁRBOLES.
Matemáticas Discretas
Estructuras de datos para Grafos
EQUIPO #7 Aplicaciones de Grafos Erick Ramiro Adrián.
M. en C. José Andrés Vázquez Flores
s t a c b d Grafos.
Coloración de grafos Teoría de Grafos
Carmen Fernández Grasa I.E.S. Félix de Azara 6 de mayo de 2011
Sesión 3: Teoría de Grafos
Teoría de Grafos.
Definiciones: conjuntos, grafos, y árboles
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Flujo en redes Def: una red N es un grafo orientado conexo que tiene dos nodos distinguidos una fuente s con grado de salida positivo y un sumidero t con.
Cecilia Laborde González
Instituto Tecnológico De Villahermosa Alumno: Lázaro García Hernández.
GRAFOS.
Capítulo 7: Grafos Autor: José Alfredo Jiménez Murillo.
Teoría de Grafos. Temario Teoría de Grafos Grafos Conceptos básicos Problemas clásicos Algoritmos en grafos Metaheurísticas Algoritmos Genéticos Tabú.
GRAFOS EQUIPO E MATEMATTICAS DISCRETAS PRESENTA: Medina Chávez Héctor Bryan 1 INSTITUTO POLITECNICO NACIONAL SECCION DE ESTUDIOS DE POSGRADOS E INVESTIGACION.
M.C. Meliza Contreras González
Matemáticas Discretas MISTI
Recorridos de grafos Segunda Parte M.C. Meliza Contreras González.
La clase P juega un papel importante en la teoría de la complejidad computacional debido a que: 1. P es invariante para todos los modelos de cómputo que.
U NIDAD 3 G RAFOS Y SU CONECTIVIDAD M.C. Meliza Contreras González.
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.
Tema 5: Grafos CIS - UABJB - Estructura de Datos II
Transcripción de la presentación:

Ciudad de Könisberg, Prusia, en XVIII: 1 1

Ciudad de Könisberg, Prusia, en XVIII: ¿Sería posible dar un paseo pasando por cada uno de los siete puentes, sin repetir ninguno, comenzando y terminando en el mismo lugar? 2 2

Ciudad de Könisberg, Prusia, en XVIII: ¿Sería posible dar un paseo pasando por cada uno de los siete puentes, sin repetir ninguno, comenzando y terminando en el mismo lugar? 3 3

Ciudad de Könisberg, Prusia, en XVIII: (nombre antiguo de la actual ciudad de Kaliningrado, Rusia.) ¿Sería posible dar un paseo pasando por cada uno de los siete puentes, sin repetir ninguno, comenzando y terminando en el mismo lugar? 4 4

Ciudad de Könisberg, Prusia, en XVIII: ¿ Sería posible armar un circuito que pase por todas las aristas una sola vez? 5 5

Euler La solución de Euler: En 1736, el matematico suizo Leonhard Euler dijo q NO

Grafos eulerianos Un circuito C en un grafo G (o multigrafo) es un circuito euleriano si C pasa por todos las aristas de G una única vez. Un grafo G se dice que es euleriano, cuando posee un circuito euleriano Un camino euleriano es un camino que recorre todas las artistas de G pasando una única vez por cada una ¿Cuando G es euleriano? 7 7

Algunos ejemplos b c b c a d a d ¿Es único? ¿Importa por dónde empezamos a armar el circuito? b c b c a d a d 8 8

Algunos ejemplos b c b c a d a d ¿Es único? ¿Importa por dónde empezamos a armar el circuito? b c b c a d a d 9 9

Algunos ejemplos b c b c a d a d ¿Es único? ¿Importa por dónde empezamos a armar el circuito? b c b c a d a d 10 10

Algunos ejemplos b c b c a d a d ¿Es único? ¿Importa por dónde empezamos a armar el circuito? b c b c a d a d 11 11

Algunos ejemplos b c b c a d a d ¿Es único? ¿Importa por dónde empezamos a armar el circuito? b c b c a d a d 12 12

Algunos ejemplos b c b c a d a d ¿Es único? ¿Importa por dónde empezamos a armar el circuito? b c b c a d a d 13 13

Algunos ejemplos b c b c a d a d ¿Es único? ¿Importa por dónde empezamos a armar el circuito? b c b c a d a d 14 14

Algunos ejemplos b c b c a d a d ¿Es único? ¿Importa por dónde empezamos a armar el circuito? b c b c a d a d 15 15

Algunos ejemplos b c b c a d a d ¿Es único? ¿Importa por dónde empezamos a armar el circuito? b c b c a d a d 16 16

Algunos ejemplos b c b c a d a d ¿Es único? ¿Importa por dónde empezamos a armar el circuito? b c b c a d a d 17 17

Algunos ejemplos ¿Si tenemos un circuito euleriano, qué podemos decir del grado de los vértices? 18 18

Algunos ejemplos ¿Si tenemos un circuito euleriano, qué podemos decir del grado de los vértices? V0 .….. V0 …… V0 ….. V0 19 19

Algunos ejemplos ¿Si tenemos un circuito euleriano, qué podemos decir del grado de los vértices? Todos los vértices tienen grado par! Condición necesaria ¿Es suficiente? 20 20

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. 21 21

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. Demo: (Ida). Si es euleriano, entonces todos sus vértices tienen grado par. ejercicio! 22 22

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. Demo: (vuelta) Si todos sus vértices tienen grado par, entonces es euleriano 23 23

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 24 24

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 25 25

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 26 26

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 27 27

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 28 28

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. C1 C1 Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 29 29

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ C1 Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 30 30

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ C1 Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 31 31

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 32 32

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 33 33

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 34 34

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ C2 C2 Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 35 35

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 36 36

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ C1 U C2 Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 37 37

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 38 38

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 39 39

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 40 40

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 41 41

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 42 42

Condición necesaria y suficiente Teorema (Euler 1736): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 43 43

Condición necesaria y suficiente Teorema (Euler 1736-Hierholzer1973): Un grafo G (o multigrafo) conexo es euleriano si y sólo si todos sus nodos tienen grado par. G’ C Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 44 44

Algoritmo Hierholzer G= (V,E) conexo, C=Ǿ, G=G’ C’ := armar un circuito SIMPLE en G’ a partir de v0 C= C U C’ G' := (V, E=E- aristas de C) v0 := un vértice de C tal que d(v0) > 0 en G' Mientras E no se vacío, volver a 2 Retornar C C’, ciclo simple en G’ C C es un circuito euleriano entre las aristas que no están en G’ 45 45

Recordar justificar los invariantes C := armar un circuito SIMPLE a partir de v0 ¿Por qué siempre existe? 46 46

Recordar justificar los invariantes C := armar un circuito SIMPLE a partir de v0 ¿Por qué siempre existe? Como los grados de los vértices son par y se le está sacando a cada vértice una cantidad par de aristas incidentes (0 o 2) en cada iteración, los grados continúan siendo par en cada C.C (invariante) y siempre que puedo llegar al vértice, puedo salir 47 47

Recordar justificar los invariantes C := armar un circuito SIMPLE a partir de v0 ¿Por qué siempre existe? Como los grados de los vértices son par y se le está sacando a cada vértice una cantidad par de aristas incidentes (0 o 2) en cada iteración, los grados continúan siendo par en cada C.C (invariante) y siempre que puedo llegar al vértice, puedo salir C= C U C’ ¿Por qué C es un circuito que no repite aristas, cómo lo recorro? 48 48

Recordar justificar los invariantes C := armar un circuito SIMPLE a partir de v0 ¿Por qué siempre existe? Como los grados de los vértices son par y se le está sacando a cada vértice una cantidad par de aristas incidentes (0 o 2) en cada iteración, los grados continúan siendo par en cada C.C (invariante) y siempre que puedo llegar al vértice, puedo salir C= C U C’ ¿Por qué C es un circuito que no repite aristas, cómo lo recorro? Como C y C’ tienen intersección en un vértice v0, empezamos en v0, recorremos C, que no repite aristas (invariante) y luego recorremos C’,que es un circuito simple con aristas de G’, es decir, aristas que no están en C. Cuando termina, C es un circuito que no repite aristas y contiene TODAS las aristas de G, ie. es euleriano 49 49

Recordar justificar los invariantes v0 := un vértice de C tal que d(v0) > 0 en G' ¿Por qué siempre existe? Si hay vértices de G que no están en C, entonces hay un camino de ese vértice a C, porque G es conexo Si todos los vértices de G son alcanzados por C, y G’ tiene aristas, tomamos un extremo de una arista. Nota: Esto se puede encuadrar en un esquema de inducción en “m”, teniendo en cuenta estos invariantes. 50 50

Recordar justificar los invariantes v0 := un vértice de C tal que d(v0) > 0 en G' ¿Por qué siempre existe? Si hay vértices de G que no están en C, entonces hay un camino de ese vértice a C, porque G es conexo Si todos los vértices de G son alcanzados por C, y G’ tiene aristas, tomamos un extremo de una arista. Cual es la complejidad de este algoritmo? 51 51

Corolarios… Teorema Un grafo (o multigrafo) conexo tiene un camino euleriano si y sólo si tiene exactamente dos nodos de grado impar. Demo: 52 52

Corolarios… Teorema Un grafo (o multigrafo) conexo tiene un camino euleriano si y sólo si tiene exactamente dos nodos de grado impar. Demo: Ejercicio Hint: Considerar el caso en que esos dos vértices son adyacentes y el caso en que no y aplicar el teorema anterior a un multigrafo. 53 53

Corolarios… Teorema Un digrafo conexo es euleriano si y sólo si para todo vértice se verifica que din(v)= dout(v) Demo: 54 54

Corolarios… Teorema Un digrafo conexo es euleriano si y sólo si para todo vértice se verifica que din(v)= dout(v) Demo: Ejercicio Hint: Seguir la demo del Teorema de Euler, teniendo en cuenta la orientación de las aristas 55 55

Aplicaciones de circuitos o caminos eulerianos Buscar caminos que pasen por todas las calles de una ciudad (asfaltar, recolectar basura, cartero) Cada camino en una red de transportes; Famoso Problema del cartero chino ! 56 56

Problema del cartero chino (Guan, 1962) Dado un grafo G con longitudes asignadas a sus aristas, el problema consiste en encontrar un circuito que pase por cada arista de G al menos una vez de longitud mínima Si G es euleriano, un circuito euleriano es LA solución del problema del cartero chino. Como se resuelve?

Problema del cartero chino (Guan, 1962) Dado un grafo G con longitudes asignadas a sus aristas, el problema consiste en encontrar un circuito que pase por cada arista de G al menos una vez de longitud mínima Si G es euleriano, un circuito euleriano es LA solución del problema del cartero chino. Como se resuelve? Existen algoritmos polinomiales para el problema del cartero chino cuando G es totalmente orientado o no es orientado. No se conocen algoritmos polinomiales si el grafo es mixto (algunas aristas orientados y otros no).