Professional Documents
Culture Documents
Grafos
1.1. Conjuntos y relaciones
Consideraremos un conjunto como una coleccin cualquiera de objetos. Un conjunto queda denido por los objetos que a l pertenecen; dichos objetos son los elementos o miembros del mismo. Si x es un miembro del conjunto A, escribimos x A y decimos que x pertenece a A; en caso contrario, escribimos x A y decimos, anlogamente, que x no pertenece a A. Si cada elemento x de un conjunto A es tambin miembro de otro conjunto B , decimos que A es un subconjunto de B , o que A est includo en B , y escribimos A B . Dos conjuntos A y B son iguales si y solamente si A B y B A; es decir, si constan exactamente de los mismos elementos. En ese caso, escribimos A = B . A veces se emplea tambin la notacin A B para la relacin de inclusin, y el smbolo se reserva para la inclusin propia, que ocurre cuando A B pero A = B . En general, la relacin de inclusin propia aparece con menos frecuencia, y usaremos el smbolo ms sencillo para la relacin ms frecuente, de modo que signicar siempre para nosotros est incluido en o es igual a. En lo sucesivo nos ocuparemos predominantemente de conjuntos nitos, que pueden denotarse convenientemente enumerando todos sus elementos. El nmero de elementos de un conjunto nito A se denomina tambin a veces su cardinal, y se escribe | A|.
Siguiendo con el ejemplo, el producto cartesiano A B contiene todas las parejas concebibles, no necesariamente las que existen en la realidad. Consideremos solamente aquellas parejas hombre-mujer que constituyan un matrimonio. El conjunto R de pares hombre-mujer (h , m ) donde h es un hombre, m es una mujer y h est casado con m es un subconjunto de A B . Adems, la inclusin R A B es casi seguramente propia, excepto en una sociedad polgama y extremadamente promiscua. En cualquier caso, R contiene toda la informacin que necesitamos sobre el matrimonio en general: nos dice exactamente quin est casado con quin.
1.1.2. Relaciones
Denimos una relacin entre dos conjuntos A y B como un subconjunto R del producto cartesiano A B ; en smbolos, R A B . El hecho de que (a , b) R se suele expresar diciendo que a est relacionado con b, y, de forma abreviada, se suele escribir como a R b. La negacin de a R b se escribe a R b Una relacin binaria en un conjunto A se dene como un subconjunto R del producto A A. El conjunto en el que se establece R suele denominarse dominio de la relacin. Algunos ejemplos de relaciones binarias son los siguientes: La relacin de igualdad = entre nmeros reales. La relacin ser hermano de en el conjunto de los seres humanos. La relacin de orden entre nmeros reales. La relacin ser progenitor de en el conjunto de los seres humanos. Esta relacin contendra todas las parejas ( p, h ) de personas cuyo segundo elemento fuese hijo del primero. La relacin ser hijo de en el conjunto de los seres humanos. Esta relacin contendra todas las parejas (h , p) de personas cuyo segundo elemento fuese padre del primero. Es evidente que esta relacin se obtiene de la anterior invirtiendo el orden de todos los pares: se dice que son inversas. La relacin ser divisor de entre nmeros naturales, que suele denotarse por el smbolo |. Por ejemplo, 6 | 24, pero 6 | 31. La relacin inversa de sta tambin tiene un nombre comn: ser mltiplo de.
x ama a y (comoquiera que se dena) no es una relacin simtrica: un amor no tiene por qu ser correspondido (aunque puede serlo). Basta con que haya un solo amor no correspondido para que esta relacin deje de ser simtrica. Tampoco es simtrica la paternidad entre seres humanos: x es padre de y no implica que y sea padre de x (de hecho, en general, lo impide). Notemos la diferencia entre la paternidad y el amor: mientras que x ama a y no implica el recproco, no lo impide ( y puede amar a x ). En cambio, la paternidad difcilmente puede ser recproca en ningn caso: si x es padre de y , no es posible que y sea padre de x . Decimos que una relacin R es antisimtrica si, para cualquier par de miembros a , b del dominio, a R b y b R a se dan simultneamente slo cuando a = b. Por ltimo, otra propiedad muy importante es la transitividad. Decimos que R es transitiva si para cualquier terna a , b, c de miembros del dominio, las relaciones a R b y b R c obligan necesariamente a que a R c. Por ejemplo, si R es la relacin de amistad entre seres humanos, es bastante evidente que no es transitiva: a puede ser amigo de b y b puede serlo de c, mientras que a puede considerar a c muy poco recomendable. Si R fuese transitiva, sera cierto el refrn los amigos de mis amigos son mis amigos. S es transitiva, en cambio, la relacin ser antepasado de: los antepasados de mis antepasados son mis antepasados. En cambio, la paternidad no lo es: si x es el padre de y e y es el padre de z , esto no obliga en absoluto a que x sea el padre de z . Resumiendo, si R es una relacin binaria en el conjunto A, decimos que R es reexiva si a R a , para todo a A simtrica si a R b b R a , para todos a , b A transitiva si a R b y b R c a R c, para todos a , b, c A antisimtrica si a R b y b R a a = b, para todos a , b A Una relacin R se dice que es una relacin de equivalencia si es reexiva, simtrica y transitiva. El ejemplo por excelencia es la igualdad, pero existen otros ejemplos signicativos. Por ejemplo, la relacin ser hermano de es una relacin de equivalencia, si admitimos el hecho de que uno es hermano de s mismo. Dado un elemento a A del dominio de una relacin de equivalencia R , se dene su clase de equivalencia como el conjunto [a ] = {x A | a R x }, es decir, el conjunto de los elementos relacionados con a en virtud de R . En el ejemplo anterior, R = ser hermano de, la clase de equivalencia de un individuo es el conjunto de todos sus hermanos (incluyndolo a l mismo). Obsrvese que las clases de equivalencia de esta relacin son las progenies de cada familia, y toda la humanidad est dividida en clases disjuntas de hermanos. Este hecho no es casual. La propiedad ms importante de las relaciones de equivalencia la proporciona el siguiente Teorema 1 Sea R una relacin de equivalencia en un conjunto A. Las clases de equivalencia de R forman una particin de A, es decir, A es la unin de dichas clases de equivalencia, y dos clases de equivalencia son o iguales o disjuntas. D EMOSTRACIN Obviamente, cada elemento a A es miembro de una clase de equivalencia: la suya propia. Ello es as porque la relacin es reexiva, de modo que a R a y, por tanto, a [a ]. Se deduce que A a A [a ], es decir, A es unin de clases de equivalencia. 3
Por otro lado, sean [x ] e [ y ] dos clases de equivalencia. Si no son disjuntas, existe un elemento comn a [x ] [ y ]. Se deduce que a R x y que a R y x R aya R y x Ry Por tanto, si z [x ] x Rzyx R y z Rxyx R y z R y , o sea, y R z z [y] (denicin de [x ]) (simetra) (transitividad y simetra) (denicin de [ y ]) (pertenencia a [x ] e [ y ]) (simetra) (transitividad)
y se concluye que [x ] [ y ]. Se prueba del mismo modo que [ y ] [x ], y por tanto, que [x ] = [ y ]. Otro tipo de relacin de especial inters es la relacin de orden (parcial). Se llama as a una relacin que es reexiva, antisimtrica y transitiva. Como ejemplos tpicos de relaciones de orden tenemos la relacin entre nmeros reales, o la relacin de divisibilidad entre nmeros naturales (ser divisor de, denotada por |). Esta ltima es relacin de orden, puesto que para todo entero a , se verica que a |a (reexividad) para todo par de enteros a , b, se verica que si a |b y b|a , entonces existen nmeros k y l con a = kb = kla y kl = 1, de forma que a = b (antisimetra) para todo tro de enteros a , b, c, si se dan las relaciones a |b y b|c, existen ciertos naturales k y l que cumplen c = kb = kla , de modo que a |c (transitividad) La divisibilidad es un buen ejemplo de una relacin de orden parcial. En un orden parcial R no es preciso que una de las dos relaciones a R b o bien b R a se d. Por ejemplo, ni 7|69 ni 69|7. Se dice que los elementos en cuestin no son comparables. Una relacin de orden en la que para todo par de elementos a , b del dominio se verica que a R b o bien b R a (o ambas) se dice que es de orden total. La relacin de orden habitual entre nmeros, , es un ejemplo de orden total. Una representacin muy conveniente de las relaciones de orden en conjuntos nitos es su diagrama de Hasse, que deniremos en la seccin 1.4.
La relacin transitiva que se obtiene por repeticin a partir de otra aparece con frencuencia, lo que motiva la siguiente denicin. Sea R una relacin en un conjunto A. Denimos la clausura transitiva de R (a veces denotada por R ) como la menor relacin transitiva que contiene a R . Ms explcitamente, a) R R A A (es decir, R es una relacin binaria en A). b) R es transitiva. c) Si R S R A A y adems S es transitiva, entonces S = R . Esta denicin es muy poco intuitiva, y generalmente utilizaremos esta otra: diremos que a R b si existe una sucesin {ai } de elementos de A que verica a R a 1 R a2 R a3 R R a n R b es decir, si a est relacionado con un elemento, que est relacionado con otro, que. . . y as sucesivamente hasta llegar a b. Por ejemplo, la clausura transitiva de la relacin de paternidad es ser antepasado de.
1.2. Grafos
1.2.1. Grafo dirigido y no dirigido
Un grafo (especcamente, grafo simple no dirigido) es un par G = (V , E ) = (V (G ), V ( E )), donde V es un conjunto nito no vaco de elementos llamados vrtices y E es un conjunto de pares desordenados de elementos distintos de V llamados aristas. Es decir, una arista e E tiene la forma {u , v }, donde u , v V y u = v . La terminologa en teora de grafos vara muchsimo: prcticamente no hay dos textos que adopten la misma. En paticular, los vrtices de un grafo tambin reciben a veces el nombre de nodos, y las aristas arcos, ejes o lneas. Obsrvese que, en un grafo no dirigido conforme con esta denicin, los bucles estn excludos. Por convenio, en grafos no dirigidos designaremos las aristas con la notacin (u , v) que usamos para los pares ordenados de vrtices; se sobreentiende que en las aristas de grafos no dirigidos no importa el orden, es decir, (u , v) = (v, u ). Un grafo se representa por medio de puntos o crculos, que designan los vrtices, y lneas que los unen, que representan las aristas. Por ejemplo, en la gura 1.1(b) tenemos un ejemplo de grafo no dirigido con conjunto de vrtices V = {1, 2, 3, 4, 5, 6} y aristas E = {(1, 2), (2, 5), (1, 5), (3, 6)}. Un grafo dirigido o digrafo G es un par (V , E ), donde V es un conjunto nito no vaco y E es una relacin binaria en V , es decir, un conjunto de pares ordenados de elementos de V . Los elementos de V reciben el nombre de vrtices. El conjunto E es el conjunto de aristas de G . Por ejemplo, en la gura 1.1(a) tenemos un grafo dirigido que, de acuerdo con la denicin, tiene seis vrtices (V = {1, 2, 3, 4, 5, 6}) y ocho aristas ( E = {(1, 2), (2, 2), (2, 4), (2, 5), (4, 1), (4, 5), (5, 4), (3, 6)}). Las echas apuntan del primer elemento de cada par al segundo. Obsrvese que es posible que una arista puede partir de un vrtice y llegar a l de nuevo. Una arista de esta clase, es decir, de la forma e = (v, v), recibe el nombre de bucle o lazo. 5
5
(b)
Figura 1.1: Ejemplos de (a) grafo dirigido, y (b) no dirigido Tipo de grafo Grafo Multigrafo Pseudografo Grafo dirigido (digrafo) Multigrafo dirigido Dirigido No No No S S Simple S No No S No Lazos No No S S S
Cuando el sentido de las echas no nos interesa (o, dicho de forma ms tcnica, la relacin que el grafo representa es simtrica), es ms conveniente el concepto de grafo no dirigido. Existen numerosas variantes de las deniciones que acabamos de dar. Por ejemplo, un multigrafo es un grafo no dirigido en el que permitimos la existencia de varias aristas conectando los mismo vrtices y la aparicin de bucles. Especcamente, un multigrafo queda denido por medio de una trada G = (V , E , f ), donde V y E son conjuntos y f : E V V asigna a cada arista e E un par desordenado f (e) = {u , v } de vrtices diferentes de V (los vrtices extremos de la arista e). Un multigrafo dirigido se dene de forma exactamente igual, excepto que el recorrido de f est formado por pares ordenados de vrtices. Por ltimo, si permitimos la existencia de bucles o lazos en un grafo no dirigido, tenemos un pseudografo: se trata de una terna G = (V , E , f ), donde f : E V V asigna a cada arista un par no ordenado de vrtices (posiblemente iguales). Dado que esta terminologa no es estndar, siempre es conveniente en cada caso especicar claramente si el grafo objeto de nuestra consideracin es dirigido o no; si se admiten mltiples aristas entre un par cualquiera de vrtices (es decir, si el grafo es o no simple); y si se admiten bucles o lazos. En el cuadro resumen 1.1 se esquematizan los valores de estos parmetros para las deniciones recin dadas.
(2, 4) y (2, 5). En el grafo no dirigido de la gura 1.1(b), la arista (3, 6) incide en los vrtices 3 y 6. Si (u , v) es una arista de un grafo, decimos que el vrtice v es adyacente al vrtice u . En un grafo no dirigido, la relacin de adyacencia es simtrica; no es as necesariamente en un digrafo. Por ejemplo, en la gura 1.1(a), el vrtice 5 es adyacente al 2 (pero el 2 no es adyacente al 5). En cambio, en el grafo de la gura 1.1(b), los vrtices 1 y 2 son adyacentes entre s. El grado de un vrtice en un grafo no dirigido es nmero de aristas incidentes con l. Por ejemplo, el vrtice 5 de la gura 1.1(b) tiene grado 2. En un digrafo, el grado de salida de un vrtice es el nmero de aristas que salen de l, y el grado de entrada es el nmero de aristas que entran en l. El grado es la suma de los grados de salida y entrada. En el grafo dirigido de la gura 1.1(a), el vrtice 2 tiene grado de salida 3, grado de entrada 2 y grado 5.
0 0 0 M = 1 0 0
1 1 0 0 0 0
0 0 0 0 0 1
(a)
0 1 0 0 1 0
0 1 0 1 0 0
0 0 0 0 0 0
Vrtice 1 2 3 4 5 6
(b)
Figura 1.2: Representacin del grafo de la gura 1.1(a) por medio de a) matriz de adyacencia b) listas de adyacencia mente en el caso de grafos densos (en los que | E | y |V |2 son comparables) es razonable considerar la matriz de adyacencia como representacin alternativa. La matriz de incidencia de un grafo G = (V , E ), donde |V | = n y | E | = m se dene como una matriz booleana n m en la que ( Minc )i j = 1 si la arista j incide en el vrtice i 0 en caso contrario
Esta representacin es solamente vlida para grafos no dirigidos, puesto que el sentido de las aristas no puede ser representado de esta forma. Puede resultar til para representar multigrafos, pero su inters fundamental es ms bien terico.
(b)
Figura 1.3: (a) Retculo de divisores de 36 y (b) Relacin de orden entre 3, 4, 6, 9 Algunas propiedades de estas relaciones son directamente observables a partir del grafo. Por ejemplo, en ninguna de las guras encontramos echas dirigidas en sentidos contrarios entre ningn par de nodos. Esto se debe a que las relaciones representadas son antisimtricas. La relacin de orden de la gura 1.3(b) es, adems, obviamente reexiva: la presencia de un bucle o lazo en todos y cada uno de los nodos lo prueba. Observemos que 2 R 6 y que 6 R 12, pero que, sin embargo, 2 R 12. Esto se debe a que la relacin R no es transitiva. En cambio, s es una relacin transitiva; veremos enseguida en qu se traduce esto en trminos de grafos. Un ejemplo de grafo que se vincula a una relacin de manera algo diferente es el diagrama de Hasse de una relacin de orden. El diagrama de Hasse se obtiene representando la relacin por un grafo, y suprimiendo todos los lazos todas las aristas que se puedan deducir por transitividad de otras dos En la gura 1.3(a) tenemos un ejemplo de un tal diagrama para la relacin de divisibilidad en el conjunto de los divisores de 36. La matriz de adyacencia del grafo asociado a una relacin R se denomina simplemente matriz de la relacin; es una matriz cuadrada binaria M R , de dimensin igual al cardinal del dominio de R . El elemento ( M R )i j de la matriz vale uno o cero segn que los elementos ai y a j estn relacionados o no. En smbolos, ( M R )i j = 1 si ai R a j 0 en caso contrario
Veamos cmo se plasman en trminos de grafos y de matrices de relaciones las cuatro propiedades estudiadas en 1.1.3. reexividad R es reexiva sii a R a para todo a A. Por lo tanto, si cada vrtice del grafo posee un lazo, R es reexiva; si algn vrtice carece de lazo, la relacin no es reexiva. En trminos de matrices, cada elemento de la diagonal principal de M R debe ser un uno. 10
K4
K5
K6
Figura 1.4: Grafos completos de cuatro, cinco y seis vrtices simetra R es simtrica sii a R b b R a , para todo par de a , b A. Por lo tanto, si hay una echa de un vrtice v a otro w, la echa contraria tambin debe estar presente; y si no la hay en un sentido, la contraria tampoco puede existir. En trminos matriciales, ( M R )i j = ( M R ) j i para todo par de ndices i , j ; o, ms t brevemente, M R es simtrica: M R = MR transitividad R es transitiva si y solamente si a R b junto con b R c implica necesariamente que a R c. En trminos de grafos, la existencia de una arista entre los vrtices a , b y otra entre b, c implica la existencia de la arista (a , c). El par de aristas (a , b), (b, c) forma un camino de longitud dos entre los vrtices a y c, de modo que la condicin de transitividad puede formularse as: la accesibilidad de orden dos implica adyacencia. En trminos matriciales, ( M R )2 i j = 1 implicar 2 siempre que ( M R )i j = 1 o, abreviando, M R M R : elevar al cuadrado la matriz de la relacin no introduce unos que no existieran ya en M R .
= n (n 1)/2 aristas.
11
Denicin a a , b a , b a R a R a R
a , b, c a R
P6 Q 0 Q 2Q4 C m Q 1 Q 3Q5 Q 0 Q 2 Q Abad 4 Q Q Abascal 3 Q1 5 Q Q2 4 lvarez Abad Q Q3 Bastardo Abascal 5 Q Cobas 4 Abad lvarez Cazorla Q5 Abascal Bastardo Dehesa Cobas Abad lvarez Gonzlez Abascal Cazorla Bastardo Guzmn Dehesa Cobas lvarez Herrero Gonzlez Cazorla Bastardo Lebrel Guzmn Dehesa Cobas Zapatero Herrero Gonzlez Cazorla Zorrilla Lebrel Guzmn Dehesa Zapatero Herrero A Gonzlez Lebrel B Zorrilla Guzmn Zapatero A C Herrero B D Lebrel Zorrilla C Zapatero A E F D B G Zorrilla E H C A F I D B G E J C H F 3 D I G E J + H F 3 I 5 G + J + H 3 6 I 5 12 + J + ( K 5 )3 =5 6 5 + ( K 3,312 ) =2 + ( K 5 6 5) ( C= =3 7 )5 Grafo 12 + ( K )= 2 3,3 ( esto ) =4 ( K ) = 5 6 5 ( C ) = 3 7 ( esto otro )2 =4 a 12 ( K )= = 3,3 ) ( esto 4 ( K ) = 5 5 ( C ) = 3 7 otro )= =4 b b( Resto a ( K 3,3 ) ( esto ) =2 4 ( C ) = 7 ( esto otro ) =3 4 byb R a a = b (esto) = 4 esto b y b ( Rc otro a R)c= 4
Matriz ( M R )ii = 1 i
t MR = MR ( M R )i j = ( M R ) j i 2 MR
i = j
MR
Figura 1.5: Torneo de seis vrtices 3. Numeremos los vrtices de 1 a n . En el vrtice 1 inciden n 1 aristas: (1, 2), (1, 3), (1, 4), . . . (1, n ) En el vrtice 2 inciden tambin n 1 aristas, pero una ya ha sido contada anteriormente, de modo que slo aparecen aqu n 2 nuevas: (2, 3), (2, 4), . . . (2, n ) Si proseguimos as el recuento, llegamos a que el nmero total de aristas es la suma de una progresin aritmtica: | E | = (n 1) + (n 2) + + 2 + 1 = (n 1) (n 1) + 1 2
De este teorema deducimos que un grafo simple no dirigido de n vrtices tendr, a lo sumo, n 2 aristas.
1.5.2. Torneos
Un torneo (tournament) es un grafo dirigido cuya versin no dirigida es un grafo completo. Podemos decir que un torneo puede obtenerse a partir de un grafo completo asignando orientaciones a cada una de las aristas. En la gura 1.5 podemos ver un ejemplo de torneo con seis vrtices. En el torneo de la gura podemos ver que el camino simple (1, 2, 4, 6, 3, 5) pasa por todos los vrtices. Un camino as se denomina camino hamiltoniano. En el teorema 8 veremos que siempre es posible encontrar uno en cualquier torneo.
C5
Teorema 3 Un grafo es bipartito si y solamente si carece de ciclos de longitud impar D EMOSTRACIN Sea G bipartito y C = (v0 , v1 , . . . , vn ) un ciclo de G . Como cada arista (vi 1 , vi ) une un elemento de V1 con uno de V2 , se deduce que vrtices consecutivos de C pertenecen a lados distintos de la particin, de forma que los vrtices de subndice par estn todos en un lado y los de subndice impar en el contrario. Como v0 = vn , se deduce que n tiene la misma paridad que 0, es decir, es par. Recprocamente, supongamos que el grafo G carece de ciclos de longitud impar. En primer lugar, es obvio que bastar probar que cada componente de G es bipartita, as que podemos suponer G conexo. Sea v0 V (G ) un vrtice cualquiera, y denamos V1 = {v V (G ) | existe un camino de longitud impar entre v0 y v }, y V2 = V V1 . Por denicin, los caminos entre v0 y cualquier vrtice de V2 sern todos de longitud par. Adems, V1 y V2 forman una particin de V . Ahora, si dos vrtices v, w de V1 son adyacentes, los caminos de longitud impar que los unen con v 0 , ms las arista (v, w), constituyen un ciclo impar, contra la hiptesis. Por lo tanto, no hay ningn par de vrtices adyacentes en V1 . Para V2 , el mismo razonamiento es vlido, de forma que cualquier arista une algn vrtice de V1 con alguno de V2 .
1.6. Arboles
Un rbol es un grafo no dirigido, conexo y acclico. Un grafo no dirigido que es acclico, pero posiblemente no conexo, se denomina bosque.
14
Abascal Abascal 9 9A 9 A A lvarez lvarez 12 12 B 12 B B Bastardo Bastardo 18 18 C 18 C C Cobas Cobas 36 36 36 D D D Cazorla Cazorla C1 C1 E C1 E E Dehesa Dehesa C2 C C2 2F F F Gonzlez Gonzlez C3 C3 G C3 G G Guzmn Guzmn C4 C4 H C4 H H Herrero Herrero C5 C5 I C5 I I Lebrel Lebrel C7 C C7 7 J J J Zapatero Zapatero P6 P P6 6 3 3 3 Zorrilla Zorrilla Cm C C + + m+ m Q0 Q0 A Q0 A Q1 Q1 5 B Q1 5B 5 C C Q2 Q Q2 + + 2+ D D Q3 Q Q3 3 6 6 6 E E Q4 Q Q4 412 12 12 F Q 5 ( K 5 ) = 5 F Q Q5 ( K 5 ) = 5 ( K ) = 5 5 5 Q 0 G G ( K ) = 2 ( K ) = 2 ( K ) = 2 3Abad ,3 3,3 Abad 3,3 Abad Q1 ( C7 ) = 3 H (C7 ) = 3 Abascal (C7 ) = 3 H Abascal Abascal (esto) = 4 I (lvarez esto) = 4 I (esto) = 4 lvarez lvarez J J ( esto otro ) = 4 ( esto otro ) = 4 ( esto otro) = Bastardo 4 Bastardo Bastardo 3 Cobas Cobas 3 Cobas + (a) (b) Cazorla Cazorla + Cazorla (c) Dehesa Dehesa Dehesa 5 Gonzlez Gonzlez 5 Gonzlez + Guzmn Guzmn + Guzmn 6 Herrero Herrero 6 Herrero 12 Lebrel Lebrel 12 Lebrel 53 ( K 5 ) = 5 Zapatero ( K 5 ) = Q Zapatero Zapatero ( K 3,3 ) = 2 ( K 3,3 ) = 2 Zorrilla Zorrilla Zorrilla (C7 ) = 3 (C7 ) = 3 A A A (esto) = 4 (esto) = 4 B B B (esto otro) = 4 (esto otro) = 4 Q 4 C C C D D D (d) (e) E E E F F F Figura 1.7: 4 G G Grafos Q n , para n = 0, . . . ,G H H H I I I J J J 3 3 3 + + + 5 5 5 + + + 6 6 6 12 12 12 ( K 5 ) = 5 ( K 5 ) = 5 ( K 5 ) = 5 ( K 3,3 ) = 2 ( K 3,3 ) = 2 ( K 3,3 ) = 2 (C7 ) = 3 (C7 ) = 3 (C7 ) = 3 (esto) = 4 (esto) = 4 (esto) = 4 (esto otro) = 4 (esto otro) = 4 (esto otro) = 4
Q2
(a)
(b)
(c)
Figura 1.8: (a) Un rbol. (b) Un bosque. (c) Un grafo que no es ni un rbol ni un bosque
15
La gura 1.8(a) muestra un rbol, y en 1.8(b) vemos un bosque que no es un rbol, al no ser conexo. El grafo de 1.8(c) no es un rbol ni un bosque, pues contiene un ciclo. Antes de demostrar un importante teorema sobre rboles precisamos los dos lemas siguientes, cuyas demostraciones son prcticamente idnticas. Lema 1 Sea G un grafo no dirigido con n vrtices y e aristas. Si G es conexo, se verica que e n 1. D EMOSTRACIN Por induccin sobre el nmero de vrtices. El teorema es trivialmente cierto para n = 1. Supongamos entonces que la desigualdad se verica en todos los grafos conexos con menos de n vrtices. Consideremos un vrtice cualquiera v V (G ) de grado d como el que mostramos en la gura 1.9, siendo sus vrtices adyacentes v1 , v2 , . . . , vd . El grafo G v obtenido al suprimir v y sus aristas adyacentes posee n 1 vrtices, e d aristas y es posiblemente inconexo; al suprimir v , G puede divirse a lo sumo en d componentes conexas (por qu?). Sean entonces esas componentes los subgrafos C i de G , con i = 1, 2, . . . , m d . Cada componente C i es un grafo conexo con menos de n vrtices. Por tanto, por hiptesis de induccin, sus nmeros de vrtices n i y aristas ei satisfacen la desigualdad ei n i 1 i = 1, 2, . . . m
ei
i =1 i =1
(n i 1) =
i =1
ni
Ahora, el primer sumatorio es el nmero de aristas de G v , es decir, e d , y el ltimo es el de vrtices, n 1. Como el nmero de componentes m no supera el grado d ed n1m es decir e n1+d m n1
como se quera demostrar. El lema dual del recin probado cambia la conexin por la aciclicidad, con lo que el sentido de la desigualdad se invierte. Lema 2 Sea G un grafo no dirigido con n vrtices y e aristas. Si G es acclico, e n 1. D EMOSTRACIN Por induccin sobre el nmero de vrtices. El teorema es trivialmente cierto para n = 1. Supongamos entonces que la desigualdad se verica en todos los grafos acclicos con menos de n vrtices. Consideremos un vrtice cualquiera v V (G ) de grado d como el que mostramos en la gura 1.9, siendo sus vrtices adyacentes v1 , v2 , . . . , vd . Al suprimir el vrtice v y obtener G v , resulta ahora un grafo acclico que, a diferencia del lema anterior, posee al menos d componentes conexas (por qu?). Es decir, m d . Ahora cada componente es un subgrafo acclico y, por hiptesis de induccin ei n i 1 Sumando
m m
i = 1, 2, . . . m
m
ei
i =1 i =1
(n i 1) =
i =1
ni
16
v1 C1 v2 v
v3 C2 v4
Figura 1.9: Demostracin de los lemas 1 y 2 En el presente caso, rige la desigualdad m d y se tiene entonces ed n1m es decir e n1+d m n1
como se quera demostrar. Existen numerosas formulaciones equivalentes de la denicin de rbol; el teorema siguiente resume las fundamentales. Teorema 4 Sea G = (V , E ) un grafo no dirigido. Las siguientes armaciones son equivalentes. 1. G es un rbol
2. Dos vrtices cualesquiera de G estn conectados por un nico camino simple 3. 4. 5. 6. G es conexo, pero si se le suprime una arista cualquiera, deja de serlo. G es conexo y | E | = |V | 1 G es acclico y | E | = |V | 1 G es acclico, pero si se le aade una arista, deja de serlo
D EMOSTRACIN 1 2) Sean u , v V . Como G es conexo, existe un camino simple entre ellos. Si existen dos caminos simples distintos entre ambos vrtices, se dar la situacin de la gura 4: los caminos p y p divergen por primera vez en el vrtice w y vuelven a converger en el vrtice z , pasando por vrtices diferentes x e y . Como resultado, es posible construir un ciclo, contra la hiptesis. Por tanto, no pueden existir dos caminos simples distintos entre u y v . 2 3) Evidentemente, G es conexo. Si se suprime la arista (u , v) de G , los vrtices u y v quedan desconectados, pues, por hiptesis, dicha arista era el nico camino simple que los conectaba. 3 4) Una vez ms, la conexin de G es parte de la hiptesis. Por otro lado, G es acclico, puesto que si tuviese un ciclo, podra suprimrsele una arista sin perder la conexin. Por tanto, de los lemas precedentes de deduce que | E | = |V | 1. 17
lvarez E Bastardo F Cobas G Cazorla H Dehesa I Gonzlez J Guzmn 3 Herrero + Lebrel Zapatero 5 Zorrilla + p A 6 x v B 12 u ( K 5 ) =C 5 w z ( K 3,3 ) =D 2 (C7 ) = E 3 y (esto) = F 4 p (esto otro) =G 4 H Figura I 1.10: Demostracin de la implicacin 1 2 en el teorema 4 J 3 7 + 6 8 9 5 + 6 12 3 4 5 10 11 12 ( K 5 ) = 5 ( K 3,3 ) = 2 (C7 ) = 3 (esto) = 4 2 (esto otro) = 4 1 Figura 1.11: Arbol de doce nodos enraizado en el nodo 7 4 5) Si suprimimos una arista de G , deja de vericarse la desigualdad | E | |V | 1; por tanto, de la implicacin anterior se sigue que G es acclico. La igualdad | E | = |V | 1 es parte de la hiptesis. 5 6) Al aadir una arista a G , se viola la desigualdad | E | |V | 1 y el contrarrecproco del lema 2 implica que G deja de ser acclico. 6 1) Sean u y v dos vrtices distintos de G (si no los hay la implicacin es trivial). Si existe una arista (u , v), los dos vrtices son mutuamente accesibles; si no, la adicin de (u , v) a E (G ) provoca la aparicin de un ciclo C del que dicha arista es obviamente miembro. Suprimiendo (u , v) de C obtenemos un camino que conecta u y v .
Lebrel
A B C D E F G Abad H I J lvarez Zapatero Abascal 3 + 5 + Guzmn Bastardo Gonzlez 6 12 ( K 5 ) = 5 ( K 3,3 ) = 2 (C7 ) = 3 Herrero Dehesa (esto) = 4 Cazorla Cobas (esto otro) = 4 Figura 1.12: Buscando al abonado Dehesa
Zorrilla
Supongamos que la ltima arista del (nico) camino entre la raz y un nodo v es (w, v). En ese caso, decimos que w es el padre de v , y que v es hijo de w. Dos nodos que tienen el mismo padre son hermanos. Un nodo sin hijos es una hoja o nodo externo; en caso contrario, es un nodo interno. El nmero de hijos de un nodo es su grado; obsrvese que, en este contexto, el grado de un nodo es una unidad inferior a lo denido en la seccin 1.2.2. Si todos los nodos de un rbol tienen grado a lo sumo m , el rbol es m-ario. As, en un rbol ternario cada nodo tiene, a lo sumo, tres hijos; posiblemente, menos. Denimos la profundidad de un nodo v como la longitud del camino de la raz a v . La altura de un rbol es el mximo de las profundidades de sus nodos. El rbol de la gura 1.11 tiene altura 3, puesto que los nodos 1 y 2 tienen ambos dicha profundidad. El subrbol con raz en el nodo 9 tiene altura uno. Un rbol enraizado en el que los hijos de cada nodo tienen asignado un orden es un rbol ordenado. Esto signica que si un nodo tiene k hijos, hay un primer, segundo, . . . , k -simo hijo. El inters de los rboles reside en su uso como estructuras de datos para clasicar informacin. Por ejemplo, el rbol de la gura 1.6.1 codica un ndice de una base de datos de abonados telefnicos. El rbol es ordenado y cuaternario; tiene, adems, la propiedad de que los datos residentes en una rama son siempre anteriores a los datos que residen en ramas situadas a su derecha. Esto lo convierte en un rbol de bsqueda. Para localizar al abonado Dehesa, es suciente encontrar qu hijo del nodo raz lo contiene, lo que se determina de inmediato. Prosiguiendo recursivamente de esta forma, llegamos a encontrar al abonado en un nmero de pasos igual, a lo sumo, a la altura del rbol de bsqueda. Cul podra ser esa altura en el caso de tener un milln de abonados? Teorema 5 Sea T un rbol m-ario de altura h. Entonces, el nmero de nodos n del rbol satisface la desigualdad m h +1 1 n m1 19
Dicho de otro modo, un rbol m-ario de n nodos tiene que tener altura mnima dada por h 1 + logm ((m 1)n + 1) En particular, un rbol binario satisface las desigualdades siguientes n h 2h +1 1 1 + log2 (n + 1)
D EMOSTRACIN Si cada nodo tiene a lo sumo m hijos, habr a lo sumo un nodo de nivel 0 (el nodo raz); m nodos de nivel 1 (sus hijos); m 2 nodos de nivel 2 (sus nietos); m 3 nodos de nivel 3 (sus bisnietos); y, en general, el nivel k tendr una poblacin mxima de m k nodos. Por lo tanto, el nmero total de nodos ser inferior a 1 + m + m2 + m3 + + mh = m h +1 1 m1
que es lo que se quera demostrar. Las dems desigualdades se obtienen despejando la altura y particularizando para m = 2. Como ejemplo, en el caso de un milln de abonados, tendramos un rbol de altura mnima h 1 + log4 (3106 + 1) = 9,758 luego un rbol de altura h = 10 podra albergar nuestro milln de abonados, si est correctamente equilibrado. En esta hiptesis, nuestra bsqueda concluira tras la lectura de once registros de nuestra base de datos a lo sumo, lo que no est nada mal.
P REORDEN(T ) 1 if T = NIL 2 then no hacer nada 3 else V ISITA(T ) 4 P REORDEN (T .i z ) 5 P REORDEN (T .de)
P OSTORDEN(T ) 1 if T = NIL 2 then no hacer nada 3 else P OSTORDEN(T .i z ) 4 P OSTORDEN(T .de) 5 V ISITA(T )
I NORDEN(T ) 1 if T = NIL 2 then no hacer nada 3 else I NORDEN(T .i z ) 4 V ISITA(T ) 5 I NORDEN(T .de)
21
c e c
a a b
b c a
Resultado e j g h b g j f j h d f
f h g
d d e
(b) Recorridos
Figura 1.14: Recorridos de un rbol binario a pesar de que tampoco son precisos parntesis ni reglas de precedencia para resolucin de ambigedades (el uso de parntesis en Lisp tiene un signicado distinto). Las tres notaciones resultan de recorrer en in-, pre- y postorden un rbol sintctico de la expresin, como puede comprobarse en la gura 1.7.1.
Zapatero Cm 2 Q0 3 Zorrilla Q1 4 A Q2 6 B Q3 9 C Q4 12 D Q5 18 E 36 F Abad C1 G Abascal C2 H lvarez C3 IBastardo C4 J Cobas C5 Cazorla C7 + Dehesa + P6 Gonzlez Cm Recorrido Expresin Guzmn Q0 3 Inorden 3 + 5 6 + 12 Herrero Q1 Postorden 3 5 6 12 + + Lebrel Zapatero Q2 Preorden +3 5 + 6 12 Q3 ( K 5 ) = 5 Zorrilla 5 ( K 3,3 ) = 2 Q4 + Q5 (C7 ) = 3 (esto) = 4 Abad 12 6 (esto otro) = 4 Abascal lvarez E (a) (b) Bastardo F Cobas G Cazorla H Figura 1.15: a) rbol sintctico y b) notaciones inja, preja y postja para la expresin Dehesa I 3 + 5 (6 + 12) Gonzlez J Guzmn 3 + Herrero Lebrel B Zapatero 5 + Zorrilla 6 12 ( K 5 ) = 5 A D ( K 3,3 ) = 2 (C7 ) = 3 E (esto) = 4 F (esto otro) = 4 G C H Figura I 1.16: Los puentes de Knigsberg J 3 + A 5 + 6 12 D B ( K 5 ) = 5 ( K 3,3 ) = 2 (C7 ) = 3 (esto) = 4 (esto otro) = 4 C Figura 1.17: Los puentes de Knigsberg
23
como suele formularse en las revistas de matemtica recreativa, dibujar la gura de un solo trazo sin levantar el lpiz del papel. Sea G un grafo no dirigido. Denominamos recorrido euleriano de G a un camino que pasa por todas las aristas de G exactamente una vez. Es decir, si C = (v1 , v2 , . . . , vn ), la sucesin de aristas (v1 , v2 ), (v2 , v3 ), (v3 , v4 ), . . . , (vn1 , vn ) contiene cada arista de G exactamente una vez. Si adems C es cerrado, denominamos al recorrido un circuito euleriano El grafo del problema de los puentes no es un grafo dirigido en el sentido de la denicin dada en 1.2.1, sino un multigrafo, en el que permitimos que haya ms de una arista distinta entre dos vrtices. Aunque no hemos denido rigurosamente estos objetos, todo lo que probaremos en la presente seccin se extiende a ellos sin dicultad. Decimos que un grafo es euleriano si posee un recorrido euleriano. Obviamente, un grafo euleriano tiene que ser conexo. Pero, adems, se necesitarn condiciones adicionales para garantizar la existencia de recorridos eulerianos. Tras bastantes ensayos con el grafo de los puentes, parece claro que no podemos encontrar una solucin. La razn est en la paridad de los vrtices del grafo. Decimos que un vrtice v de un grafo no dirigido G es par (respectivamente, impar) si su grado es un entero par (resp. impar). Por ejemplo, en el grafo de la gura 1.17, todos los vrtices son impares. Ahora bien, si intentamos dibujarlo de un solo trazo, cada vez que pasemos por un vrtice, entraremos en l por una arista y saldremos por otra; ambas quedarn inutilizadas para su recorrido posterior. Excepto los vrtices inicial o nal de la trayectoria, todos los dems (vrtices de paso) tendrn tantas aristas de entrada como de salida; por tanto, un nmero par de ellas, y su grado ser par. Esto nos lleva al teorema de Euler. Teorema 6 Sea G un grafo conexo no dirigido. Entonces, G posee un circuito euleriano si y solamente si G carece de vrtices impares. D EMOSTRACIN Supongamos primero que G posee un circuito euleriano dado por la sucesin de vrtices C = (v0 , v1 , v2 , . . . , vn ). Por denicin, cada arista del grafo aparece en la sucesin (v0 , v1 ), . . . , (vn1 , vn ) exactamente una vez, y al ser el recorrido cerrado, v0 = v n . Sea v un vrtice cualquiera de G . Si v es el nico vrtice de G , no hay nada que demostrar. Si no es as, v tendr alguna arista incidente puesto que G se supone conexo, y esto obliga a que v aparezca cierto nmero de veces en el camino C . En cada aparicin de v , ste gura dos veces; si, por ejemplo, est en la posicin k -sima de C , v = vk y tenemos dos aristas (vk 1 , vk ) y (vk , vk +1 ) incidentes en vk . Como estas aristas solamente guran una vez en el recorrido, obtenemos que el nmero de aristas incidentes en v es igual al doble del nmero de apariciones de v en C , y, como todas las aristas son visitadas por C , el grado de v es forzosamente un nmero par. La nica excepcin de este argumento se encuentra en los extremos: cuando k = 0, n , las dos aristas (vn , v0 ) y (v0 , v1 ) se aaden al recuento de aristas incidentes en v0 segn el argumento anterior, de modo que tambin v0 = vn debe ser par. La implicacin contraria se demuestra por induccin sobre el nmero de vrtices. De hecho, vamos a demostrar esta implicacin para multigrafos dirigidos. Supongamos que G es un multigrafo conexo todos cuyos vrtices son de grado par. En el caso de un grafo de un solo vrtice, el circuito euleriano se obtiene de forma trivial. As pues, sea |V | = n y supongamos que todo multigrafo conexo de menos de n vrtices, todos pares, posee un circuito euleriano. Sea v un vrtice cualquiera de G ; por hiptesis de conexin, el grado d de v debe ser un nmero par estrictamente mayor que cero. Consideremos los vrticesi v 1 , v2 , . . . , vd 24
Cobas Cazorla Dehesa Gonzlez Guzmn Herrero Lebrel Zapatero Zorrilla A B C D E F G H I J 3 + 5 + 6 12 ( K 5 ) = 5 ( K 3,3 ) = 2 (C7 ) = 3 (esto) = 4 (esto otro) = 4
C3 Cobas C4 Cazorla C5 Dehesa C7 Gonzlez P6 Guzmn Cm Herrero Q0 Lebrel Q1 Zapatero Q2 Zorrilla Q3 A Q4 B Q5 C Abad D Abascal E lvarez F Bastardo G Cobas H Cazorla I Dehesa J Gonzlez v1 3 vd Guzmn + Herrero Lebrel v2 5 Zapatero + . v Zorrilla 6 . . A 12 B ( K 5 ) = 5 v3 C ( K 3,3 ) = 2 D (C7 ) = 3 E v5 (esto) = 4 v4 F (esto otro) = 4 G (a) H I J v1 3 vd + 5 + v 6. . . 12 ( K 5 ) = 5 ( K 3,3 ) = 2 (C7 ) = 3 (esto) = 4 v5 v4 (esto otro) = 4
(c)
vd
v1
v2 . . . v v3 v5 v4
(b)
v2
v3
Figura 1.18: Demostracin del teorema de Euler: (a) antes de suprimir v . (b) Suprimido v y aadidas las aristas auxiliares, el grafo resultante posee un circuito euleriano. (c) Construccin del circuito euleriano para G
25
adyacentes a v , como se muestran en la gura 1.18(a). Si suprimimos v y las aristas incidentes en l, obtenemos el grafo G v ; la supresin de las aristas indicadas se muestra en gris en la gura 1.18(b). Ahora, los vrtices vi resultan ser todos impares tras la supresin. Adjuntando las aristas (v1 , v2 ), (v3 , v4 ), . . . , (vd 1 , vd ) obtenemos un nuevo grafo en el que todos los vrtices vuelven a ser de grado par; no obstante, el nmero de vrtices es ahora n 1. Adems, el nuevo grafo es obviamente conexo (obsrvese que, por la adjuncin de las nuevas aristas, podemos obtener un multigrafo). Por lo tanto, se aplica la hiptesis de induccin, y deducimos que existe un recorrido euleriano. El paso por las aristas auxiliares de dicho circuito se produce en sentidos imprevisibles que indicamos con echas en 1.18(b). Queda convertir este circuito euleriano en uno para G . Para ello, basta observar que la nueva arista (vi 1 , vi ) siempre puede ser reemplazada por el recorrido de (vi 1 , v), (v, vi ) (y en sentido contrario si es necesario), como se muestra en la gura 1.18(c). Con esto obtenemos un circuito euleriano de G y el teorema queda demostrado. De este teorema se deduce un interesante corolario. Corolario 1 Sea G un grafo conexo no dirigido. Si G tiene exactamente dos vrtices impares, G posee un recorrido euleriano. Recprocamente, si G posee un recorrido euleriano, sus vrtices extremos son los nicos vrtices impares de G (si son diferentes). D EMOSTRACIN Sean v y w los vrtices impares en cuestin, y aadamos a G la arista (v, w) (observemos que, una vez ms, de esta adjuncin puede resultar un multigrafo). Con esto, obtenemos un grafo en las hiptesis del teorema anterior, que posee un circuito euleriano. Forzosamente, el circuito para por la arista (v, w) exactamente una vez. Suprimindola del circuito obtenemos un recorrido del grafo G . Recprocamente, un recorrido euleriano de vrtices extremos v y w se completa, aadiendo la arista (v, w), obteniendo un circuito euleriano del multigrafo resultante. Por lo tanto, ste tiene todos sus vrtices pares, de lo que se deduce que los vrtices v y w eran impares al principio. Por lo tanto, un grafo tiene un recorrido euleriano si y solamente si el nmero de vrtices impares es cero o dos. Que dicho nmero no pueda ser la unidad es consecuencia del siguiente Teorema 7 Sea G un grafo no dirigido. El nmero de vrtices impares de G es siempre par. D EMOSTRACIN Sean {v1 , v2 , . . . , vn } los vrtices de G y d1 , d2 , . . . , dn sus respectivos grados. El nmero de extremos que poseen las aristas de G es, evidentemente, 2| A|, puesto que cada arista tiene dos extremos. Ahora bien, podemos contar dicho nmero de extremos sumando los grados de todos los vrtices, puesto que dichos grados son el nmero de extremos de aristas que conuyen en un vrtice dado. De modo que se tiene
n
di = 2| A|
i =1
Ahora bien, esto signica que la suma de los grados de los vrtices es par. Como la suma de dos nmeros impares es siempre par, el nmero de d i s no puede ser impar, puesto que el resultado de la suma sera impar en ese caso. Por tanto, hay un nmero par de vrtices impares. 26
B C D E F G H I J 3 + 5 + 6 12 ( K 5 ) = 5 ( K 3,3 ) = 2 (C7 ) = 3 (esto) = 4 (esto otro) = 4 Figura 1.19: El puzzle de Hamilton Es decir, un grafo nunca podr tener un solo vrtice impar (ni tres, ni cinco. . . ). Este teorema se conoce a veces como lema del apretn de manos, porque puede ponerse en la siguiente forma: en una esta, el nmero de personas que estrechan la mano a una cantidad impar de gente tiene que ser necesariamente par. Es una consecuencia directa de que en un apretn siempre intervienen dos manos.
v3
vm vm +1
vn v1
Figura 1.20: Construccin de un camino hamiltoniano en un torneo. Consideremos entonces un torneo G de n vrtices y supongamos que todo torneo de n 1 vrtices posee un camino hamiltoniano. Sea v = v1 un vrtice de G y consideremos el grafo G v que se obtiene suprimiendo v y todas las aristas que entran o salen de dicho vrtice. El grafo resultante tiene n 1 vrtices y, por hiptesis de induccin, posee un camino hamiltoniano. Sea ste C = (v2 , v3 , . . . , vn ); numeramos los vrtices en el orden que dicho camino nos proporciona, por conveniencia. Nuestra notacin implica, naturalmente, que el camino supuesto por hiptesis va de v 2 a vn , no en sentido contrario. Ahora pueden darse tres posibilidades: 1. El torneo posee una arista (v1 , v2 ). En ese caso, puede completarse el camino C aadindole al principio esta arista y obtenindose un camino hamiltoniano C = (v1 , v2 , . . . , vn ) para G , con lo que el teorema quedara demostrado. 2. El torneo posee una arista (vn , v1 ). En ese caso, puede completarse el camino C aadindole al nal esta arista y obtenindose un camino hamiltoniano C = (v2 , . . . , vn , v1 ) para G , con lo que el teorema quedara demostrado. 3. Si ninguna de las circunstancias anteriores se da, la denicin de torneo obliga a que G posea las aristas (v2 , v1 ) y (v1 , vn ). Para cada vrtice vk , con 2 k n , debe existir una arista ak con ak = (v1 , vk ) o ak = (vk , v1 ), puesto que as lo exige el hecho de que G sea un torneo. Esta situacin se describe en la gura 1.7.3. Consideremos entonces la sucesin de aristas a2 , a3 , a4 , . . . , an . En nuestro caso, la primera arista entra en v1 y la ltima sale de v1 . Por lo tanto, tiene que haber una ltima arista que entre en v1 en esa sucesin, antes de llegar a an . Sea dicha arista am . Entonces, si reemplazamos la arista vm , vm +1 de C por el par de aristas am y am +1 obtenemos C = (v2 , v3 , . . . , vm , v1 , vm +1 , vm +2 , . . . , vn ) que constituye el deseado camino hamiltoniano, y el teorema tambin es cierto para G en este caso.
28
Gonzlez Guzmn Herrero Lebrel Zapatero Zorrilla A B C D E F G 1 H I J + 4 + 12 ( K 5 ) = 5 ( K 3,3 ) = 2 (C7 ) = 3 (esto) = 4 (esto otro) = 4
7
Vrtice 1 2 3 4 5 6 7 8 9 10
Adyacentes {2, 4} {1, 3, 5} {2, 5} {1, 5, 7, 8} {2, 3, 4, 6, 8, 9} {5} {4, 8, 10} {4, 5, 7, 9, 10} {5, 8} {7, 8}
10
D EPTH -F IRST-NR(G , v) 1 S v aci o 2 P USH (v) 3 while S = 4 do w P OP( S ) 5 if w no visitado 6 then 7 V ISITA(w) 8 next Ad j (w) 9 next next V ISITADOS(next ) 10 P USH(next ) 11
(c) En profundidad, no recursivo
Figura 1.22: Recorridos en anchura (a) y en profundidad (b, c); pseudocdigos Como resultado de este proceso, obtenemos que el recorrido construye un rbol como el mostrado en 1.23(b). Cada nodo gura en este rbol como hijo del nodo culpable de su ingreso en la cola Q . Un rbol de esta forma es un rbol abarcador (spanning tree): cubre todos los vrtices del grafo. El recorrido de los vrtices en profundidad es ms difcil de visualizar al ser recursiva la formulacin natural del algoritmo 1.22(a). La idea consiste en visitar en cada paso cualquiera de los nodos vecinos an no visitados, hasta que llegamos a un callejn sin salida (es decir, no hay ms vecinos inmediatos sin visitar). En ese caso es preciso volver atrs y reiniciar nuestro paseo en el ltimo punto en el que dejamos sin explorar alguna posibilidad. Una forma menos vaga de expresar este procedimiento es la forma no recursiva del recorrido en profundidad que se esboza en el algoritmo de la gura 1.22(c). En esta versin se emplea una pila S , en la que se almacenan los vrtices pendientes de ser recorridos. La operacin de una pila es inversa a la de una cola: los elementos se introducen en ella por delante (con la operacin P USH) y se sacan de ella tambin del principio (P OP). Inicialmente introducimos en la pila slo el vrtice de partida. Mientras la pila no se vace, tomamos el primer elemento de la pila (que es el ltimo introducido, al revs que en una cola); si no est marcado como visitado ya, lo visitamos; y nalmente apilamos su lista de adyacentes (salvo los que estn marcados como visitados, que no se aaden).
30
Zapatero Zorrilla A B C D E F G H I J Visitados 1 12 124 1245 12453 124537 1245378 12453786 124537869 1 2 4 5 3 7 8 6 9 10
(a) Traza
Cola Q + 1 23 453 + 5378 37869 12 7869 ( K 5 ) = 5 8 6 9 10 ( K 3,3 ) = 2 6 9 10 (C7 ) = 3 9 10 (esto) = 4 10 (esto otro) = 4
10
Figura 1.23: Funcionamiento del algoritmo B READTH -F IRST: (a) Traza del algoritmo, con la historia de vrtices visitados y el estadode la cola en cada iteracin, (b) rbol abarcador resultante del recorrido Un ejemplo de ejecucin de este proceso aparece en la tabla de la gura 1.24(a), donde vamos viendo la historia de los contenidos de la pila y los elementos que van visitndose en sucesin. Como resultado del proceso obtenemos tambin el diagrama 1.24(b), que es otro rbol abarcador del grafo inicial. Una vez ms, las aristas del grafo relacionan cada vrtice con el culpable de su inclusin en la pila de pendientes. Las echas grises indican los momentos en que se produjo vuelta atrs (backtracking) al haberse encontrado un callejn sin salida.
31
Pila 1 24 2875 2872368 2 8 7 2 3 6 9 7 10 287236977 28723697 2872369 287236 28723 2872 287 28 2
10
Figura 1.24: Funcionamiento del algoritmo D EPTH -F IRST: (a) Traza del algoritmo, con la historia de vrtices visitados y el estado de la pila en cada iteracin, (b) rbol abarcador resultante del recorrido . Las echas grises indican los procesos de backtracking. Las aristas marcadas con trazo grueso en la misma gura (de pesos 3, 6, 5, 13, 14, 17 y 25) constituyen un rbol abarcador mnimo (en ingls, minimum spanning tree o MST. Se trata de un rbol que cubre todos los vrtices del grafo teniendo el peso menor posible. Existen dos algoritmos clsicos para encontrar tal MST, los algoritmos de Kruskal y Prim; sern tambin objeto de estudio en el futuro.
32
Q0 Q1 Q2 Q3 Q4 Q5 Abad Abascal lvarez Bastardo Cobas Cazorla Dehesa Gonzlez Guzmn Herrero Lebrel Zapatero Zorrilla A B C D E F G H I J
2 32 21 8
+
1
12 5
6
13 8
18 17 14
+ 3 6
24 4 69
15 7
25
33
2 2 1 2
3
1 2 1 2
4 5 ( K 5 ) = 5
( K 3,3 ) = 2
1 2
(C7 ) = 3
1
3 + 61 12
2 1
4 2
2 4
2 4 1 2 1 2 1
3 (esto) = 4
(esto otro) = 4
es decir, los conjuntos V1 y V2 contienen los vrtices de color 1 y color 2, respectivamente. Obviamente, estos conjuntos forman una particin de los vrtices de V . Al 34
ser f un 2-coloreado, vrtices adyacentes tienen colores distintos: dicho de otro modo, cada arista va de V1 a V2 , y el grafo es, por tanto, bipartito. Si G es bipartito, con aristas entre dos conjuntos V1 y V2 exclusivamente, basta asignar el primer color a los vrtices de V1 y el segundo a los de V2 . El caso de los grafos bipartitos es bastante especial. Un teorema algo ms general, aunque no demasiado potente, nos da una cota superior para el nmero de colores preciso en un grafo cualquiera G . Teorema 10 Si (G ) = max {deg(v) | v V (G )} es el mayor de los grados de los vrtices de G, entonces (G ) (G )
Dicho de otra manera, si el vrtice de mayor grado de G tiene grado d , bastan d + 1 colores para colorear G . D EMOSTRACIN Por induccin sobre el nmero de vrtices. Si el grafo tiene un solo vrtice, su grado ser cero y el grafo es trivialmente 1-coloreable, o sea que (G ) = 1 1 = (G ) + 1
Supongamos ahora que G tiene un nmero cualquiera |V | de vrtices, y que el teorema que queremos probar es cierto para todos los grafos con menos vrtices que |V |. Sea v un vrtice de mximo grado de G , i.e., deg(v) = (G ). Suprimamos v y todas las aristas en l incidentes, obteniendo el grafo G = G v . Evidentemente, G tiene un vrtice menos, y est claro que (G ) (G ), as que G es ( (G ) + 1)-coloreable, por hiptesis de induccin. Ahora bien, si consideramos un ( (G ) + 1)-coloreado de G , podemos extenderlo a un coloreado de G asignando algn color a v . Como el grado de v es (G ), alguno de los (G ) + 1 colores no se ha utilizado en teir a los vecinos de v , y ese color podr utilizarse para teir a v , con lo que tambin G ser ( (G ) + 1)coloreable. Obsrvese que este teorema proporciona un nmero de colores suciente, pero puede ser bastante mayor que el mnimo necesario. Por ejemplo, para K 3,3 (vase la gura 1.26) el teorema dice que cuatro colores bastan, y es as, porque de hecho bastan dos. El caso del ltimo grafo de la misma gura es especialmente signicativo: hay un vrtice de grado 8, luego el teorema garantiza que nueve colores bastan. Sin embargo, en la prctica vemos que con cuatro es posible colorear el grafo. El ltimo teorema sobre coloreado que veremos no se demostrar: sera realmente difcil, por las razones que despus veremos. Denimos un grafo plano como uno que es factible representar en el plano de forma que sus aristas no tengan intersecciones (salvo en los extremos, claro). Por ejemplo, la gura 1.26 representa tres grafos planos. Los dos primeros no lo son: aunque no es obvio, K 5 y K 3,3 son imposibles de dibujar en un plano sin que alguna arista se cruce con otra. Una propiedad curiosa de los grafos planos es la siguiente, que enunciamos sin demostrar: Teorema 11 Si G es un grafo plano, el nmero C de regiones conexas en que su representacin divide al plano satisface la relacin C A+V =2 siendo A y V los nmeros de aristas y vrtices, respectivamente. 35
El teorema al que hacamos referencia antes es el Teorema 12 (de los cuatro colores) Todo grafo plano es 4-coloreable La interpretacin geomtrica de este enunciado es que cualquier mapa puede colorearse con cuatro colores de forma que pases fronterizos se distingan por el color. Por complejo que sea el mapa, cuatro colores sern siempre sucientes. El teorema de los cuatro colores se demostr en 1976, tras ms de un siglo de intentos fallidos y la comprobacin exhaustiva por computador de miles de conguraciones a las que la demostracin se reduce.
36