sesion de teor´ıa 6 - um.es

52
´ Algebra y Matem´ atica Discreta Sesi´ondeTeor´ ıa 6 ´ Algebra y Matem´ atica Discreta Sesi´ on de Teor´ ıa 6 (c) 2013 Leandro Mar´ ın, Francisco J. Vera, Gema M. D´ ıaz 30 Sep 2013 - 6 Oct 2013

Upload: others

Post on 18-Apr-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Algebra y Matematica Discreta

Sesion de Teorıa 6

(c) 2013 Leandro Marın, Francisco J. Vera, Gema M. Dıaz

30 Sep 2013 - 6 Oct 2013

Page 2: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos con Pesos

El Problema del Coste

Los grafos se utilizan para modelizar problemas reales.

Page 3: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos con Pesos

El Problema del Coste

Los grafos se utilizan para modelizar problemas reales.

Es muy habitual utilizar vertices para representar lugares oestados y aristas para representar procesos para pasar de unoal otro (carreteras, medios de transporte, algoritmos, ...)

Page 4: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos con Pesos

El Problema del Coste

Los grafos se utilizan para modelizar problemas reales.

Es muy habitual utilizar vertices para representar lugares oestados y aristas para representar procesos para pasar de unoal otro (carreteras, medios de transporte, algoritmos, ...)

Esas formas de pasar de un sitio o estado a otro suele llevaraparejado un coste.

Page 5: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos con Pesos

El Problema del Coste

Los grafos se utilizan para modelizar problemas reales.

Es muy habitual utilizar vertices para representar lugares oestados y aristas para representar procesos para pasar de unoal otro (carreteras, medios de transporte, algoritmos, ...)

Esas formas de pasar de un sitio o estado a otro suele llevaraparejado un coste.

Para representar este tipo de problemas, asignaremos a cadaarista un valor numerico al que llamaremos peso o coste.

Page 6: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos con Pesos

El Problema del Coste

Los grafos se utilizan para modelizar problemas reales.

Es muy habitual utilizar vertices para representar lugares oestados y aristas para representar procesos para pasar de unoal otro (carreteras, medios de transporte, algoritmos, ...)

Esas formas de pasar de un sitio o estado a otro suele llevaraparejado un coste.

Para representar este tipo de problemas, asignaremos a cadaarista un valor numerico al que llamaremos peso o coste.

Un problema habitual es el de conectar vertices con caminosde mınimo coste.

Page 7: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos con Pesos

Ejemplo

1

1

6

5

2

1

10

2

4

14

2

8

4

6

a

b

c

d

e

f

g

h

i

Page 8: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Ciclos y Arboles

Ciclos o Circuitos

Llamaremos circuito a un camino que empieza y termina en elmismo vertice.

Page 9: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Ciclos y Arboles

Ciclos o Circuitos

Llamaremos circuito a un camino que empieza y termina en elmismo vertice.

Reservaremos la palabra ciclo para el caso en que no se repitaningun vertice en el recorrido.

Page 10: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Ciclos y Arboles

Ciclos o Circuitos

Llamaremos circuito a un camino que empieza y termina en elmismo vertice.

Reservaremos la palabra ciclo para el caso en que no se repitaningun vertice en el recorrido.

Siempre que existe un circuito, tambien existe un ciclo.

Page 11: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Ciclos y Arboles

Arbol

Arbol

Un grafo conexo y sin ciclos diremos que es un arbol.

0

12

34

Page 12: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Ciclos y Arboles

Arboles con Raız

En los arboles, a veces se indica un nodo especial que sedenomina raız.

Page 13: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Ciclos y Arboles

Arboles con Raız

En los arboles, a veces se indica un nodo especial que sedenomina raız.

Suele ser el punto de entrada para realizar busquedas o poralguna razon de modelizacion.

Page 14: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Ciclos y Arboles

Arboles con Raız

En los arboles, a veces se indica un nodo especial que sedenomina raız.

Suele ser el punto de entrada para realizar busquedas o poralguna razon de modelizacion.

Cuando esto sucede, se puede hablar del nivel de un verticecomo la distancia que lo separa de la raız.

Page 15: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Ciclos y Arboles

Caracterizaciones de Arboles

Hemos de definido un arbol como un grafo conexo y sin ciclos.

Page 16: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Ciclos y Arboles

Caracterizaciones de Arboles

Hemos de definido un arbol como un grafo conexo y sin ciclos.

Tambien puede definirse como un grafo conexo en el cual elnumero de vertices es el numero de aristas mas uno.

Page 17: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Ciclos y Arboles

Caracterizaciones de Arboles

Hemos de definido un arbol como un grafo conexo y sin ciclos.

Tambien puede definirse como un grafo conexo en el cual elnumero de vertices es el numero de aristas mas uno.

O como un grafo en el cual dados dos vertices, hay uno, ysolo un camino que los une.

Page 18: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Arboles Generadores

Arboles Generadores

Dado un grafo conexo, un arbol contenido de el que conecte atodos los vertices se llamara arbol generador del grafo.

Page 19: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Arboles Generadores

Arboles Generadores

Dado un grafo conexo, un arbol contenido de el que conecte atodos los vertices se llamara arbol generador del grafo.

Si el grafo es un grafo con pesos, diremos que el arbolgenerador es de peso mımino, si es el que tiene menor peso deentre todos los posibles.

Page 20: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Arboles Generadores

Metodo de Anadir Aristas

Para calcular el arbol generador de peso mımino podemospartir del conjunto de vertices.

Page 21: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Arboles Generadores

Metodo de Anadir Aristas

Para calcular el arbol generador de peso mımino podemospartir del conjunto de vertices.

Ordenar las aristas de menor a mayor peso.

Page 22: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Arboles Generadores

Metodo de Anadir Aristas

Para calcular el arbol generador de peso mımino podemospartir del conjunto de vertices.

Ordenar las aristas de menor a mayor peso.

Ir poniendo las aristas desde la de menor peso en adelante,teniendo en cuenta que cada vez que anadamos una arista,tenemos que comprobar que los vertices que conectamos noestaban previamente ya conectados, en cuyo caso noanadirıamos la arista.

Page 23: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Arboles Generadores

Metodo de Anadir Aristas

Para calcular el arbol generador de peso mımino podemospartir del conjunto de vertices.

Ordenar las aristas de menor a mayor peso.

Ir poniendo las aristas desde la de menor peso en adelante,teniendo en cuenta que cada vez que anadamos una arista,tenemos que comprobar que los vertices que conectamos noestaban previamente ya conectados, en cuyo caso noanadirıamos la arista.

Terminaremos el proceso cuando todos los vertices quedencontectados.

Page 24: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Arboles Generadores

Metodo de Anadir Aristas

Para calcular el arbol generador de peso mımino podemospartir del conjunto de vertices.

Ordenar las aristas de menor a mayor peso.

Ir poniendo las aristas desde la de menor peso en adelante,teniendo en cuenta que cada vez que anadamos una arista,tenemos que comprobar que los vertices que conectamos noestaban previamente ya conectados, en cuyo caso noanadirıamos la arista.

Terminaremos el proceso cuando todos los vertices quedencontectados.

Si hay dos aristas de igual peso, podemos ponerlas encualquier orden. La solucion no es unica, pero todas lassoluciones son correctas.

Page 25: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Arboles Generadores

Metodo de Quitar Aristas

Otra forma de resolver el problema es ir quitando las aristasdesde la mas cara hasta la mas barata.

Page 26: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Arboles Generadores

Metodo de Quitar Aristas

Otra forma de resolver el problema es ir quitando las aristasdesde la mas cara hasta la mas barata.

Pero solo quitaremos la arista cuando se pueda quitar, esdecir, cuando al quitarla no nos parta el grafo en dos trozos.

Page 27: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Arboles Generadores

Metodo de Quitar Aristas

Otra forma de resolver el problema es ir quitando las aristasdesde la mas cara hasta la mas barata.

Pero solo quitaremos la arista cuando se pueda quitar, esdecir, cuando al quitarla no nos parta el grafo en dos trozos.

Las aristas que al quitarlas parten en grafo en dos trozos quepreviamente estaban unidos, se llaman aristas de conexion.

Page 28: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Arboles Generadores

Metodo de Quitar Aristas

Otra forma de resolver el problema es ir quitando las aristasdesde la mas cara hasta la mas barata.

Pero solo quitaremos la arista cuando se pueda quitar, esdecir, cuando al quitarla no nos parta el grafo en dos trozos.

Las aristas que al quitarlas parten en grafo en dos trozos quepreviamente estaban unidos, se llaman aristas de conexion.

El proceso terminara cuando ya todas las aristas sean deconexion.

Page 29: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

??

Page 30: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Definicion

Grafo Euleriano

Un grafo G diremos que es Euleriano si existe un circuito (caminocerrado) que recorre todas las aristas sin repetir ninguna. A dichocircuito lo llamaremos circuito euleriano.

El planteamiento parece muy similar al de los grafoshamiltonianos, pero es muy diferente.

Page 31: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Definicion

Grafo Euleriano

Un grafo G diremos que es Euleriano si existe un circuito (caminocerrado) que recorre todas las aristas sin repetir ninguna. A dichocircuito lo llamaremos circuito euleriano.

El planteamiento parece muy similar al de los grafoshamiltonianos, pero es muy diferente.

En este caso sı dispondremos de un teorema que nos da unacaracterizacion.

Page 32: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Definicion

Grafo Euleriano

Un grafo G diremos que es Euleriano si existe un circuito (caminocerrado) que recorre todas las aristas sin repetir ninguna. A dichocircuito lo llamaremos circuito euleriano.

El planteamiento parece muy similar al de los grafoshamiltonianos, pero es muy diferente.

En este caso sı dispondremos de un teorema que nos da unacaracterizacion.

A veces se dice ciclo euleriano en lugar de circuito euleriano.Nosotros hemos reservado la palabra ciclo para el caso en queno haya repeticiones de vertices, y en este caso puede haberlas(y de hecho las habra).

Page 33: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Teorema

Caracterizacion de Grafos Eulerianos

Un grafo conexo es euleriano si y solo si todos sus vertices tienengrado par.

Como podemos ver, es una propiedad muy facil de comprobar.

Page 34: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Teorema

Caracterizacion de Grafos Eulerianos

Un grafo conexo es euleriano si y solo si todos sus vertices tienengrado par.

Como podemos ver, es una propiedad muy facil de comprobar.

Es importante estar seguro de que el grafo es conexo,podemos tener grafos con todos los grados pares que no seaneulerianos, porque tengan dos componentes conexas y elcamino no puede pasar de una a otra.

Page 35: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Teorema

Caracterizacion de Grafos Eulerianos

Un grafo conexo es euleriano si y solo si todos sus vertices tienengrado par.

Como podemos ver, es una propiedad muy facil de comprobar.

Es importante estar seguro de que el grafo es conexo,podemos tener grafos con todos los grados pares que no seaneulerianos, porque tengan dos componentes conexas y elcamino no puede pasar de una a otra.

En ese caso diremos que cada componente conexa eseuleriana.

Page 36: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Algoritmo para Grafos Eulerianos

Vamos a establecer un algoritmo para encontrar el circuitoeuleriano en dos fases.

Page 37: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Algoritmo para Grafos Eulerianos

Vamos a establecer un algoritmo para encontrar el circuitoeuleriano en dos fases.

La primera fase es elegir un sentido de recorrido de todas lasaristas.

Page 38: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Algoritmo para Grafos Eulerianos

Vamos a establecer un algoritmo para encontrar el circuitoeuleriano en dos fases.

La primera fase es elegir un sentido de recorrido de todas lasaristas.

La segunda fase sera juntas los recorridos en un unico camino.

Page 39: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Ejemplo

Vamos a ver si el siguiente grafo es Euleriano y encontrar uncircuito Euleriano en caso de serlo.

??

Como podemos ver facilmente, todos los vertices tienen grados 2 o4 y es claramente conexo.

Page 40: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Establecer Sentido de Recorrido

Para establecer el sentodode recorrido del grafovamos a considerar que elgrafo es dirigido.Todas las aristas tendrandos sentidos posibles derecorrido:

??

Page 41: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Establecer Sentido de Recorrido

Partimos de cualquiervertice, por ejemplo el 0 yelegimos al azar unsentido.Por ejemplo, vamos a ir de0 a 1. En ese casoeliminamos la arista queva desde 1 a 0 porque estaarista tendra que serrecorrida en el otrosentido.

??

Page 42: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Establecer Sentido de Recorrido

Ahora estamos en 1 ydebemos decidir haciadonde salimos.Vamos a ir por ejemplo a2, por lo tanto usaremos laarista (1, 2) y eliminaremosla arista (2, 1).

??

Page 43: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Establecer Sentido de Recorrido

Ahora en 2 volvemos atener varias opciones.Vamos a elegir ir a 0 parapoder ver un caso en quetenemos que empezardesde otro punto.

??

Page 44: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Establecer Sentido de Recorrido

El vertice 0 ya lo tenemosorientado, ası queempezamos desde otrovertice que no tengamosorientado, por ejemplo el 1y decidimos por ejemplo ira 4 por lo que eliminamosla arista en sentidocontrario (4, 1).

??

Page 45: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Establecer Sentido de Recorrido

De aquı vamos a 3 y luegoa 2.

??

Page 46: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Establecer Sentido de Recorrido

De 2 vamos a 4 y de 4 a 5. ??

Page 47: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Establecer Sentido de Recorrido

De 5 vamos a 3 y de 3 yasolo nos queda ir a 1. ??

Page 48: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Recorrer y Unir Trozos

La segunda fase consiste en ir recorriendo el grafo usando lossentidos marcados.

Page 49: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Recorrer y Unir Trozos

La segunda fase consiste en ir recorriendo el grafo usando lossentidos marcados.

No repetiremos ninguna arista. Cuando nos quedemosencerrados, sacaremos el circuito trazado del grafo y sitodavıa nos queda grafo por completar, empezaremos denuevo en el grafo que nos quede.

Page 50: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Recorrer y Unir Trozos

La segunda fase consiste en ir recorriendo el grafo usando lossentidos marcados.

No repetiremos ninguna arista. Cuando nos quedemosencerrados, sacaremos el circuito trazado del grafo y sitodavıa nos queda grafo por completar, empezaremos denuevo en el grafo que nos quede.

Al final tendremos una serie de circuitos C1, C2 ...

Page 51: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Recorrer y Unir Trozos

La segunda fase consiste en ir recorriendo el grafo usando lossentidos marcados.

No repetiremos ninguna arista. Cuando nos quedemosencerrados, sacaremos el circuito trazado del grafo y sitodavıa nos queda grafo por completar, empezaremos denuevo en el grafo que nos quede.

Al final tendremos una serie de circuitos C1, C2 ...

Todos estos circuitos tendran vertices en comun, puesto queel grafo es conexo, ası que iremos pegando los circuitos parahacerlos mas grandes.

Page 52: Sesion de Teor´ıa 6 - um.es

Algebra y Matematica Discreta Sesion de Teorıa 6

Grafos

Grafos Eulerianos

Recorrer y Unir Trozos

La segunda fase consiste en ir recorriendo el grafo usando lossentidos marcados.

No repetiremos ninguna arista. Cuando nos quedemosencerrados, sacaremos el circuito trazado del grafo y sitodavıa nos queda grafo por completar, empezaremos denuevo en el grafo que nos quede.

Al final tendremos una serie de circuitos C1, C2 ...

Todos estos circuitos tendran vertices en comun, puesto queel grafo es conexo, ası que iremos pegando los circuitos parahacerlos mas grandes.

Esto lo haremos hasta tenerlo todo en un solo circuito.