Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 5
Tema 5
Indice
1. 2. 3. 4. 5.
6.
7. 8.
9.
Tipos de grafos Conceptos Bsicos Representacin de grafos Subgrafos. Grafos complementarios Caminos y conectividad Grafos Bipartitos Recorridos, eulerianos o hamiltonianos Isomorfismo de grafos rboles
RafaC - Matemtica Discreta - UCM 07/08 2
Tipos de Grafos
Un grafo G es un par (V,E) donde: V ={v1,,vn} es un conjunto de vrtices E = {e1,,em} es un conjunto de aristas, con cada ek {vi, vj}, con vi, vj V, vi vj Los vrtices se representan como puntos y las aristas como lneas entre vrtices Ejemplo:
Tipos de Grafos
Tipos de grafos
Es importante recordar que un mismo grafo puede tener diferentes representaciones grficas Ejemplo:
Tipos de Grafos
En este caso a las aristas se les llama arcos y se representan como pares para indicar el orden:
Tipos de Grafos
Tipos de Grafos
Cuando las aristas tienen un valor numrico asociado se llama de grafos valorados:
Tipos de Grafos
Los tipos anteriores pueden combinarse, dando lugar por ejemplo a multigrafos valorados, o grafos dirigidos valorados, etc. En el resto del tema cuando no se diga lo contrario G representar un grafo o multigrafo no dirigido
Conceptos Bsicos
Dos vrtices se dicen adyacentes si existe una arista que los une Los vrtices que forman una arista son los extremos de la arista Si v es un extremo de una arista a, se dice que a es incidente con v El grado de un vrtice v, gr(v) es el nmero de aristas incidentes en v. Si hace falta indicar el grafo en el que est v escribiremos gr(G,v)
RafaC - Matemtica Discreta - UCM 07/08 10
Conceptos Bsicos
Ejemplo:
gr(6)= _______
gr(1) = ________
11
Conceptos Bsicos
Teorema (de los apretones de manos) Sea G=(V,A) un grafo. Entonces: gr(v) = 2|A|
v V
Significado: la suma de los grados de todos los vrtices es igual a 2 veces el nmero de aristas Explicacin:
12
Conceptos Bsicos
Ejemplo:
Conceptos Bsicos
Para cada n1 se llama grafo completo de orden n, y se representa por Kn, al grafo de n vrtices conectados de todas las formas posibles:
Conceptos Bsicos
Se llama ciclo de grado n, y se denota Cn, a G=({v1,,vn}, {{v1, v2}, {v2, v3},, {vn-1, vn}, {vn, v1}} )
15
Representacin de Grafos
Para representar los grafos a menudo se utiliza la llamada matriz de adyacencia Se construye imaginando que en las filas y las columnas corresponden a los vrtices. Se pone un 0 para indicar que 2 vrtices no son adyacentes, y un 1 para indicar que s lo son:
1 2 3 4 5 6 Matriz de Adyacencia de G
1 2 3 4 5 6
Para representarla en un ordenador se utilizan matriz de valores lgicos (booleanos). True hay arista, False no hay arista
RafaC - Matemtica Discreta - UCM 07/08
16
Representacin de Grafos
En el caso de un grafo no dirigido la matriz ser simtrica. No ocurre lo mismo para grafos dirigidos:
Se supone que la fila representa el vrtice origen, y la columna el vrtice destino del arco
RafaC - Matemtica Discreta - UCM 07/08 17
Representacin de Grafos
El valor guardado es el coste de la arista/arco En lugar de 0, a menudo se emplea un valor especial para indicar que dos vrtices no estn conectados
RafaC - Matemtica Discreta - UCM 07/08 18
Representacin de Grafos
En informtica a menudo en lugar de la matriz se usa la lista de adyacencia A cada vrtice le corresponde una lista con sus adyacentes:
G Lista de Adyacencia de G
RafaC - Matemtica Discreta - UCM 07/08
19
Subgrafos
Subgrafos
Ejemplo:
G1 y G2 son subgrafos de G
RafaC - Matemtica Discreta - UCM 07/08 21
Subgrafos
Un grafo se dice cclico cuando contiene algn ciclo como subgrafo Ejemplo:
Contiene dos ciclos de long. 3: {a,e,f,a} y {_, _, _, _} Contiene un ciclo de longitud 6: {_,_,_,_,_,_,_} Contiene algn ciclo ms? ___
RafaC - Matemtica Discreta - UCM 07/08 22
Grafo Complementario
Grafo complementario
Ejemplo : Complementario de
1 Representar K6
3 Eliminarlas
24
Caminos y conectividad
Un recorrido en un grafo G = (V,A) es una sucesin de vrtices v0, v1, , vk tal que {vi,vi+1} A para todo 0 i < k La longitud de un recorrido v0, v1, , vk es k Ejemplo:
Caminos y conectividad
Observacin: Un recorrido puede repetir vrtices, y puede comenzar y acabar en vrtices diferentes Un camino es un recorrido v0, v1, , vk en el que vi vj para 0 i,j k, con i 0 o j k Es decir en un camino todos los vrtices son distintos entre s, excepto quizs el primero y el ltimo
RafaC - Matemtica Discreta - UCM 07/08 26
Caminos y conectividad
Ejemplo:
a,b,e,c,d es un camino
27
Caminos y conectividad
Si existe un camino entre dos vrtices se dice que estn conectados Sea G=(V,A) un grafo. La relacin xRy x e y estn conectados es de equivalencia (R ___) Si para todo par de vrtices de un grafo estn conectados se dice que el grafo es conexo g Las componentes conexas de un grafo G son los mayores subgrafos conexos de G
RafaC - Matemtica Discreta - UCM 07/08 28
Caminos y conectividad
G no es conexo: no hay camino entre a y b, por ejemplo. [a] = {a,c,e} [c] = {a,c,e} [e]={a,c,e} [b]={b,d} [d]={b,d} G/R = {[a],[b]} G tiene dos componentes conexas:
29
Caminos y conectividad
Un recorrido v0, v1, ,vk tal que v0 = vk es un circuito Un camino v0, v1, , vk tal que v0 = vk es un ciclo
a,b,f,c,e,f,a es un circuito
f,c,b,e,f es un ciclo
30
Grafos Bipartitos
Un problema interesante en un grafo es determinar su nmero cromtico: Cuntos colores son necesarios para pintar los vrtices de forma que cada arista una siempre colores distintos? Ejemplo: Grafo con nmero cromtico 4
31
Grafos Bipartitos
Aplicacin: coloreado de mapas Cuntos colores se necesitan para colorear un mapa de forma que no haya dos regiones con frontera con el mismo color?
32
Grafos Bipartitos
Idea: Transformar el mapa en un grafo, donde cada vrtice representa una regin y cada arista un lmite entre regiones:
Grafos Bipartitos
Resultado: Todos los mapas se pueden colorear con un mximo de 4 colores Solucin propuesta en 1879, probada en 1976 por K. Appel y W. Haken con la ayuda de un ordenador.
34
Grafos Bipartitos
Nosotros vamos a interesarnos en un caso particular: aquellos grafos que se pueden colorear en dos colores grafos bipartitos Definicin: Sea G=(V,A). Se dice que G es bipartito si existen V1, V2 tales que:
1. 2. 3.
Grafos Bipartitos
Ejemplos:
Es bipartito ?
S; V1 = {2,5}, V2={0,1,3,4,6,7}
36
Grafos Bipartitos
37
Grafos Bipartitos
Teorema: Una grafo es bipartito si y slo si no tiene ciclos de longitud impar Ejemplo anterior: No bipartito; contiene ciclos de longitud impar (en la figura aparece marcado uno de long. 3)
38
Recorridos eulerianos
Pregunta: sera posible dar un paseo pasando por cada uno de los siete puentes, sin repetir ninguno, comenzando y acabando en el mismo punto?
RafaC - Matemtica Discreta - UCM 07/08 39
Recorridos eulerianos
Existe un circuito que pase por todas las aristas una sola vez?
RafaC - Matemtica Discreta - UCM 07/08 40
Recorridos eulerianos
A estos circuitos se les llama circuitos eulerianos, y a los grafos que los contienen grafos eulerianos Grafo o multigrafo euleriano: admite un recorrido que pasa por todas las aristas una sola vez, empezando y terminando en el mismo vrtice. Los vrtices s se pueden repetir Ejemplo: Grafo euleriano.
Recorridos eulerianos
Recorridos eulerianos
Cmo saber si un grafo (o multigrafo) es euleriano? Teorema de Euler: Un grafo conexo es euleriano no tiene vrtices de grado impar Ejemplo:
Recorridos eulerianos
Si el grafo/multigrafo tiene slo dos vrtices de grado impar se llama semi-euleriano. Se puede convertir en euleriano aadindole una arista:
Euleriano
44
Recorridos hamiltonianos
Un grafo se dice hamiltoniano si existe un ciclo que recorre todos sus vrtices. Al ciclo se le llama ciclo hamiltoniano Ejemplos:
45
Recorridos hamiltonianos
No existe un mtodo sencillo para saber si un grafo es no hamiltoniano problema muy complejo Ejemplo: Este grafo es hamiltoniano
46
Isomorfismo de grafos
Idea: En ocasiones dos grafos con diferentes vrtices presentan la misma estructura:
Cmo probarlo? Buscando una funcin biyectiva que convierta los vrtices de uno en otro, preservando la estructura de las aristas Definicin: Dos grafos G=(V,A), G=(V,A) son isomorfos si existe una funcin biyectiva f:VV tal que {a,b}A {f(a),f(b)}A
RafaC - Matemtica Discreta - UCM 07/08 47
Isomorfismo de grafos
Ejemplo:
Isomorfismo de grafos
Y como saber si dos grafos no son isomorfos? Hay que buscar alguna caracterstica que diferencie la estructura de los dos grafos, como por ejemplo:
Distinto nmero de vrtices o de aristas Distinto nmero de ciclos de una longitud dada Distinto nmero de vrtices con un mismo grado n Aristas conectando vrtices con dos grados tales que no existan aristas de las mismas caractersticas en el otro grafo
Isomorfismo de grafos
Isomorfismo de grafos
rboles
A menudo se selecciona un nodo especial al que se llama raz, y se dibuja con la raz en la parte superior, sus adyacentes ms abajo y as sucesivamente:
52
rboles
Ejemplo: rbol
53
rboles
54
rboles
Ejemplos:
Anlisis de expresiones
rboles de bsqueda
55
rboles
Un poco de terminologa
Los vrtices de un rbol se llaman nodos Los nodos descendientes inmediatos de un nodo son sus hijos, y el nodo superior es el padre A una secuencia descendente de nodos se le llama rama Los nodos sin hijos se llaman hojas, y los que s tienen hijos nodos internos Un conjunto de rboles es un bosque
rboles
57
rboles recubridores
Dado un grafo conexo G =(V,A) decimos que un rbol T =(V,A) es un rbol recubridor de G si V=V, y A A. En el caso de grafos valorados interesa que la suma de pesos de las aristas del rbol sea lo ms pequea posible: rbol de recubrimiento mnimo.
RafaC - Matemtica Discreta - UCM 07/08
58
59
Algoritmo de Prim
1.
2.
En el caso de grafos valorados en cada paso se toma la arista de menor peso que cumpla 2) y se obtiene un rbol de recubrimiento mnimo.
60