Teoría de Grafos.-Clase 2

Slides:



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

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.
FACTORIZACIÓN LU Bachilleres:
Tema 3 Propiedades de los lenguajes independientes de contexto
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.
GRAFOS: ALGORITMOS FUNDAMENTALES
Teoría de Grafos I semestre 2009 UNIVERSIDAD NACIONAL DE INGENIERIA
MATEMÁTICAS DISCRETAS.
“GRAFOS” Chacón Zamora José Christian González García Andrea
Investigación Operativa II
RafaC - Matemática Discreta - UCM 07/08
Ecuaciones diferenciales de 1er orden :
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.
Tomado de UNIMET Prof. Antonio Syers
Tema Nº4.
Teoría de Grafos.
AED I. Estructuras de Datos.
GRAFOS HUGO ARAYA CARRASCO.
Teoría de Grafos.
Estructuras de datos y algoritmos
1 Algoritmos Elementales de Grafos Agustín J. González ELO-320: Estructura de Datos Y Algoritmos 1er.Sem
Programación entera y grafos
PROGRAMACIÓN PARALELA EN ALGORITMOS SOBRE GRAFOS
Material de apoyo Unidad 4 Estructura de datos
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.
Ciudad de Könisberg, Prusia, en XVIII:
Teoria de grafos.-clase 4
Instituto Tecnológico de Tijuana Subdirección Académica
Teoría de Grafos lógica y algoritmos.
Árbol recubridor mínimo Distancias
Introducción a las imágenes digitales
Cesar Luis García Castro
Matemáticas Discretas
LÍMITE DE UNA SUCESIÓN.

Tema 5: Grafos Rafa Caballero - Matemática Discreta - UCM 06.
Grafos planos Jose hungria.

Algoritmos y Estructuras de Datos III (segunda parte) 1er cuatrimestre 2010 Min Chih Lin Irene Loiseau.
Lenguajes regulares Teoría del Autómata.
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
Curso de Teoría del Autómata
s t a c b d Grafos.
Problema de inclusión en una Curva Digital Por Orellana Muñoz, Alfonso Paz Vicente, Rafael Pérez Medina, Gerardo Rodríguez Naranjo.
CAPÌTULO 1 Vectores en el espacio
Coloración de grafos Teoría de Grafos
Sesión 3: Teoría de Grafos
Fundamentos Matemáticos IV
Teoría de Grafos.
Definiciones: conjuntos, grafos, y árboles
Agustín J. González ELO320: Estructura de Datos y Algoritmos
Cecilia Laborde González
Estructura de Datos 4 Grafos Dirigidos
UNIDAD 2 Grafos Árboles abarcadores mínimos Caminos más cortos.
Capítulo 7: Grafos Autor: José Alfredo Jiménez Murillo.
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
Matrices Pág. 1. Matrices Pág. 2 Se llama matriz traspuesta de A, y se representa por A t a la matriz que resulta de intercambiar las filas y las columnas.
Matemáticas Discretas MISTI
GRAFOS HAMILTONIANOA Subtítulo.
Recorridos de grafos Segunda Parte M.C. Meliza Contreras González.
TEMA I Teoría de Circuitos
LOGICA Y MATEMATICA COMPUTACIONAL
Transcripción de la presentación:

Teoría de Grafos.-Clase 2 Conexión y árboles

Aplicación 1: Problemas de ordenación. (Estructura de una compañía) Director Coordinador 1 Coordinador 2 Trabajador 3 Trabajador 4 Trabajador 5 Trabajador 1 Trabajador 2

Aplicación 2.Problemas de búsqueda (Recorrer todas las habitaciones de un laberinto)

Aplicación 3: problemas de conectividad mínima Aplicación 3: problemas de conectividad mínima. (Reconstrucción de carreteras tras un terremoto)

Aplicación 3b: problemas de conectividad mínima Aplicación 3b: problemas de conectividad mínima. (Reconstrucción de carreteras tras un terremoto con varios costes) 3 3 7 2 8 4 8 2 5 2

Definiciones: u v e1 u, e1, v, e3, w, e6, x, e4, u, e1, v, e5, y e2 e3 En general escribiremos u, v, w, x, u, v, y e5 e6 e7 w x y Definición: Una cadena (walk) de un vértice u a un vértice y es una sucesión alternante de vértices y aristas, los cuales pueden estar repetidos.

Definiciones: u v e1 u, e4, x, e6, w, e3, v, e5, y e2 e3 e4 u, x, w, v, y e5 e6 e7 w u v x y e3 e4 e5 e6 w x y Definición: Una camino (path) de un vértice u a un vértice y es una cadena de u a y sin vértices repetidos.

Definiciones: u v e1 u, e1, v, e5, y, e7, w, e2, u e2 e3 e4 u, v, y, w, u e5 e6 e7 w u v e1 x y e2 e5 e7 w y Definición: Una ciclo (cycle) es un camino que empieza y acaba en el mismo vértice.

Definiciones: u v e1 x, e6, w, e3, v, e1, u, e2, w, e7, y e2 e3 e4 x, w, v, u, w, y e5 e6 e7 w u v e1 x y e2 e3 e6 e7 w x y Definición: Una recorrido (trail) es una cadena sin aristas repetidas (se pueden repetir vértices). Observar que es una condición mas débil que un camino.

Definiciones: u v e1 x, e6, w, e3, v, e5, y, e7, w, e2, u, e4, x e2 e3 x, w, v, y, w, u, x e5 e6 e7 w u v x y e2 e3 e4 e5 e6 e7 w x y Definición: Una circuito (circuito) es un recorrido con el mismo origen y final. Observar que un circuito es condición mas débil que un ciclo.

Teorema: Toda cadena u-v contiene un camino u-v Sea u=u0, u1, u2, … , un=v una cadena de longitud n. Suponemos que u es diferente de v. Si todos los vértice son diferentes entonces es un camino Si hay dos vértices iguales digamos ui y uj son iguales con i diferente a j, entonces u=u0, u1, u2, …, ui, ui+1, … uj-1, uj, uj+1, … , un=v Eliminando los vértices desde ui hasta uj-1 tendríamos una cadena donde estos dos vértices no están repetidos. Repitiendo el proceso hasta que no haya vértices repetidos nos daría un camino de u a v. w x y v u e2 e1 e3 e4 e6 e5 e7 u, e1, v, e3, w, e6, x, e4, u, e1, v, e5, y u, e1, v, e3, w, e6, x, e4, u, e1, v, e5, y

Definición: Un vértice u se dice que esta conectado al vértice v si existe una cadena (camino) de u a v. Un grafo se dice conexo o conectado si u esta conectado a v para todas posibles parejas de vértices u y v. Un grafo que no es conexo se dice disconexo. Un subgrafo H de un grafo G se dice una componente de G si H es un subgrafo maximal conexo de G. Grafo conexo Grafo disconexo con 4 componentes

Definición: Un vértice v en un grafo G se denomina vértice de corte si K(G-v) ≥ K(G) Grafo conexo G K(G)=1 v3 K(G-v3)=2 V3 es un vértice de corte v4 v4 v5 v5 v6 v6 v1 v1 v2 v3 v3 K(G-v2)=1 V2 NO es un vértice de corte K(G-v5)=2 V5 es un vértice de corte v4 v4 v5 v6 v6

Definición: Una arista e de un grafo G se denomina puente si K(G-e) ≥ K(G) v1 v2 v3 v5v4 es puente K(G –v5v4)=2 v1 v2 v4 v5 Grafo conexo G K(G)=1 v3 v6 v4 v5 v1 v2 v6 v1v2 NO es puente K(G –v1v2)=1 v3 v4 v5 v6

Sea G un grafo conexo, si e es un puente entonces no esta en un ciclo Teorema: Una arista e de un grafo conexo G es un puente de G si y solo si e no esta en un ciclo de G. Sea G un grafo conexo, si e es un puente entonces no esta en un ciclo Lo probamos por reducción al absurdo. Imaginemos que “e” estuviese en un ciclo. Sea el ciclo u, v, w, … , x, u e imaginemos sin perdida de generalidad que e = uv. Entonces existe un camino en G-e que une uv que seria u, x, …, w, v. Veamos que dos vértices cualesquiera a1 y a2 de G-e están conectados, lo cual es absurdo ya que ya que G-e debería ser disconexo porque e=uv es un puente. Como G es conexo existe un camino de a1 a a2 en G. -Si el camino no contiene a uv también estarán conectados en G-e -Si el camino contiene a e=uv solo hay que cambiar e=uv por u, x, …, w, v. Por tanto G-e es conexo lo cual es una contradicción ya que G-e debería ser disconexo puesto que e=uv es un puente. Si e no esta en un ciclo de G entonces es un puente. Si e=uv no esta en un ciclo entonces G-e no contiene un camino de u a v ya que Si lo contuviese uniendo el vértice uv seria un ciclo. Entonces u y v no están conectados y por tanto el grafo no es conexo.

Definición: Un árbol es un grafo conexo sin ciclos. Árbol p=1 Árbol p=2 Árbol p=3 Árboles p=4 Árboles p=6

Teorema: Un árbol de orden p tiene tamaño p-1. Si p=1, hemos visto que q=0. Si p=2, también hemos visto que q=1. Suponemos que hasta orden k-1 se cumple. Lo demostramos para p=k. Sea T un árbol de orden k. Tenemos que probar que tiene tamaño q= k-1. Como todos las aristas son puentes si quitamos una, quedarían dos componentes T1 y T2. Sean p1 y p2 respectivamente el orden de T1 y T2 y q1 ,q2 sus tamaños. Evidentemente, k=p1+p2 y q=q1+q2+1. Como p1 y p2 son menores que k-1 por hipótesis se cumple que q1=p1-1 y q2=p2-1 Entonces q=q1+q2+1=(p1-1)+(p2-1)+1=p1+p2-1=k-1

Ejercicio: Sean T1 =(V1,A1) y T2=(V2,A2) dos árboles tales que |A1|=17, |V2|=2|V1| . Determinar |V1|, |V2| y |A2|. V1 es 18 ya que el tamaño de un árbol de orden p es p-1. V2=36 ya que 2*18=36 y A2 = 35

Consecuencia. Sea G un grafo de orden p- Entonces las siguientes afirmaciones son equivalentes: G es un árbol. (Conexo y sin ciclos) G tiene tamaño p-1 y no tiene ciclos. G es conexo y tiene tamaño p-1. (1)->(3) Por el teorema anterior sabemos que tiene tamaño p-1. (2)->(3) Tenemos que ver que es conexo. Si no fuese conexo, tendría k árboles (ya que no tiene ciclos). Cada árbol tendría p1, p2, … , pk vértices con p1+p2+ ...+ pk=p. Aplicando el teorema anterior tendría tamaño p1-1+p2-1+ ...+ pk-1=p-k. Como sabemos que tiene tamaño p-1 se tiene que k=1. Es decir una única componente y por tanto conexa. (3)->(1) Como ejercicio. Basta observar cual es el menor numero de aristas Necesarias para hacer un ciclo.( Para una demostración rigurosa consultar Gross)

Teorema: Todo árbol con p≥2 contiene al menos dos vértices extremos (grado 1). Vamos a probarlo por reducción al absurdo. Supondremos que no es cierto y llegaremos a una contradicción. Sea T un árbol de orden p y tamaño q con secuencia de grados d1 ≤ d2 ≤ … ≤ dp Como T es conexo al menos cada vértice tiene grado 1 es decir di ≥ 1. Supongamos que no contiene al menos dos vértices de grado 1. Es decir contendría o 0 o 1. Cero no puede ser ya que es conexo. Entonces tendría que tener solo un vértice de grado 1. Entonces se d1 =1 y di ≥2 para los demás vértices. Entonces ∑ di ≥ 1 + 2 (p-1)= 2p -1 (1) (un vértice tiene grado 1 y los otros como mínimo tienen grado 2) Uniendo el teorema 1 de la clase 1 y que como T es un árbol tiene p-1 aristas ∑ di=2q=2(p-1)=2p-2. (2) Uniendo (1) y (2) tenemos 2p-2 ≥ 2p -1 que es absurdo

Teorema: Si u y v son dos vértices distintos de un árbol T, entonces T Contiene exactamente un camino (path) u-v. Sabemos que existe al menos 1 ya que es conexo. Igual que antes vamos a demostrarlo por reducción al absurdo. Supongamos que existen dos caminos P y Q que unen u y v. Entonces tiene que existir un vértice ui donde el siguiente vértice en los dos caminos es diferente. De igual forma existe un vértice u n-j a partir del cual ambos tienen los mismos vértices. u ui un-1 v un-j u2 P Q a1 am ui+1 u n-j-1 Si esto pasase, existiría un ciclo y es absurdo ya que los árboles no tienen ciclos.

Algoritmo Depth-First Search Es un algoritmo que garantiza que de forma sistemática recorremos todos los vértices del grafo. Esta basado en el concepto de pila L M N O P G Q H J I K F E D B C A Pila Apilar Desapilar

Ejemplo: Recorrer todos los vértices del siguiente grafo mediante DFS empezando en 1. 7 2 5 8 4 6 3 1

v1 v1 1 1 2 v1 1 6 7 2 1 3 5 8 4 Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 6 7 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v2 2 1 3 v1v2 1 v2 6 7 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v2 2 1 3 v1v2 1 v2 v5 3 1 4 v1v2v5 1 v5 6 7 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v2 2 1 3 v1v2 1 v2 v5 3 1 4 v1v2v5 1 v5 v6 4 1 5 v1v2v5v6 v6 6 7 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v2 2 1 3 v1v2 1 v2 v5 3 1 4 v1v2v5 1 v5 v6 4 1 5 v1v2v5v6 v6 v5 - 5 v1v2v5 1 6 7 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v2 2 1 3 v1v2 1 v2 v5 3 1 4 v1v2v5 1 v5 v6 4 1 5 v1v2v5v6 v8 v6 v5 - 5 v1v2v5 1 v8 5 1 6 v1v2v5v8 6 7 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v2 2 1 3 v1v2 1 v2 v5 3 1 4 v1v2v5 1 v5 v6 4 1 5 v1v2v5v6 v8 v6 v5 - 5 v1v2v5 1 v8 5 1 6 v1v2v5v8 v5 - 6 v1v2v5 6 7 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v2 2 1 3 v1v2 1 v2 v5 3 1 4 v1v2v5 1 v5 v6 4 1 5 v1v2v5v6 v8 v6 v5 - 5 v1v2v5 1 v8 5 1 6 v1v2v5v8 v5 - 6 v1v2v5 v2 - 6 v1v2 6 7 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v2 2 1 3 v1v2 1 v2 v5 3 1 4 v1v2v5 1 v5 v6 4 1 5 v1v2v5v6 v8 v6 v5 - 5 v1v2v5 1 v8 5 1 6 v1v2v5v8 v5 - 6 v1v2v5 v2 - 6 v1v2 v1 - 6 v1 1 6 7 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v3 v2 2 1 3 v1v2 1 v2 v5 3 1 4 v1v2v5 1 v5 v6 4 1 5 v1v2v5v6 v8 v6 v5 - 5 v1v2v5 1 v8 5 1 6 v1v2v5v8 v5 - 6 v1v2v5 v2 - 6 v1v2 v1 - 6 v1 1 v3 6 1 7 v1v3 1 6 7 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v3 v2 2 1 3 v1v2 1 v2 v4 v5 3 1 4 v1v2v5 1 v5 v6 4 1 5 v1v2v5v6 v8 v6 v5 - 5 v1v2v5 1 v8 5 1 6 v1v2v5v8 v5 - 6 v1v2v5 v2 - 6 v1v2 v1 - 6 v1 1 v3 6 1 7 v1v3 1 v4 7 1 8 v1v3v4 6 7 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v3 v2 2 1 3 v1v2 1 v2 v4 v5 3 1 4 v1v2v5 1 v5 v6 4 1 5 v1v2v5v6 v8 v6 v5 - 5 v1v2v5 1 v8 5 1 6 v1v2v5v8 v5 - 6 v1v2v5 v2 - 6 v1v2 v1 - 6 v1 1 v3 6 1 7 v1v3 1 v4 7 1 8 v1v3v4 6 7 v3 - 8 v1v3 1 2 1 3 5 8 4

Aumentamos etiqueta (si hubo asignación de etiqueta) Asignamos Etiqueta (si actual es nuevo) Hubo asignación etiqueta Actual Pila Adyacentes v1 v1 1 1 2 v1 1 v3 v2 2 1 3 v1v2 1 v2 v4 v5 3 1 4 v1v2v5 1 v5 v7 v6 4 1 5 v1v2v5v6 v8 v6 v5 - 5 v1v2v5 1 v8 5 1 6 v1v2v5v8 v5 - 6 v1v2v5 v2 - 6 v1v2 v1 - 6 v1 1 v3 6 1 7 v1v3 1 v4 7 1 8 v1v3v4 6 7 v3 - 8 v1v3 1 v7 8 1 9 v1v3v7 2 1 3 v3 - 9 v1v3 5 5 v1 - 9 v1 8 4

v1 6 7 v2 v3 2 1 5 3 v5 8 4 v7 v4 v6 v8

Algoritmo Depth-First Search Es un algoritmo parecido al DFS que garantiza que de forma sistemática recorremos todos los vértices del grafo. Esta basado en el concepto de cola. L M N O P G Q H J I K F E D B C A Elimina Añade 2 3 4 8 1 3 5 11

7 2 5 8 4 6 3 1

6 7 2 1 3 5 8 4 v1 (1) v1

6 7 2 1 3 5 8 4 v1 (1) v1 (2) v1 v2 v3 v4 v6 v7 v8 v2 v3 v4 v6 v7 v8 v2 v3 v4 v6 v7 v8

6 7 2 1 3 5 8 4 v1 (1) v1 (2) v1 v2 v3 v4 v6 v7 v8 v2 v3 v4 v6 v7 v8 v2 v3 v4 v6 v7 v8 (3) v2 v3 v4 v6 v7 v8 v5 v3 v4 v6 v7 v8 v5 v5

6 7 2 1 3 5 8 4 v1 (1) v1 (2) v1 v2 v3 v4 v6 v7 v8 v2 v3 v4 v6 v7 v8 v2 v3 v4 v6 v7 v8 (3) v2 v3 v4 v6 v7 v8 v5 v3 v4 v6 v7 v8 v5 v5 (4) v3 v4 v6 v7 v8 v5 v4 v6 v7 v8 v5

6 7 2 1 3 5 8 4 v1 (1) v1 (2) v1 v2 v3 v4 v6 v7 v8 v2 v3 v4 v6 v7 v8 v2 v3 v4 v6 v7 v8 (3) v2 v3 v4 v6 v7 v8 v5 v3 v4 v6 v7 v8 v5 v5 (4) v3 v4 v6 v7 v8 v5 v4 v6 v7 v8 v5 v4 v6 v7 v8 v5 v6 v7 v8 v5 (5)

6 7 2 1 3 5 8 4 v1 (1) v1 (2) v1 v2 v3 v4 v6 v7 v8 v2 v3 v4 v6 v7 v8 v2 v3 v4 v6 v7 v8 (3) v2 v3 v4 v6 v7 v8 v5 v3 v4 v6 v7 v8 v5 v5 (4) v3 v4 v6 v7 v8 v5 v4 v6 v7 v8 v5 v4 v6 v7 v8 v5 v6 v7 v8 v5 (5) (6) v6 v7 v8 v5 v7 v8 v5 (7) v7 v8 v5 v8 v5 v5 (8) v8 v5

7 2 5 8 4 6 3 1 v1 v1 v2 v3 v2 v3 v4 v6 v7 v8 v5 v5 v7 v4 v6 v8 DBS DFS