• No se han encontrado resultados

Teoría de grafos. Notas de clase (versión preliminar) Universidad EAFIT

N/A
N/A
Protected

Academic year: 2021

Share "Teoría de grafos. Notas de clase (versión preliminar) Universidad EAFIT"

Copied!
65
0
0

Texto completo

(1)

Teor´ıa de grafos. Notas de clase

(versi´

on preliminar)

Ra´ul G´omez Mar´ın, Andr´es Sicard Ram´ırez Universidad EAFIT

(2)
(3)

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

(4)

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)

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

(6)

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:

(7)

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

(8)

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

(9)

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.

(10)

'&%$

!"#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.

(11)

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

(12)

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.

(13)

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. . .

(14)

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.

(15)

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

(16)

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 =<

(17)

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.

(18)

/.-, ()*+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

(19)

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 circuitos

Inicialmente 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)⇐⇒

(20)

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:

(21)

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},

(22)

Π(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))).

(23)

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

(24)

Π(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

(25)

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);

(26)

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⊗.

(27)

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

(28)

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

(29)

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,

(30)

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

(31)

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

(32)

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

(33)

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

(34)

/.-, ()*+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

(35)

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

(36)

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.

(37)

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?

(38)

'&%$

!"#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

(39)

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

(40)

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 (V0V)(E0E).

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

(41)

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,

(42)

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) =RRi =.

{(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+.

(43)

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∞ .

(44)

¬ 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:

(45)

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

(46)

/.-, ()*+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

(47)

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

(48)

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 Π.

(49)

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]

(50)

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∞].

(51)

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

(52)

'&%$ !"#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.

(53)

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.

Referencias

Documento similar