sesion de teor´ıa 6 - um.es
TRANSCRIPT
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
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.
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, ...)
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Algebra y Matematica Discreta Sesion de Teorıa 6
Grafos
Grafos Eulerianos
??
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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:
??
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.
??
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).
??
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.
??
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).
??
Algebra y Matematica Discreta Sesion de Teorıa 6
Grafos
Grafos Eulerianos
Establecer Sentido de Recorrido
De aquı vamos a 3 y luegoa 2.
??
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. ??
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. ??
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.
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.
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 ...
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.
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.