560 likes | 1.1k Views
Matemáticas Discretas. (Mini) Cursos Propedéuticos 2012 Ciencias Computacionales INAOE Dr. Hugo Jair Escalante hugojair@inaoep.mx http://ccc.inaoep.mx/~hugojair O ficina 8319. Este material se basa en versiones previas del mismo por : Dr. Enrique Muñoz de Cote
E N D
Matemáticas Discretas (Mini) Cursos Propedéuticos 2012 Ciencias Computacionales INAOE Dr. Hugo Jair Escalante hugojair@inaoep.mx http://ccc.inaoep.mx/~hugojair Oficina 8319 Este material se basa en versionesprevias del mismopor: Dr. Enrique Muñoz de Cote Dr. Enrique Sucar Dr. Luis Villaseñor
QUINTA PARTE • Grafos • Definiciones básicas • Caminos y ciclos • Grafos eulerianos y hamiltonianos • Isomorfismo • Árboles
Generalidades • Los grafos son estructuras discretas compuestas por vértices y aristas que conectan pares de esos puntos • Son una abstracción útil para modelar situaciones tales como: • Redes de computadoras • Estructuras de datos • Redes eléctricas y telefónicas • Circuitos eléctricos • Sistemas carreteros • Sistemas de toma de decisiones
2 3 1 5 4 ¿Qué son? • Un grafo es una representación gráfica de objetos y relaciones binarias entre éstos. • Un grafo se representa gráficamente por medio de puntos o pequeños círculos, que designan vértices, y líneas que los unen, que representan las aristas
2 3 1 5 4 Grafos dirigidos • Un grafo dirigido/dígrafo G = (V, E) consiste de un conjunto de vértices V (o nodos) y un conjunto de aristas (o arcos) dirigidas E VV • Note que las aristas (a, b) tiene una dirección; un vértice fuente/origen a y un vértice terminal b • V={1,2,3,4,5} • E = {(1,3), (2,3), (3,4), (4,3), (5,3), (5,4), (5,5)}
2 3 1 5 4 Grafos simples • Un grafo no dirigido G = (V,E) sin auto lazos se denomina grafo simple • E se determina por una relación simétrica, antireflexiva, tal que {a,b} E si y solo si (a,b)R • V={1,2,3,4,5}E = {{1,2}, {1,3}, {2,3}, {3,4}, {3,5}, {4,5}, {2,5}}
Definiciones • Si e={u, v} es una arista entonces se dice que los vértices u y v son los extremos de e • Un vértice y una arista son incidentes si el vértice es uno de los extremos de la arista • Dos vértices u y v son adyacentes si {u, v} es una arista
Representación de grafos simples {1,2} 1 2 {2,3} {1,3} {2,4} {3,4} 3 4 {1,4}
1 2 e1 e3 e2 e4 3 4 Ejemplo: vértices • ¿Cuáles vértices son adyacentes a 1?
1 2 e1 e3 e2 e4 3 4 Ejemplo: vértices • ¿Cuáles vértices son adyacentes a 1? • 1 es adyacente a 2 y 3 • 2 es adyacente a 1 y 3 • 3 es adyacente a 1 y 2 • 4 no es adyacente a vértice alguno
1 2 e1 e3 e2 e4 3 4 Ejemplo: vértices • ¿Cuáles aristas son incidentes a 1? • e1, e2, e4 son incidentes a 2 • 2 es incidente con e1, e2, e4 • 3 es incidente con e2, e3 • 4 no es incidente con ninguna arista
Definiciones • Dos aristas asociadas al mismo par de vértices son aristas paralelas • Una arista incidente en un sólo vértice es un ciclo • Un vértice que no es incidente en ninguna arista es un vértice aislado
Matriz de adyacencia • Forma de representar grafos y relaciones 2 1 3 4
Ejemplo • ¿Cuál es la matriz de adyacencia del grafo de la figura? 1 2 3 4
Tipos de grafos Un grafo no dirigido sin auto lazos (un ciclo sobre un mismo vértice) se denomina grafo simple Un grafo con aristas paralelas (dos aristas pueden conectar un mismo par de vértices) es llamado multigrafo Un grafo completo es un grafo con arcos entre cada par de vértices Un grafo pesado es aquel que tiene pesos asociados a nodos y/o arcos
Grafos completos • Se llama grafo completo en n vértices a un grafo con n vértices v1, v2, …, vn donde para todo a y b que pertenecen a V existe una arista {a, b}. Este grafo se denota Kn, y el número de aristas de Kn es n(n-1)/2 Cada par de vértices distintos comparte un arista
Grados • El grado de un vértice v de un grafo es el número g(v) de aristas incidentes con él. Si g(v) = 0 se dice que v es un vértice aislado • En grafos dirigidos existen grado de entrada y grado de salida • La sucesión de grados de un grafo se obtiene ordenando en forma creciente los grados de todos los vértices
e6 e1 e2 1 2 e5 e4 e3 3 Ejemplo: grado de un vértice • ¿Cuál es grado del vértice 2? • g(2)=1+1+1+2+2=7
2 1 3 Ejemplo: grado de un vértice • ¿Cuáles son los grado de entrada y salida de los vértices del grafo mostrado en la figura? • g-(1) = 0 • g-(2) = 3 • g-(3) = 4 • g+(1) = 2 • g+(2) = 3 • g+(3) = 2
Teorema de Euler • En todo grafo G=(V, E) se cumple • Las aristas se pueden contar considerando cuantas son incidentes en cada vértice y sumando todos los números obtenidos. Pero así cada arista resulta contada dos veces, una para cada uno de sus extremos
Ejemplos • Si un grafo tiene una sucesión de grados 0, 0, 1, 2, 3, 4, ¿Cuántas aristas tiene? • (0+0+1+2+3+4)/2=5 • ¿Existe algún grafo cuya sucesión de grados sea 1, 1, 2, 3, 4? • No, dado que 1+1+2+3+4=11 es impar
Subgrafos • Si G = (V, E) y H = (W, F) son grafos tales que W V y F E, entonces se dice que H es un subgrafo de G y que G es un supergrafo de H. Cada arista de F es incidente con vértices en W
Ejemplo b b b a c e a c e d d d
Caminos y ciclos • Un camino de longitud n+1 es un grafo G = (V, E) con V = {v0, v1, v2, . . . , vn} y E = {v0v1, v1v2, . . . , vn−1vn}. Un camino se representa dando la sucesión v0v1 . . . vn de sus vértices, entendiendo que las aristas son v0v1, v1v2,. . . , vn−1vn. A v0 y vn se les llama extremos del camino. • Camino: Secuencia ordenada de vértices y arcos. • Recorrido: Camino sin aristas repetidas • Camino cerrado: Cuyo inicio es igual que el final • Camino elemental: Sin vértices repetidos. • Camino simple: Camino elemental sin aristas repetidas.
Caminos y ciclos • Un ciclo de longitud n es un grafo G = (V,E) de orden n≥3, con vértices v0, v1, . . . , vn−1 y aristas v0v1, v1v2,. . . , vn−2vn−1 y vn−1v0. • Ciclo: Camino elemental cerrado (i.e., sin vértices repetidos). • Circuito: recorrido cerrado (i.e., sin aristas repetidas).
Camino de a-b {a, b},{b, d}, {d, c}, {c, e}, {e, d}, {d, b} Camino de b a f b – c – d – e – c – f Camino de f a a {f, c}, {c, e}, {e, d}, {d, a} Camino de c a c c – e – d – c Ejemplo a b c d e f
Distancia y diámetro • La distancia d(u, v) entre dos vértices u y v de un grafo es la longitud del camino más corto de u a v. Si no existe ningún camino de u a v entonces d(u, v) = ∞. • El diámetro de G es la máxima distancia entre dos vértices distintos de G y se denota diam(G).
Grafo conexo • Un grafo G = (V, E) es conexo si para cualquier par de vértices u, y v existe un camino en G que los une, es decir un camino con extremos u y v. Equivalentemente, G es conexo si diam(G) < ∞
Ejemplo • Sea G=(V, E) un grafo no dirigido en V={a, b, c, d, e, f, g} • El grafo no es conexo • Los dos sub-grafos son conexos a e g b c f d
Problemas de Caminos y Circuitos • Encontrar si existe un camino entre un par de vértices • Encontrar el camino más corto entre un par de vértices • Encontrar camino que pase por cada arista una sola vez (Euler) • Encontrar circuito que pase por cada vértice una sola vez (Hamilton)
Camino simple de Euler • Un camino simple de Euler es un camino que pasa por todas las aristas exactamente una sola vez. • Los puentes de Königsberg
Camino simple de Euler Teorema: (a) Si un grafo conexo tiene más de dos nodos con grado impar, no existe un camino simple de Euler. (b) Si existen exactamente dos vértices de grado impar, el grafo se puede recorrer, pero el camino ha de empezar en uno de los dos vértices de grado impar y terminar en el otro. (c) Si no existen vértices de grado impar, el grafo se puede recorrer. El camino siempre será cerrado.
Ciclo de Hamilton • Sean G=(V, E) un grafo, se dice que G tiene un ciclo de Hamilton si existe un ciclo en G que incluye todos y cada uno de los vértices en V.
Ejemplo • En el grafo de la figura, las aristas {a, b}, {b, c}, {c, f}, {f, e}, {e, d}, {d, g}, {g, h} y {h, i} producen una camino de Hamilton a b c e d f g i h
¿Existe solución? Dado un grafo cualquiera, ¿es posible determinar si posee un camino Hamiltoniano? Es una pregunta muy parecida a la de Euler, así que se esperaría una respuesta del mismo tipo…
Grafos bipartitos • Un grafo G=(V, E) se dice que es bipartito si el conjunto de vértices V puede particionarse en dos subconjuntos V1 y V2 tales que todas las aristas tengan un extremo en V1 y el otro en V2 • Grafos bi-cromáticos: los vértices pueden ser coloreados usando dos colores de tal forma que dos vértices adyacentes no tienen el mismo color
Ejemplo: grafo bipartito • El grafo de la figura es bipartito
Clique • Grafo completo: cada par de nodos distintos son adyacentes • Conjunto completo: subconjunto W de G que induce un subgrafo completo de G • Clique: subconjunto de nodos que es conjunto completo y máximo (no hay un conjunto completo que lo contenga)
Isomorfismo • Dos grafos G={V, E} y G’={V’, E’} son isomorfos si existe una biyecciónf: V V’ que preserva la relación de adyacencia, es decir tal que • {u, v} E si y solo si {f(u), f(v)} E’ • Dos grafos isomorfos deben tener el mismo número de vértices. Todas las propiedades que se deriven de la relación de adyacencia deben ser idénticas: mismo número de aristas y sucesiones de grado
Ejemplo: isomorfismo • Los dos grafos representados en la figura son isomorfos: B A B D A C C D
Ejemplo a b w x d y c z Grafos isomorfos
Ejemplo u b c v w d a e f x y z Grafos no isomorfos
Tipos de isomorfismos • Isomorfismo de grafos • correspondencia 1:1 entre dos grafos G1 - G2 • Isomorfismo de subgrafos • correspondencia entre un grafo G1 y los subgrafos de G2 • Doble isomorfismo de subgrafos • correspondencia entre los subgrafos de G1 y los subgrafos de G2