Cap´ıtulo 1
Grafos y Aplicaciones
La teor´ıa de grafos a pesar de no ser tan nueva por el hecho de que se remonta a 1736 pero que sin embargo los mayores desarrollos se dieron entre 1920 y 1930. de ah´ı que el primer teto apareciera en el a˜no 1936, cuyo t´ıtulo es Theorie der endlichen und unendlichen Graphen escrito por: K¨onig, D. sin embargo la teor´ıa de grafos por su gran aplicabilidad en muchos campos de las ciencias, especialmente en ciencias de la computaci´on, qu´ımica, investigaci´on de operaciones, ingenier´ıa el´ectrica, entre otras.
Entre los objetivos principales de este cap´ıtulo tenemos:
• Entender los t´erminos: grafo, v´ertice, arco, grado, peso y algoritmo.
• Ilustrar como aparecen los grafos en una gran variedad de problemas.
• Estudiar algunas propiedades importantes de los grafos, incluyendo caminos y circuitos.
• Reconocer cuando dos grafos son isomorfos y cuando un grafo se puede rep- resentar en un plano sin que sus aristas se corten.
En la teor´ıa de grafos, es necesario tener conocimientos bastante b´asicos de la teor´ıa de conjuntos y es en esta parte como es que podemos ver la importancia de varios conceptos que aparentemente no tienen importancia en la adquisici´on del conocimiento.
1.1 Introducci´ on y Conceptos Preliminares
Un par ordenado (a, b) es una lista de objetos a y b en un orden prescrito. Se dice que los pares ordenados (a1, b1) y (a2, b2) son iguales si a1= a2 y b1= b2.
Definici´on 1.1 Si A y B son conjuntos no vac´ıos, se define entonces el conjunto producto o producto cartesiano A × B al conjunto de pares ordenados (a, b) donde a ∈ A y b ∈ B.
Por tanto:
A × B = {(a, b)/ a ∈ A ∧ b ∈ B}
Ejemplo 1.1 Sean los conjuntos A = {1, 2, 3} y B={r,s}
Soluci´on:
Luego el producto cartesiano de A × B estar´a dado por:
A × B = {(1, r), (1, s)(2, r), (2, s), (3, r), (3, s)}
Ejemplo 1.2 Sean los conjuntos L = lenguajes = {f = f ortran, p = pascal, l = lisp, c = C + +}, M = memorias = {48 = 48000, 64 = 64000, 128 = 128000} y S = S.O. = {u = U nix, cp = CP/M }
Soluci´on:
Luego el producto cartesiano de L × M × S constar´a de todas las categor´ıas que describen un cierto tipo de programa, para este caso se tendr´a 4 × 3 × 2 = 24 ¥ Definici´on 1.2 (Producto Cartesiano Generalizado) Sean los conjuntos no vac´ıos A1, A2 A3 · · · An se define entonces el conjunto producto o producto cartesiano A1, ×A2× A3× · · · × An al conjunto de todas las n-adas ordenadas (a1, a2, ·, an) donde ai ∈ A, i = 1, n es decir:
A1, ×A2× A3× · · · × An= {(a1, a2, · · · , an)/ ai ∈ Ai, i = 1, n}
Teorema 1.1 Para cualquier par de conjuntos no vac´ıos A y B |A × B| = |A||B|, donde
|A| es el cardinal de A
Definici´on 1.3 Una partici´on o conjunto cociente de un conjunto S no vac´ıo, es la colec- ci´on de subconjuntos no vac´ıos, P, A1, A2 A3 · · · An de S tal que:
1. Ai∩ Aj = φ si i 6= j
2. Cada elemento s ∈ S pertenece a uno de los subconjuntos Ai A los conjuntos Ai se les llama celda o bloques, de la partici´on.
Ejemplo 1.3 Sea S = {a, b, c, d, e, f, g, h} y sean los siguientes subconjuntos: A1 = {a, b, c}, A2 = {c, d, e, f }, A3= {d, e, f }, A4 = {a, f, g}, A5 = {g} y A6 = {h}
Soluci´on:
Entonces se tiene que:
{A1, A2} no es una partici´on.
{A1, A2, A3} no es una partici´on.
{A1, A3, A5, A6} si es una partici´on. ¥
Definici´on 1.4 Sea la partici´on P = {A1, A2A3 · · · An}. se define como un refinamiento de P a la partici´on P0 = {A01, A02 A03 · · · A0k} si cada A0j esta contenido en alg´un Aj
Denotaremos el conjunto de todos los k−elementos, subconjuntos de A. Los conjuntos con k−elementos se denominar´an k−conjuntos.
Definici´on 1.5 Un grafo es un par G = (V, E) de conjuntos que satisfacen E ⊆ [V ]2, as´ı, los elementos de E son 2− subconjuntos elementos de V .
Otra Definici´on de grafo es la siguiente:
Definici´on 1.6 Un grafo G es una tripleta ordenada (V (G), E(G), ψG) consistiendo de un conjunto no vac´ıo de vertices V (G) un conjunto disjunto V (G) de aristas; y una funci´on de incidencia ψG que asocia con cada arista de G un par de v´ertices u y v dse tal manera que ψG= (e) = uv, entonces e es conector de los v´ertices u y v.
Para evitar ambig¨uedades de notaci´on, asumiremos t´acitamente que V ∩ E = φ.
Los elementos de E son los v´ertices, nodos ´o puntos del grafo G, Los elementos de E son las aristas, o l´ıneas. La forma usual de representar gr´aficamente un grafo es colocando puntos para cada uno de los v´ertices y unirlos estos por una arista, como se muestra en la figura 1.1.
Figura 1.1 EL grafo sobre V = {1, 2, 3, 4, 5, 6, 7} con un conjunto de aristas dadas por E = {{1, 2}, {1, 5}, {2, 5}, {3, 4}, {5, 7}}
Como es que estos puntos y aristas sean dibujados no tienen relevancia, en las aplicaciones o problema reales nos interesar´a solamente la informaci´on que representen.
Ejemplo 1.4 Sea G = (V (G), E(G), ψG) donde:
V (G) = {v1, v2, v3, v4, v5} E(G) = {e1, e2, e3, e4, e5, e6, e7, e8} y la funci´on ψ definida por:
ψG(e1) = v1v2, ψG(e2) = v2v3, ψG(e3) = v3v3, ψG(e4) = v3v4, ψG(e5) = v2v4, ψG(e6) = v4v5, ψG(e7) = v2v5, ψG(e8) = v2v5, La representaci´on gr´afica se muestra en el figura 1.2(G).
Figura 1.2 Diagrama de los grafos G y H
Ejemplo 1.5 Sea H = (V (H), E(H), ψH) donde:
V (H) = {u, v, w, x, y}
E(H) = {a, b, c, d, e, f, g, h}
y la funci´on ψH definida por:
ψH(a) = uv, ψH(b) = uu, ψH(c) = vw, ψH(d) = wx, ψH(e) = vx, ψH(f ) = wx, ψH(g) = ux, ψH(h) = xy La representaci´on gr´afica se muestra en el figura 1.2(H).
Como se puede apreciar la representaci´on gr´afica tiene como importancia ayudarnos a entender muchas de sus propiedades, as´ı como se puede ver que no existe una ´unica manera de de graficar un grafo. La posici´on relativa de los puntos representando los v´ertices y las l´ıneas correspondientes a las aristas pero que no tienen significancia.
Otra representaci´on gr´afica del grafo G se da en la figura 1.3
Figura 1.3 Otro Diagrama de G
Definici´on 1.7 Un grafo dirigido o digrafo consiste de un conjunto V de v´ertices y un conjunto E de aristas tales que cada e ∈ E esta asociado a un par ordenado de v´ertices.
Definici´on 1.8 Se define al orden de un grafo G como el n´umero de v´ertices de ´este, y se denota por |G|, y al n´umero de aristas es denotado por ||G||.
Muchos de los conocimientos y definiciones en la teor´ıa de grafos son sugeridos por su representaci´on gr´afica
Lista de Ejercicios 1.1 .
1. Liste al menos cinco situaciones de la vida cotidiana en las cuales se llega a los grafos de manera natural.
2. Dibuje diferentes diagramas para un determinado conjunto de grafos.
1.2 Grafos Isomorfos
Dos grafos G y H son id´enticos si V (G) = V (H), E(G) = E(H) y ψ = θ. Si dos grafos son id´enticos entonces ellos pueden ser claramente representados por diagramas id´enticos.
Esto es tambi´en v´alido para grafos que no necesariamente tiene el mismo diagrama pero que son isomorfos.
Ejemplo 1.6 Sea el grafo dado en el ejemplo 1.4 representado en la figura 1.3 y el grafo dado en el ejemplo 1.5 representado en la figura 1.3.
Como se puede apreciar las representaciones de ´estos dos grafos se ve muy similar, sola- mente se diferencias en las etiquetas de los v´ertices y aristas ¥.
Definici´on 1.9 Sean dos grafos G y H se llaman isomorfos, denotados por G ∼= Hsi existe una biyecci´on θ : V (G) → V (H) y ψE(G) → E(H) tal que ψG(e) = uv si y s´olo si ψH(φ(e)) = θ(u)θ(v); tal par (θ, φ) de aplicaciones es llamado un isomorfismo entre G y H.
Para mostrar que dos grafos son isom´orficos, o tambi´en se puede decir que existe un isomorfismo entre ellos. El par de aplicaciones (θ, φ) definidas por:
θ(v1) = y, θ(v2) = x, θ(v3) = u, θ(v4) = v, θ(v5) = w y
φ(e1) = h, φ(e2) = g, φ(e3) = b, φ(e4) = a
φ(e5) = e, φ(e6) = c, φ(e7) = d, φ(e8) = f
es in isomorfismo entre los grafos G y H del ejemplo 1.4 y el ejemplo 1.5.
• En el presente curso por lo general no se etiquetaran los nodos o v´ertices.
• Un grafo no etiquetado puede ser interpretado como la representaci´on de una clase de equivalencia del grafo isom´orfico.
• Cuando se trata con un grafo simple es frecuentemente conveniente referirnos a las aristas con terminales en u y v como la arista uv
Definici´on 1.10 Un grafo simple en el cual cada par de v´ertices diferentes son unidos por una arista es llamado un grafo completo.
Ejemplos por los alumnos
Definici´on 1.11 Se llama grafo bipartido es el cual cuyo conjunto de v´ertices puede ser particionado en en dos subconjuntos X, Y de tal manera que cada arista tiene un terminal en X y otro en Y . Tal partici´on (X, Y ) es denominada una bipartici´on del grafo.
Definici´on 1.12 Un grafo bipartido completo es un grafo bipartido simple con una bipartici´on (X, Y ) en la cul cad v´ertice de X es unido a cada v´ertice de Y ; Si |X| = m y
|Y | = n, tal grafo es denotado por Km,n, donde
Ejemplos por los alumnos, Fig, 1.4 a) , b) Bipartido c) bipartido completo
Lista de Ejercicios 1.2 .
1. Encuentre un isomorfismo entre el grafo G y H de los ejemplos estudiados.
2. Pruebe que si G ∼= H, entonces v(G) = v(H) y e(G) = e(H). Formule un ejemplo que muestre que lo opuesto es falso.
3. Muestre que los siguientes grafos no son isomorfos.
4. Pruebe que dos grafos simples G y H son isom´orficos si y s´olo si existe una biyecci´on θ : V (G) → V (H) tal que uv ∈ E(G), si y s´olo si θ(u)θ(v) ∈ E(H).
5. Muestre que los siguientes grafos son isomorfos
1.3 Matrices de Incidencia y Adyacencia
Definici´on 1.13 Denotemos los v´ertices de un grafo G por v1, v2,...,vv, las aristas deno- tadas por: e1, e2,...,ee. Entonces la Matriz de Incidencia de G es la matriz M (G) = mij donde mij es el n´umero de veces (0,1 ´o 2) que vi y ej son incidentes.
La matriz de incidencia es un camino diferente para determinar un grafo.
Definici´on 1.14 Sea un grafo G, definimos la matriz de adyacencia de G, denotada por A(G) = [aij], la cual esta conformada por los elementos aij que representan el n´umero de aristas que unen los v´ertices vi y vj.
Ejemplo 1.7 Sea el grafo:
determine las matrices de incidencia y adyacencia respectivas.
Soluci´on:
La Matriz de incidencia esta dada por:
M (G) =
e1 e2 e3 e4 e5 e6 e7
v1 1 1 0 0 1 0 1
v2 1 1 1 0 0 0 0
v3 0 0 1 1 0 0 1
v4 0 0 0 1 1 2 0
M (G) =
1 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 2 0
y
A(G) =
v1 v2 v3 v4
v1 0 2 1 1
v2 2 0 1 0
v3 1 1 0 1
v4 1 0 1 1
M (G) =
0 2 1 1 2 0 1 0 1 1 0 1 1 0 1 1
¥ Generalmente la matriz de adyacencia de un grafo es considerada m´as peque˜na que la matriz de incidencia. En los computadores los grafos se almacenan a trav´es de esta matriz.
Lista de Ejercicios 1.3 .
1. Sea M la matriz de incidencia y A la matriz de adyacencia del Grafo G.
(a) Muestre que la suma de cada columna de M es 2.
(b) Cu´al es la suma de cada columna de A?
2. Se G un grafo bipartido. muestre que los v´ertices de G pueden ser enumerados de tal manera que la matriz de adyacencia de G tiene la forma:
0 ... A12
· · · · · · · · · A21 ... 0
donde A21 es la transpuesta de A12
1.4 Subgrafos
Definici´on 1.15 Un grafo H es un subgrafo de G (denotado por H ⊆ G) si V (H) ⊆ V (G), E(H) ⊆ E(G) y ψH es la restricci´on de ψG a E(H).
• Cuando H ⊆ G pero H 6= G, lo denotamos por H ⊂ G y H es llamado un sub-grafo propio de G.
• Si H es un subgrafo de G, G es un supergrafo de H.
• Un subgrafo recortado (o ampliado) de G es un subgrafo (o supergrafo) H con V (H) = V (G).
Definici´on 1.16 Sea el grafo G, llamamos grafo subyacente o fundamental , al mis- mo grafo G pero al cual se le ha recortado todos los lazos y adem´as se considera un solo lazo entre dos v´ertices adyacentes.
Ejemplo:
Definici´on 1.17 Sea el grafo G, llamamos subgrafo inducido, y lo denotamos por G[V \V0] o G − V0, al grafo cuyos v´ertices est´an dados por el subconjunto V0 6= φ de V y cuyas aristas es el conjunto de aristas de G que tienen sus extremos en V0.
• Esta definici´on puede entenderse como que es un grafo obtenido a partir de G borrando los v´ertices en V0 conjuntamente con las arista que inciden en dichos v´ertices.
• Notaci´on: Si se tiene que V0 = {v} lo denotaremos por G − v en vez de G − {v}.
De la misma forma como existe el subgrafo inducido por los vertices tambi´en existen los subgrafos inducidos por por las aristas del grafo.
Definici´on 1.18 Sea el grafo G, llamamos subgrafo inducido por las aristas , y lo denotamos por G[E0], al grafo cuyo conjunto de v´ertices esta conformado por todos los v´ertices extremos del subconjunto de aristas de G.
Ejemplo:
Esta definici´on puede entenderse como que es un grafo obtenido a partir de G borrando las aristas de G, luego el subgrafo inducido por las aristas estar´a conformado por el conjunto de aristas restantes y el conjunto de v´ertices que son extremos de las aristas.
1.4.1 Grados de V´ertices
Definici´on 1.19 El grado de un v´ertice, v en G, denotado por dg(v), y se define como el n´umero de aristas de G que inciden en v. Cada lazo se considera como 2 aristas.
Notaci´on: Denotaremos por δ(G) y ∆(G) el m´aximo y el m´ınimo grado, respectivamente, de v´ertices de G.
Teorema 1.2 X
v∈V
d(v) = 2e
Prueba:
Consideremos la matriz de incidencia M . LA suma de las entradas en la fila correspondi- ente a los v´ertices v es precisamente d(v), y por lo tantoP
v∈V d(v) es justamente la suma de todas las entradas en M . Pero esta suma es tambi´en 2e, puesto que la suma de cada
una de las columnas de M es 2. ¥
Corolario 1.1 En cualquier grafo, el n´umero de v´ertices de grado impar es par.
Prueba:
Sean V1 y V2 conjunto de v´ertices de grado impar y par, en G respectivamente. entonces X
v∈V1
d(v) = X
v∈V2
d(v) =X
v∈V
d(v)
es par, por el teorema (1.2), puesto que P
v∈V2
d(v) es tambi´en par, esto se sigue del hecho que P
v∈V1
d(v) es par. De esta manera |V1| es par. ¥
Un grafo G es k−regular si d(v) = k ∀v ∈ V
• Un grafo regular es el que es k−regular para alg´un k.
Lista de Ejercicios 1.4 Desarrollar los grupos de ejercicios 4.1. y 4.2 de [Joh88], Cap´ıtulo IV.
1.5 Caminos y Conexiones
Definici´on 1.20 Llamaremos un recorrido, W en el grafo G a un sucesi´on no vac´ıa W = v0e1v1e2· · · ekvk cuyos t´erminos son alternados entre v´ertices y aristas del grafo G de tal manera que 1 ≤ i ≤ k los extremos de eison los v´ertices vi−1y v−i y lo denotaremos por (v0, vk)−recorrido
De la definici´on anterior se tiene:
• Los v´ertices v0 y vk son llamados origen y final del recorrido W , respectiva- mente. As´ı como los v´ertices v1, v2, · · · vk−1 los v´ertices internos.
• El entero k es la longitud de W .
• Si W = v0e1v1e2· · · ekvk y W0 = vkek+1vk+1· · · elvl son recorridos, el recor- rido vkek−1vk−1· · · e1v0, obtenido invirtiendo el recorrido W y es denotado
por: W−1 y el recorrido v0e1v1e2· · · elvl, obtenido or la concatenaci´on de W y W0 en vk es denotado por W W0.
• Una secci´on de un recorrido W = v0e1v1e2· · · ekvkes n recorrido que es una subsucesi´on viei+1vi+1ei+2· · · ejvjde t´erminos sucesivos de W , denotaremos a esta subsucesi´on como vi, vj)−secci´on.
• En un grafo simple un recorrido puede ser representado como una sucesi´on de los v´ertices del recorrido.
Definici´on 1.21 Sea un grafo G y un recorrido W en ´el entonces definimos:
(i) W es llamada un sendero (trail) si las aristas e1 e2· · · ekde W son distintas.
(ii) W es llamada un camino (path) si adem´as de las aristas e1 e2· · · ek, los v´ertices v0 e1· · · kk de W son distintas.
(iii) Dos v´ertices u y v de G se dice que son conectados si existe un (u, v)−camino en G.
Un conexi´on es una relaci´on de equivalencia sobre el conjunto de v´ertices V . Por eso es una partici´on de V en un conjunto de subconjuntos no vac´ıos V1 V2· · · Vk de tal manera que los dos v´ertices u y v son conectados si y s´olo si u y v pertenecen la mismo conjunto de v´ertices Vi
• Los subgrafos G[V1], G[V2], · · · G[Vn] son llamados componentes de G
• Si G tiene solamente un componente, G es conectado, en otro caso G es desconectado.
Ejemplos:
1.6 Ciclos
Un recorrido es cerrado si este tiene una longitud positiva y su origen y t´ermino son el mismo. Un sendero cerrado que tiene su origen y v´ertices internos diferentes de denomina ciclo.
Ejemplo:
Teorema 1.3 Un grafo es bipartido si y s´olo si ´este no contiene un n´umero par de ciclos.
Prueba:
Supongamos que G es un grafo bipartido, con una bipartici´on (X, Y ) y sea C = v0v1· · · vkv0 un ciclo de G, Sin perdida de generalidad podemos asumir que v0∈ X. Entonces, puesto que v0v1 ∈ E y G es bipartido, v1 ∈ Y Similarmente para v2 ∈ X 6= 1, en general v2i∈ X y v2i+1 ∈ Y . Puesto que v0 ∈ X, vk∈ Y . As´ı k = 2 + 1, para alg´un i, y de esto se sigue que C es par.
Esto es claramente satisfecho para probar la parte inversa para grafos conectados.
¥ Ejemplo.
1.7 Aplicaciones
1.7.1 El problema del Camino m´as corto
Definici´on 1.22 Se llaman grafos planares a los grafos en cuyos diagramas cuyas aristas se intersectan solamente en los extremos, por tanto estos grafos pueden ser representados en el plano de una manera simple.
Ejemplo 1.8 (Puentes de K¨onigsberg) La primera publicaci´on de la teor´ıa de grafos fue hecha por Leonard Euler en 1736. Tal publicaci´on expone una teor´ıa general que incluye una soluci´on a los que es conocido como problema de los puentes de K¨onigsberg.
Figura 1.4 Esquema del Problema de los puentes de K¨onigsberg
Dos islas que se hallan en el r´ıo Pregel en K¨onigsberg (lo que antes se llam´o Prusia Oriental, ahora llamada Kalingrado en la Uni´on Sovi´etica), est´an conectadas entre si y con las m´argenes del r´ıo por puentes, como se muestra en la figura 1.4. El problema consiste en partir de Cualquiera de los puntos A, B, C, o D, seguir caminando y pasar por los puentes exactamente una vez y luego volver al punto de partida. Tal ruta se llama circuito o recorrido de Euler.