1 7
1 7
1 7
Matem
atica Discreta
V
ctor Alvarez
Solano
Mar
a Dolores Frau Garc
a
Jos
e Reyes Narro Jim
enez
Febrero de 2005
Cap
tulo 1
Introducci
on a la teor
a de grafos
Cap
tulo 1
Introducci
on a la teor
a de grafos
V={x1,x2,x3,x4,x5,x6}
x3
x6
A={{x1,x2},{x1,x3},{x1,x6},{x2,x3},{x2,x4},
{x3,x4},{x3,x6},{x4,x5},{x4,x6},{x5,x6}}
x4
x5
Figura 1.1:
Un grafo de 6 vertices
z
y
f
e
x
Figura 1.2:
Adyacencias e incidencias
x2
x2
x1
x1
x3
x4
x5
x3
Figura 1.3:
x3
x1
x3
Ciclos C , C y C
3
Los bosques, que son grafos sin ciclos, y sus arboles, que son cada uno de los
x2
x5
x4
x2
x1
x5
x3
Figura 1.4:
x3
x6
x1
x4
x7
x6
x5
x3
x4
primero de los arboles del bosque de la Figura 1.4 consiste en un camino simple de longitud 4.
Los grafos completos K , que constan0 de 1n vertices todos ellos adyacentes
entre s dos a dos (de manera que poseen @ n2 A = n(n2 1) aristas). El nombre
de completo proviene del hecho de que no se puede a~nadir arista alguna. E ste
es el caso de los grafos de la Figura 1.5.
n
x2
x2
x2
x1
x1
x3
x3
x1
x3
Figura 1.5:
x4
x5
x4
Grafos completos K , K y K
3
Los grafos r-regulares (tambien llamados r-valentes), en los que cada vertice
participa exactamente en r aristas. Por ejemplo, los ciclos son grafos 2-regulares,
y los grafos completos K son grafos (n 1)-regulares, as como los grafos de la
Figura 1.6 son 3-regulares.
n
x5
x2
x2
x1
x1
x3
x7
x3
x4
x4
x8
x9
x11
x6
x12
x14
x13
x10
Figura 1.6:
Los
Grafos 3-regulares
grafos bipartitos,
x2
x3
x1
x5
x6
Figura 1.7:
x4
x1
x2
x3
x4
x5
x6
Los grafos bipartitos completos Km;n, que son aquellos grafos bipartitos de
x1
x2
x1
x2
x3
x4
x3
x4
x5
x6
x5
Figura 1.8:
Grafos K y K
2;3
3 ;3
El grafo complementario G (V; A) de G(V; A), que consiste en el grafo con
los mismos vertices de G y con las aristas que le faltan a G para llegar a ser un
grafo completo. La Figura 1.9 recoge un ciclo de orden 4 y su complementario.
x1
x2
x1
x2
x3
x4
x3
x4
Figura 1.9:
Un grafo y su complementario
x2
x2
x1
x1
x3
x3
x5
x6
x4
x4
x5
Figura 1.10:
A veces, se precisa dar orientacion a alguna de las aristas. En este caso se habla de
estructuras dirigidas (en su caso, grafo dirigido o simplemente digrafo), como la que
recoge la Figura 1.11. Una arista que se dirige de x a y se denota por el par ordenado
(x; y). Es importante recalcar la diferencia del uso de parentesis (caso dirigido) o
llaves (caso no dirigido) para el par de vertices que conforma una arista. Aplicaciones
tpicas de los digrafos sobrevienen en los problemas que implican recorridos dirigidos,
como es el caso del redireccionamiento de la circulacion en una ciudad, por ejemplo.
x2
x1
x3
x5
x4
Figura 1.11:
Digrafo de 5 vertices
En otras ocasiones, el grafo representa magnitudes, y bien los vertices bien las
aristas o incluso ambos tienen asignados ciertos valores: se habla entonces de grafos
ponderados, como el de la Figura 1.12.
x2
4
x1
1
3
2
3
x5
x3
x6
4
4
x7
x4
Figura 1.12:
veces, dado el caracter simetrico de esta matriz, se opta por especicar la submatriz
triangular superior (o inferior), lo que se corresponde con la supresion en las listas de
adyacencia que se comentara en el paragrafo anterior.
La matriz de incidencia Inc = (c ) es una matriz rectangular v a de tantas las
como vertices v = jV j tiene el grafo y tantas columnas como aristas a = jAj hay. La
entrada (i; j ) consiste en un 1 si el vertice x es incidente con la arista e , siendo 0 en
otro caso. Dado que cada arista incide en dos vertices (distintos), esta matriz verica
que cada columna contiene exactamente dos 1, siendo el resto de entradas 0. Toda
matriz con esta propiedad es, de hecho, la matriz de incidencia de un cierto grafo.
ij
El grafo G(V; A) de la Figura 1.1 admite, aparte de esa materializacion graca,
las siguientes otras representaciones:
En forma de listas de adyacencia,
((x ; x ; x ); (x ; x ; x ); (x ; x ; x ; x ); (x ; x ; x ; x ); (x ; x ); (x ; x ; x ; x ))
o de manera mas escueta, ((x ; x ; x ); (x ; x ); (x ; x ); (x ; x ); (x ); ()).
En forma de matriz de adyacencia,
0
1
0
1
0
1
1
0
0
1
BB
CC
1
1
0
0
1
BB
CC
BB 1 0 1 1 0 0 CC
1
1
0
0
B
CC
BB 1 1 0 1 0 1 CC
BB
Adj = B
o simplemente BB
1 0 1 CCC
BB 0 1 1 0 1 1 CCC
B@
BB 0 0 0 1 0 1 CC
1 1 CA
@
A
1
1 0 1 1 1 0
2
1
0
1
0
0
0 0
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0C
0 CCC
0 CCC
0 CCC
1 CA
1
10
1.
En multigrafos y seudografos,
2.
11
consiste en
0
BB
BB
Inc = B
BB
B@
1
1
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
0
1
1
0
0
0
1
0
1
0C
0 CCC
0 CCC
1 CA
1
3.
el peso de la arista fx ; x g.
La matriz de adyacencia del grafo ponderado de la Figura 1.12 anterior consiste
en:
1
0
0
4
0
0
3
1
0
C
BB
BB 4 0 3 0 0 5 7 CCC
BB 0 3 0 0 0 2 0 CC
C
BB
BB 0 0 0 0 4 4 5 CCC
BB 3 0 0 4 0 3 0 CC
BB 1 5 2 4 3 0 6 CC
@
A
0 7 0 5 0 6 0
i
12
Por ejemplo, la valencia de los vertices del grafo de la Figura 1.1 consiste en
(x ) = 3, (x ) = 3, (x ) = 4, (x ) = 3, (x ) = 2, (x ) = 4.
1
( ) = 2a
xi
Esta relacion se hace evidente con solo contar las entradas que son 1 en la matriz de
incidencia de un grafo: si se cuenta por columnas, hay dos 1 en cada columna, de
donde la suma resulta ser 2 por el numero de columnas, esto es, 2a; si se cuenta por
las, en la la i hay tantos 1 como vertices son adyacentes a x , de donde (x ), de
suerte que la suma coincide con la suma de las valencias (x ) + + (x ).
i
i=1
i=1
i=1
13
v
X
i=1
( )=
xi
X
(xi ) impar
(xi ) par
( ) = 2a
xi
( )+
xi
X
(xi ) par
(xj ) impar
( )
xj
( ) = par
xi
de donde el numero de vertices de valencia impar ha de ser par (dado que la suma
de k numeros impares es par si y solo si la cantidad k de numeros que se suman es
asimismo par).
A la postre, esta condicion de apariencia tan nimia se mostrara como una de las
herramientas mas frecuentemente utilizadas en teora de grafos. Como un simple
boton de muestra, considerese el problema siguiente.
Ejemplo 1.3.1 Un comisario de polica ha de investigar el asesinato del recepcionista de un hotel de primera categora, que para mas se~nas y segun precisan fuentes
forenses, tuvo lugar entre las 1:30 y las 6:30 de la madrugada previa. Por las camaras
del circuito cerrado de seguridad del hotel (las cuales lamentablemente no grabaron el
fatdico suceso), el comisario tiene constancia de que a la escena del crimen solo 6
personas tuvieron acceso en esa franja horaria, porque de hecho todas ellas departieron
con el asesinado cuando arribaron al hotel para comenzar la jornada laboral propia
del turno de noche. Tras un intenso interrogatorio, llama la atencion al comisario
que ha recibido de los 6 sospechosos asimismo 6 respuestas diferentes a la siguiente
pregunta: >con cuantos de entre los otros sospechosos y el difunto recepcionista mantuvo contacto durante la madrugada pasada? A ciencia cierta sabe que al menos uno
de los sospechosos miente. >C
omo ha llegado a esta conclusi
on? >Es posible
averiguar quien miente?
14
15
asistente (incluida su propia esposa) el numero de personas con los que ha charlado,
recibiendo sorpresivamente una respuesta distinta en cada ocasion. Determinar la
duracion mnima del encuentro, la cantidad de parejas de dialogo que se formaron a
lo largo de la velada, as como el numero de interlocuciones en que participaron el
secretario y su mujer.
Aunque el enunciado pueda despistar, en la practica casi no hay nada que resolver. Considerese el grafo G(V; A) cuyos vertices son los participantes, y cuyas aristas
relacionan personas que han formado una pareja de dialogo. La valencia maxima en
el grafo es a lo sumo 98 (toda vez que ningun asistente habla consigo mismo ni con
el otro miembro de su matrimonio), mientras que la valencia mnima es 0. Llamemos
x al v
ertice que representa al secretario. Como quiera que los restantes 99 asistentes
al encuentro le certican 99 respuestas distintas a la pregunta de con cuantas personas han dialogado, el secretario puede concluir que la lista de valencias del grafo es
((x); 0; 1; : : : ; 97; 98). Ahora bien, puede ir mas alla: aquella persona que hablo con
98 contertulios solo dejo de charlar con dos personas, a saber, consigo mismo y con su
conyuge, de manera que precisamente su conyuge ha de ser necesariamente la persona
que no hablo con nadie. Reiterando este argumento (de ser necesario eliminando del
grafo inicial los vertices correspondientes al matrimonio ya detectado) una vez tras
otra, se puede concluir que forman matrimonio las personas correspondientes a las
parejas de valencias dadas por (97; 1); (96; 2); (95; 3); : : : ; (50; 48) quedando sin pareja
la que hablo con 49 personas, a fortiori esposa del secretario, que por ende participo
en otros 49 dialogos. En denitiva, la velada consto de al menos 98 10 = 980 minutos=16 horas y 20 minutos (hubo quien departio con 98 personas distintas, a razon de
10 minutos con cada una), se formaron tantas parejas como aristas a tiene el grafo,
1 X (y) = 0 + 1 + + 48 + 49 + 49 + 50 + + 98 = 50 98 = 2450;
a=
2
2
2
2
y V
En el ejemplo anterior vimos que (98; : : : ; 50; 49; 49; 48; : : : ; 1; 0) conformaba una
lista de grados de un grafo.
Una cuestion interesante es la de caracterizar cuando una lista de enteros es o
no graca, es decir, es o no la lista de grados de un cierto grafo. Havel y Hakimi
16
resolvieron esta cuestion de manera independiente en los a~nos 1955 y 1962: una lista
de enteros d d : : : d 0 es graca si y solo si asimismo lo es la lista
(presumiblemente no ordenada)
1
1; d 1; : : : ; d
d2
d1 +1
1; d
d1 +2 ; dd1 +3 ; : : : ; dv
que se obtiene al eliminar d y restar una unidad a los d siguientes valores, comprendidos entre d y d .
1
d1 +1
lista l = (d ; : : : ; d ) con d d 0.
1
P1 k = l
P2 Mientras la lista k = (k1 ; : : : ; kn) tenga entradas positivas hacer
P3 Eliminar de k la primera entrada, k1
P4 Restar una unidad a las primeras k1 entradas de la lista resultante
P5 k =reordenar la nueva lista as obtenida en orden decreciente
P6 Fin mientras
Salida:
Si la lista es nula entonces la lista inicial es graca, en otro caso no lo es.
k1 +1
k1 +2
17
Ejemplo 1.3.4 Demostrar que la lista (4,4,3,3,2,2) es graca, y dar un grafo que la
tenga por lista de valencias.
x1
x2
18
x2
x2
x1
x3
x1
Figura 1.13:
Etapas 1 y 2
2. Para obtener la lista que la precede, (1; 1; 0), basta a~nadir un vertice x adyacente a x , reordenandose la lista despues a (0; 1; 1), de manera que queda
1 1 0 , 0 1 1
3
x3
x1
x2
x2
x1
x3
x4
x2
x1
x3
x2
x2
x1
x1
x3
x3
x5
x4
x4
Figura 1.14:
Etapas 3 y 4
x5
x4
x2
x1
x3
x5
x4
x2
x3
x1
x6
x5
x4
x2
x3
x1
x6
adyacente a
19
x2
x1
x3
x5
x6
x4
Figura 1.15:
Etapa 5 y ultima
Como se puede observar, el grafo resultante tiene por lista de grados la lista de
entrada, (4; 4; 3; 3; 2; 2).
x4
x6
x2
x6
x5
Figura 1.16:
x6
x2
x3
x4
x3
x1
x5
x1
H
x2
x3
x5
x3
x1
J
x6
x5
Tipos de subgrafos
20
Por ejemplo, el grafo J es el subgrafo < S > de G inducido por los vertices
S = fx ; x ; x ; x ; x g. Por su parte, los grafos F y H , pese a ser subgrafos de G, no
son subgrafos inducidos, puesto que faltan aristas de G entre sus vertices.
1
Como ha quedado patente con los ejemplos anteriores, no todo subgrafo es inducido por aristas o por vertices del grafo original.
Por ultimo, vamos a describir ciertas operaciones elementales que se pueden realizar con dos o mas grafos, aparte de la mera eliminacion o insercion de vertices y/o
aristas:
se trata de la extension natural de la union conjuntista al campo de
los grafos, de manera que la union de grafos que no comparten vertices es
G (V ; A ) [ G (V ; A ) = G(V [ V ; A [ A ).
Por ejemplo, el bosque de la Figura 1.4 es la union de los arboles de que consta.
Suma: la suma de los grafos G (V ; A ) y G (V ; A ) consiste en el grafo G +G
cuyos vertices son V [ V y cuyas aristas son A [ A [ffx; yg : x 2 V ; y 2 V g,
es decir, las propias de los grafos sumandos y todas aquellas aristas que se
pueden formar con un extremo en G y el otro en G .
Por ejemplo, la suma de un grafo completo K con un vertice aislado produce
el grafo completo de un orden superior, K . Por otra parte, la suma de un
Uni
on:
1
n+1
21
m;n
x2
x2
x1
x1
x3
x2
x3
x2
x3
x1
x4
x1
x4
x5
Figura 1.17:
x4
y
x5
x6
x2
x3
x1
x5
x6
x3
x1
x2
x3
x4
x5
Suma de grafos: K = K + K , R = K + C , P + P = K
4
2;3
Producto:
1
Figura 1.18:
22
x2
x1
x4
a
3
x3
Figura 1.19:
Esta idea de igualdad cristaliza en la nocion de isomorsmo de grafos. Dos grafos G (V ; A ) y G (V ; A ) se dicen isomorfos (lo que se denota por G = G ), si
existe una aplicacion biyectiva f : V ! V entre sus vertices que lleva aristas en
aristas en ambos sentidos, en tanto en cuanto se ha de vericar que fx; yg 2 A ,
ff (x); f (y)g 2 A para cualesquiera aristas fx; yg 2 A y ff (x); f (y)g 2 A .
1
Matricialmente hablando, esto signica que existe una reordenacion de los vertices
de G y G de manera que las matrices de adyacencia de los grafos segun estas
ordenaciones son exactamente iguales.
1
En la practica, suele ser tarea ardua el probar que dos grafos son isomorfos, pues
aun cuando lo sean hay que buscar un isomorsmo f entre las v! aplicaciones biyectivas diferentes que existen entre V y V . Con normalidad, es mucho mas asequible
probar que dos grafos no son isomorfos, pues basta concretar que no satisfacen las
mismas propiedades: bien no tienen el mismo numero de vertices, o el mismo numero
de aristas, o la misma lista de grados, o los mismos subgrafos, o como se vera en
temas posteriores el mismo ndice de conexion, o mismo numero o ndice cromaticos,
o mismo caracter plano, etcetera.
1
23
24
Cap
tulo 2
Conexi
on
Cap
tulo 2
Conexi
on
+1
27
28
2. Conexion
del primero, que aparece exactamente dos veces: como principio y como n del
camino. En denitiva, se trata de un camino simple que se ha cerrado. Por
ejemplo, el ciclo (x ; x ; x ; x ; x ; x ; x ; x ) de longitud 7.
Un circuito es un camino cerrado que no repite aristas, aunque eventualmente
puede repetir vertices. As es el camino (x ; x ; x ; x ; x ; x ; x ; x ; x ), de longitud 8.
1
x2
x4
x7
Figura 2.1:
x3
x1
x6
x5
x8
x2
x3
x9
x6
x4
x7
x5
Figura 2.2:
x3
x9
x1
x8
x4
x6
x7
x5
Componentes conexas
La Figura 2.2 muestra dos grafos no isomorfos con la misma lista de grados
(3; 3; 2; 2; 2; 2; 2; 1; 1): el primero es conexo y el segundo tiene 3 componentes conexas,
29
de vertices respectivos fx ; x ; x ; x g, fx ; x ; x g y fx ; x g.
1
La conexion en un grafo es una propiedad muy util, por ejemplo en las aplicaciones
de la teora de grafos al ambito de las comunicaciones: lo mnimo que se le puede
pedir a un sistema de comunicacion es que todos los nodos sean accesibles unos a otros
por ciertas rutas, es decir, que el grafo que modela la red sea conexo. Por ejemplo,
una manera de conectar 7 nodos entre s economizando el cableado entre ellos sera
mediante un camino simple de longitud 6, o bien mediante una estrella de 6 puntas.
x2
x1
x4
x7
x5
x6
x3
x1
x4
x7
Figura 2.3:
x2
x3
x5
x6
x2
x1
x4
x7
x5
Figura 2.4:
x3
x1
x4
x7
x6
x2
x3
x6
x5
Fallan x y x , respectivamente
3
30
2. Conexion
En el caso que nos lleva, esta situacion se puede solventar con solo a~nadir una
conexion por cable adicional, formando un ciclo de longitud 7. Se suprima el vertice
que se suprima del ciclo, los restantes vertices siguen quedando en la misma componente conexa: no hay que olvidar que en un ciclo todo par de vertices esta conectado
por dos caminos distintos por aristas.
x2
x1
Figura 2.5:
x3
x1
x4
x7
x6
x2
x3
x4
x7
x5
x6
x5
Ahora, esta conguracion es estable para fallos en un nodo, pero no as para fallos
en dos nodos: si dejan de funcionar simultaneamente dos nodos no adyacentes, el
sistema vuelve a desconectarse, como muestra la Figura 2.5.
Una manera de arreglar esto es considerar un grafo rueda de 6 radios: tal como se
aprecia en la Figura 2.6, la eliminacion de cualesquiera dos vertices nunca desconecta
lo que queda del grafo.
x2
x3
x1
x4
x7
x6
Figura 2.6:
x5
31
32
2. Conexion
x2
x2
x3
x1
x1
x4
x7
x5
x6
Figura 2.7:
x4
x7
x5
x6
x3
Grafo 3-conexo
conecten los vertices x y x (en este caso, ni cualquier otro par de vertices que
se elijan): basta observar que los vertices del permetro tienen valencia 3, luego
no puede haber mas de 3 caminos internamente disjuntos que arriben a ellos.
1
x2
x3
x1
x4
x7
x6
Figura 2.8:
x5
El grafo no es 4-conexo
Del mismo modo, se puede inferir que un grafo conexo sin ciclos (que se denomina
arbol, como ya se indicara en el tema anterior) es 1-conexo pero no 2-conexo, as como
un ciclo es 2-conexo pero no 3-conexo.
x2
x1
x4
x7
x6
Figura 2.9:
x2
x3
x5
x3
x1
x4
x7
x6
x5
Se puede plantear un estudio similar desde el punto de vista de las aristas (lneas
de comunicacion de un hipotetico sistema).
33
En el caso de los grafos de la Figura 2.3, cualquier fallo en cualquiera de las lneas
desconectara el sistema.
x2
x2
x3
x1
x6
Figura 2.10:
x1
x4
x7
x3
x4
x7
x5
x5
x6
En el caso que nos lleva, esta situacion se puede solventar con solo a~nadir una
conexion por cable adicional, formando un ciclo de longitud 7, como se mostrara en
la Figura 2.5. Se suprima la arista que se suprima del ciclo, todos los vertices siguen
quedando en la misma componente conexa: no hay que olvidar que en un ciclo todo
par de vertices esta conectado por dos caminos distintos por aristas.
Ahora, esta conguracion es estable para fallos en una lnea de comunicacion,
pero no as para fallos en dos: si dejan de funcionar simultaneamente dos aristas no
incidentes, el sistema vuelve a desconectarse, como muestra la Figura 2.11.
x2
x3
x1
x4
x7
x6
Figura 2.11:
x5
Una manera de arreglar esto es considerar un grafo rueda de 6 radios: tal como se
aprecia en la Figura 2.12, la eliminacion de cualesquiera dos aristas nunca desconecta
lo que queda del grafo, ya sean dos aristas del permetro, dos radios o una de cada
tipo.
Detras de esta problematica esta la idea de cual es el menor numero de aristas
(G) que hay que eliminar en un grafo G para que
este se desconecte. Esta cantidad
se conoce como ndice de arista conexion o conectividad lineal, y un conjunto de
a
34
2. Conexion
x2
x2
x3
x2
x3
x1
x1
x1
x7
x6
Figura 2.12:
x7
x4
x5
x3
x6
x4
x5
x4
x7
x6
x5
35
de un lado, y dos caminos que vayan por el permetro hasta el interior. As, la
eliminacion de dos vertices nunca desconecta el grafo.
x2
x2
x3
x1
x1
x4
x7
Figura 2.13:
x4
x7
x5
x6
x3
x6
x5
(G)a < 4 porque hay 3 aristas cuya eliminacion desconecta el grafo, por ejemplo las aristas fx ; x g; fx ; x g; fx ; x g. Esto es as porque, de hecho, no hay 4
1
caminos disjuntos por aristas que conecten los vertices del permetro, toda vez
que solo poseen valencia 3.
x2
x3
x1
x7
x6
Figura 2.14:
x4
x5
Del mismo modo, se puede inferir que un arbol es 1-conexo por aristas pero no
2-conexo por aristas, as como un ciclo es 2-conexo por aristas pero no 3-conexo por
aristas.
Hay que tener especial cuidado en no confundir las nociones de n-conexion por
vertices y n-conexion por aristas, puesto que (G) (G) en general y eventualmente se da la desigualdad, pese a que en los ejemplos considerados previamente
ambos valores coincidieran: si cualquier par de vertices esta conectado por n-caminos
internamente disjuntos, lo esta por n-caminos disjuntos por aristas; y el recproco no
a
36
2. Conexion
x2
x2
x3
x1
x1
x4
x7
x4
x7
x5
x6
x3
x5
x6
Figura 2.15:
x1
x2
x3
x1
x2
x3
x5
x4
Figura 2.16:
x2
x3
x5
x4
x1
x4
x1
x3
x5
x5
x4
G
En el caso del grafo conexo G de la Figura 2.16, se tiene que (G) = 1, puesto que
la eliminacion del vertice x desconecta el grafo (x es un vertice de corte en G). No
obstante, (G) = 2, toda vez que cualesquiera dos vertices estan conectados por al
menos 2 caminos disjuntos por aristas, como se muestra en la Figura 2.16 (es decir,
G carece de aristas puente).
3
Para dar termino a esta seccion, observemos que todo lo que a conexion se reere
se puede traducir literalmente al ambito de seudografos y digrafos. En el caso de
estos ultimos, no obstante, se puede distinguir entre 3 nociones distintas de conexion:
se trata de la conexion del grafo no dirigido que se obtiene
al prescindir de las direcciones de las aristas del digrafo. As, un digrafo es
debilmente conexo si el grafo subyacente es conexo.
Conexion unilateral: un digrafo se dice unilateralmente conexo si todo par de
vertices esta conectado por un camino dirigido, sin precisar cual de los vertices
iniciales es origen y cual n de dicho camino.
Conexion debil:
37
Conexi
on fuerte:
Es claro que fuertemente conexo implica unilateral y debilmente conexo, as como
unilateralmente conexo implica debilmente conexo, mientras que cualquier otra relacion es falsa.
Por ejemplo, si atendemos a los grafos de la Figura 2.17, se tiene que el primero es
debilmente conexo (pero no unilateralmente conexo, ni por tanto fuertemente conexo:
los vertices x y x no se pueden conectar por caminos dirigidos, toda vez que la
valencia de entrada de ambos es 0: no hay ningun camino que arribe a x o a x ),
el segundo es unilateralmente conexo (aunque no fuertemente conexo: la valencia de
entrada de x es 0: ningun camino puede llegar a x ), y el tercero es fuertemente
conexo.
1
x2
x1
x2
x3
x5
x1
x2
x3
x4
Figura 2.17:
x5
x1
x3
x4
x5
x4
Las aplicaciones de los grafos dirigidos al ambito de las comunicaciones es inmediata. Pensamos en el digrafo que modela el traco rodado de una ciudad, en
el que los vertices son las intersecciones de las calles y las aristas dirigidas van de
un cruce a otro contiguo, marcando la direccion de circulacion permitida en dicho
tramo. Que este digrafo fuera solo debilmente conexo, se traducira en que dos zonas
de la ciudad (siendo precisos, dos cruces) <estaran incomunicadas! Por otra parte,
que fuera solo unilateralmente conexo implicara que dos puntos exclusivamente estaran comunicados en un sentido, pero no en el otro; por ejemplo, podra darse el
caso de que pudieramos ir al trabajo desde nuestro garaje en coche, pero en cambio
<no pudieramos entrar el coche al garaje de vuelta del trabajo, por ser algun tramo
direccion prohibida! As, lo deseable (y necesario) en un digrafo que modele el traco
es que este sea fuertemente conexo.
38
2. Conexion
2.2 Arboles.
Aplicacion en algoritmos sobre conexion
Los algoritmos que determinan si un (di)grafo es o no conexo, as como el numero de
componentes conexas, o incluso vertices de corte y aristas puente que el grafo tiene,
utilizan sistemas de busqueda basados en tipos particulares de arboles subgrafos del
grafo dado. Es por ello que nos centramos ahora en el estudio de este tipo tan
particular de grafos conexos.
Tal como se deniera en el tema anterior, un arbol es un grafo conexo sin ciclos.
Los grafos sin ciclos (tambien llamados acclicos) se denominan bosques, de manera
que cada una de sus componentes conexas conforma un arbol de manera propia. Un
arbol (bosque) recubridor de un grafo es uno (no necesariamente unico) que contiene
todos los vertices del grafo.
Hay diversas formas de caracterizar un arbol. Destacamos a continuacion las mas
usuales. Son equivalentes:
1. T (V; A) es un arbol (grafo conexo sin ciclos).
2. Cualesquiera dos vertices de T estan conectados por un unico camino.
3. T es conexo y la eliminacion de cualquiera de sus aristas produce un bosque de
dos arboles.
4. T es conexo y tiene tantas aristas como vertices menos 1: jAj = jV j 1.
5. T es acclico y jAj = jV j 1.
Justiquemos esta caracterizacion.
1)2
2.2. Arboles.
Aplicacion en algoritmos sobre conexion
39
Por ser T conexo, cualesquiera dos vertices x e y estan conectados por un camino.
Solo hay que probar que dicho camino es unico. Pero no puede ser de otra forma,
dado que caso de existir otro camino distinto, la concatenacion de ambos constituira
un camino cerrado no trivial, y por tanto contendra al menos un ciclo: tomese una
arista de un camino que no este en el otro, y continuese por ambos extremos de la
arista hasta dar con los primeros vertices comunes a ambos caminos. Las porciones de
los caminos encerradas entre estos dos vertices conforman un ciclo, por construccion.
2)3
es conexo, puesto que por hipotesis cualesquiera dos vertices de T estan conectados por un camino (por a~nadidura, unico). Por otra parte, la eliminacion de cualquier
arista e = fx; yg desconecta el grafo, toda vez que dicha arista es el unico camino
que conecta los vertices x e y, de manera que x e y quedan tras la eliminacion de e
en componentes conexas distintas. Ademas, solo resultan dos componentes conexas:
la de aquellos vertices que siguen estando conectados a x, y la de aquellos que siguen
conectados a y (no puede haber un vertice que no este conectado a ninguno de ellos,
puesto que el grafo era conexo y la unica arista que ha sido eliminada es e = fx; yg).
T
3)4
Solo hay que demostrar que jAj = jV j 1, lo que procedemos a hacer por induccion
en el numero de vertices.
Para grafos de 1 vertice (que no tienen aristas) y 2 vertices (que constan de 1
arista, por ser conexos) no hay nada que probar. Supongamos que 3)4 para grafos
de hasta n vertices. Lo vamos a probar para grafos de n + 1.
Sea pues un grafo G(V; A) de n + 1 vertices satisfaciendo las hipotesis de 3.
Elimnese cualquier arista. Entonces resulta un bosque de dos arboles, cada uno
de los cuales tiene a lo sumo n vertices, y satisface la hipotesis de induccion. De manera que en cada uno de estos arboles el numero de aristas coincide con el numero de
vertices menos 1. Como los arboles no tienen vertices en comun, resulta que en este
bosque de dos arboles el numero de aristas es el numero de vertices menos 2. Pero
recuperando la arista eliminada, se concluye que en el grafo de partida, el numero de
aristas es el numero de vertices menos 1.
4)5
40
2. Conexion
Solo hay que demostrar que un grafo que satisface 4 es acclico. Vamos a demostrar
que, de hecho, el grafo no puede contener un ciclo, puesto que en ese caso se tendra
que jAj jV j, lo que contradice la hipotesis jAj = jV j 1 < jV j.
Supongamos, pues, que el grafo contiene un ciclo, en el cual el numero de vertices
coincide con el numero de aristas. Vamos a contar el resto de aristas y de vertices,
a~nadiendo paulatinamente al ciclo inicial ciertos caminos simples, incrementando la
estructura poco a poco. Sucesivamente, para cada vertice que no este en la estructura
hasta ahora construida (inicialmente, el ciclo de partida), se elige un vertice que no
este en la estructura, as como un camino simple que lo conecte a la estructura. En
esta operacion, se han a~nadido vertices y aristas nuevos por igual, toda vez que el
vertice nal del camino simple es el unico que ya se encontraba en la estructura. De
manera que sigue vericandose que la estructura posee el mismo numero de vertices
que de aristas. Procediendo as, en un numero nito de pasos (toda vez que el grafo
posee un numero nito de vertices), se termina por incorporar todos los vertices a la
estructura. En el peor de los casos, puede suceder que alguna arista haya quedado
fuera. De cualquier modo, es jAj jV j, lo que contradice la hipotesis inicial de que
jAj = jV j 1 < jV j.
5)1
Segun la propiedad 4, en un bosque de k componentes conexas (arboles), en cada
una de las componentes conexas el numero de aristas es el numero de vertices del
arbol menos 1. As, al sumar estas k relaciones se desprende que el numero de aristas
del bosque coincide con el numero de vertices menos k: jAj = jV j k. De manera que
el numero de arboles en un bosque es la diferencia del numero de sus vertices y de
sus aristas. El grafo de 5 es acclico, luego un bosque, y satisface que jAj = jV j 1,
de manera que consta de una sola componente conexa, de donde es un arbol (conexo
y sin ciclos).
Los arboles son las estructuras conexas mas simples, en tanto en cuanto poseen
el numero mnimo de aristas para conectar los vertices de que constan. Se llama
arbol recubridor de un grafo conexo a un arbol que contenga todos los vertices del
grafo. Analogamente, se denomina bosque recubridor de un grafo no necesariamente
conexo a un bosque que contenga todos los vertices del grafo (y que consta de un
41
2.2. Arboles.
Aplicacion en algoritmos sobre conexion
B
usqueda en profundidad
j2
j2
j2
j2
42
2. Conexion
jr
jk
jk
jk
js
Ahora debe aparecer de manera ntida el motivo por el que se conoce a este metodo
como busqueda en profundidad: a partir de un vertice, se trata de \profundizar" lo
maximo posible sin volver atras hasta que no haya otra opcion, en cuyo caso se retrocede hasta que se llegue a la primera interseccion que permita seguir profundizando.
Hemos de observar que la salida que devuelve la busqueda depende, y de que
modo, de la ordenacion de entrada de los vertices. En un mismo grafo, distintas
ordenaciones pueden producir distintas salidas segun el metodo DFS.
Ejemplo 2.2.1 Aplicar una busqueda en profundidad al grafo siguiente
x2
x1
x7
x5
x4
x3
Figura 2.18:
x14
x6
x10
x8
x11
x9
x13
x12
x18
x17
x15
x16
18
43
2.2. Arboles.
Aplicacion en algoritmos sobre conexion
10
10
Solo hay un vertice no visitado adyacente a x , que pasa a ser el nuevo vertice
activo: x . As, dif(x ) = 9. Se llega a x desde x , de etiqueta d(x ) = 8.
10
10
10
44
2. Conexion
El vertice x es el unico vertice no visitado adyacente a x , de manera que constituye el siguiente vertice activo, con d(x ) = 11. Se llega a x desde x , de etiqueta
d(x ) = 10.
11
11
11
11
12
13
El unico vertice adyacente a x , aun sin visitar, pasa a ser el nuevo vertice activo,
, con d(x ) = 14. Se llega desde x , de etiqueta d(x ) = 13.
13
x18
18
13
13
14
14
18
18
18
15
15
18
45
2.2. Arboles.
Aplicacion en algoritmos sobre conexion
15
16
15
15
15
18
18
17
18
Toda esta informacion se puede resumir en una tabla del siguiente tipo. La primera
la recoge todas las etiquetas d posibles, ordenadas de 1 a v. En la segunda se
disponen los vertices asociados a cada etiqueta, precisamente tal como se han ido
encontrando de manera ordenada en la busqueda en profundidad. La tercera la
muestra, por columnas, la etiqueta d del vertice del que procede el vertice dado. Las
diferentes componentes conexas quedan automaticamente separadas por una doble
barra vertical, segun el reparto de etiquetas:
Etiqueta d 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Vertice x x x x x x x x x x x x x x x x x x
Procede de
1 2 3 4
6 7 8 9 10 9
13 14 14 16 14
Esta informacion tambien se puede dar de manera graca:
1
10
11
12
13
x1
x6
x2
x7
x18
x3
x10
x14 x15
x4
x8
x16
x5
x9
x11
Figura 2.19:
18
14
15
16
x13
x17
x12
17
46
2. Conexion
x2
x1
x7
x5
x4
x8
x10
x3
Figura 2.20:
x14
x6
x13
x9
x11
x12
x18
x15
x16
x17
10
11
x4
x8
x1
x6
x2
x7
x3
x5
x10
12
18
10
13
11
14
15
12
16
17
18
13
14
16
15
x18
x13 x14
x16 x17
x15
x11 x12
x9
Figura 2.21:
17
47
2.2. Arboles.
Aplicacion en algoritmos sobre conexion
x2
x1
x7
x5
x4
Figura 2.22:
x3
x14
x6
x10
x8
x13
x9
x11
x12
x18
x15
x17
x16
nulo. En una lista de nombre \PADRE" se almacena el vertice activo del que procede
un vertice dado, de manera que si PADRE(x ) = x entonces se llega a x desde x , y
en el bosque recubridor segun DFS aparece la arista fx ; x g. A lo largo del proceso,
r siempre denota el v
ertice raz de la componente conexa que se este recorriendo.
Para remontar al vertice activo anterior, caso de que desde un vertice x no se pueda
avanzar a otro no visitado, basta retroceder hasta PADRE(x ).
k
Algoritmo 2.2.2 B
usqueda en profundidad
Entrada:
P1 d(xk ) = 0 8 xk 2 V
P2 i 1
P3 Si d(r) 6= 0 8 r 2 V
entonces FIN
en otro caso
r
primer vertice con d(r) = 0
w
Fin Si
P4 d(w) i
P5 i i + 1
P6 Si d(x) = 0 para algun vertice adyacente a w entonces continuar
en otro caso
ir a P10
Fin Si
P7 x primer vertice adyacente a w con d(x) = 0
P8 PADRE(x) w
P9 w x e ir a P4
P10 Si w 6= r entonces w PADRE(w) e ir a P6
48
2. Conexion
en otro caso
ir a P3
Fin Si
Las listas d y PADRE contienen toda la informacion de la busqueda DFS,
suciente y necesaria para reconstruir la tabla anterior.
Salida:
El arbol T obtenido tras aplicar DFS a un grafo conexo permite caracterizar que
vertices son de corte, cuales son las componentes 2-conexas y que aristas son puente.
Es importante observar que cada arista fx; yg del grafo que no aparezca en el
bosque recubridor salida de DFS, une un antepasado con un descendiente, en el
sentido de que si d(x) <d(y) entonces x es genealogicamente anterior a y, esto es,
x es un antepasado de y , o tambi
en y es un descendiente de x. Con normalidad, se
piensa en el arbol T salida de DFS aplicado a un grafo conexo G como un digrafo,
de manera que las aristas de G que no estan en T se orientan para que lleven de
2.2. Arboles.
Aplicacion en algoritmos sobre conexion
49
descendiente a antepasado.
Con esta idea en mente, es claro que si existe algun hijo y de un vertice x interior
a T (esto es, que no es el vertice raz) de manera que ni el ni tampoco cualquier
descendiente suyo sea adyacente a algun antepasado de x, entonces la eliminacion de
x desconecta la rama de T que comienza en y con los antepasados de x. De manera
que x sera vertice de corte.
Recprocamente, si x interior a T es vertice de corte, necesariamente posee alguna
rama de descendencia que no admite aristas de retroceso hacia antepasados de x (o
de otro modo la eliminacion de x no desconectara el grafo).
Asimismo, para que la raz de T constituya un vertice de corte es necesario y
suciente que tenga mas de un hijo.
De otro lado, a la hora de determinar las componentes 2-conexas, basta situarse
sucesivamente en los vertices de corte interiores mas bajos de cada rama de T , cuyos descendientes conforman con ellos sendas componentes 2-conexas. Ahora, basta
eliminar los vertices de las componentes 2-conexas halladas de T , en una especie de
\poda", a excepcion de los vertices de corte terminales, y repetir el procedimiento.
En el caso de que el vertice raz de T sea un vertice de corte, por cada rama que
salga de la raz se determina la componente 2-conexa correspondiente atendiendo a
las aristas de retroceso que eventualmente aparezcan en las respectivas ramas.
Por ultimo, una arista fx; yg con x padre de y (esto es, d(x) <d(y)) sera
arista puente si y solo si la rama que comienza en y no posee alguna adyacencia
a x o a algun antepasado suyo. De otro modo, las aristas puente no son mas que
las aristas que esporadicamente quedan en el grafo tras separar las componentes 2conexas (recuerdese que una arista puente no conforma en s misma una componente
2-conexa, pese a carecer de vertices de corte: la eliminacion de cualquiera de sus
extremos conduce al grafo trivial, de un solo vertice).
Ejemplo 2.2.3 Determinar el arbol T que devuelve la aplicacion de DFS al grafo de
la Figura 2.23, y a partir del mismo, los vertices de corte, las componentes 2-conexas
y las aristas puente.
50
2. Conexion
x2
x3
x6
x7
x4
x1
x8
Figura 2.23:
x9
x5
x10
x2
x8
x5
10
x1
x3
x4
x1
Figura 2.24:
x3
x6
x7
x2
x6
x9
x10
x7
x4
x8
x9
x5
x10
51
2.2. Arboles.
Aplicacion en algoritmos sobre conexion
10
Determinemos ahora las componentes 2-conexas, tomando como puntos de referencia los vertices de corte situados mas profundamente en las ramas, y \podando"
del arbol sucesivamente las componentes 2-conexas que se vayan determinando:
1.
2.
3.
4.
El vertice x
El vertice x
El vertice x
El vertice x
10
52
2. Conexion
B
usqueda en anchura
El sistema de busqueda en anchura (denominado BFS del ingles breadth rst search)
permite visitar sistematicamente los vertices de un grafo, sujetos a una ordenacion
inicial. Se toma como vertice raz el primer vertice de esta ordenacion, que pasa a ser
el primer vertice activo, de etiqueta 1, y se a~nade a una cola C .
En cualquier etapa de la busqueda, de entre todos los vertices adyacentes al en
ese instante vertice activo x (que es precisamente el que esta situado primero en la
cola C ), se tiene en consideracion solo los que no han sido visitados aun. Cada vez
que un vertice y se visita por vez primera, se etiqueta debidamente (segun un ndice
b(y)) y se a~nade al nal de la cola C . En cuanto todos los vertices adyacentes al
vertice activo x han sido etiquetados y ubicados en C como corresponde, se elimina x
de la cola C y se toma como nuevo vertice activo el primer elemento que tenga ahora
C . Y as, sucesivamente.
Este metodo resultara especialmente util en el Tema 4.
Ejemplo 2.2.4 Determinar el arbol T que devuelve la aplicacion de BFS al grafo de
la Figura 2.23.
10
53
2.2. Arboles.
Aplicacion en algoritmos sobre conexion
x2
x7
x3
x6
x3 x
4
x4
x1
x8
x1
x5
Figura 2.25:
x2 x
6
x9
x10
x5
x8
x7
x9
x10
54
2. Conexion
Cap
tulo 3
Caminos y recorridos
Cap
tulo 3
Caminos y recorridos
Algunos problemas que admiten ser modelados mediante grafos se traducen en determinar circuitos (o recorridos, en su caso) que pasen por todas las aristas (sin repetir
ninguna, por ser circuitos o recorridos), o analogamente ciclos (o caminos simples, en
su caso) que pasen por todos los vertices (sin repetir ninguno, por ser ciclos o caminos
simples). Estos problemas se conocen por el nombre de los primeros matematicos que
trabajaron en ellos, de manera que se habla del problema euleriano de un grafo, en el
primer caso, y problema hamiltoniano de un grafo, en el segundo. Este tema se dedica
al estudio de estos dos problemas. En ambos casos, una hipotesis fundamental es la
conexion del grafo, pues de otro modo no existe ningun camino que pase por todos
los vertices o aristas.
58
3. Caminos y recorridos
Orilla A
isla 1
Orilla B
Figura 3.1:
Orilla A
isla 2
isla 2
isla 1
Orilla B
valencia par (fue lo que esgrimio Euler, en 1736), puesto que cada vez que el circuito
llega a un vertice por una arista, sale del mismo por otra, luego las aristas se cuentan
por pares incidiendo en cada vertice.
La caracterizacion queda completa cuando se demuestra (gracias a Hierholzer, en
1873) que un grafo conexo G es euleriano precisamente cuando todos sus vertices
tienen valencia par. Para demostrar esto basta razonar del siguiente modo:
Comiencese un camino por un vertice x cualquiera, que queda con valencia
impar. Dado que todos los vertices tienen valencia par (a excepcion del vertice
de partida del camino), cuando se llega a un vertice distinto de x, siempre existe
una arista por la que salir del mismo. Como el camino no se puede prolongar de
manera indenida (el grafo es nito), llega un instante en que necesariamente
se ha de volver al vertice de partida. Se ha determinado, por tanto, un primer
circuito C , cuyas aristas se eliminan del grafo G.
Si quedan aristas fuera del circuito anterior, tomese una de ellas cualquiera que
sea incidente con algun vertice y del circuito C (lo siempre es posible, porque
el grafo de partida es conexo). Procediendo igual que antes (lo importante aqu
es destacar que los vertices que quedan siguen teniendo valencia par, pues las
aristas que han desaparecido por estar en C inciden por pares en los vertices
de C ), se puede determinar otro circuito D con origen en y, el cual se puede
insertar sin problemas en el circuito C a la altura del vertice y, para as obtener
un circuito mayor englobando a los dos anteriores. Llamamos a este circuito
nuevamente como C .
Reiterando tantas veces como sea necesario el paso anterior, tras un numero
nito de circuitos insertados en el circuito C original se obtiene un circuito que
59
contiene todas las aristas, luego euleriano. De manera que el grafo original es
euleriano.
El proceso anterior dene, de facto, un algoritmo para encontrar un circuito euleriano: ir insertando circuitos a un circuito inicial, hasta dar con uno que sea euleriano.
Ejemplo 3.1.1 Determinar un circuito euleriano para el grafo de la Figura 3.2, por
medio del algoritmo descrito previamente.
x1
x2
x3
x4
x7
x5
x8
x6
x9
Figura 3.2:
Grafo euleriano
De manera que un grafo conexo es euleriano si y solo si todos sus vertices tienen
valencia par.
Una caracterizacion equivalente se debe a Toida (condicion necesaria, en 1973) y
McKee (condicion suciente, en 1984), de manera que un grafo conexo es euleriano
si y solo si cada arista del grafo participa en un numero impar de ciclos.
En cuanto a los grafos que no son eulerianos pero s admiten un recorrido euleriano,
quedan automaticamente caracterizados en cuanto uno observa que un tal recorrido
se puede cerrar para formar un circuito, con solo a~nadir un vertice articial y sendas
aristas desde este vertice a los extremos del recorrido euleriano.
60
3. Caminos y recorridos
De este modo, un grafo conexo admite un recorrido euleriano si y solo si tiene exactamente dos vertices de valencia impar, los cuales a fortiori conforman los extremos
del recorrido euleriano.
La observacion anterior permite formalizar un procedimiento para construir un
tal recorrido euleriano: basta a~nadir un vertice articial y sendas aristas desde este a
los vertices de valencia impar, para despues encontrar un circuito euleriano del nuevo
grafo, y nalmente suprimir de este las aristas y el vertice a~nadidos.
Ejemplo 3.1.2 Determinar un recorrido euleriano para el grafo de la Figura 3.3,
por medio del procedimiento descrito previamente.
x1
x1
x2
x2
x3
x3
x4
x7
x4
x5
x8
x5
x7
x8
z
x6
x6
x9
Figura 3.3:
x9
Grafo euleriano
A~nadiendo un vertice articial z adyacente a los dos unicos vertices de valencia impar, x y x , se obtiene un grafo euleriano similar al de la Figura 3.2. Un circuito euleriano viene dado, por ejemplo, por (x ; x ; z; x ; x ; x ; x ; x ; x ; x ; x ; x ; x ; x ; x ).
5
61
x1
x4
x6
x2
x8
x5
x3
x1
x1
x4
x2 x4
x2 x4
x2
x5
x3 x5
x3 x5
x3
x7
Figura 3.4:
El segundo grafo admite un recorrido euleriano, de extremos los dos unicos vertices
de valencia impar, x y x . Un tal recorrido viene dado por (x ; x ; x ; x ; x ; x ; x ).
3
Por otra parte, es inmediato extrapolar las ideas aqu tratadas al caso de seudografos y digrafos:
Los lazos de un seudografo se pueden insertar en un recorrido o en un circuito
en cualquier instante que se pase por el vertice afectado, sin repercusion alguna
en el resto del camino. En cuanto a las aristas multiples, se tratan como aristas
normales de un grafo simple, de manera que las caracterizaciones y procedimientos descritos anteriormente son igualmente validos.
62
3. Caminos y recorridos
x1
x2
x4
x1
x5
x6
x4
x2
x5
x3
x3
Figura 3.5:
El primero de los digrafos es euleriano (conexo, con todos los vertices manteniendo
el mismo grado de entrada y de salida), y un circuito euleriano viene dado, por
ejemplo, por (x ; x ; x ; x ; x ; x ; x ; x ; x ; x ; x ; x ; x ).
4
63
Por su relevancia, destacamos dos situaciones en las que aparece de manera natural
el problema euleriano.
Problema del cartero chino.
Una
secuencia de De Bruijn
bn 1
64
3. Caminos y recorridos
representa una secuencia de De Bruijn para las palabras de longitud 3 sobre un alfabeto binario.
0
0
0
1
1
1
(0,0,0,1,1,1,0,1)
Figura 3.6:
b;n
n 1
n 1
n 1
b;n
b;n
Ejemplo 3.1.5 Construir una sucesion de De Bruijn para las palabras de longitud 3
sobre un alfabeto binario.
Un circuito euleriano puede ser (10; 00; 00; 01; 11; 11; 10; 01; 10), de manera que la
sucesion de De Bruijn asociada queda (1; 0; 0; 0; 1; 1; 1; 0). Es evidente que cualquier
traslacion circular de esta sucesion conforma otra sucesion de De Bruijn.
65
000
00
001
100
010
10
01
101
011
110
11
111
Figura 3.7:
Digrafo D de De Bruijn
2;3
Las secuencias binarias de De Bruijn se utilizan, por ejemplo, en las telecomunicaciones, para codicar y descodicar impulsos electricos en informacion binaria.
El proceso consiste en dise~nar un disco con 2 sectores circulares, que pueden ser de
dos tipos, conductores o no conductores. Al lado se colocan n dispositivos para leer
si pasa o no electricidad por los sectores circulares que les correspondan. El disco
mas peque~no que es capaz de generar todos los bytes de n bits corresponde con una
sucesion de De Bruijn D .
n
b;n
66
3. Caminos y recorridos
admitan un ciclo pasando por todos sus vertices. Dos a~nos mas tarde, de la mano de
Hamilton y su dodecaedro (ver Figura 3.8), el problema transcendio mas alla de lo
imaginable, lo que le propicio un hueco de honor en la historia de la teora de grafos.
Figura 3.8:
Una de las situaciones que admite ser modelada por grafos es la del salto de
caballo en un tablero de ajedrez rectangular. A.J.Schwenk resolvio esta cuestion en
1993, demostrando que existe un ciclo hamiltoniano si y solo si el tablero es cuadrado
de dimension n n para n 6 par.
Lamentablemente, no existe una caracterizacion para grafos hamiltonianos en una
lnea analoga a la de grafos eulerianos. Vamos a limitarnos a dar algunos resultados
positivos y negativos acerca de si un grafo es o no hamiltoniano:
Si un grafo G es hamiltoniano, entonces la eliminacion de cualesquiera k vertices
67
68
3. Caminos y recorridos
Cap
tulo 4
Grafos ponderados
Cap
tulo 4
Grafos ponderados
estadio.
Construir el menor numero de kilometros de calzada.
72
4. Grafos ponderados
x2
4
x1
1
3
2
3
x5
x3
x6
4
4
x7
x4
Figura 4.1:
recinto deportivo hasta los restantes vertices), mientras que la segunda corresponde
al segundo problema (determinar un arbol recubridor de peso mnimo). Ni que decir
tiene que el ayuntamiento opto por la segunda opcion, convenciendo a sus conciudadanos de que de ese modo se consegua que el estadio estuviera mas proximo a
todos...
73
Figura 4.2:
74
4. Grafos ponderados
En cada la, se se~nala el nuevo vertice base D obtenido, que corresponde a aquella
columna con entrada mas peque~na, as como la arista fB; Dg mediante la cual se llega
a dicho vertice (que tiene por extremos el propio vertice D y el vertice base B que se
utilizo primigeniamente para obtener el valor actual de la tabla en la columna de D).
x1
x2
x3
x4
x5
x6
x7
1 1 1 1 1 0 1
1 5 2 4 3
5 2 4 3
5
4 3
5
4
5
base
arista
x6
6 x fx ; x g
6 x fx ; x g
6 x fx ; x g
6 x fx ; x g
6 x fx ; x g
6 x fx ; x g
De manera que un arbol (no unico, como se precisara despues) dando las distancias mas cortas desde x a los restantes vertices del grafo viene dado por las aristas
almacenadas en la tabla anterior (ver Figura 4.3 adjunta).
1
del grafo. De hecho, con normalidad, no lo hara as. Solo se puede garantizar que
re
eja la distancia mas corta entre dos vertices si estos vertices estan situados
sobre una misma rama del arbol. En el grafo del ejemplo anterior, la distancia
75
x2
x1
2
3
x5
x3
x6
x7
x4
Figura 4.3:
76
4. Grafos ponderados
4.2 Arboles
recubridores de peso mnimo
Hay tres algoritmos distintos de caracter voraz que devuelven un arbol (o bosque,
segun sea o no conexo el grafo de entrada) recubridor de peso mnimo, en tanto en
cuanto todo otro arbol (bosque) recubridor pesa al menos igual que este.
El que con normalidad utilizaremos nosotros es el algoritmo de Kruskal, el
cual, ordenadas las aristas de menor a mayor peso, consiste en ir cogiendo aquellas
aristas que no den lugar a ciclos, hasta completar un arbol (bosque) recubridor (i.e.
hasta que se han elegido v k aristas, donde v es el numero de vertices del grafo y k
el numero de componentes conexas).
Otra alternativa, que no es mas que el algoritmo de Kruskal visto del reves, consiste
en ordenar las aristas de mayor a menor peso, para sucesivamente ir eliminando
aquellas que esten en algun ciclo (se eliminaran, por tanto, a (v k) aristas, donde
a es el n
umero inicial de aristas, v el numero de vertices y k el numero de componentes
conexas).
La tercera posibilidad es utilizar el algoritmo de Prim, el cual, ordenadas las
aristas de menor a mayor peso, sucesivamente a~nade al arbol ya construido (comenzando por el arbol que consta solamente de la arista de menor peso) aquella de entre
las aristas que quedan que pese menos y no de lugar a un ciclo.
Notese que con una misma ordenacion, los tres algoritmos devuelven el mismo
arbol recubridor, si bien es cierto que modicando la ordenacion en general puede
resultar como salida otro arbol recubridor distinto igualmente de peso mnimo.
Apliquemos estos algoritmos al grafo ponderado de la Figura 4.1.
Kruskal
77
4.2. Arboles
recubridores de peso mnimo
3
1
2
x3
x6
4
x1
x2
x7
x4
Salida para Kruskal
Figura 4.4:
x5
78
4. Grafos ponderados
Obtenemos as el arbol recubridor de la Figura 4.4, que tiene peso mnimo (18)
de entre todos los arboles recubridores del grafo. Desde luego, no es unico, puesto
que se puede sustituir, por ejemplo, la arista fx ; x g por la arista fx ; x g (a fortiori
ambas del mismo peso, 3).
1
Cap
tulo 5
Coloraci
on
Cap
tulo 5
Coloraci
on
5.1 Introduccion
En ocasiones, un problema se puede modelar distribuyendo los vertices o las aristas
de un cierto grafo en paquetes distintos, de manera que vertices (o aristas, en su caso)
de un mismo paquete no sean adyacentes (respectivamente, incidentes). Si se da un
mismo color a los elementos de un mismo paquete, y se emplean colores distintos para
cada paquete, se obtiene lo que se da en llamar una vertice (arista) coloracion. La
idea es encontrar el menor numero de paquetes (esto es, colores), para distribuir los
elementos (vertices o aristas, segun sea el caso).
Un planteamiento general que se ajusta a esta circunstancia es el llamado problema
de incompatibilidades, que consta de ciertos elementos (modelados por los vertices
de un grafo) y relaciones de incompatibilidad entre ellos (las cuales determinan las
aristas del grafo). El grafo resultante se denomina grafo de incompatibilidades. El
distribuir los elementos en el menor numero de agrupaciones posible de forma que
elementos incompatibles no compartan una misma agrupacion, se traduce al instante
en conseguir una vertice coloracion (i.e. una asignacion de colores a los vertices de
manera que vertices adyacentes tengan colores distintos).
Como ejemplo, se puede considerar el problema de dise~nar un calendario a doble
vuelta para una competicion deportiva en forma de liguilla de n equipos, en la que
todos se han de enfrentar con todos dos veces. Este problema admite una primera
simplicacion, en la que basta dise~nar un calendario a una sola vuelta, para reproducirlo en la segunda vuelta cambiando los papeles de los equipos que juegan como
locales y como visitantes.
81
82
5. Coloracion
Si se modela el problema como el grafo G cuyos vertices son los n equipos y las
aristas entre ellos representan los partidos, evidentemente se tiene que G = K , grafo
completo de n vertices. Organizar el calendario se traduce en repartir los partidos
(aristas) en jornadas (colores), de manera que un mismo equipo (vertice) no juegue
mas de una vez en cada jornada (no aparezca como extremo en mas de una arista).
En denitiva, se trata de colorear las aristas de K utilizando el menor numero de
colores, de manera que aristas con el mismo color representan partidos que se pueden
jugar en la misma jornada.
n
Este problema admite ser modelado de otra forma: considerese el grafo H cuyos
vertices son los partidos a jugar, y cuyas aristas relacionan partidos incompatibles, en
tanto en cuanto implican a un mismo equipo. Resolver el problema consiste ahora en
encontrar una vertice coloracion de H . Al termino del presente tema quedara patente
que, en realidad, se tiene que H = L(G), grafo lnea de G, de manera que encontrar
una arista coloracion de G consiste en encontrar una vertice coloracion de H .
Dado un grafo G(V; A), siempre existe un valor umbral k para el cual G admite
una vertice coloracion con una paleta de k colores, pero no una (k 1)-coloracion.
Es decir, k es el menor numero de colores con los que se puede obtener una vertice
coloracion de G. Este valor se conoce como numero cromatico de G, y se denota en
la forma (G) = k.
Determinar cual es el numero cromatico de un grafo es en general un problema
de una envergadura considerable: no hay un procedimiento que de una respuesta en
tiempo razonable, para un grafo generico dado.
Ni que decir tiene que el numero cromatico de un grafo no conexo consiste en el
mayor de entre los numeros cromaticos de sus componentes conexas, razon por la cual
en adelante nos centraremos en el estudio de coloraciones sobre grafos conexos.
83
Con normalidad, se tiende a acotar el numero cromatico tanto inferior como superiormente, s (G) t, de manera que progresivamente se anan estas cotas
hasta llevarlas a coincidir, s = (G) = t, momento en el cual queda completamente
determinado (G).
Sin mucho esfuerzo, es facil asegurar de entrada que 1 (G) v para grafos G
de v vertices. Mas aun, (G) = 1 solo en el caso de grafos G vacos, mientras que
(G) = v en un grafo de v v
ertices solo si G = K .
v
El teorema de Brooks perla un poco mas la cota superior para (G) en grafos
conexos, en funcion de la valencia maxima = max 2 (x) en G:
x V
1. (K ) = n = + 1 y (C
2. En otro caso, (G) .
n
2n+1
) = 3 = + 1.
No obstante, esta cota puede ser bastante grosera (piensese en un grafo estrella
S de m puntas, con m = 1000 por ejemplo: se tiene que (S ) = 2, mientras que
= m = 1000).
m
84
5. Coloracion
Sea el grafo G = (V; A) de 24 vertices, en el que los vertices representan los cuadros
y las aristas unen pares de vertices que corresponden con cuadros que no pueden ser
vigilados por una misma camara. As, dos vertices x e y tienen una arista en comun
si y solo si mcd(x; y) > 1.
Si hacemos corresponder a cada camara un color, y coloreamos los vertices segun
el color de la camara que vigila el cuadro correspondiente, resulta que encontrar el
menor numero de camaras que bastaran para completar la vigilancia corresponde con
el problema de encontrar una vertice coloracion que utilice el menor numero posible
de colores; de modo que se necesitaran tantas camaras como numero cromatico tenga
el grafo, y vertices con el mismo color corresponderan a cuadros que seran vigilados
por la misma camara.
Si aplicamos el algoritmo voraz al grafo, asignando el primer color libre, obtenemos
85
la siguiente tabla:
V
C
V
C
1
1
13
1
2
1
14
7
3
1
15
4
4
2
16
8
5
1
17
1
6
3
18
9
7
1
19
1
8
4
20
10
9
2
21
5
10
5
22
11
11
1
23
1
12
6
24
12
12
86
5. Coloracion
Por ultimo, se~nalemos que las vertice coloraciones de G estan ntimamente ligadas a los conjuntos independientes de vertices en G (que conforman subconjuntos
de vertices de G no adyacentes entre s), y por ende a los subgrafos completos en
(todo conjunto independiente de vertices en G determina un subgrafo completo
G
en G ). El motivo no es otro sino que vertices con un mismo color conforman per
se conjuntos independientes, por denicion de vertice coloracion. Esta observacion
puede, eventualmente, permitir hallar conjuntos independientes de vertices o incluso
subgrafos completos por medio de vertice coloraciones apropiadas de un grafo.
Ejemplo 5.2.2 Se considera el grafo G denido por la siguiente tabla, donde los
vertices representan ciudades y las aristas representan carreteras existentes entre las
87
poblaciones.
A
Soluci
on.
Dado que un mismo transportista puede abastecer aquellas poblaciones que sean
mutuamente adyacentes entre s, el mayor numero de poblaciones a abastecer por
un mismo individuo vendra dado por el ndice del mayor subgrafo completo que se
encuentre en el grafo G. Si localizamos el menor numero de subgrafos completos que
cubran todo G habremos hallado el menor numero de transportistas necesarios.
Toda vez que G tiene 9 vertices y no tiene como subgrafo ningun K , seran
necesarios al menos 3 transportistas. Pero, de hecho, 3 son sucientes: por ejemplo,
los vertices fA; B; F; I g dan lugar a un K , fE; G; H g a un K y fC; Dg a un K .
La solucion no es unica, puesto que podemos considerar tres K tomando fC; D; I g.
Desde luego, no es lcito considerar el K inducido por fB; F; G; I g, puesto que en ese
caso seran 4 los transportistas necesarios, surtiendo a las agrupaciones fAg, fC; Dg
y fE; H g.
5
88
5. Coloracion
A B
G H
1 1 2 2 3 1 3 3 1
As, obtenemos la primera de las soluciones anteriormente propuestas: un primer
transportista abastecera las poblaciones fA; B; F; I g, otro fE; G; H g y un tercero las
poblaciones fC; Dg.
c
i1
i2
j1
j2
Segun se aprecia en la Figura 5.1 adjunta, 3 (L(K )) por poseer dicho grafo
ciclos de longitud impar (por ejemplo, el ciclo de longitud tres que determinan los
4
89
K4
a1
a5
a4
a1
L(K4)
a2
a6
a3
a6
a2
a5
a3
a4
Figura 5.1: K4
a1
a2
a3
a4
a5
a6
1 2 1 2 3 3
De manera que 3 (L(K )) 3, por lo que (K ) ha de ser igualmente 3, y
una arista coloracion de 3 colores se obtiene coloreando del mismo modo las aristas
correspondientes a los vertices de L(K ).
c
K4
a1
a5
a4
a3
a2
a6
L(K4)
a1
a6
a2
a5
a3
a4
Figura 5.2:
Dado un grafo G(V; A), siempre existe un valor umbral k para el cual G admite
90
5. Coloracion
una arista coloracion con una paleta de k colores, pero no una (k 1)-arista coloracion.
Es decir, k es el menor numero de colores con los que se puede obtener una arista
coloracion de G. Este valor se conoce como ndice cromatico de G, y se denota en la
forma (G) = k.
1
x V
1
(K ).
5
K5
x2
x1
x3
x5
{x1,x2},{x1,x3},{x1,x4},{x1,x5},{x2,x3},
{x2,x4},{x2,x5},{x3,x4},{x3,x5},{x4,x5}
x4
Figura 5.3:
91
de manera que resultan <7 colores!, cuando sabemos que a lo sumo 5 son necesarios.
Sin embargo, con esta otra ordenacion, resulta una arista coloracion de 5 colores
fx ; x g fx ; x g fx ; x g fx ; x g fx ; x g fx ; x g fx ; x g fx ; x g fx ; x g fx ; x g
1
1
2
2
3
3
4
4
5
5
Es facil demostrar que esta arista coloracion es optima: a lo mas, dos aristas de K
comparten un mismo color, puesto que cualesquiera tres de ellas comparten algun
vertice (de no ser as, K tendra al menos 6 vertices, cuando en realidad posee 5);
de manera que (K ) nunca puede ser 4, toda vez que con 4 colores se podra dar
color a un maximo de 8 aristas (2 por cada color), cuando en realidad K posee 10
aristas.
1
De manera que (K ) = 5.
1
92
5. Coloracion
Sea c : A0 ! IN una arista coloracion de G0 que utilice colores (la cual existe,
por ser (G0) ). Como x e y tienen ambos valencia a lo sumo 1 en G0 (en
G0 no est
a la arista e = fx; yg y la valencia maxima en G es ), resulta que al menos
un color de la paleta de colores de la coloracion c esta libre en el vertice x (en el
sentido de que ninguna arista incidente en x utiliza ese color), y asimismo algun color
de esa paleta esta igualmente libre en el vertice y. Ahora se presentan dos casos.
1
Ahora puede suceder dos cosas: que en y este libre el color c , o que no. Supongamos por un momento que el color c no esta libre en y , de manera que en y incide
una arista fx ; y g con color c (notese que x 6= x, puesto que en x el color c esta
libre).
1
Nuevamente, puede darse una de entre dos situaciones: en x esta libre el color
c , o bien no lo est
a. Supongamos que en x incide una arista fx ; y g con color c ,
en cuyo caso y 6= y 6= y (puesto que y tiene libre el color c y la arista con color c
que incide en y proviene de x 6= x ).
1
93
En esta situacion, basta intercambiar los colores de las aristas de este camino
alternado, de manera que en x ahora el color libre es c (el mismo que en y), en lugar
de c . Este intercambio de colores no produce colision en ningun vertice interior del
camino alternado, toda vez que se esta intercambiando en todo instante los colores de
dos aristas incidentes en cada uno de estos vertices. El unico problema podra darse
en los vertices extremos del camino alternado, x y z. Pero tal problema no existe,
porque ambos x y z tienen, por construccion, libres el color adecuado.
2
x1
y1
x1
y1
x2
y2
x2
y2
Figura 5.4:
94
5. Coloracion
Cap
tulo 6
Emparejamientos
Cap
tulo 6
Emparejamientos
Por ejemplo, sendos emparejamientos del grafo de la Figura 6.1 vienen dados por
= ffx ; y g; fx ; y g; fx ; y g; fx ; y gg y
3
M2
= ffx ; y g; fx ; y g; fx ; y g; fx ; y g; fx ; y gg
1
98
6. Emparejamientos
Figura 6.1:
x1
y1
x2
y2
x3
y3
x4
y4
x5
y5
x6
y6
( ) = fy 2 Y : 9x 2 P=fx; yg 2 Ag
T P
99
de G, entonces existe un emparejamiento M 0 que tiene una arista mas que M . As,
reiterando el procedimiento tantas veces como haga falta, al nal se obtendra un
emparejamiento completo.
Supongamos, pues, que G = (X [ Y; A) es un grafo bipartito satisfaciendo la
condicion de Hall, i.e., de manera que para todo P X es jP j jT (P )j; y que M es
un emparejamiento no completo en G.
Sea x un vertice de G no emparejado segun M . Como jfx gj = 1 jT (fx g)j
existe un vertice y en Y de manera que e = fx ; y g 2 A. Si y no esta emparejado,
acabamos, pues basta a~nadir la arista e a M para obtener un emparejamiento M 0
con una arista mas que M .
0
aristas que no estan en M con aristas que s estan en M . Un tal camino se denomina camino alternado para M . Si en M se sustituyen las aristas del camino
C que est
an en M por las que no estan en M se obtiene un emparejamiento con
una arista mas. Esto es as porque el camino C empieza y termina por vertices
no emparejados, de manera que esta formado siempre por un numero impar de
aristas, empezando y terminando por aristas que no estan en M . En este caso
concreto, se eliminara de M la arista fx ; y g, y se a~nadiran las aristas fx ; y g
y fx ; y g.
1
Reiterando este proceso tantas veces como haga falta (lo cual es posible porque
se verica la condicion de Hall), se termina por llegar a un vertice y no emparejado
(dado que el numero de vertices es nito). Basta entonces construir el camino alternado que conecta y con x (que consta de parte de las aristas se~naladas a lo largo
del proceso), y proceder a sustituir las aristas del camino que aparecen en M por las
que no aparecen en M . Se obtiene as un emparejamiento con una arista mas de las
que tena M , y la demostracion concluye.
k
100
6. Emparejamientos
= ffx ; y g; fx ; y g; fx ; y g; fx ; y g; fx ; y gg
1
x1
y1
x2
y2
x3
y3
x4
y4
x5
y5
x6
y6
Figura 6.2:
101
No obstante, con generalidad, la condicion de Hall no se utiliza para probar que
un emparejamiento es completo, toda vez que ello requerira comprobar la relacion
jP j jT (P )j para los 2j j subconjuntos P de V , lo cual es inviable incluso para
valores de jV j relativamente peque~nos. En cambio, s se puede utilizar facilmente para
demostrar que un grafo no admite un emparejamiento completo, con solo encontrar
un subconjunto P de vertices de X tal que jP j > jT (P )j.
V
Por otra parte, la idea que subyace detras de la demostracion anterior provee, de
hecho, un mecanismo para construir no solo emparejamientos completos, sino tambien
emparejamientos maximales.
Formalmente, se entiende por camino alternado para un emparejamiento M de G
un camino de longitud impar que empieza y termina en vertices no emparejados en
M y que alterna aristas que no est
an en M con aristas que s lo estan.
En estas circunstancias, se puede probar que un emparejamiento M es maximal
si y solo si no admite un camino alternado.
La implicacion ) es obvia: si M es un emparejamiento maximal, por denicion
no puede admitir un camino alternado (o de otro modo no sera maximal, puesto que
habra un emparejamiento con una arista mas).
La implicacion ( es algo mas sutil. Supongamos que M es un emparejamiento
en G que no admite ningun camino alternado. Sea M 0 un emparejamiento maximal
en G. Consideremos el conjunto E de aristas que no forman parte simultaneamente
de M y M 0 (es decir, (M M 0 ) [ (M 0 M )). Si probamos que el numero de aristas de
M en E coincide con el n
umero de aristas de M 0 en E , habremos demostrado al n y
al cabo que jM j = jM 0j, y por tanto que M tambien es un emparejamiento maximal.
Pero, de hecho, en E hay el mismo numero de aristas de M que de M 0 , como se
102
6. Emparejamientos
103
buscando un camino alternado. Mientras exista un tal camino alternado, se forma un
emparejamiento con una arista mas, y se repite el proceso con este nuevo emparejamiento como punto de partida. Al nal, se termina por encontrar un emparejamiento
que no admite caminos alternados, y que segun el resultado anterior conforma un
emparejamiento maximal.
La busqueda de caminos alternados para un emparejamiento M se puede sistematizar siguiendo un esquema similar al de la busqueda en anchura:
Se buscan caminos alternados con origen todos y cada uno de los vertices no
emparejados en M (pudiera darse el caso de que no existiera un camino alternado para M con origen en x, pero s existiera con origen en y; de manera que
se puede concluir que el emparejamiento M sea maximal hasta que no se ha
probado a buscar caminos alternados para M con origen en todos y cada uno
de los vertices no emparejados).
Para buscar caminos alternados para M con origen en x, se procede a dise~nar
un arbol del siguiente modo:
En el nivel 0 se situa el vertice raz, x.
{ En el nivel 1 se situan todos los vertices adyacentes a x.
{ En el nivel 2 se situan las parejas en M de los vertices del nivel 1.
{ Sucesivamente, en un nivel impar se situan los vertices adyacentes a los
vertices del nivel anterior que no hayan sido previamente considerados; y
en un nivel par se situan las parejas en M de los vertices del nivel anterior.
{ Los caminos alternados para M con origen en x consisten en las ramas del
arbol anterior que tienen longitud impar. De otro modo, si ninguna rama
tiene longitud impar, es que no existe un camino alternado para M con
origen en x.
= ffx ; y g; fx ; y g; fx ; y g; fx ; y gg
3
104
6. Emparejamientos
Figura 6.3:
x1
y1
x2
y2
x3
y3
x4
y4
x5
y5
x6
y6
105
y1
x1
x2
y3
y3
x6
x1
y5
y6
Como no hay ningun otro vertice no emparejado por el que seguir la busqueda,
podemos concluir que el emparejamiento M actual es maximo. De hecho, anteriormente probamos que este grafo no admita un emparejamiento completo (i.e. de 6
aristas), por lo que el emparejamiento anterior (que tena 5 aristas) ya sabamos que
automaticamente tena que ser maximo.
Figura 6.4:
x1
y1
x2
y2
x3
y3
x4
y4
x5
y5
x6
y6
106
6. Emparejamientos
Cap
tulo 7
Grafos planos
Cap
tulo 7
Grafos planos
La cuestion a tratar en este tema es caracterizar cuando un grafo admite una realizacion en la que no se crucen sus aristas. Este problema tiene aplicaciones interesantes, por ejemplo, en el dise~no de chips, dado que los circuitos no pueden estar en
contacto entre s o de lo contrario daran lugar a cortocircuitos.
Un grafo se dice plano si admite una realizacion (en el plano) de manera que sus
aristas no se cortan, a excepcion de los pares de aristas incidentes, que se cortan en el
vertice comun. Por extension, se puede tratar el problema de encontrar realizaciones
en otro tipo de supercies distintas del plano para un grafo, de manera que tampoco
se corten sus aristas. Se habla de inmersiones en distintas supercies. Nosotros aqu
nos limitaremos al estudio de los grafos planos.
Un grafo puede ser plano aun cuando tenga realizaciones no planas. Por ejemplo,
podemos considerar el caso de K , del que se dan realizaciones plana y no plana en
la Figura 7.1
4
x3
x2
x1
x1
x4
x3
x4
x2
Figura 7.1:
es plano
De manera que no basta observar una realizacion no plana de un grafo para
dilucidar si este es o no plano.
K4
109
110
7. Grafos planos
En una representacion plana de un grafo plano podemos distinguir regiones delimitadas por ciclos, que se denominan caras, siendo todas ellas acotadas, con la
excepcion de una sola, que se denomina cara exterior.
Mas aun, cada arista de una representacion plana de un grafo plano solo puede ser
de uno de entre dos tipos: o se trata de una arista puente (i.e. no pertenece a ningun
ciclo), de modo que esta en el interior de una cara; o se trata de una arista frontera
que separa exactamente dos caras (i.e. pertenece a un ciclo, y por tanto dene dos
caras: la interior al ciclo y la exterior al ciclo segun su otro lateral).
En particular, de aqu se deduce una relacion importante a tener en cuenta en
los grafos planos: si asumimos que toda cara esta limitada por al menos d aristas
frontera (para grafos planos de al menos 3 aristas es siempre d 3, y para grafos
planos bipartitos es d 4 par), como cada cara aporta al menos d aristas frontera y
cada arista frontera es frontera de exactamente dos caras; es claro que d c 2a 2a,
donde a denota el numero de aristas frontera.
f
x5
x2
x1
x4
x2
x1
x3
x4
x2
x4
x1
x3
x6
x4
x3
x7
Figura 7.2:
111
un grafo plano es maximal, entonces ha de ser triangular (o de otro modo, en una
cara delimitada por mas de 3 aristas frontera se podra introducir una arista diagonal
sin perder el caracter plano).
Cabe destacar que el numero de caras de un grafo plano no depende de la realizacion plana del mismo. Mas aun, hay una relacion ja entre el numero de caras
c, aristas a y v
ertices v de cualquier grafo plano, que se conoce como Formula de
Euler: c a + v = k + 1, donde k es el numero de componentes conexas del grafo.
En el caso de grafos planos conexos, la Formula de Euler queda: c a + v = 2.
112
7. Grafos planos
K5
no es plano.
K3;3
no es plano.
En realidad, estos dos grafos son los basicos para los que falla la planaridad, segun
demostrara Kuratowski en 1931.
Un grafo es plano si y solo si no contiene como
o de K .
Teorema de Kuratowski:
3;3
113
Aqu, el termino subdivision hace referencia a un subgrafo que se obtiene de un
grafo introduciendo varios vertices (que no aristas) en el interior de ciertas aristas, de
manera que nunca se introduce un vertice en el cruce de dos o mas aristas.
En la Figura 7.3 se muestran sendos grafos no planos que son subdivisiones de
K y de K , mientras que en la Figura 7.4 se muestran grafos planos que no son
subdivisiones de K ni K .
5
3;3
3;3
Figura 7.3:
Figura 7.4:
Subdivisiones de K y K
5
3;3
3;3
114
7. Grafos planos
Hay que advertir que puede haber duales no isomorfos para un mismo grafo plano
G: G depende directamente de la realizaci
on plana que se de del grafo G. Un ejemplo
de ello se tiene en el Ejercicio 46 del boletn con solucion nal.
En la Figura 7.5 mostramos un grafo G y un dual G para la representacion plana
elegida de G.
1
3
7
4
6
Figura 7.5: