Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Ciudad de Könisberg, Prusia, en XVIII:
1 1
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? 2 2
3
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
4
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
5
Ciudad de Könisberg, Prusia, en XVIII:
¿ Sería posible armar un circuito que pase por todas las aristas una sola vez? 5 5
6
Euler La solución de Euler: En 1736, el matematico suizo
Leonhard Euler dijo q NO
7
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
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 8 8
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 9 9
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 10 10
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 11 11
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 12 12
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 13 13
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 14 14
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 15 15
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 16 16
17
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
18
Algunos ejemplos ¿Si tenemos un circuito euleriano, qué podemos decir del grado de los vértices? 18 18
19
Algunos ejemplos ¿Si tenemos un circuito euleriano, qué podemos decir del grado de los vértices? V0 .….. V0 …… V0 ….. V0 19 19
20
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
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. 21 21
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: (Ida). Si es euleriano, entonces todos sus vértices tienen grado par. ejercicio! 22 22
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. Demo: (vuelta) Si todos sus vértices tienen grado par, entonces es euleriano 23 23
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 24 24
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 25 25
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 26 26
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 27 27
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. Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 28 28
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. C1 C1 Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 29 29
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 30 30
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’ C1 Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 31 31
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 32 32
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 33 33
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’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 34 34
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’ C2 C2 Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 35 35
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’ Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 36 36
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’ C1 U C2 Construcción parcial del circuito Grafo G’ con las condiciones del Teorema 37 37
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 38 38
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 39 39
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 40 40
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 41 41
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 42 42
43
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
44
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
45
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
46
Recordar justificar los invariantes
C := armar un circuito SIMPLE a partir de v0 ¿Por qué siempre existe? 46 46
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 47 47
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? 48 48
49
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
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. Nota: Esto se puede encuadrar en un esquema de inducción en “m”, teniendo en cuenta estos invariantes. 50 50
51
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
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: 52 52
53
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
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: 54 54
55
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
56
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
57
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?
58
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).
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.