Capítulo 1 Teoría de Grafos 1.1. Introducción Definición. Denominaremos pseudomultigrafo a una terna (V,E, γ), donde V y E son conjuntos y γ : E {{u,v}: u,v V }. El conjunto V se denomina conjunto de vértices y sus elementos vértices y el conjunto E, conjunto de aristas, y sus elementos aristas. Se denotará G = (V, E) o si se referencian más de un grafo, V (G) y E(G) serán los conjuntos de vértices y aristas, respectivamente. Diremos que u,v V son adyacentes si {u,v} E. Denotaremos #V el número de vértices y #E el número de aristas. Diremos que una arista a es un lazo si γ(a) = (u,u) para algún u V. Diremos que dos aristas a,a son paralelas si γ(a) γ(a ). Diremos que un pseudomultigrafo es un grafo si no tiene lazos ni aristas paralelas. Diremos que es un pseudografo si no tiene aristas paralelas y diremos que es un multigrafo si no tiene lazos. Ejemplo 1.1. Ejemplos de multigrafos, pseudografos y grafos. Definición. Denominamos digrafo o grafo dirigido a (V, E,s, t), donde V,E son conjuntos y s,t: E V son aplicaciones. Es decir, las aristas consisten en pares ordenados de vértices (s(a) sería el vértice origen de la arista a y t(a) el destino). Ejemplo 1.2. Ejemplos de digrafos. 1.1.1. Grafos isomorfos Definición. Dados dos grafos G = (V, E, γ) y G = (V,E,γ ), diremos que son isomorfos si existen biyecciones f : V V, g: E E tales que g(γ(a)) = γ (f(a)). Es decir, si renombrando los vértices y aristas del primer grafo obtenemos el segundo. 13
Ejemplo 1.3. Ejemplos de grafos isomorfos. Definición. Sea G un grafo y u V (G). Se llama grado de u al número de aristas que lo tienen como extremo y se denota gr(u). Proposición 1.4. Si G y G son isomorfos y f es la biyección entre los vértices, entonces gr(u) = gr(f(u)). Ejemplo 1.5. Uso del grado para ver que dos grafos no son isomorfos. Teorema 1.6. Sea G = (V, E) un grafo y V = {v 1,...,v p }. Entonces p gr(v i ) = 2#E. i=1 Corolario 1.7. Todo grafo tiene un número par de vértices de grado impar. Ejemplo 1.8. Comprobemos el resultado con un ejemplo. Definición. Sea G un grafo. Un subgrafo de G es cualquier grafo H tal que V (H) V (G) y E(H) E(G). Diremos que un subgrafo H de un grafo G es completo si se verifica que si a E(G) y γ(a) V (H), entonces a E(H). Es decir, si dos vértices del subgrafo estaban conectados por una arista en el grafo, entonces también lo están en el subgrafo, o, dicho de otro modo, H se ha obtenido eliminando vértices de G. Ejemplo 1.9. Ejemplos de subgrafos de un grafo dado. Proposición 1.10. Si H es un subgrafo de G, entonces #V (H) #V (G), #E(H) #V (G) y gr H (u) gr G (u) para todo u V (H). 1.1.2. Grafos regulares y completos Definición. Un grafo se dice que es regular si todos sus vértices tienen el mismo grado. Si ese grado es k, entonces el grafo es k-regular. Ejemplo 1.11. Grafos regulares. Todos los grafos regulares de 6 vértices. Definición. Un grafo se dice completo si todo par de vértices son los extremos de una arista. Ejemplo 1.12. Grafos completos. Proposición 1.13. Dos grafos completos son isomorfos si y sólo si tienen el mismo número de vértices. Proposición 1.14. El grafo completo de k vertices es (k 1)-regular. 14
1.2. Grafos eulerianos y hamiltonianos Definición. Un camino de un grafo G es una sucesión de vértices de G. Un camino de un multigrafo G es una sucesión alterna de vértices y aristas que los conectan. Se denominan extremos del camino al primer y al último vértice. El primer vértice se denomina extremo inicial y el último extremo final. Decimos que un camino es cerrado si los extremos son el mismo vértice. Decimos que dos vértices de un grafo están conectados si existe un camino que los tiene como extremos. En ese caso también se dice que el camino conecta dichos vértices. La longitud de un camino es el número de aristas que comprende. En el caso de grafos coincide con el número de vértices del camino menos uno. Decimos que un camino es simple si no repite vértices. Decimos que un camino cerrado es un ciclo si no repite vértices salvo los extremos. Decimos que un camino cerrado es un circuito si no se repite ninguna arista (en particular, todo ciclo es un circuito). Ejemplo 1.15. Ejemplos de ciclos y circuitos. Teorema 1.16. Si en un grafo G existe un camino que conecta dos vértices distintos, entonces existe un camino simple que conecta los mismos vértices. Ejemplo 1.17. Construcción de un camino simple a partir de un camino. 1.2.1. Grafos conexos Definición. Decimos que un grafo es conexo si todo par de vértices están conectados. Si un grafo no es conexo se dice disconexo. La relación estar conectados es una relación de equivalencia. Dado un grafo, cada una de las clases de equivalencia por la relación anterior se denominan componentes conexas. Proposición 1.18. Un grafo es conexo si y sólo si tiene una única componente conexa. Ejemplo 1.19. Componentes conexas. 1.2.2. Grafos eulerianos Definición. Decimos que un camino es euleriano si contiene todas las aristas sin repetir ninguna. Decimos que un circuito es euleriano si contiene todas las aristas. Ejemplo 1.20. Caminos y circuitos eulerianos. 15
Ejemplo 1.21. Transformación de multigrafos en grafos. Definición. Decimos que un grafo es euleriano si admite un circuito euleriano. Es decir, existe un camino cerrado que recorre todas las aristas sin repetir ninguna. Ejemplo 1.22. Grafos eulerianos y no eulerianos. Teorema 1.23. Un grafo conexo es euleriano si y sólo si todo vértice tiene grado par. Un grafo conexo admite un camino euleriano si y sólo si todo vértice tiene grado par excepto dos que tienen grado impar. Demostración. Algoritmo para la obtención de un circuito/camino euleriano. 1.2.3. Grafos hamiltonianos Definición. Decimos que un camino simple es hamiltoniano si contiene todos los vértices. Decimos que un ciclo es hamiltoniano si contiene todos los vértices. Decimos que un grafo es hamiltoniano si admite un ciclo hamiltoniano. Teorema 1.24. Sea G un grafo con n 3 vértices. Entonces Si el número de lados es mayor o igual que (n 1)(n 2)/2 + 2, entonces el grafo es hamiltoniano. Si para cada par de vértices no adyacentes se verifica que gr(v) + gr(w) n, entonces G es hamiltoniano. Teorema 1.25. Sea G = (V, E) tal que #V 3. Si G es hamiltoniano, entonces para cada subconjunto U V, el subgrafo de G cuyos vértices son los de V \U y cuyas aristas son las de G que no tienen extremos en U (es decir, el subgrafo obtenido eliminando los vértices de U y las aristas que contienen dichos vértices) tiene a lo sumo #U componentes. Demostración. Basta considerar el ciclo hamiltoniano. Ejemplo 1.26. Un grafo no hamiltoniano. Teorema 1.27. Todo grafo completo con tres o más vértices es hamiltoniano. Ejemplo 1.28. Relación entre euclidiano y hamiltoniano. 16
1.3. Grafos dirigidos. Árboles. Exploración de grafos 1.3.1. Matriz de adyacencia Definición. Sea G = (V, E) un grafo y V = {v 1,...,v n } su conjunto de vértices. Se define la matriz de adyacencia de G, M G, como la matriz cuadrada M G = (m i,j ) 1 i n,1 j n, tal que m i,j = 1 si v i y v j son adyacentes y m i,j = 0 si v i y v j no son adyacentes. Si G es un digrafo, se define la matriz de adyacencia de modo que m i,j = 1 si hay una arista que comienza en v i y termina en v j y m i,j = 0 en otro caso. Proposición 1.29. Si G y G tienen la misma matriz de adyacencia, entonces son isomorfos. Teorema 1.30. Dos grafos G y G son isomorfos si y sólo si existe una matriz de permutaciones P (es decir, en cada fila/columna de P hay exáctamente una posición en la que hay un 1 y en todas las demás un 0) tal que PM G = M G P. Ejemplo 1.31. Ejemplos de grafos con distinta matriz de adyacencia e isomorfos. 1.3.2. Digrafos Definición. Sea G un digrafo. Se denomina camino en G a toda sucesión de vértices v 1 v 2...v n tales que existe una arista que comienza en v i y termina en v i+1. El vértices v 1 se denomina origen y el v n fin. Denominamos longitud de un camino al número de aristas que comprende. Teorema 1.32. Sea G = (V,E) un grafo (digrafo), V = {v 1,...,v n } y M G su matriz de adyacencia. Entonces la posición (i,j) de la matriz MG k es el número de caminos de longitud k que comienzan en v i y terminan en v j. Demostración. Se demuestra por inducción. Ejemplo 1.33. Algunos ejemplos. Corolario 1.34. Sea G = (V, E) un grafo (digrafo), V = {v 1,...,v n } y M G su matriz de adyacencia. Sea C = M 1 G + M 2 G +... + M n 1 G, C = (c i,j) 1 i n,1 j n. Existe un camino entre v i y v j si y sólo si c i,j 0. En particular G es conexo si y sólo si c i,j 0 para todo i,j. Ejemplo 1.35. Ejemplo de aplicación del corolario. 17
1.3.3. Recorrido de grafos Definición. Decimos que G = (V,E) es un grafo etiquetado si existe una función d: E N que asigna un valor a cada arista. Denominamos etiqueta o distancia de e E al valor d(e). Si {u,v} E denotamos d(u,v) = d({u,v}). Si {u,v} E, podemos considerar d(u, v) = +. En un grafo etiquetado, definimos longitud de un camino como la suma de las etiquetas de las aristas. Teorema 1.36 (Algoritmo de Dijkstra). Sea G = (V,E) un grafo etiquetado por una función L. Sean x,y V. El camino de longitud mínima entre x e y se puede obtener por el siguiente procedimiento: 1. Generamos T = V y L(x) = 0, L(v) = + para todo v V. 2. Calculamos v V tal que L(v) = mín{l(w): w T }. 3. Si v = y, entonces hemos terminado y la distancia es L(y). 4. En caso contrario, hacemos T T \{v}, L(w) mín{l(w),l(v) + d(v, w)} y volvemos a 2. 1.3.4. Árboles Definición. Decimos que un grafo G es un árbol si es conexo y no tiene ciclos. Si no es conexo ni tiene ciclos decimos que es un bosque. Teorema 1.37. Un grafo T es un árbol si y sólo si cada dos vértices distintos de T se conectan por un único camino simple. Demostración. Se demuestran las dos implicaciones Ejemplo 1.38. Ejemplo de árbol Definición. Dado un grafo conexo G, se denomina árbol maximal recubridor o generador de G a cualquier árbol que sea subgrafo de G y contenga todos los vértices. Definición. Dado un grafo etiquetado conexo G, se denomina árbol generador minimal de G a un árbol generador de modo que la suma de los pesos de sus aristas sea mínima dentro del conjunto de todos los árboles generadores. 1.4. Mapas 1.4.1. Grafos planos Definición. Un grafo (multigrafo) se dice que es plano si admite una representación gráfica en el plano de modo que cada arista corta únicamente 18
a otra arista en un vértice que sea extremo de ambas. Dicha representación gráfica se denomina mapa. Ejemplo 1.39. Ejemplos de grafos planos y no planos. Definición. Dado un mapa, se denomina región a un camino cerrado tal que en su interior no hay ni vértices ni aristas. El número de regiones de un grafo es independiente del mapa asociado y se denota #R. El camino cerrado que rodea una región no siempre es un circuito. Ejemplo 1.40. Ejemplos de regiones de grafos. Definición. Se denomina grado de una región a la longitud del camino que la rodea. Teorema 1.41. Sea G un grafo plano y R el conjunto de regiones de un mapa asociado. Entonces gr(r i ) = 2#E. r R Ejemplo 1.42. Poliedros regulares. Teorema 1.43. Sea M un mapa conexo, que representa al grafo G = (V, E). Entonces #V #E + #R = 2. Corolario 1.44. Sea G = (V,E) un grafo plano conexo, con #V 2. Entonces #E 3#V 6. Demostración. (El grado de las regiones es al menos tres) Ejemplo 1.45. K 5 no es plano. Corolario 1.46. Sea G = (V, E) un grafo plano, conexo, #V > 2. Supongamos que en G no existe ningún subgrafo isomorfo a K 3. Entonces Ejemplo 1.47. K 3,3 no es plano. #E 2#V 4. 1.4.2. Teorema de K. Kuratowsky Definición. Sea G = (V, E) un grafo, u,v V y {u,v} E. Una subdivisión elemental de G a partir de la arista {u,v} es un nuevo grafo G = (V,E ) tal que V = V {w} y E = (E\{u,v}) {u,w} {w, v}, donde w V. Una subdivisión de un grafo G es un grafo G resultande de hacer un número finito de subdivisiones elementales a G (puede ser 0). 19
Ejemplo 1.48. Ejemplo de subdivisión Teorema 1.49 (Teorema de Kuratowsky). Un grafo G es plano si y sólo si no contiene ningún subgrafo que sea isomorfo a una subdivisión de K 5 o K 3,3. Ejemplo 1.50. Ejemplo de aplicación. 1.4.3. Pseudomultigrafo dual Definición. Sea M un mapa. Diremos que dos regiones son adyacentes si tienen una arista en común. Dado un grafo plano G, el pseudomultigrafo dual G M se define como un pseudomultigrafo construido del siguiente modo: 1. Los vértices de G M son las regiones de G. 2. Para cada arista e E, definimos una arista de G M que conecta las dos regiones adyacentes a e. El pseudomultigrafo dual G M es un grafo plano. Basta representar G como un mapa y G M encima de modo que cada vértice esté en una región del mapa y cada arista de G M corte a G únicamente en la arista e que es adyacente a las dos regiones. Ejemplo 1.51. Algunos pseudomultigrafos duales. 1.5. Problema de los cuatro colores Definición. Sea G = (V,E) un grafo y C = {1,...,k} un conjunto al que denominaremos de k colores. Una coloración de G con k colores es una aplicación γ : V C de modo que si u,v V y {u,v} E, entonces γ(u) γ(v). Ejemplo 1.52. Ejemplos de coloraciones Teorema 1.53 (K. Appel, W. Haken, J. Koch). Todo grafo plano admite una coloración con a lo sumo cuatro colores. Corolario 1.54. Todo mapa admite una coloración de las regiones con a lo sumo cuatro colores de modo que dos regiones adyacentes tengan distinto color. Definición. Un grafo G = (V, E) se dice que es bipartito si existe una coloración con dos colores. Un grafo se dice bipartito completo si es bipartito y todo vértice coloreado con el primer color esta conectado con todo vértice coloreado con el 20
segundo color. Estos grafos están determinados por los números n 1,n 2 de vértices coloreados con el primer y segundo color, respectivamente, y los denotaremos K n1,n 2. Teorema 1.55. Un grafo es bipartito si y sólo si no tiene ciclos con longitud impar. Demostración. Por inducción sobre el número de aristas. Definición. Denominamos número cromático de un grafo G al menor número de colores que son necesarios para colorearlo. Dado un grafo G y n N. Denotaremos p(g,n) al número de coloraciones distintas con n colores que admite el grafo G. Teorema 1.56. Sea G un grafo y u,v dos vértices adyacentes. Sea e el lado que los une. Entonces p(g e,n) = p(g, n) + p(g e,n), donde G e es el subgrafo de G obtenido al eliminar e de G y G e es el grafo obtenido al identificar en G e los vértices u y v. Ejemplo 1.57. Obtención del polinomio cromático de un grafo y de su número cromático. 21