Teor´ıa de grafos. Notas de clase
(versi´
on preliminar)
Ra´ul G´omez Mar´ın, Andr´es Sicard Ram´ırez Universidad EAFIT
Cap´ıtulo 1
Grafos
Es un hecho conocido que la teor´ıa de grafos tiene sus ra´ıces en un
art´ıcu-lo del matem´atico suizo Leonhard Euler, publicado en el a˜no de 1736. Las
ideas b´asicas de la teor´ıa las desarroll´o Euler en torno al problema
conoci-do como el problema de los siete puentes de K¨oningsberg. Recientemente la
teor´ıa ha conocido nuevos desarrollos y ha realizado extensiones m´etodicas
en las ciencias de la computaci´on, la qu´ımica y la investigaci´on de
opera-ciones, entre otras. En el caso particular de las ciencias de la computaci´on, la
teor´ıa de grafos juega un papel importante en ´areas tales como la teor´ıa de
la conmutaci´on y dise˜no l´ogico, la inteligencia artificial, lenguajes formales,
sistemas operativos, compiladores, telem´atica y an´alisis de algoritmos, entre
otras.
La presente lecci´on tiene como objetivo desarrollar, con cierto grado de
for-malizaci´on los objetos y propiedades de la teor´ıa de grafos. Antes de
comen-zar nuestro proceso de formalizaci´on presentamos, a manera de introducci´on
y motivaci´on, el siguiente ejemplo:
Ejemplo 1.1. En varias aplicaciones de la ciencias de la computaci´on es conveniente modelar (representar) los algoritmos o programas de
computa-dor mediante grafos. Un ejemplo de este tipo de aplicaci´on es el que surge
en el contexto de la generaci´on de casos de prueba para un m´odulo de alg´un
programa. Se llega a estas pruebas mediante el an´alisis de la estructura de
un m´odulo de programa en lo tocante al flujo de control. El flujo de control
de un m´odulo se modela mediante ungrafo de flujo. Cada v´ertice del grafo
de flujo representa una o m´as sentencias de procedimientos. Una sucesi´on
de sentencias de procedimientos seguida por una sentencia condicional, tal
como pueda ser una sentencia while o una sentencia case se corresponde
con un ´unico nodo. Los arcos (aristas dirigidas) del grafo de flujo represen-tan el flujo de control.
Secuencia If −then−else W hile
T v vmmmmmmmm mmmmmm V ( ( Q Q Q Q Q Q Q Q Q Q Q Q Q Q F V ( ( Q Q Q Q Q Q Q Q Q Q Q Q Q Q v vmmmmmmmm mmmmmm d d
Repeat−U ntil Case
vvmmmmmmmm mmmmmm UUUUUUUU** U U U U U U U U U U U U F d d V QQQQQQ(( Q Q Q Q Q Q Q Q t tiiiiiiiiii iiiiiiiiii
Figura 1.1: Notaci´on de grafos de flujo para distintas estructuras
Cualquier m´odulo que se haya especificado en alg´un lenguaje de
proced-imientos se podr´a traducir a un grafo de flujo. Por ejemplo, la figura 1.1
muestra las representaciones en forma de grafo de flujo correspondientes a algunas estructuras familiares, que suelen estar disponibles en la mayor´ıa de
los lenguajes de procedimientos. El r´otulo V que aparece en algunas aristas
denota que se ejecuta la opci´on Verdadero, y la F denota que se ejecuta la
opci´on Falso.
Para evitar complejidades innecesarias, se supone que todas las condiciones
son at´omicas, esto es, que no contienen operadores l´ogicos tales comoand
yor.
Los m´odulos de programa contienen una secuencia de estructuras del
5 procedure Loquesea(. . .) begin while (. . .) do begin s1; if Indicador1 = 0 then begin s2; s3; s4 end else begin if Indicador2 = 0 then s5; else s6; s7 end; end; end;
Figura 1.2: Esqueleto de un m´odulo
En la figura 1.3 aparece un ejemplo de grafo de flujo correspondiente al
esqueleto de m´odulo de la figura 1.2, en donde los nodos 1 y 9 denotan,
respectivamente, el nodo inicial y final del m´odulo. Las sentencias s1 a s7
de la figura 1.2 se consideran sentencias que no ejercen control, tales como
las sentencias de asignaci´on.
Para poder pensar y representar formalmente el objeto que denominados
grafo, es imprescindible realizar m´ultiples distinciones al interior del
con-cepto. En una primera intancia necesitamos introduccir una distinci´on que
nos permita pensar el grafo bien como objeto matem´atico o bien como objeto
condici´on while V F ~ ~ s1, cl´ausula if V } }{{{{{{ {{{{{{ {{{{{{ { F ) ) T T T T T T T T T T T T T T T cl´ausula if V t tjjjjjjjjjj jjjjjjjj F ' ' O O O O O O O O O O O O O s2, s3, s4 ! ! D D D D D D D D D D D D D D D D D D D s5 * * T T T T T T T T T T T T T T T T T T T T s6 w wnnnnnnnn nnnnnn s7 t tjjjjjjjjjj jjjjjjjj fin while 6 6 fin procedimiento
Figura 1.3: Modelado de un m´odulo mediante un grafo de flujo
1.1.
Definiciones de Grafo
Antes de introducir las diferentes definiciones de una grafo, presentamos algunas definiciones auxiliares.
Definici´on 1.1 (Lenguaje de la l´ogica de predicados). Un lenguaje de la
l´ogica de predicados de primer orden est´a definido por:
L={{Pi, i∈I},{Fj, j∈J},{Ck, k∈K}} donde:
{Pi, i∈I}: Conjunto de s´ımbolos de predicado
{Fj, j∈J}: Conjunto de s´ımbolos de funciones
{Ck, k∈K}: Conjunto de s´ımbolos de constantes
Definici´on 1.2 (Modelo). SeaL un lenguaje de la l´ogica de primer orden,
un modelo paraL est´a definido por:
1.1. DEFINICIONES DE GRAFO 7
A: Conjunto no vac´ıo, llamado dominio del modelo
k: Es una funci´on biyectiva de interpretaci´on tal que:
k-1 Cada s´ımbolo Pin, de predicado de aridez n, es interpretado por una
relaci´on n-´adicaR, es decir:
k(Pin) =R⇐⇒R⊆An.
k-2 Cada s´ımbolo Fjm, de funci´on de aridez m, es interpretado por una
funci´on m-´adica, es decir:
k(Fjm) =f ⇐⇒f:Am→A.
k-3 Cada s´ımbolo de constante Ck es interpretado por un elemento fijo de
A, es decir:
k(Ck) =t⇐⇒t∈A.
Definici´on 1.3 (Cardinalidad de modelos). SeanLun lenguaje de la l´ogica
de primer orden y U =< A,k > un modelo para L.
=
U = A=, es decir, el
cardinal del modelo U es el cardinal del dominio del modelo.
1.1.1. El grafo como objeto matem´atico
Un grafo, en tanto objeto matem´atico o estructura relacional, nos obliga
a reforzar su distinci´on entre grafo no dirigido (o simplemente grafo) y grafo
dirigido (o simplemente digrafo).
Definici´on 1.4 (Digrafo: Como objeto matem´atico). Un digrafo G, es un
modelo de un lenguaje L={P2}, dondeP2 es un s´ımbolo de predicado de
aridez dos. En otros t´erminos, un digrafo es una estructura G =< V, R >,
donde:
V: Conjunto no vac´ıo cuyos elementos llamamos v´ertices.
R: Relaci´on binaria definida sobre V (R⊂V ×V).
Cada digrafo G~ =< V, R > puede ser representado por medio de un
dia-grama, en donde cada v´ertice v ∈V se representa por medio de un circulo
etiquetado con el s´ımbolo v, y cada (vi, vj)∈R se representa por medio de
Ejemplo 1.2. Los siguientes objetos matem´aticos son digrafos infinitos:
~
G1 =<N, < >
~
G2 =<Z, R >, donde, R={(x, y)|x2 ≥y}
Ejemplo 1.3. Los siguientes objetos matem´aticos son digrafos finitos:
~
G1 =<{1,2,3,4},{(1,2),(2,3),(3,4)}>, representado por la figura 1.4.
/.-,
()*+1 ///.-,()*+2 ()*+//.-,/3 ///.-,()*+4
Figura 1.4: Ejemplo digrafo finito (1).
~
G2 =<{0,2,5,7,8},≥ >, representado por la figura 1.5.
/.-,
()*+8LL ((/.-,()*+7LL ()*+66/.-,&&5 ()*+/.-,"(("882LL /.-,()*+/&/&<<0RR
Figura 1.5: Ejemplo digrafo finito (2).
~
G3 =<{v1}>, representado por la figura 1.6.
7654 0123v1
Figura 1.6: Ejemplo digrafo finito (3).
~
G4 =<{0,1,3,4,6,8,9}, R >, donde, R(a, b)ssi a|b. ~
G5 =< A, R >, donde, A={x∈N|xes divisor de 128} y
R(a, b)ssi(a−b) es divisor de 64.
Definici´on 1.5 (Lazo o bucle). Sea G =< V, R > un digrafo. La pareja
ordena (v, v)∈R tal quev∈V se denomina un lazo o bluce.
Ejemplo 1.4.Para el digrafoG~2 =<{0,2,5,7,8},≥ >representado por la
figura 1.5, las parejas ordenas (0,0),(2,2),(5,5),(7,7) y (8, ,8) pertenecientes
1.1. DEFINICIONES DE GRAFO 9
Aunque un grafo G =< V, R > tambi´en es un modelo de un lenguaje L =
{P}, donde P es un s´ımbolo de predicado de aridez dos, la diferencia entre
un digrafo y un grafo, consiste en que este ´ultimo debe satisfacer un axioma
no exigido al primero.
Definici´on 1.6 (Grafo: Como objeto matem´atico). Un grafoG =< V, R >
es un modelo de un lenguaje L = {P2}, tal que G satisface el axioma de
simetr´ıa para la relaci´on R, es decir,
G |=∀x∀y((x, y)∈R=⇒(y, x)∈R).
Cada grafo G=< V, R >puede ser representado por medio de un diagrama
en donde cada v´erticev∈V se representa por medio de un circulo etiquetado
con el s´ımbolo vy cada par de elementos (vi, vj),(vj, vi)∈R se representan
por medio de una arista del v´ertice vi al v´ertice vj.
Ejemplo 1.5. Los siguientes objetos matem´aticos son grafos (algunos in-finitos, otros finitos):
G1 =<Z, R >, donde,R(x, y)ssi(x= 1 +y∨x=y−1).
G2 =<{A, B, C, D}, R >, donde,
R={(A, A),(A, B),(B, A),(C, D),(D, C),(A, C),(C, A),(B, D),(D, B)}.
El grafo G2 es representado por la figura 1.7.
/.-,
()*+A 76540123B 7654
0123C 76540123D
Figura 1.7: Ejemplo grafo no dirigido finito.
Nuestra definici´on de grafo (digrafo), como objeto matem´atico, no permite
representar grafos cuya estructura relacional presenta aristas (arcos) tales
como los indicados por la figura 1.8. La situaci´on anterior hace necesario
introducir una distinci´on adicional que nos permita ampliar nuestra noci´on
de grafo, de forma tal que nos permita capturar objetos tales como el rep-resentado por la figura 1.8.
'&%$
!"#a /.-,()*+b
Figura 1.8: No grafo (como objeto matem´atico).
1.1.2. El grafo como objeto geom´etrico
Desde el punto de vista geom´etrico podemos pensar un grafo como un
esquema situado en el espacio R2 y constituido por v´ertices y lados. Lo
denotamos porG=< V, E >.
Definici´on 1.7 (Digrafo: Como objeto geom´etrico). Un digrafo, en tanto
objeto geom´etrico, es un esquema G~=< V, E >, representado en el espacio
R2, donde:
V: Conjunto no vac´ıo cuyos elementos llamamos v´ertices.
E: Conjunto de elementosei = (va, vb) llamados lados.
Cada digrafo G~ =< V, E > puede ser representado por medio de un
dia-grama en donde; cada v´ertice v∈V se representa por medio de un circulo
etiquetado con el s´ımbolov, y cadaei= (vi, vj)∈Ese representa por medio
de un arco del v´erticevi al v´ertice vj etiquetado con el s´ımbolo e1.
Ejemplo 1.6. El siguiente objeto es un ejemplo de un grafo dirigido:
~
G1 =< {a, b, c, d, f},{e1, e2, e3, e4, e5, e6, e7} >,representado por la figura
1.9, donde: e1 = (b, c), e2 = (c, a), e3 = (c, d), e4 = (a, b), e5 = (a, f), e6 = (d, b), e7 = (f, d).
Definici´on 1.8 (Grafo: Como objeto geom´etrico). Un grafo, en tanto
ob-jeto geom´etrico, es un esquemaG=< V, E >representado en el espacioR2,
donde:
V: Conjunto no vac´ıo cuyos elementos llamamos v´ertices.
1.1. DEFINICIONES DE GRAFO 11 /.-, ()*+b e1 //'&%$ !"# c e2 w wpppppppp ppppppp e3 = = = = = = = = '&%$ !"#a e4 @ @ e5 = = = = = = = = = /.-,()*+d e6 g g NNNNN NNNNNNNNN 7654 0123f e7 8 8 p p p p p p p p p p p p p p
Figura 1.9: Ejemplo grafo dirigido.
lados del grafo no tienen orientaci´on. Para el caso especial en que el
la-do ei represente un lazo, es decir, ei = {va, va}, se seguir´a la convenci´on
matem´atica usual que determina que{va, va}={va}.
Cada grafoG=< V, E >pude ser representado por medio de un diagrama en
donde, cada v´ertice v∈V se representa por medio de un circulo etiquetado
con el s´ımbolo v, y cada e = (vi, vj) ∈ E se representa por medio de una
arista del v´ertice vi al v´erticevj etiquetada con el s´ımbolo e.
Ejemplo 1.7. Los siguientes objetos son ejemplos de grafos.
G1 =<{5,7,8,9},{e1, e2, e3, e4, e5}>, representado por la figura 1.10, donde: e1 ={5,7}, e2 ={8,5}, e3 ={7,9}, e4 ={8,9}, e5 ={5}. /.-, ()*+5 e1 e2 /.-, ()*+7 e3 /.-, ()*+8 e4 /.-,()*+ 9
G2 =<{1,2,3},{e4, e5, e6}>, representado por la figura 1.11. /.-, ()*+1 e4 e5 > > > > > > > > /.-,()*+2 /.-, ()*+3 e6
Figura 1.11: Ejemplo grafo no dirigido (2).
G3 =< {0,1,2,3,4,5,6,7,8,9},{e1, . . . , e9} >, representado por la figura
1.12. /.-, ()*+5 e1 e2 /.-, ()*+7 e3 /.-, ()*+1 e4 e5 > > > > > > > > /.-,()*+2 /.-,()*+4 e6 e7 /.-,()*+ 0 /.-, ()*+3 e8 /.-, ()*+8 e9 /.-,()*+ 9
Figura 1.12: Ejemplo grafo no dirigido (3).
En un grafo, visto como objeto geom´etrico, es posible que existan al menos
dos v´ertices conectados por dos o m´as lados diferentes. En este caso se hace
necesario introducir otra distinci´on, llamando a tal grafo: multigrafo.
Definici´on 1.9 (Lados paralelos (grafos)). SeaG=< V, E > un grafo. Dos
lados son llamados paralelos siei ={va, vb} yej ={va, vb} parai6=j.
Definici´on 1.10 (Multigrafo (grafos)). Un grafoG =< V, E > es un
multi-grafo si y s´olo si G tiene lados paralelos.
Ejemplo 1.8. Los siguientes objetos son ejemplos de multigrafos.
G1 =<{a, b},{e1, e2, e3}>, representado por la figura 1.13. G2 =<{1,4, a, c},{e1, . . . , e8}>, representado por la figura 1.14.
1.1. DEFINICIONES DE GRAFO 13 '&%$ !"#a e1 e2 /.-, ()*+b e3 Figura 1.13: Multigrafo (1). /.-, ()*+1 e1 e2 '&%$ !"#c e3 e4 e5 e6 /.-,()*+ 4 e7 '&%$ !"#a e8 Figura 1.14: Multigrafo (2)
Los lados e2, e3 son lados paralelos deG1;e1, e2 ye4, e5, e6 lo son deG2.
No existe un consenso actual acerca de la definici´on de un grafo. Algunos
autores s´olo los consideran desde el punto de vista geom´etrico o desde el
pun-to de vista matem´atico. Otros autores por su parte no admiten los grafos
con lazos ni los multigrafos. Nuestro objetivo en la presentaci´on que hemos
realizado del concepto de grafo, est´a el de presentar el concepto de grafo
como una estructura matem´tica de modelamiento con la mayor capacidad
de representaci´on posible.
Los temas siguientes ser´an ofrecidos para un presentaci´on de grafo en
par-ticular (como objeto matem´atico o como objeto geom´etrico) o para alguna
clase en particular de grafo o para ambas (grafo no dirigido o grafo dirigido).
Nuestras convenciones ser´an las siguientes:
1. Sea G~=< V, R > un digrafo. . .
En este caso estamos hablando de un digrafo como un objeto matem´atico.
2. Sea G=< V, R > un grafo. . .
3. SeaG =< V, R > un grafo (digrafo) . . .
En este caso estamos hablando de un grafo o de un digrafo como un
objeto matem´atico.
4. SeaG~ =< V, E > un digrafo . . .
En este caso estamos hablando de un digrafo como un objeto geom´
etri-co.
5. SeaG =< V, E > un grafo. . .
En este caso estamos hablando de un grafo como un objeto geom´etrico.
6. SeaG =< V, E > un grafo (digrafo) . . .
En este caso estamos hablando de un grafo o de un digrafo como un
objeto geom´etrico.
1.2.
Representaci´
on de Grafos
El an´alisis de un grafo, mediante un computador, requiere
representa-ciones diferentes al esquema geom´etrico. Veamos algunas de ellas.
1.2.1. Matriz de adyacencia
SeaG =< V, R >un grafo (digrafo) finito. Podemos representar al grafo
G mediante una matriz booleana, llamada su matriz de adyacencia.
Definici´on 1.11 (Matriz de adyacencia). Sea G =< V, R > un grafo
(di-grafo) finito cualquiera. Podemos asociar a G, la matriz booleana (matriz
cuyos elementos son uno o cero)M[R], llamada su matriz de adyacencia y,
tal que, siV= =n, entonces:
M[R] = (Xi,j)n×n⇐⇒Xi,j =
(
1 ssi (vi, vj)∈R,
0 ssi (vi, vj)∈/ R.
Ejemplo 1.9. Dado el grafo representado en la figura 1.15, obtenemos la
matrizM[R] = (Xi,j)4×4 representada por la tabla 1.1.
Observe que los v´ertices han sido ordenados alfab´eticamente: v1 =A, v2 =
B,v3=C yv4 =D.
1.2. REPRESENTACI ´ON DE GRAFOS 15 /.-, ()*+Aoo ))76540123B // 7654 0123C u u 7654 0123D > > ~ ~ ~ ~ ~ ~ ~ ~ ~ L L
Figura 1.15: Grafo para obtener la matriz de adyacencia representada por la tabla 1.1. M[R] v1 v2 v3 v4 v1 0 1 0 0 v2 1 0 1 1 v3 0 1 0 1 v4 1 0 1 1
Cuadro 1.1: Matriz de adyacencia para el grafo de la figura 1.15.
Ejemplo 1.10. Un fabricante para producir juguetes requiere seis pasos, los cuales obligatoriamente deben realizarse de acuerdo al siguiente orden
parcial. Primero los procesos A o B, luego el proceso C. A continuaci´on
los procesos D, E o F. Modelizado por un grafo dirigido, obtenemos el
grafoG representado por la figura 1.16 (Diagrama de Hasse) y su matriz de
adyacencia M[R] representada por la tabla 1.2.
7654 0123D 76540123E 76540123F 7654 0123C ` ` @@@@ @@@@@OO ~~~~~?? ~ ~ ~ /.-, ()*+A 7 7 n n n n n n n n n n n n n n n 76540123 B g g PPPPPPPPPPPP PPP Figura 1.16: Diagrama de Hasse.
Ejemplo 1.11. Para el grafo representado en la figura 1.17, obtenemos la
M[R] A B C D E F A 0 0 1 0 0 0 B 0 0 1 0 0 0 C 0 0 0 1 1 1 D 0 0 0 0 0 0 E 0 0 0 0 0 0 F 0 0 0 0 0 0
Cuadro 1.2: Matriz de adyacencia para el grafo de la figura 1.16.
7654 0123D 76540123E 76540123F 7654 0123C @@@@ @@@@@ ~~~~~ ~ ~ ~ /.-, ()*+A n n n n n n n n n n n n n n n 76540123B PPPPPPPPPPPP PPP
Figura 1.17: Grafo para obtener la matriz de adyacencia representada por la tabla 1.3.
Algunas observaciones con respecto a la matriz de adyacencia
M[R]:
La matriz M[R] es una matriz booleana, lo cual permite optimizar el
espacio para almacenarla y el tiempo para manipularla.
La matriz M[R] permite representar lazos.
La matriz M[R] no permite representar lados paralelos (debido a que
opera sobre la definici´on matem´atica de grafo (digrafo)).
La matrizM[R] es sim´etrica en el caso de los grafos, por ello no es un
modo muy eficiente de representaci´on.
La matriz M[R] no es sim´etrica en el caso de los digrafos.
1.2.2. Matriz de incidencia
Si el grafo (digrafo) est´a definido como un esquema geom´etrico G =<
1.2. REPRESENTACI ´ON DE GRAFOS 17 M[R] A B C D E F A 0 0 1 0 0 0 B 0 0 1 0 0 0 C 1 1 0 1 1 1 D 0 0 1 0 0 0 E 0 0 1 0 0 0 F 0 0 1 0 0 0
Cuadro 1.3: Matriz de adyacencia para el grafo de la figura 1.17.
de incidencia. Es necesario que presentemos dos definiciones para la matriz
de incidencia, una para grafos y la otra para digrafos; situaci´on que no se
present´o, como pudimos observar, en la presentaci´on de la matriz de
adya-cencia.
Antes de presentar la matriz de incedencia para grafos, es necesaria la
sigu-iente definici´on:
Definici´on 1.12 (V´ertices incidentes). Sea G =< V, E >un grafo, si e =
{vi, vj} es un lado de G, entonces se dice que los v´erticesvi, vj son v´ertices
incidentes al lado e.
Definici´on 1.13 (Matriz de incidencia (grafo geom´etrico)). Sea G =< V, E > un grafo finito cualquiera. Podemos asociar a G, la matriz M[E],
llamada su matriz de incidencia y, tal que, siV= =n yE= =m, entonces:
M[E] = (Xi,j)n×m⇐⇒Xi,j =
(
1 ssi vi es incidente al ladoej,
0 ssi vi no es incidente al ladoej.
Ejemplo 1.12. Dado el grafo representado en la figura 1.18, obtenemos la
matriz M[E] = (Xi,j)5×7 representada por la tabla 1.4.
Algunas observaciones acerca de la matriz de incidencia M[E]:
La matriz M[E] permite representar lazos.
/.-, ()*+b e2 e3 > > > > > > > > '&%$ !"#a e1 e7 e4 '&%$ !"# c '&%$ !"#e e6 /.-,()*+d e5
Figura 1.18: Grafo para obtener la matriz de incidencia representada por la tabla 1.4. M[E] e1 e2 e3 e4 e5 e6 e7 a 1 1 0 1 0 0 1 b 0 1 1 0 0 0 0 c 0 0 1 1 1 0 0 d 0 0 0 0 1 1 0 e 0 0 0 0 0 1 1
Cuadro 1.4: Matriz de incidencia para el grafo de la figura 1.18.
Antes de presentar la matriz de incidencia para digrafos, necesitamos algunas definciones adicionales.
Definici´on 1.14(Extremos, v´ertice inicial, v´ertice final). SeaG~ =< V, E >
un digrafo, si e = (vi, vj) es un lado de G~, entonces los v´ertices vi, vj son
llamados los extremos del ladoe. El v´erticevies llamdo el v´ertice inicial del
ladoey el v´ertice vj es llamado el v´ertice final del ladoe.
Definici´on 1.15 (Matriz de incidencia (digrafo geom´etrico)). Sea G~ =< V, E >un digrafo finito cualquiera. Podemos asociar a G~, la matrizM[E],
llamada su matriz de incidencia y, tal que, siV= =nyE= =m, entonces:
M[E] = (Xi,j)n×m ⇐⇒Xi,j =
1 si vi es el v´ertice inicial del lado ej,
−1 si vi es el v´ertice final del lado ej,
0 si vi no es extremo del lado ej.
Ejemplo 1.13. Dado el grafo representado en la figura 1.19, obtenemos la
1.3. CONECTIVIDAD 19 '&%$ !"#a e7MM e1 /.-,()*+// b e6 /.-, ()*+d e4 O O e2 //'&%$ !"# c e3 O O e5 ^ ^ >>>>>> >>> >>>>>> >>
Figura 1.19: Digrafo para obtener la matriz de incidencia representada por la tabla 1.5. M[E] e1 e2 e3 e4 e5 e6 e7 a 1 0 0 −1 −1 0 ±1 b −1 0 −1 0 0 1 0 c 0 −1 1 0 1 0 0 d 0 1 0 1 0 −1 0
Cuadro 1.5: Matriz de incidencia para el grafo de la figura 1.19.
Observe que la posici´on Xa,e7 tiene el valor ±1, esto debido a que un lazo
tiene como extremo inicial y extremo final el mismo v´ertice.
1.3.
Conectividad
1.3.1. Caminos y circuitosInicialmente realizaremos la formalizaci´on de ciertos conceptos
vincula-dos con la noci´on de conectividad, los cuales seran de importancia en los
temas subsiguientes. Comenzamos presentando las definiciones de camino y
circuito para un digrafo como objeto geom´etrico.
Definici´on 1.16 (Enlace (digrafo geom´etrico)). Sea G~ =< V, E > un
di-grafo. La relaci´on de enlace entre dos lados de un digrafo, representada por
Ed(ei, ej), est´a definida por:
Seanei = (xi, yi) y ej = (xj, yj) entonces,
Ed(ei, ey)⇐⇒
Definici´on 1.17 (Camino (digrafo geom´etrico)). Sea G~ =< V, E > un
digrafo cualquiera. Un camino finito denotado por Π es una sucesi´on finita
de lados enlanzados, es decir,
Π =< s1, s2, . . . , sn> ∧
(∀i∈ {1,2, . . . , n−1}(Ed(si, si+1))).
Un camino finito del v´ertice a al v´ertice b denotado por Π(a, b), definido
por:
Π(a, b) =Π =
< s1, s2, . . . , sn> ∧
(∀i∈ {1,2, . . . , n−1}(Ed(si, si+1)))∧
((s1 = (a, y1)∧sn= (xn, b))).
Definici´on 1.18 (Circuito (digrafo geom´etrico)). Sea G~ =< V, E > un
digrafo cualquiera. Un circuito denotado por Π(a) es un camino del v´ertice
aal v´ertice aen el cual no es posible repetir lados, es decir:
Π(a) =Π(a, a) =
< s1, s2, . . . , sn−1, sn> ∧
(∀i∈ {1,2, . . . , n−1}(Ed(si, si+1)))∧
((s1 = (a, y1) ∧ sn= (xn, a)))∧
(∀i∀j∈ {1,2, . . . , n}(i=6 j=⇒si6=sj)).
Para las definiciones de camino y circuito para el caso de los grafos como
objetos geom´etricos, es necesario utilizar una nueva relaci´on de enlace entre
los lados de un grafo no dirigido.
Definici´on 1.19 (Enlace (grafo geom´etrico)). SeaG =< V, E > un grafo.
La relaci´on de enlace entre lados de un grafo, representada por End(ei, ej),
est´a definida por:
1.3. CONECTIVIDAD 21
End(ei, ey)⇐⇒
def. ((xi =xj)∨(xi =yj)∨(yi=xj)∨(yi=yj)).
Definici´on 1.20 (Camino (grafo geom´etrico)). SeaG =< V, E >un grafo
cualquiera. Un camino finito denotado por Π es una sucesi´on finita de lados
enlanzados, es decir,
Seasi =xi, yi un lado, entonces:
Π =< s1, s2, . . . , sn> ∧
(∀i∈ {1,2, . . . , n−1}(End(si, si+1)))∧
(∀i∈ {1,2, . . . , n−1}((xi ∈si−1∧yi ∈si+1)∨(xi∈si−1∧yi∈si+1))).
Un camino finito del v´erticeaal v´erticebdenotado por Π(a, b), es un camino
Π =< s1s2. . . sn>definido por:
Sean s1 = {a, y1}, s2 = {x2, y2}, sn−1 = {xn−1, yn−1} y sn = {b, yn},
en-tonces: Π(a, b) =Π = < s1, s2, . . . , sn> ∧ (∀i∈ {1,2, . . . , n−1}(End(si, si+1)))∧ (∀i∈ {1,2, . . . , n−1}((xi∈si−1∧yi ∈si+1)∨(xi ∈si−1∧yi ∈si+1)))∧ ((y1 =x2∨y1 =y2) ∧ (xn−1=xn∨yn−1 =xn)).
Definici´on 1.21 (Circuito (grafo geom´etrico)). SeaG=< V, E > un grafo
cualquiera. Un circuito denotado por Π(a) es un camino del v´ertice a al
v´ertice aen el cual no es posible repetir lados, es decir:
Sean s1 = {a, y1}, s2 = {x2, y2}, sn−1 = {xn−1, yn−1} y sn = {a, yn},
Π(a) =Π(a, a) = < s1, s2, . . . , sn−1, sn> ∧ (∀i∈ {1,2, . . . , n−1}(End(si, si+1)))∧ (∀i∈ {1,2, . . . , n−1}((xi∈si−1∧yi∈si+1)∨(xi ∈si−1∧yi ∈si+1)))∧ ((y1 =x2∨y1=y2) ∧ (xn−1=xn∨yn−1 =xn))∧ (∀i∀j∈ {1,2, . . . , n}(i=6 j =⇒si 6=sj)).
Definici´on 1.22(Longitud de un camino (grafo o digrafo geom´etrico)). Sea
~
G=< V, E >un grafo (digrafo) cualquiera y Π(a, b) =< s1, s2, . . . , sn−1, sn>
un camino del v´erticeaal v´erticeb. La longitud del camino Π(a, b) denotada
porl(Π(a, b)) est´a definida por:
l(Π(a, b)) =l(< s1, s2, . . . , sn−1, sn>)
=n.
Dado que es posible considerar todo grafo (digrafo) matem´atico como un
grafo (digrafo) geom´etrico, es posible pensar que no es necesario ofrecer las
definiciones de camino, longitud de un camino y circuito para los grafos
(di-grafos) como objetos matem´aticos, ya que se realizaron dichas definiciones
para los grafos (digrafos) como objetos geom´etricos. Sin embargo como se
observar´a en las secciones posteriores, las definiciones y en particular
algu-nas demostraciones relacionadas con la conectividad entre los v´ertices de una
grafo, son mucho mejor presentadas si se trabaja con los grafos (digrafos)
como objetos matem´aticos. Por esta raz´on presentamos las definiciones
men-cionadas para los grafos (digrafos) como objetos matem´aticos.
Definici´on 1.23(Camino (grafo o digrafo matem´atico)). SeaG=< V, R >
un grafo (digrafo) cualquiera. Un camino finito denotado por Π es una
suce-si´on finita de vertices enlazados, es decir,
Π =< s1, s2, . . . , sn> ∧
(∀i∈ {1,2, . . . , n−1}(R(si, si+1))).
1.3. CONECTIVIDAD 23
con los mismos s´ımbolos (< s1, s2, . . . , sn>), el contexto aclarar´a a cual de
ellos corresponde.
Un camino finito del v´erticeaal v´erticebdenotado por Π(a, b), es un camino
Π =< s1, s2, . . . , sn>definido por:
Π(a, b) =Π =
< s1, s2, . . . , sn> ∧
(∀i∈ {1,2, . . . , n−1}(R(si, si+1)))∧
(a=s1∧b=sn).
Definici´on 1.24 (Circuito (digrafo matem´atico)). Sea G~ =< V, R > un
digrafo cualquiera. Como vimos en la definici´on de un circuito para una
digrafo como objeto geom´etrico, un circuito denotado por Π(a) es un camino
del v´ertice aal v´ertice aen el cual no es posible repetir lados. La sucesi´on
que constituye un circuito para un digrafo como objeto matem´atico, es un
sucesi´on de v´ertices, por la tanto, la no repetici´on de lados se traduce en que
no se pueden repetir parejas de v´ertices en la sucesi´on, por lo que el circuito
est´a definido por:
Π(a) =Π(a, a)
=< s1, s2, . . . , sn−1, sn> ∧
(∀i∈ {1,2, . . . , n−1}(R(si, si+1)))∧
(a=s1∧a=sn)∧
(∀i∀j∈ {1,2, . . . , n−1}((i < j∧si =sj) =⇒(si+16=sj+i)).
Definici´on 1.25(Circuito (grafo matem´atico)). SeaG=< V, R >un grafo
cualquiera. Como acabamos de observar, la definici´on de un circuito para
una digrafo como objeto matem´atico, no admite la existencia de parejas de
v´ertices repetidas en la sucesi´on de v´ertices que componen el circuito. En el
caso de una grafo, es necesario a˜nadir que si los v´erticesvi,vjest´an contiguos
en la sucesi´on, no es posible admitir posteriormente la existencia de nuevo
de los v´erticesvj,vi contiguos en la sucesi´on, por la cual la definici´on de un
Π(a) =Π(a, a) =< s1, s2, . . . , sn−1, sn> ∧ (∀i∈ {1,2, . . . , n−1}(R(si, si+1)))∧ (a=s1∧a=sn)∧ (∀i∀j∈ {1,2, . . . , n−1}((i < j∧si =sj) =⇒(si+1 6=sj+i))∧ (∀i∀j∈ {1,2, . . . , n−1}((i < j∧xi=xj+1) =⇒(xi+16=xj)). Definici´on 1.26 (Longitud de un camino (grafo o digrafo matem´atico)). SeaG=< V, R >un grafo (digrafo) cualquiera y Π(a, b) =< a, s2, . . . , sn−1, b >
un camino del v´erticeaal v´erticeb. La longitud del camino Π(a, b) denotada
porl(Π(a, b)) est´a definida por:
l(Π(a, b)) =l(< a, s2, . . . , sn−1, b >)
=n−1.
Ejemplo 1.14. La figura 1.20, nos modeliza la estructura de un cierto tipo de elecciones de acciones a realizar.
/.-, ()*+5 ? ? ? ? ? ? ? ? /.-, ()*+A // /.-, ()*+4 @ @ // 7654 0123C ///.-,()*+2 7654 0123B O O /.-, ()*+3 W W /.-, ()*+7 O O / / /.-, ()*+8 O O
Figura 1.20: Grafo para seleccionar algunos caminos y circuitos sobre ´el.
De la figura, descubrimos caminos de longitud especificadas, e igualmente circuitos sobreG~.
Π1(A,8) =< A,4,5, C,2,7,8>, l(Π1) = 6
Π2(A) =< A,4,3, A >, l(Π2) = 3
1.3. CONECTIVIDAD 25
Π4(B) =< B, A, B >, l(Π4) = 2
Π5(3,7) =<3, A,4, C,2,7>, l(Π5) = 5
Observemos que no existe Π(5), es decir, no exite un circuito que se origine
a partir del v´ertice 5.
1.3.2. Relaci´on de n-conectividad Rn
Presentamos a continuaci´on la relaci´on de n-conectividad sobre un
di-grafo G~, esta relaci´on nos representa los caminos de longitud n sobre el
digrafo.
Definici´on 1.27(Relaci´on de n-conectividad). SeaG~ =< V, R >un digrafo
ynun entero positivo. Definimos enV la relaci´on de n-conectividad denota
por Rn, como sigue:
Rn(x, y)⇐⇒
def. (∃Π)(Π(x, y)∧l(Π) =n).
Ejemplo 1.15. Consideremos el grafo dirigidoG~, representado por la figura 1.21: /.-, ()*+d '&%$ !"#a -- /.-,()*+//b //'&%$ !"#c @ @ > > > > > > > > '&%$ !"#e
Figura 1.21: Digrafo para obtener la relaci´on de 2-conectividad
Observemos que:
R2(a, c), puesto que: R(a, b)∧R(b, c), luego (∃Π)(Π(a, c)∧l(Π) = 2);
R2(b, c), puesto que:R(b, c)∧R(c, d), luego (∃Π)(Π(b, d)∧l(Π) = 2);
Es posible observar adem´as que,R2 ={(a, a),(a, b),(a, c),(b, d),(b, e),(c, e)}.
Esta relaci´on R2 sobre V = {a, b, c, d, e} nos define una nuevo grafo <
V, R2>, grafo dado por los v´ertices y las relaciones que indican los v´ertices
que est´an conectados por caminos de longitud 2. Este nuevo grafo, para el
ejemplo, lo representamos por la figura 1.22.
'&%$ !"#a -- // /.-, ()*+b // /.-, ()*+d '&%$ !"#c //'&%$ !"#e
Figura 1.22: Grafo definido por la relaci´on R2.
Para presentar algunos teoremas importantes de la teor´ıa de grafos, necesi-tamos previamente definir algunas operaciones booleanas, operaciones que operan sobre las matrices booleanas.
Definici´on 1.28 (Operaciones booleanas). Como mencionamos anterior-mente, una matriz booleana es una matriz cuyos elementos son cero o uno.
Las tablas 1.6 y 1.7 definen las operaciones booleanas ⊕ y ⊗
respectiva-mente.
⊕ 0 1
0 0 1
1 1 1
Cuadro 1.6: Operaci´on booleana⊕.
⊗ 0 1
0 0 0
1 0 1
Cuadro 1.7: Operaci´on booleana⊗.
1.3. CONECTIVIDAD 27
disyunci´on (∨) y a la conjunci´on (∧) l´ogicas, respectivamente.
Sean Am×p yBp×n dos matrices booleanas. Se define el producto booleano
de matrices AB por:
AB = (Xi,j)m×n
=Xi,j = (ai,1⊗b1,j)⊕(ai,2⊗b2,j)⊕ · · · ⊕(ai,p⊗bp,j).
Es decir, el producto booleano de matrices es similar al producto de matrices,
excepto que se cambian las operaciones de suma y multiplicaci´on ordinarias
por las operaciones⊕ y⊗respectivamente.
Teorema 1.1. Sea G~ =< V, R > un digrafo finito y sea G~2 =< V, R2 > el
digrafo obtenido mediante la relaci´on de 2-conectividad R2, entonces: M[R2] =M[R]M[R]
Demostraci´on. SeanM[R]n×n,Xi,j ∈M[R2]Yi,k ∈M[R] yYk,j∈M[R].
Probemos que Xi,j = 1 ⇐⇒ R(vi, vk)∧R(vk, vj). Es decir, probemos que
existe un camino de longitud 2 del v´ertice ial v´erticejsi y solo si existe
al-gun v´erticek, tal que, exista un camino de longitud 1 del v´erticeial v´ertice
k y exista un camino de longitud 1 del v´erticek al v´erticej. As´ı:
¬ R(vi, vk)∧R(vk, vj) Hip´otesis
auxiliar
Yi,k = 1∧Yk,j= 1 Definici´on
deM[R]
® Yi,k⊗Yk,j= 1
¯ Xi,j = (Yi,1⊗Y1,j)⊕· · ·⊕(Yi,k⊗Yk,j)⊕· · ·⊕(Yi,n⊗Yn,j) = 1 ° M[R2] =M[R]M[R]
Podemos extender el teorema 1.1 a la relaci´on de n-conectividad.
Teorema 1.2. Sea G~ =< V, R > un digrafo finito y sea G~n=< V, Rn > el
digrafo obtenido mediante la relaci´on de n-conectividad Rn, entonces para
M[Rn] =M[R]M[R] · · · M[R]
| {z }
n veces
Demostraci´on. Por inducci´on finita:
1. Paran= 1
Como R1 =R entoncesM[R1] =M[R]
2. Hip´otesis inductiva: Supongamos paran=k v´alido el teorema
3. Probemos la validez del teorema para n = k+ 1 (con ayuda de la
hip´otesis inductiva).
SeaM[R]n×n, Xi,j ∈M[Rk+1] yZi,j ∈M[Rk]M[R].
Probemos que Xi,j = 1⇐⇒Zi,j = 1
¬ Xi,j = 1 Hip´otesis
aux-iliar ∃Π(Π(vi, vj)∧l(Π) =k+ 1 ® ∃Π0(Π0(vi, vk)∧R(vk, vj)∧l(Π0) =k) ¯ Rk(vi, vk)∧R(vk, vj) ° Yi,k = 1∧Wk,j = 1, Yi,k ∈ M[Rk]∧ Wk,j∈M[R] ± Yi,k⊗Wk,j= 1, ² Zi,j = (Yi,1⊗W1,j)⊕ · · · ⊕(Yi,k⊗Wk,j)⊕ · · · ⊕ (Yi,n⊗Yn,j) = 1 ³ M[Rn] =M[R]M[R] · · · M[R] | {z } n veces Por principio de inducci´on completa
El retornoZi,j = 1 =⇒Xi,j = 1 es inmediato de la demostraci´on anterior.
1.3.3. Relaci´on de conectividad general R∞
La relaci´on de conectividad general sobre un digrafo G~, nos representa
todos los caminos posibles sobre el digrafo.
Definici´on 1.29 (Relaci´on de conectividad general). Sea G~ =< V, R >
un digrafo cualquiera, definimos en V la relaci´on de conectividad general
1.3. CONECTIVIDAD 29
R∞(x, y)⇐⇒
def. (∃Π)(Π(x, y)).
Es decir, R∞(x, y) si y s´olo si existe un camino que va de x ay.
Ejemplo 1.16. Para el grafo representado por la figura 1.21 podemos
obser-var que:R∞={(a, a),(a, b),(a, c),(a, d),(a, e),(b, c),(b, d),(b, e),(c, d),(c, e),(d, e)}. Teorema 1.3. Sea G~=< V, R > un digrafo tal que, V= =n, entonces
R∞=R1∪R2∪ · · · ∪Rn= n
[
i=1 Ri,
donde ∪ denota la uni´on de conjuntos. Demostraci´on. Ejercicio.
Ejemplo 1.17. Consideremos el grafo del ejemplo 1.16, para el cual
M[R] = 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 .
Por el teorema 1.2 (o por el teorema 1.1),M[R2] =M[R]M[R].
M[R2] = 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 = 1 1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 .
Observemos, del ejemplo 1.15, queM[R2] es efectivamente la matriz de
ady-acencia deR2:
Observe que si X3,5∈M[R2] entoncesX3,5= 1, ya que,
IgualmenteX2,3= 0 ya que,
X2,3 = (0∧0)∨(0∧1)∨(1∧0)∨(0∧0)∨(0∧0) = 0.
Para calcularR∞por metodos matriciales usaremos la suma booleana, pero
postergamos este m´etodo, hasta una secci´on posterior en donde estudiaremos
un m´etodo m´as ´optimo de realizarlo, conocido como algoritmo de Warshall.
1.3.4. Grafos conexos
Definici´on 1.30 (Grafo asociado). Sea G~ =< V, R >un digrafo finito. El
grafo obtenido al eliminar las direcciones de los lados deG~ lo llamamos su
grafo (no dirigido) asociado.
Definici´on 1.31(Grafo conexo). SeaG=< V, R >un grafo.Ges conexo si
y s´olo si, dados dos v´ertices diferentes cualesquiera, existe un camino entre
ellos.
G es conexo⇐⇒
def. (∀va∀vb)(va, vb ∈V ∧va6=vb=⇒R ∞
(va, vb)). Definici´on 1.32 (Digrafo conexo). SeaG~ un grafo dirigido, G~ es conexo si
y s´olo si su grafo asociado es conexo.
Ejemplo 1.18. Consideremos los grafos:G1representado por la figura 1.23, ~
G2 representado por la figura 1.24, G3 representado por la figura 1.25 y G~4
representado por la figura 1.26.
'&%$ !"#c '&%$ !"#a /.-,()*+b /.-, ()*+d
Figura 1.23: Grafo no conexo.
Observemos que de acuerdo a nuestras definiciones los grafosG1 yG3 son no
1.3. CONECTIVIDAD 31 '&%$ !"#a ///.-,()*+b / /'&%$ !"#z 7654 0123B ? ? ? ? ? ? ? ? ? _ _ ???? ????? ?? /.-, ()*+d '&%$ !"#e
Figura 1.24: Grafo conexo.
/.-, ()*+1 /.-,()*+2 )) )) )) )) )) )) )) )) )) )) ) '&%$ !"#a /.-,()*+b '&%$ !"#c /.-, ()*+3 /.-,()*+4
Figura 1.25: Grafo no conexo.
1.3.5. Grafos simplemente conexos y relaci´on de conectivi-dad simple
Consideremos un grafoG=< V, R >. Podemos definir sobreGuna nueva
relaci´on llamada relaci´on de conectividad simple, que nos particiona el grafo
de acuerdo a las relaciones de conectividad entre sus v´ertices.
Definici´on 1.33 (Relaci´on conectividad simple). Sea G =< V, R > un
grafo, o si G~ es dirigido su grafo asociado. Definimos en V la relaci´on de
conectividad simple (tambi´en llamada relaci´on de accesibilidad), denotada
por RC, como sigue:
RC(va, vb)⇐⇒
def. (va=vb) ∨ R ∞
(va, vb).
Antes de probar que RC es una relaci´on de equivalencia; es necesario
intro-ducir la noci´on de composici´on de caminos en un grafo.
Definici´on 1.34 (Composici´on de caminos). Sean Π1(a, b), Π2(b, d) dos
7654 0123B 76540123D 7654 0123H 7654 0123E @ @ @ @ @ @ @ @ ~ ~ ~ ~ ~ ~ ~ ~ 7654 0123C 76540123F /.-,()*+J
Figura 1.26: Grafo conexo.
Π1◦Π2=< a, . . . , b, . . . , d > es un camino enG. Esto es,
si Π1 =< a, x1, x2, . . . , xn−1, b > y Π2 =< b, y1, y2, . . . , ym−1, d > es decir,
l(Π1) =nyl(Π2) =m, entonces Π1◦Π2 =< a, x1, x2, . . . , xn−1, b, y1, y2, . . . , ym−1, d >
es un camino deahastab, y de longitud n+m.
Teorema 1.4. La relaci´on de conectividad simple RC, definida sobre G es
una relaci´on de equivalencia.
Demostraci´on. Demostremos que RC satisface los axiomas de la teor´ıa de
relaciones de equivalencia. 1. Reflexividad:
Para todo v∈V tenemos
¬ v=v
(v=v)∨R∞(v, v)
® RC(v, v)
2. Simetr´ıa:
Sean v1, v2∈V tales que
¬ RC(v1, v2) Hip´otesis auxiliar
(v1=v2)∨R∞(v1, v2) Definici´on deRC
® (v1=v2)∨(∃Π)(Π(v1, v2)) Definici´on deR∞
¯ (v2=v1)∨(∃Π)(Π(v2, v1)) Ges no dirigido, o el grafo
aso-ciado de un grafo dirigido
° (v2=v1)∨R∞(v2, v1) Definici´on deR∞
± RC(v2, v1) Definici´onRC
3. Transitividad:
Sean v1, v2, v3 ∈V tales queRC(v1, v2)∧RC(v2, v3). De acuerdo a la
1.3. CONECTIVIDAD 33
((v1 =v2)∨R∞(v1, v2))∧((v2=v3)∨R∞(v2, v3)), de donde surgen cuatro posibles casos:
a) caso 1
¬ (v1 =v2)∧(v2 =v3) Hip´otesis auxiliar
v1 =v3 Transitividad de la igualdad
® RC(v1, v3) Definici´on RC
b) caso 2
¬ (v1 =v2)∧R∞(v2, v3) Hip´otesis auxiliar
R∞(v1, v3)) Por ¬
® RC(v1, v3) Definici´on RC
c) caso 3
¬ R∞(v1, v2)∧(v2=v3) Hip´otesis auxiliar
R∞(v1, v3)) Por ¬
® RC(v1, v3) Definici´on RC
d) caso 4
¬ R∞(v1, v2)∧R∞(v2, v3) Hip´otesis auxiliar
∃Π1(v1, v2)∧ ∃Π2(v2, v3) Definici´on de R∞
® ∃(Π1◦Π2)(v1, v3) Composici´on de caminos
¯ RC(v1, v3) Definici´on RC
El teorema 1.4 nos garantiza que la relaci´on RC clasifica o particiona un
grafoGen tipos o clase de subgrafos denominados componentes simplemente
conexas. La clase m´odulo RC, definida por:
cl(v) ={vi ∈V /RC(vi, v)},
representa el todos los v´ertices de V que est´an conectados con el v´ertice
v∈V.
Definici´on 1.35(Componente simplemente conexa). El subgrafo deGdado por < cl(v), RC >es llamado componente simplemente conexa.
Definici´on 1.36 (Grafo simplemente conexo). Un grafo G es simplemente
conexo o tambi´en denominado conexo si y s´olo si, G/RC (la partici´on de G
/.-, ()*+1 > > > > > > > > /.-,()*+3 /.-, ()*+2 /.-, ()*+4 /.-, ()*+0 /.-, ()*+5
Figura 1.27: Grafo para obtener sus componentes simplemente conexas.
Ejemplo 1.19. Para el grafo de la figura 1.27 tenemos:
cl(1) ={1,2,3}=cl(2) =cl(3);
cl(0) ={0,4,5};
G/RC ={cl(0), cl(1)}.
Las componentes simplementes conexas son los grafos:G1 =< cl(1), RC >,
representado por la figura 1.28, y G2 =< cl(0), RC >, representado por la
figura 1.29. /.-, ()*+1 > > > > > > > > /.-,()*+3 /.-, ()*+2
Figura 1.28: Componente simplemente conexa (1).
1.3.6. Grafos fuertemente conexos y relaci´on de conectividad fuerte
Consideremos de nuevo un grafo G=< V, R >. Podemos definir sobre G
una nueva relaci´on llamada relaci´on de conectividad fuerte, de manera que
1.3. CONECTIVIDAD 35 /.-, ()*+4 /.-, ()*+0 /.-, ()*+5
Figura 1.29: Componente simplemente conexa (2).
Definici´on 1.37 (Relaci´on de conectividad fuerte). Sea G =< V, R > un
grafo (digrafo) cualquiera. Definimos enGla relaci´on de conectividad fuerte,
denotada por RF, como sigue:
RF(va, vb)⇐⇒
def. (va=vb) ∨ (∃v)(∃Π)(Π(v)∧va, vb ∈Π(v)).
Es decir, va=vb o existe un circuito que contiene ava yvb como v´ertices.
Ejemplo 1.20. Para el grafo de la figura 1.30 vemos que:
'&%$
!"#a /.-,()*+b '&%$ !"#c
/.-,
()*+d /.-,()*+h
Figura 1.30: Grafo para obtener algunas relaciones de conectividad fuerte.
(a, b)∈RF, (a, d)∈RF, (d, a)∈RF, y
(a, c)∈/ RF, (b, h)∈/RF, (d, c)∈/ RF.
Adem´asRF ={(a, a),(a, b),(a, d),(b, a),(b, b),(b, d),(c, c),(d, a),(d, b),(d, d),(h, h)}. Teorema 1.5. Sea G=< V, R >un grafo cualquiera. La relaci´on de
conec-tividad fuerte RF, particiona a G en componentes o subgrafos llamados
fuertemente conexos.
Demostraci´on. Es necesario demostrar que RF es una relaci´on de
La partici´on enunciada por el teorema 1.5 es el conjunto cociente G/RF,
donde, cada clase m´odulo RF es de la forma:
cl(v) ={vi ∈V /(∃a∈V)∧(∃Π(a))(v, vi ∈Π(a))},
es decir,cl(v) ={vi∈V /existe un circuito Π(a) tal que,v, vi ∈Π(a)}.
Definici´on 1.38 (Componente fuertemente conexa). El subgrafo de G
de-terminado por< cl(v), RF >se denomina componente fuertemente conexa
(o sea, un tipo espec´ıfico de circuito del grafoG).
Ejemplo 1.21. Para el grafo dirigidoG~ definido por la figura 1.31 tenemos:
/.-, ()*+b '&%$ !"#c o o > > > > > > > > >oo /.-,()*+k '&%$ !"#a @ @ /.-,()*+ A O O /.-, ()*+d O O GG '&%$ !"# e o o
Figura 1.31: Grafo para obtener sus componentes fuertemente conexas.
cl(a) ={a, b};
cl(c) ={c, d, e, A, k};
~
G/RF ={cl(a), cl(c)}.
Las componentes fuertemente conexas son los grafos: G~1 =< cl(a), RF >,
representado por la figura 1.32, y G~2 =< cl(c), RF >, representado por la
figura 1.33.
Definici´on 1.39 (Grafos fuertemente conexo). Un grafo G se dice
fuerte-mente conexo si y s´olo, si la partici´on G/RF es un conjunto unitario.
Ejemplo 1.22. El grafoG de la figura 1.34 es un grafo fuertemente conexo.
1.3. CONECTIVIDAD 37 /.-, ()*+b '&%$ !"#a ? ?
Figura 1.32: Componente fuertemente conexa (1).
'&%$ !"#c > > > > > > > > >oo /.-,()*+k /.-, ()*+A O O /.-, ()*+d G G '&%$ !"# e o o
Figura 1.33: Componente fuertemente conexa (2).
G/RF ={cl(a)}.
El grafo G del ejemplo 1.20 y el grafo G~ del ejemplo 1.21 no son
fuerte-mente conexos.
1.3.7. Circuito de Euler
Como mencionamos en la introducci´on, se afirma que la teor´ıa de grafos
es una de las pocas ramas de la matem´aticas que tiene un fecha de
nacimien-to exacta. El matem´atico suizo Leonard Euler (1707-1783) public´o el primer
art´ıculo sobre teor´ıa de grafos (1736), enunciando en este, la soluci´on a uno
de los problemas matem´aticos que hasta la fecha, no ten´ıa soluci´on, conocido
como elProblema de los puentes de K¨onisgberg.
La ciudad de K¨onisgberg (hoy llamada Kaliningrado), en Prusia Oriental,
est´a situada sobre las riberas y sobre dos islas del r´ıo Pr´egel. Las distintas
partes de la ciudad se hallan conectadas por siete puentes. El Problema de
los puentes de K¨onisgberg consiste en: ¿Ser´a posible salir a dar un paseo
desde alg´un punto de la ciudad, cruzar los siete puentes exactamente una
vez y regresar al punto de partida?
'&%$
!"#a '&%$ !"#c
/.-,
()*+d 76540123f
Figura 1.34: Grafo fuertemente conexo.
la ciudad como un v´ertice de un grafo y cada puente como un lado de dicho
grafo, tal grafo est´a representado por la figura 1.35.
/.-, ()*+A @ @ @ @ @ @ @ @ @ 7654 0123B 76540123C 7654 0123D ~ ~ ~ ~ ~ ~ ~ ~ ~
Figura 1.35: Grafo para los puentes de K¨onisgberg.
Euler demostr´o que en este grafo no se puede construir lo que se denomina
actualmente un circuito de Euler. De all´ı, que el recorrido de la ciudad, pasando por cada puente una y sola una vez, y regresando al punto de partida, no es posible.
Definici´on 1.40(Circuito de Euler). SeaG=< V, E >un grafo cualquiera.
Un circuitoCE se dice circuito de Euler si y s´olo siCE es un circuito que
pasa por cada ladoe∈E, una y sola una vez.
Antes de presentar un teorema que nos permite saber si en un grafo existe o no un circuito de Euler, es necesario que presentemos algunas definiciones. Definici´on 1.41 (Lado incidente). Sea G =< V, E > un grafo cualquiera. Sie ={v1, v2} ∈ E, se dice que ees un lado incidente en los v´ertices v1 y
v2.
Definici´on 1.42 (Grado o valencia de un v´ertice). Sea G =< V, E > un
grafo cualquiera. Seav∈V un v´ertice deG. Llamamos grado o valencia de
1.3. CONECTIVIDAD 39
λ(v) =m ssi m es el n´umero de lados incidentes env.
Ejemplo 1.23. Para el grafo representado por la figura 1.36 tenemos:
/.-,
()*+A 76540123B 7654
0123C
Figura 1.36: Grafo para obtener la valencia de sus v´ertices.
λ(A) = 4;
λ(B) =λ(C) = 1.
Observe que un lazo, incide dos veces sobre el v´ertice.
Para el grafo que esquematiza la ciudad de K¨onisgberg (figura 1.35)
ten-emos que:
λ(A) =λ(C) =λ(D) = 3 y
λ(B) = 5.
Presentamos sin demostraci´on el teorema que nos permite determinar si
existe un circuito de Euler en un grafo G.
Teorema 1.6. Un grafo G tiene un circuito de Euler ssi es conexo y todos sus v´ertices tienen valencia par.
Ejemplo 1.24. El grafo representado por la figura 1.37 es conexo y todos
sus v´ertices tiene valencia par, entonces tiene un circuito de Euler. El circuito
de Euler est´a dado por: CE=< v1, v2, v3, v1 >.
De acuerdo al ejemplo 1.23 el grafo que esquematiza la ciudad de K¨onisgberg
(figura 1.35) no tiene un circuito de Euler porque todos sus v´ertices tienen
7654 0123v1 //76540123v2 ~ ~|||||| ||| 7654 0123v3 ` ` BBBBBBBB B
Figura 1.37: Grafo con un circuito de Euler
1.4.
Subgrafos
Definici´on 1.43 (Subgrafo). Sean G =< V, R > y G0 =< V0, R0 > dos
grafos (digrafos) cualquiera. Decimos que el grafo G0 es un subgrafo del
grafoG ssi (V0⊆V)∧(R0 ⊆R).
Sean G =< V, E > y G0 =< V0, E0 > dos grafos (digrafos) cualquiera.
Decimos que el grafoG0 es un subgrafo del grafoG ssi (V0⊆V)∧(E0⊆E).
Ejemplo 1.25. El grafo representado por la figura 1.39 es un subgrafo del grafo representado por la figura 1.38.
'&%$ !"#a 44 44 44 44 44 44 44 44 44 44 44 44 /.-, ()*+1 > > > > > > > > /.-, ()*+2 /.-, ()*+3 ? ? ? ? ? ? ? ? 7654 0123B 76540123C
Figura 1.38: Grafo del cual se obtuvo el subgrafo de la figura 1.39.
/.-, ()*+1 > > > > > > > > /.-, ()*+2 /.-,()*+3
1.5. CERRADURAS 41
1.5.
Cerraduras
SeaG =< V, R > un grafo (digrafo). Si R no posee las propiedades de
alg´un tipo de relaci´on (en particular reflexividad, simetr´ıa y transitividad),
es deseable adicionar a Rlas parejas ordenadas que hacen falta para poseer
la propiedad en cuesti´on. Naturalmente se desea adicionar tan pocas parejas
ordenadas como sea posible, es decir, se necesita encontrar la m´as peque˜na
relaci´on R0 ⊂V ×V que contenga a R y que posea la propiedad deseada.
R0 es llamada la cerradura (o clausura) de R con respecto a la propiedad en
cuesti´on.
Suponemos en est´a secci´on ya conocidas por el lector las propiedades de
las relaciones binarias.
Definici´on 1.44(Relaci´on identidad). SeaG=< V, R >un grafo (digrafo).
La relaci´on de identidad, denotada por Ri, est´a definida por:
Ri ={(v, v)/v ∈V}.
Definici´on 1.45 (Relaci´on inversa). Sea G =< V, R > un grafo (digrafo).
La relaci´on inversa de R, denotada porR−1, est´a definida por:
R−1={(vj, vi)/(vi, vj)∈R}.
Definici´on 1.46 (Cerradura reflexiva de R). La cerradura reflexiva de R,
denotada por Re, es la relaci´on definida por:
Re=R∪Ri,
es decir, es la relaci´on que resulta de poner unos en la diagonal principal
de la matriz de adyacencia M[R] del grafo G (es a˜nadir los bucles o lazos
necesarios hasta que todos los v´ertices est´en conectados a si mismos con un
bucle).
El grafo (digrafo) resultante Ge =< V, Re > es el cierre reflexivo del grafo
(digrafo) G=< V, R >, es decirGe es el menor grafo (digrafo) reflexivo que
contiene a G como subgrafo.
Definici´on 1.47 (Cerradura sim´etrica de R). La cerradura sim´etrica deR,
R←→=R∪R−1.
El grafo resultante G←→ =< V, R←→ > es el cierre sim´etrico del grafo
(di-grafo)G=< V, R >, es decir,G←→ es el menor grafo sim´etrico que contiene
aG como subgrafo.
Ejemplo 1.26. Para el grafo representado por la figura 1.40 tenemos:
/.-, ()*+1 > > > > > > > > /.-, ()*+2 // /.-, ()*+3 /.-, ()*+4 ///.-,()*+5
Figura 1.40: Grafo para obtener las relaciones Ri,Re,R←→ yR+.
R={(1,1),(1,3),(2,3),(2,4),(3,5),(4,5)}.
Ri (identidad) ={(1,1),(2,2),(3,3),(4,4),(5,5)}.
R−1 (inversa) ={(2,1),(3,1),(3,2),(4,2),(5,3),(5,4)}.
Re(cerradura reflexiva) =R∪Ri =.
{(1,1),(2,2),(3,3),(4,4),(5,5),(1,2),(1,3),(2,3),(2,4),(3,5)(4,5)}.
R←→ (cerradura sim´etrica) =R∪R−1=
{(1,2),(1,3),(2,3),(2,4),(3,5)(4,5),(2,1),(3,1),(3,2),(4,2),(5,3),(5,4)}. Definici´on 1.48 (Cerradura transitiva de R (definici´on 1)). Sea G =< V, R >un grafo (digrafo) cualquiera. El cierre transitivo deG, denotado por
G+ =< V, R+ >, est´a definido por la menor relaci´on R+ sobre V que sea
transitiva y que contenga aR como subgrafo, es decir:
1. R+ es transitiva.
2. R ⊆R+.
1.5. CERRADURAS 43 Teorema 1.7. SeaG =< V, R >un grafo (digrafo),G es transitivo si y s´olo si, Rn⊆R.
Demostraci´on. =⇒
Probemos que se cumple para todo n≥1.
¬ Sea (x, y)∈Rn Hip´otesis auxiliar
G es transitivo Hip´otesis
® ∃Π(Π(x, y)∧l(Π) =n) Por ¬ ¯ Sea Π =< x, x2, . . . , xn−1, y > ∧ (∀i ∈ {1,2, . . . , n − 1}(R(xi, xi+1))) Definici´on de caminio ° (∀i∈ {1,2, . . . , n−1}(R(xi, xi+1))) Simplificaci´on de ¯ ± R(x, x1)∧R(x1, x2)∧· · ·∧R(xn−1, y) Expansi´on de ° ² R(x, y) Por (R es transitiva) ³ Luego (x, y)∈R Por ² ´ Rn⊂R
La demostraci´on reciproca se deja como ejercicio.
Teorema 1.8. Sea G =< V, R > un grafo (digrafo) cualquiera, entonces
R+ = R∞. Es decir, la clausura transitiva es igual a la relaci´on de conec-tividad general sobre G=< V, R >.
Demostraci´on.
1. R∞ es una relaci´on transiva
¬ (x, y)∈R∞∧(y, z)∈R∞ Hip´otesis auxiliar
(∃Π1)(Π1(x, y))∧(∃Π2)(Π2(y, z)) Por¬
® (∃Π3)(Π3 = Π1◦Π2∧Π3(x, z)) Por
¯ R∞(x, z) Por®
2. R⊆R∞. Por definici´on de R∞ .
¬ SeaS una relaci´on transitiva Hip´otesis auxiliar
R⊆S Hip´otesis auxiliar
® R∞⊆S∞ Todo camino enR, es un camino en S ¯ Sn⊂S Teorema 1.7 ° S = V n=1Sn⊆S Por ¯ ± S∞⊆S,S∞=S = V n=1Sn Teorema 1.3 ² R∞⊆S Por ®y±
Luego R∞ es la menor relaci´on transitiva que contiene a R y, por ende,
R+=R∞. As´ı:G+=< V, R∞>.
Con base en el teorema anterior podemos ofrecer una definici´on alternativa
para la cerradaura transitiva.
Definici´on 1.49 (Cerradura transitiva de R (definici´on 2)). La cerradura
transivita deR, denotada por R+, es la relaci´on definida por:
R+=
V
[
n≥1 Rn,
dondeRn es la relaci´on de n-conectividad.
Es decir, el cierre transitivo del grafo (digrafo)G=< V, R >es el grafo
(di-grafo) transitivoG+=< V, R+>, dondeR+es el menor conjunto de parejas
ordenadas que se obtienen de tomar los extremos de todos los caminos (sin importar su longitud).
Intuitivamente es claro que si G =< V, R > es un grafo transitivo y si
existe un camino de longitudn >1 devi avj, entonces existe un camino de
longitudn= 1 de vi avj , es decir, R(vi, vj).
Existe un procedimiento mec´anico llamado algoritmo de Warshall para el
c´alculo de la cerradura transitiva de un grafo. Este algoritmo lo
presentare-mos en una pr´oxima secci´on.
Ejemplo 1.27. Para el grafo representado por la figura 1.40 tenemos:
1.6. ISOMORFISMO DE GRAFOS 45 R1=R. R2=RR={(1,3),(1,4),(1,5),(2,5)}. R3=RR2={(1,5)}. R4=RR3=∅. R5=RR4=∅. R+ (cerradura transitiva) =SV n≥1Rn=R∪R2∪R3∪R4∪R5 = {(1,2),(1,3),(2,3),(2,4),(3,5)(4,5),(1,3),(1,4),(1,5),(2,5),(1,5)}.
1.6.
Isomorfismo de Grafos
Sabemos que la relaci´on de isomorfismo es un relaci´on entre estructuras
cuya funci´on esencial es reconocer y clasificar aquellas que son
estructural-mente identicas. Igualestructural-mente sabemos que toda propiedad o f´ormula que
satisfaga una estructura debe satisfacer la la otra. Tales propiedades las denominamos invariantes.
Definici´on 1.50 (Isomorfismo de grafos). Sean G =< V, R > y G0 =<
V0, R0 > dos grafos (digrafos). Decimos que G es isomorfo a G0 si y s´olo si,
existe una funci´on biyectiva φ:V →V0, tal que:
(v1, v2)∈R⇒(ψ(v1), ψ(v2))∈R0; para todov1, v2∈V .
La funci´on ψ: V → V0 se denomina isomorfismo de grafos. Escribimos ψ:
G wG0 para indicar que G es isomorfo a G0.
Ejemplo 1.28. Los grafos G1 =< V1, R1 >y G2 =< V2, R2 >,
representa-dos por las figuras 1.41 y 1.42 respectivamente, son isomorfos.
G1 wG2, ya que,V=1 = =
V2= 4; adem´as podemos definir la funci´onψ:V1 →V2
tal que ψ(1) = 2, ψ(2) = b, ψ(3) = c y ψ(4) = d. Entonces, (1,2) ∈ R1 y
(ψ(1), ψ(2)) ∈ R2; (1,4) ∈ R1 y (ψ(1), ψ(4)) ∈ R2; igualmente para las
/.-, ()*+1 > > > > > > > > /.-,()*+2 /.-, ()*+3 /.-,()*+4
Figura 1.41:G1 isomorfo al grafo de la figura 1.42.
'&%$ !"#a = = = = = = = = /.-,()*+b '&%$ !"#c /.-,()*+ d
Figura 1.42:G2 isomorfo al grafo de la figura 1.41.
Teorema 1.9. Dos grafos G1 y G2 son isomorfos si y s´olo, si para alg´un
orden establecido sobre sus v´ertices y lados las matrices de incidencia son iguales.
En el trabajo con grafos, un aspecto importante es el concerniente con la
determinaci´on de grafos que no son isomorfos. Aunque existen algoritmos
que pueden determinar en buena medida si dos pares de grafos son isomorfos, una forma de determinar que no lo son consiste en buscar una invariante
que no se preserve (por ejemplo: n´umero de lados, grado o valencia de los
v´ertices, longitudes de caminos, etc.)
Ejemplo 1.29. Los grafosG1 yG2, representados por las figuras 1.43 y 1.44
respectivamente, no son isomorfos puesto queG1 tiene siete lados yG2 tiene
ocho lados. '&%$ !"#a /.-,()*+b '&%$ !"#e '&%$ !"#c /.-,()*+d
1.6. ISOMORFISMO DE GRAFOS 47 /.-, ()*+0 /.-, ()*+1 /.-, ()*+2 /.-,()*+3 /.-,()*+4
Figura 1.44: G2 no isomorfo al grafo de la figura 1.43.
Ejemplo 1.30. Los grafosGayGb, representados por las figuras 1.45 y 1.46
respectivamente, no son isomorfos.
El v´ertice b en Ga es adyacente a dos v´ertices, luego le podriamos asociar
el v´ertice 6 deGb. Igualmente el v´ertice q de Ga se podria corresponder con
el el v´ertice 1 de Gb. En Ga no existen m´as v´ertices de grado dos, y en Gb
existe todav´ıa el v´ertice 3. Luego no podriamos construir una biyecci´on que
preserve las adyacencias.
'&%$ !"#a /.-, ()*+d = = = = = = = = /.-, ()*+b > > > > > > > > /.-,()*+q '&%$ !"#c '&%$ !"#e
Figura 1.45: Ga no isomorfo al grafo de la figura 1.46.
/.-, ()*+1 > > > > > > > > /.-,()*+2 > > > > > > > > /.-,()*+3 /.-, ()*+4 > > > > > > > > /.-,()*+5 /.-, ()*+6
1.7.
Algoritmo de Warshall
Nos proponemos en esta secci´on fundamentar el algoritmo ideado por
Warshall para calcular de forma efectiva la clausura transitiva R+ = R∞
(por el teorema 1.8).
Definici´on 1.51 (V´ertice interior). Sea G=< V, R > un grafo (digrafo) y Π =< a, a1, a2, . . . , b >un camino. Los v´ertices diferentes de los extremos a
yblos denominamos v´ertices interiores.
Inicialmente es necesario construir una sucesi´on finita de matricesM0, M1, . . . Mn
tal queM0 =M[R] yMn=M[R∞].
La matrizMk, para 0< k≤nse construye como sigue:
aki,j = 1, expresa que existe un 1 en la posici´on de la fila i-´esima y de la
columna j-´esima de la matriz Mk.
aki,j = 1 ssi ∃Π(Π =< vix1x2. . . xpvj > ∧x1, x2, . . . , xp ∈ {v1, v2, . . . vk}.
Es decir los v´ertices interiores del camino Π son de indice menor o igual que
k, ordenando y diferenciando los v´ertices del camino por indices.
Como V= = n y k ≤ n entonces se ve que Mn = M[R∞] porque cualquier
camino debe tener como v´ertices interiores el conjunto V ={v1, v2, . . . , vn}.
Teorema 1.10. Para la sucesi´on de matrices M0 = M[R], M1, . . . Mk =
M[R∞], si 0≤i, j, k≤nentonces wi,jk =wi,jk−1⊕(wki,k−1⊗wkk,j−1) Demostraci´on. =⇒ Demostremos quewk i,j = 1 ssiwk −1 i,j = 1 ´owk −1 i,k =w k−1 k,j = 1.
¬ wi,jk = 1. Hip´otesis
(∃Π(Π =< vi, x1, x2, . . . , xp, vj))∧ {x1, x2, . . . , xp} ⊂ {v1, v2, . . . , vk}.
® Supongamos que respecto al sub´ındice los v´erticesxi son diferentes.
¯ Puede ocurrir quevk sea o no v´ertice interior de Π.
1.7. ALGORITMO DE WARSHALL 49 b) wki,j−1 = 1.
° Sivk∈ {x1, x2, . . . , xp}, entonces, sean
a) Π1(vi, vk) y Π2(vk, vj), luego
b) los v´ertices interioresxi son tales que i≤k−1.
c) Luegowi,kk−1= 1 ywkk,j−1 = 1. d) wki,k−1∧wk,jk−1 = 1.
e) Luegowi,jk−1= 1∨(wi,kk−1 = 1∧wi,jk−1 = 1).
Demostraci´on. ⇐=
¬ wki,j−1 = 1∨(wi,kk−1= 1∧wki,j−1 = 1). Hip´otesis
Es inmediato que en cualquiera de las dos condiciones se cumple que
wki,j = 1, ya que los indices de los v´ertices interiores no superan a
(k−1), luego tampoco ak.
Ejemplo 1.31. SeaG~ =< V, R > el grafo de la figura 1.47
/.-,
()*+1hh /.-,()*+((2 /.-,()*+//3
/.-, ()*+4
Figura 1.47: Grapo para aplicar el algoritmo de Warshall.
Como n= 4 M[R] = 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 SeaM0 =M[R]
Para hallarM1:
Transferimos todos los unos deM0 a M1
M1 = 1 1 1 1
Para localizar los nuevos unos aplicamos el teorema anterior, comok = 1,
buscamos los lugares (columnas (i, k) y filas (k, j)) donde existe unos en la
matrizM0.
Comok= 1, vemos quea12,1 ya11,2 = 1 luegoa12,2 = 1, as´ı:
M1 = 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 Para hallarM2:
Comok = 2 escribimos a11,2 = a12,1 = 1 y a11,2 =a12,3 = 1, luego a21,1 = 1 y
a2
1,3 = 1. Transportando los unos ya existentes en M1
M2 = 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0
Para hallarM3 (procediendo de forma similar):
Comok= 3, existen unos ena21,3 ya23,4, luego ena31,4 = 1; existen unos en
a22,3 ya23,4, luego en a32,4 = 1 M3 = 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0
Finalmente, para k = 4, puesto que no hay unos en la cuarta fila de M3,
entonces no existen nuevos unos enM4, as´ı queM3=M[R∞].
1.8. ´ARBOLES Y ARBORESCENCIAS 51 Warshall(M[R]) { cerradura = M[R]; FORk = 1TO n FORj = 1TO n FORi = 1 TO n cerradura[i][j] = cerradura[i][j]∨ (cerradura[i][k]∧cerradura[k][j]); }
Figura 1.48: Algoritmo de Warshall.
1.8.
Arboles y Arborescencias
´
En esta secci´on presentaremos aspectos b´asicos de un cierto tipo de grafo
que llamaremos ´arbol. Los ´arboles y arborescencias son herramientas
impor-tantes para el dise˜no de problemas, m´aquinas abstractas y lenguajes.
Presentaremos, en primera instancia, la noci´on de ´arbol libre o
arbores-cencia.
Definici´on 1.52 ( ´Arbol libre o Arborescencia). Un ´arbol o libre o
arbores-cencia es un grafo T =< V, R >tal que
1. T es antirreflexivo, es decir, no existen bucles enT. Simb´olicamente,
∀x(x∈V ⇒ ¬R(x, x)).
2. Para todo par de v´ertices existe un y ´solo un camino en el cual no se
repiten lados. Simb´olicamente,
∀x∀y(x, y∈V ⇒ ∃!Π(Π(x, y)∨Π(y, x))).
Ejemplo 1.32. El grafo de la figura 1.49 representa geom´etricamente a un ´
arbol libre.
Definici´on 1.53 ( ´Arboles con ra´ız). Un ´arbol con ra´ız,T =< V, R >, es un
digrafo con un v´ertice distinguido v0 ∈V tal que, para todo v 6= v0 existe
'&%$ !"#c > > > > > > > > '&%$ !"#a /.-,()*+m '&%$ !"#e /.-, ()*+b /.-, ()*+d /.-,()*+g
Figura 1.49: ´Arbol libre.
∀v(v ∈V ∧v6=v0⇒ ∃!Π(Π(v0, v))).
Representaremos el ´arbol con ra´ız, por medio de la estructuraT =< V, R, v0 >
dondev0 representa la ra´ız del ´arbol.
Ejemplo 1.33. Los grafos de las figuras 1.50 y 1.51 son ejemplos de ´arboles con ra´ız. r } }{{{{{{ {{ ! ! C C C C C C C C v1 ~ ~|||||| || B B B B B B B B v2 v3 v4 v5
Figura 1.50: ´Arbol con ra´ız (1).
Teorema 1.11. Sea T =< V, R, v0 >un ´arbol con ra´ız finito, entonces:
1. T es conexo.
2. T no tiene circuitos.
3. Todo v´ertice v6=v0 tiene una y s´olo una entrada. 4. T tiene n−1 lados, dondeV= =n.
1.8. ´ARBOLES Y ARBORESCENCIAS 53 GFED @ABC100 7654 012310 = = z z z z z z z z z ! ! D D D D D D D D D GFED @ABC101 /.-, ()*+1 G G .. .. .. .. .. .. .. .. GFED @ABC110 7654 012311 = = z z z z z z z z z ! ! D D D D D D D D D GFED @ABC111
Figura 1.51: ´Arbol con ra´ız (2).
1. T es conexo.
¬ T es ´arbol Hip´otesis
SeaT0 el grafo asociado deT T es un digrafo
® ∃!Π(v0, v), para todo v∈V Definici´on de ´arbol
¯ T es conexo
2. T no tiene circuitos (demostraci´on indirecta).
¬ (∃v ∈V)((∃Π1)(Π1(v))) Hip´otesis indirecta
(∃!Π2)(Π2(v0, v)) Definici´on de ´arbol, v6=v0
® (Π2◦Π1)(v0, v) Composici´on de caminos
¯ Π2◦Π1 6= Π2 Contradicci´on
° Luego, no hay circuitos
3. Todo v´erticev6=v0 tiene una y s´olo una entrada.
a) Todo v´ertice tiene una entrada.
¬ Seav6=v0 un v´ertice cualquiera.