El lenguaje de los grafos...

74
Versi´on preliminar, 28 de octubre de 2018 Cap´ ıtulo 9 El lenguaje de los grafos Los grafos, los objetos y el lenguaje cuyo estudio iniciamos aqu´ ı, son extremadamente ´ utiles para representar primero, y luego analizar, problemas muy diversos. Informalmente, ungrafo es unacolecci´on de ertices, a la que acompa˜ na un conjunto de aristas que relacionan estos v´ ertices. Cuando argumentamos con grafos es habitual dibujar los v´ ertices como puntos (o peque˜ nos c´ ırculos) sobre el plano, y representar las aristas como l´ ıneas que unen estos puntos. Adelant´ andonos a las definiciones formales, y para que el lector vaya comprobando la amplia capacidad de representaci´ on del lenguaje de los grafos, exhibimos algunos ejemplos que analizaremos con detalle m´ as adelante. 1) Un problema de horarios. El plan de estudios de una cierta licenciatura univer- sitaria consta de ocho asignaturas. Para programar los horarios en los que se cursan estas asignaturas, queremos excluir la posibilidad de que dos asignaturas que tengan alumnos matriculados en ambas se emplacen en el mismo horario. Queremos, adem´as, minimizar el umero de horas necesario para programar todas las asignaturas, teniendo en cuenta la res- tricci´onanterior. Representamos primero la informaci´on con un grafo: cada asigna- tura es un v´ ertice, y si dos asignaturas presentan la incompatibilidad descrita antes, dibujamos una arista entre los v´ ertices correspondien- tes. Digamos, por ejemplo, que el grafo resultante es el de la izquierda. El dise˜ no de un horario equivale a asignar a cada v´ ertice un s´ ımbolo (la hora a la que se imparte la asignatura) de manera que v´ ertices que vayan unidos por una arista no lleven el mismo s´ ımbolo. Pero adem´ as nos interesar´ a hacerlo empleando el m´ ınimo n´ umero posible de s´ ımbolos. Abordaremos este tipo de cuestiones en la secci´ on 10.2, utilizando un peculiar lenguaje que daremos en llamar coloreado de grafos. A1 A2 A3 A4 A5 A6 A7 A8 2) Asignaci´ on de tareas. Formamos parte del departamento de estajanovismo a destajo de un empresa 1 . Contamos con un conjunto de trabajadores y otro de tareas, as´ ı como de la informaci´ on sobre para qu´ e tareas est´ a capacitado cada trabajador. Buscamos unaasignaci´on de tareas (a cada trabajador, una tarea distinta para la que est´ e preparado) de forma que consigamos ocupar al mayor n´ umero de trabajadores posible. 1 A veces conocido como departamento de recursos humanos. 1

Transcript of El lenguaje de los grafos...

Page 1: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

Capıtulo 9

El lenguaje de los grafos

Los grafos, los objetos y el lenguaje cuyo estudio iniciamos aquı, son extremadamenteutiles para representar primero, y luego analizar, problemas muy diversos. Informalmente,un grafo es una coleccion de vertices, a la que acompana un conjunto de aristas que relacionanestos vertices. Cuando argumentamos con grafos es habitual dibujar los vertices como puntos(o pequenos cırculos) sobre el plano, y representar las aristas como lıneas que unen estospuntos. Adelantandonos a las definiciones formales, y para que el lector vaya comprobandola amplia capacidad de representacion del lenguaje de los grafos, exhibimos algunos ejemplosque analizaremos con detalle mas adelante.

1) Un problema de horarios. El plan de estudios de una cierta licenciatura univer-sitaria consta de ocho asignaturas. Para programar los horarios en los que se cursan estasasignaturas, queremos excluir la posibilidad de que dos asignaturas que tengan alumnosmatriculados en ambas se emplacen en el mismo horario. Queremos, ademas, minimizar elnumero de horas necesario para programar todas las asignaturas, teniendo en cuenta la res-triccion anterior.

Representamos primero la informacion con un grafo: cada asigna-tura es un vertice, y si dos asignaturas presentan la incompatibilidaddescrita antes, dibujamos una arista entre los vertices correspondien-tes. Digamos, por ejemplo, que el grafo resultante es el de la izquierda.El diseno de un horario equivale a asignar a cada vertice un sımbolo(la hora a la que se imparte la asignatura) de manera que vertices que

vayan unidos por una arista no lleven el mismo sımbolo. Pero ademas nos interesara hacerloempleando el mınimo numero posible de sımbolos. Abordaremos este tipo de cuestiones enla seccion 10.2, utilizando un peculiar lenguaje que daremos en llamar coloreado de grafos.

A1 A2

A3

A4

A5A6

A7

A8

2) Asignacion de tareas. Formamos parte del departamento de estajanovismo a destajode un empresa1. Contamos con un conjunto de trabajadores y otro de tareas, ası como de lainformacion sobre para que tareas esta capacitado cada trabajador. Buscamos una asignacionde tareas (a cada trabajador, una tarea distinta para la que este preparado) de forma queconsigamos ocupar al mayor numero de trabajadores posible.

1A veces conocido como departamento de recursos humanos.

1

Page 2: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

2 Capıtulo 9. El lenguaje de los grafos

Digamos que en la empresa hay cinco trabajadores, T1, . . . , T5, yocho tareas, t1, . . . , t8. El grafo va a tener 13 vertices en total, tantoscomo trabajadores y tareas, pero dibujamos, pues ası resulta conve-niente, los de los trabajadores a un lado, y los de las tareas a otro.Ademas, trazamos una arista entre un vertice que represente a un tra-bajador y otro que represente a una tarea si efectivamente el trabajadoresta preparado para realizar esa tarea (vease el dibujo de la derecha).La asignacion de tareas, en estos terminos, consiste en seleccionar cincoaristas de manera que de cada vertice de la izquierda parta una y solo una. En la seccion 11.1revisaremos condiciones necesarias para que este tipo de asignaciones exista, ademas de pre-sentar algoritmos que permiten obtenerlas.

T1

T2

T3

T4

T5

t1

t2

t3

t4

t5

t6

t7

t8

3) Construccion de redes. Se busca conectar una serie de ciudades mediante, porejemplo, tramos de oleoducto. Un estudio de ingenierıa previo nos permite conocer que tramosse pueden construir, y quizas el coste de cada uno de ellos.

Las ciudades seran los vertices y las conexiones, lasaristas. Cada arista lleva asociado un numero (su “pe-so”), que indica el coste de construccion de cada tramo(vease el dibujo de la izquierda).

3

4

4

61

3

1

21

1

510

4

75

1

11

88

Buscamos, por ejem-plo, unir todos los vertices del grafo utilizando el menornumero posible de aristas. O en la version con pesos, en-contrar conexiones lo mas baratas posibles. Vea el lector

los apartados 9.2.2 y 11.2.1. Alternativamente, podrıamos interpretar el dibujo anterior co-mo un red de transporte ya construida, en la que los pesos representan las capacidades decada tramo (por ejemplo, para canalizar agua, petroleo, numero de vehıculos, etc.), quizascon el anadido de que los tramos esten orientados (es decir, que el flujo solo pueda recorrercada tramo en un cierto sentido), y con el objetivo de calcular el maximo flujo que puedetransportar la red. Vea el lector el apartado 11.3.

4) Coloreado de mapas. El de la derechaes el mapa del estado norteamericano de Iowa,dividido en sus 99 condados2. Repare, lector,en que cada condado lleva un color que se haelegido, con animo clarificador, de manera quecondados colindantes lleven distinto color. Porcierto, solo se utilizan cuatro colores. Nos pre-guntamos si se trata de una situacion general,es decir, si todo mapa se puede colorear utili-zando unicamente cuatro colores, o si los habraque requieran mas. Esta es tambien una cuestion de coloreado de grafos, como la cuestion 1,aunque aquı los grafos asociados a la cuestion son un tanto especiales; grafos planos, diremos.En la seccion 10.4 trataremos esta cuestion, junto con otras muchas relacionadas con estosgrafos planos, alguna de las cuales, como comprobara el lector, tienen conexiones fascinantes.

2¡Ah!, ¿que no sabıa que Iowa. . . ? ¡Que vasta cultura general proporciona la lectura de este libro!

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 3: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 3

El lector atento habra reparado sin duda en el permanente uso de expresiones como“minimizar el numero de. . . ”, “conseguir la maxima asignacion. . . ”, “determinar la red masbarata que. . . ”, “colorear con el mınimo numero de colores”, etc., en las cuestiones anterio-res. El lenguaje de los grafos, que primero permite representar adecuadamente y de formamanejable la informacion de un cierto sistema, resulta ademas estar especialmente adaptadoal planteamiento (y resolucion) de problemas de optimizacion como los anteriores.

Dedicaremos tres capıtulos a introducir y sacar3 partido de este lenguaje, con el siguienteplan. El capıtulo que ahora comienza servira para presentar las nociones y el lenguaje basicode grafos; un lenguaje un tanto peculiar, en el que tienen cabida desde expresiones tanpictoricas como coloreado y numero cromatico, hasta terminos tan botanicos como arbolesy bosques. Los dos siguientes capıtulos contienen variadas aplicaciones de este lenguaje:agruparemos las que consideramos mas de corte matematico en el capıtulo 10, y las quetienen connotaciones mas algorıtmicas en el capıtulo 11.

9.1. Grafos

Empecemos, como corresponde4, con la definicion matematica formal.

Definicion 9.1.1 Un grafo G = (V,A) esta conformado por un conjunto no vacıo V devertices y un conjunto A de aristas extraıdo de la coleccion de subconjuntos de dos ele-mentos de V . Cada arista de G es, pues, un subconjunto {u, v}, con u, v ∈ V , u �= v.

Las aristas son pares (no ordenados) de vertices, y escribiremos indistintamente {u, v} o{v, u} para referirnos a la arista que une o conecta los vertices u y v.

En ocasiones, sobre todo cuando en ciertos argumentos manejemos varios grafos a lavez, utilizaremos sımbolos como V (G) y A(G) para recordar a que grafo corresponden losconjuntos de vertices y aristas a los que nos estamos refiriendo.

La definicion anterior se refiere a los llamados grafos simples. En la seccion 9.1.1 pre-sentaremos algunas generalizaciones de esta nocion inicial de grafo. Pero, en lo que sigue, ysalvo mencion explıcita en sentido contrario, cuando hablemos de un grafo siempre estaremosrefiriendonos a este caso.

Diremos que dos grafos son iguales si tienen el mismo conjunto de vertices y la mismacoleccion de aristas.

Ejemplo 9.1.1 Consideremos un conjunto de vertices V = {1, 2, 3}. Construyamos algunosgrafos distintos con ese conjunto de vertices.

Como el conjunto de vertices esta fijo, determinar aquı el grafoexige unicamente decidir el conjunto de aristas. Los subconjuntos dedos elementos de V son {1, 2}, {1, 3} y {2, 3}. De ellos, deberemosescoger unos cuantos (o quizas ninguno) para formar el conjunto dearistas. Las elecciones A1 = {{1, 2}, {2, 3}} y A2 = {{1, 2}} dan lugara los grafos G1 = (V,A1) y G2 = (V,A2) dibujados a la izquierda. ♣

G1

1

23

G21

23

3Un mete saca.4No olviden que este es un libro de matematicas. Tampoco olviden supervitaminarse y mineralizarse.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 4: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

4 Capıtulo 9. El lenguaje de los grafos

A. Recuento del numero de grafos distintos. Si fijamos el conjunto de vertices, porejemplo {1, 2, 3}, hay ocho grafos distintos, pues hay tres “candidatos” a ser aristas y, portanto, 23 = 8 posibles elecciones de conjuntos de aristas (incluyendo el conjunto vacıo). Engeneral, si el conjunto de vertices tiene n elementos, por ejemplo V = {1, 2, . . . , n}, entoncestendremos

#{subconjuntos de tamano 2 extraıdos de {1, . . . , n}} =

(n

2

)

“candidatos” para ser aristas. Y, por tanto,

#{numero de grafos distintos con vertices {1, 2, . . . , n}} = 2(

n2),

tantos como subconjuntos se pueden seleccionar de {1, . . . , (n2)}. El numero anterior, porcierto, es enorme, en cuanto n sea grande. Por ejemplo, para un modesto n = 7 hay ya221 = 2097 152 grafos distintos, mas de dos millones.

El numero de grafos con vertices {1, . . . , n} y con un numero fijo, digamos k, de aristas(donde 0 ≤ k ≤ (n

2

)) es ((n

2

)k

)pues basta elegir k de entre las

(n2

)posibles.

Agrupamos ahora los 2(n2) grafos distintos con vertices {1, . . . , n} en funcion del numero

de aristas que tengan. Habra uno sin arista alguna,(n2

)con una arista, 1

2

(n2

)((n2

) − 1) condos, etc., hasta terminar en el unico grafo con todas las aristas posibles. Nos preguntamospor el numero medio de aristas que tiene un grafo con n vertices. El resultado, siguiendo uncalculo con el teorema del binomio analogo al del ejemplo 5.1.2, que convendra que el lectorrevise, es que

numero medio de aristas =1

2(n2)

(n2)∑k=0

k

((n2

)k

)=

1

2

(n

2

),

de manera que, en media, los grafos tienen la mitad de las aristas posibles.

Ası que, en cuanto n sea moderadamente grande, hay muchısimos grafos distintos, inclusosi prefijamos el numero de aristas, y un grafo elegido al azar tiene, en media, bastantes aristas.Lo que indica que realizar calculos sobre la coleccion completa de grafos sera exigente desdeel punto de vista computacional, y que estrategias del tipo “vamos a comprobar, uno a uno,si cierta propiedad se verifica para cada grafo” seran, como mınimo, aventuradas.

B. Grafos con y sin etiquetas. Habitualmente representaremos los vertices con los sımbo-los {1, . . . , n}, o con los sımbolos como u, v, w . . . , o quizas con v1, v2, v3 . . . . Para las aristasutilizaremos los sımbolos a (por arista) o quizas e (del ingles edge).

La cuestion de “etiquetar” o no los vertices de un grafo es un tanto sutil. Por ejemplo,siguiendo la definicion anterior, los grafos G1 = (V1, A1), donde V1 = {1, 2, 3} y A1 ={{1, 2}, {2, 3}}, y G2 = (V2, A2), con V2 = {a, b, c} y A1 = {{a, b}, {b, c}} son claramentedistintos, pues primero no tienen el mismo conjunto de vertices, y ademas tampoco tienen elmismo conjunto de aristas.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 5: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 5

Sin embargo, salvo por el nombre de los verti-ces, ambos contienen la misma “informacion”(en cierto sentido que convendra precisar). Veael lector los dibujos de la derecha

1

2

3

G1

a

b

c

G2

y confirme, a la vista de ellos, si esta o no de acuerdo. Masaun, reconozca que siente la tentacion de quedarse, simplemente, con el esquema desnudo,sin etiquetas, que aparece mas a la derecha. Confiamos en que la discusion de la seccion 9.1.2arroje luz sobre esta cuestion.

C. Subgrafos. En muchas ocasiones, conviene considerar grafos que estan incluidos “dentro”de otros. Dado un grafo G = (V,A), formamos un subgrafo H = (V ′, A′) de G seleccionandoprimero algunos de los vertices de G (esto es, V ′ ⊆ V ) para despues, de las aristas que unieranvertices del conjunto V ′ en el grafo original G, quedarnos con algunas de ellas (o todas)5.

Un caso especialmente relevante es aquel en el que el subgrafo incluye todos los vertices delgrafo original. Un subgrafoH (de G) con V (H) = V (G) se llamara un subgrafo abarcador.Algunos de los ejemplos que expusimos al principio del capıtulo requieren hallar subgrafosabarcadores (en realidad, “arboles” abarcadores; esto lo veremos en la seccion 9.2.2).

Consideremos, por ejemplo, el grafo G dibujado a la izquierda.

1

2

3

45

G Elconjunto de vertices es V (G) = {1, 2, 3, 4, 5}, y el de aristas A(G) ={{1, 2}, {2, 3}, {2, 4}, {2, 5}, {3, 4}, {4, 5}}. De los seis grafos que represen-tamos debajo de estas lıneas, solo los cuatro primeros son subgrafos de G.Porque H5 contiene una arista (la {1, 5}) que no estaba en el original,

mientras que H6 tiene un vertice (y alguna arista) de mas.

1

2

3

45

H1

61

2

3

45

H22

3

45

H32

3

4

H4

1

2

3

45

H5

1

2

3

45

H6

Los grafos H1 y H2 son, ademas, subgrafos abarcadores de G, porque incluyen a todoslos vertices de G. Los subgrafos H3 y H4 son tambien especiales: son los subgrafos que seobtienen considerando solo los conjuntos de vertices {2, 3, 4, 5} y {2, 3, 4}, respectivamente, yquedandonos con todas las aristas que unieran esos vertices en G. A estos ultimos subgrafosnos referiremos como los subgrafos inducidos por esos conjuntos de vertices.

9.1.1. Representacion matricial de un grafo

La definicion 9.1.1 oficial de grafo habla de conjuntos de vertices y conjuntos de aristas,que se seleccionan de entre las parejas de vertices. Pero en los ejemplos que hemos visto hastaahora, y en muchas de las ilustraciones y argumentos que desarrollaremos en lo que sigue, elgrafo es ese dibujo en el papel en el que vamos ubicamos cırculos para representar vertices,y lıneas, curvas o rectas, dependiendo de las pulsiones esteticas de cada uno, uniendolosentre sı.

5Si solo exigieramos que H contuviera algunos de los vertices y algunas de las aristas de G, podrıamos llegara situaciones sin sentido como incluir una arista pero no alguno de sus vertices.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 6: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

6 Capıtulo 9. El lenguaje de los grafos

Vale, bien, de acuerdo. Pero si lo que pretendemos es utilizar grafos para representarsistemas de puntos conectados y para resolver en ellos cuestiones algorıtmicas, ordenadormediante, necesitamos una manera eficaz de codificar la informacion contenida en el grafo.

La representacion mas habitual6 de un grafo G = (V,A) utiliza su matriz de vecinda-des, o matriz de adyacencia. Se construye como sigue. Digamos que el conjunto de verticeses V = {v1, . . . , vn}. Ordenamos esos vertices de cierta manera, por ejemplo (v1, . . . , vn). Yahora construimos la matriz n× n, cuyas filas y columnas van etiquetadas con esos vertices,y cuyas entradas, para cada 1 ≤ i, j ≤ n, llevan un 1 en la posicion (vi, vj) si {vi, vj} ∈ A, yun 0 en caso contrario.

La matriz tendra ceros en la diagonal y sera simetrica: si en la posicion (vi, vj) apareceun 1 es porque {vi, vj} ∈ A; por tanto, en la posicion (vj , vi) debera aparecer tambien un 1.Vease la siguiente ilustracion:

v1 v2

v3

v4

v5

v1 v2 v3 v4 v5v1 0 0 0 0 1v2 0 0 0 1 1v3 0 0 0 1 1v4 0 1 1 0 1v5 1 1 1 1 0

Por ejemplo, el 1 que aparece en la fila tercera, columna cuarta, y el 1 de la correspondienteposicion simetrica, fila cuarta, columna tercera, significan que el grafo contiene la arista entrelos vertices v3 y v4.

(Observe el lector que la matriz depende de la ordenacion de los vertices elegida. Massobre esto, en el apartado 9.1.2).

Ası que un grafo G simple con vertices {v1, . . . , vn} es exactamente lo mismo que unamatriz n × n de ceros y unos, simetrica, y con ceros en la diagonal, cuyas filas y columnasvan etiquetadas con los sımbolos {v1, . . . , vn}.

Hacemos notar que esta representacion matricial abre la posibilidad de utilizar tecnicasde algebra lineal para analizar cuestiones relacionadas con grafos. La matriz de vecindades deun grafo verifica algunas propiedades, como ser simetrica, o que sus entradas son numeros nonegativos (ceros y unos, de hecho). Podrıa ocurrir, y de hecho ası ocurre, que algunas de lascaracterısticas del grafo se reflejaran en ciertos invariantes de la matriz, como por ejemplo susautovalores y autovectores. Esta lınea de analisis, conocida como teorıa espectral de grafos,es extremadamente util en ocasiones, aunque aquı solo la utilizaremos en contadas ocasiones.Vease al respecto la seccion 9.1.5.

El lector que revise la discusion sobre relaciones binarias de la seccion 5.5 se percataratambien de que un grafo G = (V,A) se corresponde con una relacion definida en el conjunto V ,sin mas que interpretar que dos elementos de V estan relacionados si hay una arista queconecta los correspondientes vertices. Para el caso de los grafos simples, se tratara de unarelacion simetrica, desde luego no reflexiva y que, en algun caso, sera ademas transitiva.Vease la discusion mas general al respecto en la seccion 9.3.

6No es la unica. Vea por ejemplo, en la demostracion de la proposicion 9.1.3, una representacion alternativa,conocida como la “matriz de incidencias”.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 7: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 7

A. Grafos dirigidos, aristas multiples, lazos y pesos

Algunas cuestiones que trataremos en este texto exigen generalizar el concepto de grafo.Presentamos ahora algunas de estas variaciones sobre la definicion 9.1.1, atendiendo tambiena las representaciones matriciales a que dan lugar. Algunas propiedades adicionales de estasgeneralizaciones seran analizadas con mas detalle cuando el problema de interes lo exija.

La primera generalizacion consiste en per-mitir la presencia de lazos, esto es, de aristascuyos dos vertices sean el mismo. Sobre la de-finicion 9.1.1, esto supone admitir aristas deltipo {v, v}; y sobre la matriz de vecindades, laeventual presencia de unos en la diagonal. A laderecha mostramos un ejemplo.

v1 v2

v3

v4

v5

v1 v2 v3 v4 v5v1 1 0 0 0 1

v2 0 1 0 1 1

v3 0 0 0 1 1

v4 0 1 1 1 1

v5 1 1 1 1 0

Conviene tambien a veces permitir aris-tas multiples, esto es, que algunos pares devertices esten conectados por dos o mas aris-tas. En este caso, al que nos referiremos co-mo multigrafos, la definicion 9.1.1 se am-pliarıa permitiendo aristas repetidas, y enla matriz de vecindades las entradas serıan

ceros o numeros naturales (incluyendo la diagonal, si es que quisieramos permitir lazos multi-ples). A la izquierda

v1 v2

v3

v4

v5

v1 v2 v3 v4 v5v1 2 0 0 0 1

v2 0 1 0 2 2

v3 0 0 0 3 1

v4 0 2 3 1 1

v5 2 1 1 1 0

exhibimos un ejemplo, en el que se pueden apreciar aristas dobles ytriples, y hasta lazos dobles7.

Otra posibilidad, que estudiaremos condetalle en la seccion 9.3, es la de dar orienta-cion a las aristas. En los grafos dirigidoso digrafos (con lazos o sin ellos), las aris-tas se definen como pares ordenados, y lamatriz, cuyas entradas siguen siendo cerosy unos, ya no sera necesariamente simetrica. Vease el ejemplo de la derecha.

v1 v2

v3

v4

v5

v1 v2 v3 v4 v5v1 0 0 0 0 1

v2 0 0 0 1 0

v3 0 0 0 0 1

v4 0 0 1 0 1

v5 1 1 0 0 0

� �

��

Hacemos notar,por cierto, que en la matriz leemos las aristas de filas a columnas; vease, por ejemplo, el 1 enla fila v4 y columna v3. En el dibujo, ademas, cada arco ha sido decorado con una “flecha”.

La ultima generalizacion consiste en asociar, en cualquiera de los esquemas anteriores(grafos simples, multigrafos o grafos dirigidos), un numero real a cada arista a, su peso p(a).En este caso, hablaremos de un grafo con pesos (o grafo ponderado8, o incluso grafopesado9). La matriz de un grafo (simple y sin lazos, por ejemplo) ponderado es simetrica y susentradas son los pesos de cada arista. La matriz de un grafo dirigido con pesos (que tendranpapel destacado en la seccion 11.3) apenas tiene propiedades mas alla de ser cuadrada.

7Esta representacion matricial solo tiene en cuenta cuantas aristas hay entre cada par de vertices. Eso estodo lo que necesitaremos aquı. Pero es concebible que quisieramos distinguir entre, por ejemplo, dos aristasque unan el mismo par de vertices (por ejemplo, dos carreteras distintas que unieran las mismas ciudades)¿Como se le ocurre al lector representar matricialmente esta situacion?

8Dıcese del grafo sobre el que se piensa mucho, y muy detenidamente.9Sin comentarios.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 8: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Versionpreliminar,

28deoctubrede2018

8 Capıtulo 9. El lenguaje de los grafos

Esperen, no se vayan todavıa, que queda una ultima generalizacion. Todas las definicionesanteriores, cada una con sus particularidades, parten de que las aristas conectan parejas devertices (ordenadas o no). En otros terminos, nos hemos restringido a relaciones binarias. Losllamados hipergrafos constan del habitual conjunto de vertices, V , y ademas de un conjuntoA de hiperaristas, que son subconjuntos de vertices, no necesariamente de tamano 2. Es decir,A ⊆ P(V ), la coleccion de todos los subconjuntos de V . En ocasiones conviene restringirse aque las aristas sean todas del mismo tamano, por ejemplo parejas (el caso del grafo habitual), otrıos, o cuartetos, etc, de vertices. Aunque estos hipergrafos resultan utiles para representarcierta cuestiones, no los utilizaremos en estos capıtulos. Por otra parte, intente el lectorrepresentar sobre el papel un hipergrafo que por ejemplo involucre trıos.

Pero, ¡insistimos!, en lo sucesivo, mientras no se diga lo contrario, todos los grafos a losque nos referiremos seran. . . simples (y sin lazos).

B. Vertices vecinos, grado de los vertices y sucesion de grados

En lo que sigue utilizaremos en repetidas ocasiones las siguientes nociones, que tienenque ver con relaciones de vecindad en un grafo.

Definicion 9.1.2 Dado un grafo G = (V,A), diremos que dos vertices v,w ∈ V son vecinossi {v,w} ∈ A. El grado de un vertice es el numero de vecinos que tiene en el grafo:

grado(v) = #{w ∈ V : {v,w} ∈ A(G)} .Si los vertices de G son {v1, . . . , vn}, la sucesion de grados del grafo G es la lista

(grado(v1), grado(v2), . . . , grado(vn)) .

El grado de un vertice es un numero entre 0 y n − 1, si es que el grafo tiene n vertices.Si el grado de un vertice es 0, es decir, si no tiene vecinos en el grafo, diremos que el verticees aislado. Con la matriz de vecindades, el grado de un vertice se determina sumando lasentradas (los unos) que aparezcan en su fila10.

Por convenio (o costumbre), en la sucesion de grados estos se escriben en orden de tamano,bien de menor a mayor, bien de mayor a menor11.

Las relaciones de vecindad se codifican con la matriz de vecindades; la sucesion de gra-dos se obtiene sumando sus filas, de manera que se trata solo de un resumen parcial de lainformacion que contiene la matriz. Ası que habra grafos que tengan la misma sucesion degrados, pero cuyas relaciones de vecindad sean bien distintas. Vea el lector algun ejemplo enel apartado siguiente.

Ademas, no toda lista de n enteros, todos ellos entre 0 y n − 1, se corresponde con lasucesion de grados de un grafo con n vertices. Por ejemplo, se tiene la siguiente restriccionque nos dice, en particular, que la suma de los grados de un grafo es siempre un numero par.

10Un lazo, si los permitieramos y los hubiere, debe contribuir con un 2 al grado del vertice. Pero como enla matriz de vecindades hemos representado los lazos con unos en la posicion de la diagonal correspondiente,para este caso tendremos que la suma de las entradas de la fila (o columna) de un vertice v es el grado de vmenos el numero de lazos. Pequena inconveniencia que confiamos el lector sepa disculpar.

11Sobre gustos. . . El nuestro sera: de menor a mayor.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 9: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 9

Proposicion 9.1.3 En cualquier grafo G = (V,A) se tiene que∑v∈V

grado(v) = 2|A|.

Hacemos notar, no obstante, que la condicion anterior no caracteriza las sucesiones degrados de un grafo. Es decir, hay sucesiones de enteros no negativos 0 ≤ d1 ≤ d2 ≤ · · · ≤ dn ≤n−1, con d1+· · ·+dn par, que no se corresponden con la sucesion de grados de un grafo simple.Por ejemplo, la sucesion (1, 1, 3, 3) de numeros entre 0 y 4 cumple las condiciones de paridad,pero no se corresponde con ningun grafo con cuatro vertices, como podra comprobar el lectorque se afane en tratar de dibujar un tal grafo. Vea el lector interesado el ejercicio 9.1.11.

Demostracion (vease tambien el lema delos saludos, ejemplo 2.1.4). Vamos a argu-mentar sobre otra manera de registrar lainformacion contenida en el grafo, conoci-da como “matriz de incidencias”: sus co-lumnas estan etiquetadas con los vertices{v1, . . . , vn}, pero ahora, como etiquetas delas filas, situamos las aristas {a1, . . . , am}. En la posicion (ai, vj) colocaremos un 1 si elvertice vj es extremo de la arista ai; y un 0 en caso contrario. Vease el ejemplo de la figura.

v1 v2

v3

v4

v5

a1a2

a3a4

a5a6

v1 v2 v3 v4 v5a1 1 0 0 0 1

a2 0 1 0 0 1

a3 0 1 0 1 0

a4 0 0 1 0 1

a5 0 0 1 1 0

a6 0 0 0 1 1

En la fila etiquetada con la arista a1 apareceran solo dos unos (sus dos extremos); lomismo ocurre con el resto de las filas. Ası que, sumando por filas, obtenemos 2|A|. La colum-na correspondiente al vertice vj contendra tantos unos como vecinos tenga: su suma valdrajustamente gr(vj). Sumando los resultados de todas las columnas, y por doble conteo, obte-nemos la conclusion. Piense el lector si el resultado sigue siendo valido si permitimos lazosy/o aristas multiples (ejercicio 9.1.7; recomendamos tambien el ejercicio 9.1.8). �

Finalizamos la seccion presentando unas cuantas nociones adicionales asociadas a losgrados de los vertices de un grafo:

Definicion 9.1.4 Dado un grafo G = (V,A), su mınimo grado y su maximo gradovienen dados por

δ(G) = mınv∈V (G)

{grado(v)

}y Δ(G) = max

v∈V (G)

{grado(v)

}.

Si los dos numeros anteriores coinciden, digamos que ambos valen k, entonces todos losvertices del grafo tendran grado k, y hablaremos de un grafo k -regular.

Llamaremos grado medio de los vertices del grafo G a la cantidad

grado(G) =1

|V |∑v∈V

grado(v)

Observese que 0 ≤ δ(G) ≤ Δ(G) ≤ n− 1, si el grafo tiene n vertices. El grado medio, quecumple que δ(G) ≤ grado(G) ≤ Δ(G) , es una medida del numero de aristas que hay en elgrafo G por cada vertice. De hecho, a la vista de la proposicion 9.1.3, se tiene que

grado(G) = 2|A(G)||V (G)| .

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 10: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

10 Capıtulo 9. El lenguaje de los grafos

9.1.2. Grafos en cuerpo y alma: isomorfıa de grafos

Los grafos, como hemos visto, tienen como objeto representar relaciones (binarias) entrelos elementos de una coleccion de vertices. La verdadera naturaleza de esta relacion variarasegun el problema considerado; por ejemplo, pueden ser personas que se conozcan o no,ciudades conectadas o no mediante carreteras, asignaturas con incompatibilidades, etc. Perosea cual sea su caracter, nos gusta interpretar esta relacion en terminos genericos de vecindad :ası, “estar relacionados” lo entendamos como “ser vecinos” en el grafo.

Para que dos grafos sean iguales han de tener prime-ro, los mismos vertices, exactamente, y despues, las mismasaristas, exactamente. Los dos grafos de la derecha

a

b

c

d

1 2

3 4

G G′

tienenvertices distintos: los del de la izquierda son {a, b, c, d} y losdel de la derecha, {1, 2, 3, 4}, y cada uno tiene una unicaarista. Son grafos distintos, simplemente porque tienen vertices distintos.

Pero el lector condescendiente admitira que, en realidad, los dos grafos se correspondencon la misma relacion de vecindad, que, de hecho, podemos describir en palabras que no hacenreferencia ni a los vertices concretos ni a las aristas concretas; a saber, se trata de una relacionen un conjunto de 4 elementos en la que hay exactamente un par de ellos relacionados.

El lector convendra con nosotros en que resultara provechoso disponer de un concepto quecapture el hecho de que esos dos grafos, en realidad, dicen lo mismo. Vamos, que son igualesaunque sean formalmente distintos, sensu stricto12. Ese concepto es el de grafos isomorfos.Isomorfo significa, filologicamente hablando, con la misma forma.

Definicion 9.1.5 Decimos que dos grafos G = (V,A) y G′ = (V ′, A′) son isomorfos siexiste una aplicacion biyectiva entre los conjuntos de vertices, φ : V → V ′, de manera que

{v,w} ∈ A si y solamente si {φ(v), φ(w)} ∈ A′ .

La aplicacion φ es un diccionario que traduce la informacion del primer grafo en la delsegundo (o viceversa). Si dos vertices son vecinos en el primer grafo, entonces los verticescorrespondientes en el segundo tambien son vecinos, y recıprocamente. Ası queda exactamentetrasladada la relacion de vecindad: es, a todos los efectos, la misma. Notese que el isomorfismose define con una biyeccion entre los vertices, pero induce automaticamente otra entre lasaristas: basta asociar a una arista con vertices v y w la arista con vertices φ(v) y φ(w).

Por ejemplo, la aplicacion φ de {a, b, c, d} en {1, 2, 3, 4} definida por φ(a) = 3, φ(b) = 4,φ(c) = 1 y φ(d) = 2 es un isomorfismo entre los grafos que considerabamos antes, puesjustamente hace corresponder la unica arista, {a, b}, de G, con la unica arista, {3, 4}, de G′.

Muchas de las nociones y propiedades de grafos que iremos introduciendo en las paginasque siguen seran invariantes por isomorfıa. Es decir, que si un grafo G tiene una talpropiedad, los grafos isomorfos a el gozaran asimismo de esa propiedad. En cierto sentido,solo las propiedades invariantes por isomorfıa son importantes, porque solo ellas refierenexclusivamente a lo esencial de la estructura de vecindad. Por ejemplo, el numero de verticesy el numero de aristas son invariantes por isomorfıa. Tambien la lista de grados de los vertices

12Disculpe el amable lector el tono escolastico, y es que tanta disquisicion quintaesencial. . .

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 11: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 11

es invariante por isomorfıa; de hecho, si φ define un isomorfismo entre G y G′, entoncesgrado(v) = grado(φ(v)) para cada vertice v de G.

No suele resultar facil decidir si dos grafos dados son isomorfos o no. De hecho no sedispone de ningun procedimiento efectivo y general para ello, y la cuestion es considerada unproblema computacionalmente difıcil.

Para comprobar que dos grafos son isomorfos bastara con exhibir un isomorfismo. En-contrarlo puede no ser facil, pero comprobar que el supuesto isomorfismo es tal es un asuntodirecto. Para buscar un isomorfismo entre dos grafos (o, si es el caso, comprobar que no haytal) con n vertices – si no tuvieran igual numero de vertices ya estarıa claro que no son iso-morfos – podrıamos analizar las n! biyecciones del primer conjunto de vertices en el segundo,y comprobar una a una si lleva aristas en aristas. Pero n! es, a poco que n no sea pequeno,un numero desorbitadamente grande.

En sentido contrario, para comprobar que dos grafos no son isomorfos habra que ar-gumentar que no existe ningun isomorfismo entre ellos, lo que no es tarea facil. Piense enabstracto el aplicado lector: cuan difıcil es demostrar que algo (por ejemplo, la isla de SanBorondon13) no existe. Pero las matematicas, como ciencia de lo abstracto – esta es la clave –,estan cabalmente pertrechadas para este fin.

Una posible estrategia pasa por comprobar si ambos grafos comparten o no las diversaspropiedades invariantes por isomorfıa que iremos descubriendo en estas paginas: el numerode vertices, la sucesion de grados, etc. Pues si comprobamos que uno de los grafos en cuestiontiene una tal propiedad y el otro no, entonces no pueden ser isomorfos. Pero no se conoce unalista (completa y razonable) de invariantes cuya comprobacion resolviera la cuestion, bien ennegativo (los grafos no son isomorfos), si alguna de las propiedades no se compartiera, bienen positivo (los grafos son isomorofos) si todas ellas fueran comunes a los dos grafos.

Por cierto, la interpretacion de la nocion de isomorfıa en terminos de matrices de vecinda-des es directa. Sean M y M ′ las respectivas matrices de vecindades de los grafos G y G′. (Lasmatrices en sı dependen de las ordenaciones de los dos conjuntos de vertices). Entonces Gy G′ seran isomorfos si existe una forma comun de reordenar las filas y las columnas de Mque nos de la matriz M ′. La receta para esa reordenacion comun es simple: si el vertice vde G etiqueta, por ejemplo, la tercera fila (y tercera columna) de M y el vertice φ(v) etiqueta,por ejemplo, la sexta fila (y sexta columna) de M ′, entonces en la reordenacion la fila 3 pasaa ser la fila 6, y la columna 3 pasa a ser la columna 6. Notese el significado del termino“reordenacion comun”, que en terminos mas formales supone lo siguiente.

Definicion 9.1.6 Dos grafos G = (V,A) y G′ = (V ′, A′), representados por sendas matricesde vecindades M y M ′, son isomorfos si existe una matriz de permutaciones P tal que

M ′ = P M P−1.

Una matriz (cuadrada) P con ceros y unos se dice de permutaciones si tiene un unico 1por fila, y un unico 1 por columna. Revise el lector el ejercicio 5.2.10. Estas matrices sonortogonales, es decir, P−1 = P ᵀ. En la identidad de arriba, multiplicar por P por la izquierdaintercambia las filas, y multiplicar por P−1 (o mejor, por P ᵀ) por la derecha, las columnas.

13O Saint Brendan, si no tiene usted la suerte de ser canario.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 12: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

12 Capıtulo 9. El lenguaje de los grafos

Para cercioranos de la equivalencia entre las definiciones 9.1.5 y 9.1.6, y comprobar comola matriz de permutaciones P se corresponde exactamente con la biyeccion φ entre vertices,veamos el ejemplo que abrıa este apartado: si tomamos

M =

⎛⎜⎜⎝

a b c d

a 0 1 0 0b 1 0 0 0c 0 0 0 0d 0 0 0 0

⎞⎟⎟⎠ y M ′ =

⎛⎜⎜⎝

1 2 3 4

1 0 0 0 02 0 0 0 03 0 0 0 14 0 0 1 0

⎞⎟⎟⎠

entonces

M ′ = P ·M · P ᵀ , donde P =

⎛⎜⎜⎝0 0 1 00 0 0 11 0 0 00 1 0 0

⎞⎟⎟⎠.

Observese como P se corresponde con la aplicacion φ descrita anteriormente.

A. Almas de grafos

Lo comun de los dos grafos que trataba-mos antes queda recogido por la representa-cion que aparece en el ultimo esquema de laderecha,

a

b

c

d

1 2

34

G G′

que es una una suerte de grafo des-nudo, sin etiquetas en los nodos que repre-sentan vertices, al que nos referiremos como el alma del grafo14. En las almas no hablamosde vertices sino de nodos, y no hablamos de aristas, sino de conexiones entre nodos, simple-mente para resaltar que las almas de los grafos son entes15 de naturaleza distinta a la de losgrafos en sı. Usaremos almas de grafos, y no los grafos en sı, en las discusiones en las que losnombres de los vertices no aportan informacion relevante.

Observese que los grafos en sı guardan, respecto de sus almas, la misma relacion que lamatriz de vecindades (con sus filas y columnas etiquetadas) respecto de esa misma matrizpero sin etiquetas ni nombres en filas o columnas.

A un alma se le puede dar cuerpo16 de grafo asignandole nombres a los nodos paratransformarlos en vertices. Notese que dos grafos son isomorfos si tienen la misma alma, orecıprocamente, si se obtienen de la misma alma asignando nombres a los nodos del alma.

B. Almas en accion17

Las almas son muy utiles (como paso intermedio) cuando intentamos exhibir todos losgrafos que cumplen determinadas caracterısticas. Veamos aquı un ejemplo para ilustrar estaidea, aunque mas adelante la usaremos con denuedo. Supongamos que queremos exhibir todoslos grafos con los cuatro vertices {1, 2, 3, 4} que tienen 3 aristas. En total hay((4

2

)3

)= 20 de ellos.

14¡Ah!, pero, ¿los grafos tienen alma? Y cuerpo, sı senor. Un alma es un grafo desnudo: metafısica escolastica.15¿Entelequias? Esta discusion empieza a exigir, como musica ambiental, canto gregoriano.16Reencarnaciones. Quizas ahora musica de tambores, crotalos y cuencos tibetanos.17No, no es una ONG.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 13: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 13

A la vista de la proposicion 9.1.3, las posibles sucesiones de grados son cuatro numerosg1 ≤ g2 ≤ g3 ≤ g4, todos ellos entre 0 y 3, de manera que g1 + g2 + g3 + g4 = 6. Toca sermetodico y analizar la consiguiente casuıstica. Vamos con ello.

Si hay un vertice de grado 3, ya se usan las 3 aristas y losotros vertices habran de ser de grado 1. La sucesion de grados es(1, 1, 1, 3), que se corresponde con el alma de la derecha.

alma numero 1

Suponemos ya que no hay vertices de grado 3.Ha de haber al menos dos vertices de grado 2, por-que si no la suma de los cuatro grados no llegarıaa 6. Por tanto, restan dos posibilidades para la su-cesion de grados: (0, 2, 2, 2) y (1, 1, 2, 2), que danlugar a las dos almas que dibujamos a la derecha.

alma numero 2 alma numero 3

Puesto que las sucesiones de grados en estas almas son distintas, no hay posibles isomor-fismos entre los grafos que tengan distintas almas, y, por tanto, a mayor abundamiento, grafoscon distintas almas seran distintos. Por tanto, he ahı nuestro enfoque: para cada una de lastres almas buscaremos todos los grafos distintos que podemos tener con ese alma concreta, esdecir, asignaremos nombres de entre {1, 2, 3, 4} a los nodos (para transformarlos en vertices).El alma es como una plantilla en la que al poner nombres damos cuerpo al grafo.

A primera vista, sin pensar, podıamos decir que, como hay cuatro posiciones en el almay cuatro sımbolos posibles, entonces cada alma da lugar a 4! grafos: cierto, pero no son todosdistintos. Procedamos con cuidado.

Consideremos el alma numero 1. Observara el lector atento que aquı basta con decidircual es el nombre del nodo de grado 3. De manera que solo hay 4 grafos distintos con verticesde {1, 2, 3, 4} con este alma. Por ejemplo, si decidimos que el nodo de grado 3 recibe el nombrede 2, entonces el grafo tiene aristas: A = {{2, 1}, {2, 3}, {2, 4}}.

Vamos con el alma 2. De nuevo, hay solo 4 grafos distintos: aquı basta con decidir elnombre del nodo de grado 0. Si, por ejemplo, el nodo de grado 0 recibe el nombre de 2,entonces el grafo tiene aristas: A = {{1, 3}, {3, 4}, {4, 1}}.

Finalmente, analicemos el alma 3, que es sin duda la que mas trabajo da de las tres.Elegimos nombre para uno de los nodos de grado 1, despues nombre para el vecino de grado 2,y luego, por ultimo, de los dos nombres restantes elegimos el que asignamos al nodo de grado 1,y el grafo queda determinado. Este proceso se puede llevar a cabo de 4×3×2 = 24 maneras.Por ejemplo, si en este proceso elegimos, por orden, el nombre “2” para el nodo de grado 1,el nombre “4” para el nodo vecino de grado 2 y el nombre “1” para el otro nodo de grado 1,tendremos las aristas A = {{2, 4}, {4, 3}, {3, 1}}.

Pero – tenıa que haber un pero – hemos impuesto un orden espurio en los nodos de grado 1y no hay tal. Por ejemplo, si en este proceso elegimos por orden el nombre “1” para un nodode grado 1, el “3” para el nodo vecino de grado 2 y el “2” para el otro nodo de grado 1,obtenemos las mismas aristas. Como consecuencia del orden impuesto en los nodos de grado 1,cada grafo aparece 2 veces. De manera que tenemos que dividir por 2, para obtener finalmenteque con este alma tenemos 24/2 = 12 grafos distintos.

Reuniendo las consideraciones sobre las tres almas, vemos que tenemos un total de 20 =

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 14: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

14 Capıtulo 9. El lenguaje de los grafos

4+4+12 grafos distintos con vertices {1, 2, 3, 4} y 3 aristas. Los que tienen alma 1 son todosisomorfos entre sı, y lo mismo ocurre para los que tienen alma 2 o los que tienen alma 3. Demanera que distintos hay 20, y no isomorfos solo tenemos 3, tantos como almas.

No quisieramos que el ejemplo anterior pudiera inducir al lector a creer que la sucesion degrados determina el alma de un grafo. Si ası fuera tendrıamos un discriminador de isomorfıa.Pero no, que pena18. Las dos almas que siguen,

tienen la misma sucesion de grados, a saber, (1, 1, 1, 2, 2, 3), pero no son la misma. Para argu-mentar por que estos dos grafos (almas) no son isomorfos conviene darles cuerpo nombrandolos vertices; usaremos numeros para el de la izquierda y letras para el de la derecha19:

1 2 3 4 5

6

a b c d e

f

Si hubiera un isomorfismo φ entre los conjuntos de vertices {1, 2, 3, 4, 5, 6} y {a, b, c, d, e, f},los respectivos vertices de grado tres deberıan corresponderse, ası que necesariamente ten-drıamos que φ(2) = c. El vertice 3 tiene grado dos y es vecino del vertice 2, ası que su imagenφ(3) ha de tener grado dos y ser vecino de φ(2) = c. Hay dos posibilidades para φ(3), puedeser b o d. Supongamos que fuera b (el argumento si fuera d es analogo, como puede compro-bar el lector), esto es, que φ(3) = b. Seguimos. Nos fijamos ahora en el vertice 4, que tienegrado dos y es vecino del vertice 3. Ası que φ(4) ha de ser un vertice de grado dos, vecino deφ(3) = b, pero, ¡b no tiene vecinos de grado dos!. Concluimos que no hay tal isomorfismo φ.

Mas expeditivamente, para ver que estos grafos no son isomorfos basta con observar queel grafo de la izquierda tiene un par de vertices de grado 2 que son vecinos entre sı (propiedadinvariante por isomorfismos), pero el de la derecha no.

Puede sorprender lo sencillo que resulta contar el numero de grafos que hay con n verticesy k aristas, en comparacion con lo laborioso que resulta clasificarlos (en funcion de las distintasalmas) y luego contar los posibles etiquetados. El recuento del numero de grafos no isomorfoscon n vertices y k aristas es complicado. Remitimos al lector al capıtulo 28, en el que,aplicando la combinacion de funciones generatrices y teorıa de grupos que se conoce comoteorıa de Polya (¡alta tecnologıa!), exhibiremos un metodo para enumerar grafos no isomorfos.

C. Sobre cuerpos y almas20

El meticuloso lector, quizas abrumado por tanta disquisicion de tinte escolastico sobrecuerpos y almas de grafos, echara en falta una definicion formal de alma de un grafo.

Parece, y ası es en realidad, a que negarlo, que hemos argumentado con la representacionpictorica de un grafo como puntos (vertices) etiquetados en el plano y arcos entre ellos. Queel alma no es sino ese mismo dibujo, en el que eliminamos las etiquetas de los vertices (para

18Alma en pena: dıcese del lector que se ha perdido en la contabilidad anterior. No, usted no, el otro.19No atribuya el suspicaz lector, por favor, connotacion polıtica o cultural alguna a esta asignacion. Nada

mas lejos de nuestra intencion.20Corps et ames, que dirıa Van der Meersch.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 15: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 15

que queden en simples nodos). Y que dar cuerpo no es sino la operacion de nombrar nodos.La definicion formal casi puede sonar a una argumentacion ad divinitatem:

Definicion 9.1.7 El alma de un grafo es su clase de equivalencia por isomorfıa.

Es decir, el alma de un grafo es la coleccion completa de grafos que son isomorfos a el.El lector interesado deberıa comprobar que la relacion de isomorfıa entre grafos define unarelacion de equivalencia en la coleccion de todos los grafos21.

La crıptica y economica frase de que, por ejemplo, los grafos que se exhiben a continuacionson todos los grafos con 3 vertices, salvo isomorfismos, quiere decir que son un sistema derepresentantes de las clases de isomorfıa de los grafos con 3 vertices. Es decir, que no sonisomorfos entre sı, y que cualquier grafo con 3 vertices es isomorfo a uno de ellos. O, finalmente(notese que, en realidad, se trata de almas de grafos), que cualquier grafo de 3 vertices seobtiene dando cuerpo (asignando nombre a los nodos) a uno (y solo uno) de ellos.

Por cierto, a las almas de grafos se les suele denominar (en definicion negativa) grafosno etiquetados, y a la operacion de dar cuerpo, etiquetar.

Nuestra ultima precision en este contexto concierne a las matrices de vencindades. Lasalmas y los grafos no etiquetados con n vertices (nodos) pueden tambien entenderse comoclases de equivalencia en el conjunto M de matrices cuadradas n×n simetricas, con entradasque son ceros y unos, y con ceros en la diagonal. En esta relacion de equivalencia (el lectorcomprobara sin dificultad que es tal), dos matrices de M se dicen equivalentes si una seobtiene de la otra aplicando una misma permutacion a las filas y a las columnas.

9.1.3. Algunas familias de grafos

En muchas de las cuestiones que trataremos en estas paginas apareceran repetidamentealgunos grafos particulares, para los que conviene disponer de nombres y notaciones especıfi-cas. Enumeramos a continuacion, y describimos someramente, algunos de los mas relevantes.Hablaremos aquı de grafos salvo isomorfıa, por lo que no haremos explıcitas las etiquetas delos vertices. Nos estaremos refiriendo, pues, a almas de grafos22.

Diremos que un grafo es un Ln, un grafo lineal con n vertices (n ≥ 2) si tiene n vertices,de los que dos son de grado 1 y el resto, si los hay, de grado 2. Por lo tanto, es isomorfo a:

Los grafos circulares Cn tienen n vertices, n ≥ 3, y todos de grado 2. De hecho, es elunico grafo conexo con estas propiedades (ejercicio 9.1.21). Los siguientes dibujos representan

21Como ya sabemos que la isomorfıa entre grafos requiere tener un mismo numero de vertices, el lector quese pudiera sentir (logicamente) cohibido ante la inmensidad de la coleccion de todos los grafos concebibles

quizas prefiera restringirse a los de n vertices, de los que “solo” hay 2(n2), y comprobar que en ese conjunto

de grafos la isomorfıa es relacion de equivalencia.22Almas gemelas, podrıamos decir, que en lugar de vagar eternamente se reunen, por afinidades, en familias.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 16: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

16 Capıtulo 9. El lenguaje de los grafos

los primeros casos:

C10

· · ·

C3 C4 C5

Un grafo con n vertices con todas las(n2

)posibles aristas sera un grafo completo con n

vertices; en sımbolo, Kn:

K10

· · ·

K3 K4 K5

En el otro extremo encontramos los grafos vacıos Nn, con n vertices y ninguna arista(son los grafos complementarios de los completos, vease el ejercicio 9.1.6).

En diversas ocasiones utilizaremos una clase de grafos conocidos como grafos bipartitos,en los que el conjunto de vertices se parte en dos clases, de manera que no hay aristas entrevertices de la misma clase. Dentro de esta familia habitan los grafos bipartitos completos,a los que nos referiremos con el sımbolo Kr,s, donde los subındices indican los tamanos delos dos conjuntos de vertices.

El grafo Kr,s tiene, pues r+ s vertices, divididos en dos clases, una con rvertices, y la otra con s; e incluye (todas) las r×s posibles aristas que van delos vertices de un tipo a los del otro (de ahı el apelativo de “completo”, y laletra K usada en su descripcion). En el dibujo de la derecha aparece un K4,6.Un grafo bipartito con r vertices de un tipo y s de otro se puede obtenerdel Kr,s sin mas que seleccionar un cierto subconjunto de sus aristas.

Estos grafos bipartitos apareceran a menudo, y en particular en la descripcion del pro-blema de “asignacion de tareas” que presentamos al comienzo de este capıtulo, y que anali-zaremos en detalle en el apartado 11.1. Mas adelante, cuando dispongamos de mas lenguaje,veremos un par de caracterizaciones alternativas de los grafos bipartitos: en terminos de laausencia de “ciclos” de orden impar (lema 9.1.12), de autovalores de su matriz de vecindades(lema 9.1.19), y de coloreado (lema 10.2.3). Con estas herramientas sera directo comprobar,por ejemplo, que los grafos Ln, o los grafos circulares Cn con n par (pero no si n es impar), songrafos bipartitos; aunque quizas el lector quiera hacerlo apelando a la definicion, separandolos vertices en dos clases y comprobando que. . .

La definicion de la siguiente familia de grafos es abstracta: en el grafo del cubo, Qn,n ≥ 1, sus vertices van etiquetados con las listas de longitud n que podemos formar con cerosy unos. En total, pues, tiene 2n vertices. Dos vertices de Qn seran vecinos si las listas deceros y unos que los identifican difieren en una unica posicion.

Mostramos a continuacion los dibujos de Q1, Q2 y Q3 en los retıculos de una, dos y tresdimensiones, que nos ayudan a entender su estructura (y justifican su nombre). Observeseque Q1 es isomorfo a L2, y Q2, a C4. Quizas el lector quiera intentar23 dibujar el grafo Q4.

23Alla el.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 17: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 17

..................... .........................

...........................

x

y

z

x

yQ2

Q3

Q1 (0) (1)

(0, 1) (1, 1)

(0, 0) (1, 0)

(1, 1, 1)

(0, 1, 1)(0, 0, 1)

(1, 0, 1)

(1, 0, 0) (1, 1, 0)

(0, 1, 0)

(0, 0, 0)

Como hay n distintas maneras de variar una posicion en una n-lista, todos los verticesde Qn tienen grado n (por lo que Qn es un grafo n-regular). De lo que deducimos que elnumero de aristas de un Qn es

2 |A(Qn)| =∑

v∈V (Qn)

grado(v) =

2n∑j=1

n = n 2n =⇒ |A(Qn)| = n 2n−1 .

Los grafos Qn son tambien bipartitos. Veamos: la mitad de los vertices de Qn estanetiquetados con n-listas con numero par de ceros, y la otra mitad, con un numero impar.Pero dos listas que tienen un numero par de ceros no pueden ser vecinas en este grafo, ylo mismo ocurre para las impares. Quizas el lector se anime a dibujar Q3 de manera que sehaga evidente ese caracter bipartito, situando a la izquierda los cuatro vertices etiquetadoscon listas con un numero par (o cero) de ceros, y a la derecha los otros cuatro, para luegotrazar las aristas correspondientes.

El grafo del cubo (tridimensional) Q3, por cierto, es uno de los cinco grafos conocidos comografos platonicos, que estan asociados a los conocidos y casi magicos solidos platonicos, yque apareceran, con luz y brillo propios, en la discusion sobre planaridad de la seccion 10.4.Debajo de estas lıneas puede contemplar el lector su elegante aspecto.

tetraedro cubooctaedro dodecaedro icosaedro

Hay, por supuesto, otros muchos grafos interesantes que no pertenecen aninguna de las familias anteriores: algunos son parte de familias mas exoti-cas, otros son casi huerfanos. . . En el dibujo de la izquierda se representael grafo de Petersen24, que consta de 10 vertices, todos ellos de grado 3.

24Bautizado ası en honor de su “disenador”, el matematico danes Julius Peter Christian Petersen (1839–1910). Las portadas de dos afamadas revistas de investigacion en cuestiones relacionadas con la teorıa degrafos, como son Journal of Graph Theory y Discrete Mathematics, ilustran sus portadas con el.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 18: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

18 Capıtulo 9. El lenguaje de los grafos

9.1.4. De paseo por un grafo. Conexion

Si el lector observa con detenimiento los dosgrafos que dibujamos a la derecha, se percatara deque en el grafo G2 las aristas del grafo permiten“llegar” de un vertice a cualquier otro, algo que noocurre en G1. Ası que G1 es “conexo”, mientras que G2 no lo es. Para introducir formalmenteesta nocion, necesitamos algo de lenguaje previo.

G1 G2

A. Paseos

La siguiente nocion define formalmente la accion de “moverse” por un grafo: ir pasandode vertice a vertice siguiendo siempre las aristas del grafo.

Definicion 9.1.8 Un paseo en un grafo G = (V,A) es una sucesion finita de vertices

x0, x1, x2, . . . , xl (pueden repetirse vertices)

de forma que {xi, xi+1} es una arista de G, para cada i = 0, 1, . . . , l − 1.

Situese el lector en un vertice del grafo: ya tiene x0. Decida entonces, a la vista de lasaristas que inciden en x0, a que vertice puede trasladarse, escoja uno de ellos y ya tendra x1(podrıa ser el mismo vertice, si es que hubiera un lazo y lo eligieramos). Ahora observedetenidamente las aristas que parten de x1 y vuelva a elegir. Cuando haya terminado esteentretenido recorrido, le rogamos que anote los vertices que haya ido visitando (en rigurosoorden). Ya tendra un paseo.

Diremos que el primer vertice de un paseo es el vertice inicial, que el ultimo es el verticefinal, y que el paseo conecta estos dos vertices. Si ambos extremos coinciden, esto es, si elpaseo comienza y termina en el mismo vertice, hablaremos de un paseo cerrado.

Hay quien escribe los paseos anadiendo las aristas que se usan, en la forma

x0, (a1), x1, (a2), x2, (a3), . . . , xl−1, (al), xl

donde cada arista aj une los vertices xj−1 y xj; aunque esta lista tiene la misma informacionque la anterior25. La longitud del paseo es el numero de aristas que se recorren (l, en elejemplo anterior). Note el lector que no nos referimos al numero de aristas distintas utilizadas,pues estas se pueden repetir, sino al numero de “pasos” por arista que efectuamos duranteel paseo. Por conveniencia, incluiremos la posibilidad de tener paseos de longitud 0, “paseosvacıos” en los que no se sale del vertice inicial.

B. Paseos eficientes

Muchos de los algoritmos y procedimientos que veremos en las paginas siguientes buscanmaneras de recorrer las aristas o los vertices de un grafo de manera “economica”. Si los

25No ası en el caso de un multigrafo, pues entre dos vertices puede haber mas de una arista, y quizas seanecesario registrar cual se usa realmente.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 19: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 19

vertices del grafo representan ciudades y las aristas carreteras entre ellas, puede interesarconectarlos con paseos que no repitan aristas; o mas aun, con paseos en los que no se repitanvertices (lo que, en particular, impide que se repitan aristas). Aunque a veces, al tiempo quepretendemos ser economicos, tambien seremos ambiciosos, y nos interesara recorrer todas lasaristas, o quizas visitar todos los vertices.

Estos diversos objetivos dan lugar, en la literatura de grafos, a un amplio repertorio determinos para describir distintos tipos de paseos adaptados a cada situacion particular: losque no repiten aristas, los que no repiten vertices, los que visitan todos los vertices, etc.

Desafortunadamente, no hay nomenclaturas bien establecidas, y el lector podra encontraren otros textos nombres como caminos, caminos simples, circuitos, ciclos, sendas, etc., y noen todos ellos con el mismo significado26. Ası que, en alarde de continencia, no nos dejaremosllevar por la tentacion taxonomica, y en lugar de bautizar cada tipo de paseo con un nombreespecial, algo que despista, se olvida y obliga a repasar las definiciones en cada ocasion,optaremos27 por utilizar circunloquios como “paseos que no repiten vertices”, “paseos queno repiten aristas”, “paseos que visitan todos los vertices sin repetir aristas”, etc. Confiamosen que el lector sepa disculpar estos excesos perifrasticos.

La siguiente observacion, que habla de como extraer paseos “economicos” a partir de unpaseo dado, sera usada repetidamente en lo que sigue:

Lema 9.1.9 Supongamos que en un grafo G con n vertices existe un paseo que conecta dosvertices u y v distintos. Entonces

a) existe un paseo entre u y v que no repite vertices;

b) existe un paseo entre u y v de longitud a lo sumo n− 1.

Demostracion. Supongamos que el paseo que conecta u con v tiene longitud l y es de laforma (x0, x1, . . . , xl−1, xl), donde x0 = u y xl = v. Si en esa lista no hay vertices repetidos,no hay nada que probar. En caso contrario, existiran xi y xj, con 0 ≤ i < j ≤ l, tales quexi = xj. De la lista original podremos “cortar” el tramo entre xi+1 y xj de manera que el paseoresultante siga conectando u con v. Si en este nuevo paseo no se repiten vertices, habremosterminado, y en caso contrario repetimos la cirugıa. En cada ocasion, la lista pierde al menosun vertice (y la longitud del paseo se reduce en al menos en dos unidades), de manera que,tras un numero finito de iteraciones tendremos un paseo entre u y v que no repite vertices.

La segunda parte se sigue de la primera, pues el peor caso serıa que el paseo incluyera,sin repetirlos, los n vertices del grafo. �

De entre los multiples tipos de paseos que podemos considerar, los siguientes reciben unnombre que, este sı, es de uso frecuente y bien establecido:

Definicion 9.1.10 Un ciclo en un grafo G es un paseo x0, x1, . . . , xl, con l ≥ 3, dondex0 = xl (esto es, el paseo es cerrado) y tal que los vertices son todos distintos (excepto elprimero y el ultimo, claro). La longitud del ciclo x0, x1, . . . , xl (con x0 = xl) es justamente l.

26Tampoco la literatura anglosajona es unanime, y se pueden encontrar terminos como walk, path, trail,circuit, cycle, etc., (o chemin, boucle, cheminement, etc., en la literatura francesa) con diversos significados.

27Con dos salvedades: en la seccion 10.1 elevaremos la categorıa de ciertos paseos honrandolos con los ilustresnombres de Euler y Hamilton (lo que no es mala distincion).

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 20: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

20 Capıtulo 9. El lenguaje de los grafos

Recalcamos que un ciclo contiene al menos tres vertices. Ademas, si tenemos un paseocerrado con al menos tres vertices, siempre podemos extraer de el un ciclo, sin mas que seguirla misma estrategia usada en el lema 9.1.9. Por cierto, decir que un grafo G contiene un ciclode longitud l es lo mismo que afirmar que contiene un grafo tipo Cl como subgrafo.

Definicion 9.1.11 Llamaremos cuello de un grafo G, en sımbolo cuello(G), al mınimo delas longitudes de los ciclos de G. En el caso en el que G no contenga ciclos, convenimos quecuello(G) = +∞.

Un ciclo es una estructura invariante por isomorfismos. Y el cuello deun grafo tambien lo es. Esta observacion permite, en ocasiones, decidirque dos grafos no son isomorfos. Veanse, por ejemplo, los que dibujamosa la izquierda,

G

G′ que tienen iguales numero de vertices y de aristas, y todoslos vertices son de grado 3. Parece difıcil determinar si son o no isomorfossin recurrir a la comprobacion de las 6! = 720 posibles biyecciones. Perocomo cuello(G) = 3 y cuello(G′) = 4, no pueden ser isomorfos.

Los ciclos que pueda (o no) contener un grafo dan mucha informacion sobre su estructura.Por ejemplo, dedicaremos la seccion 9.2 al estudio de los “arboles”, los grafos conexos que nocontienen ciclos. Tambien los grafos bipartitos se pueden caracterizar en terminos de ciclos.

Lema 9.1.12 Un grafo G es bipartito si y solo si no contiene ciclos de longitud impar.

Demostracion. a) Sea V (G) = A ∪ B el conjunto de vertices del grafo bipartito G. Si notiene ciclos, no hay nada que probar. Supongamos que contiene un ciclo (v0, v1, . . . , vk−1, v0)de longitud k. Podemos suponer que v0 ∈ A. Entonces v1 ∈ B, luego v2 ∈ A, etc. Si k fueraimpar, entonces vk−1 estarıa en A. Pero la arista (v0, vk−1) no puede pertenecer al grafo.

b) Supongamos, en el otro sentido, que G es un grafo sin ciclos impares. Podemos suponerque G es conexo, pues de lo contrario argumentarıamos sobre cada una de sus componentes.Fijamos un vertice v0 y dividimos los vertices de G en dos clases: en A ubicamos aquellosvertices v de V (G) tales que el paseo mas corto desde v0 hasta v tiene longitud par, mientrasque en B irıan aquellos con paseos mas cortos desde v0 de longitud impar. Claramente A y Bforman una particion de V (G), y ademas v0 ∈ A. Queda comprobar que no hay aristas entrelos vertices de A (ni entre los de B). Supongamos que hubiera una arista entre dos verticesv1 y v2 de A. Observese que ni v1 ni v2 pueden ser v0. Entonces, el paseo de v0 a v1, esaarista entre v1 y v2, y luego el paseo de v2 hasta v0, conformarıan un ciclo de orden longitudimpar en el grafo. El argumento para los vertices de B es analogo. �

C. Conexion y componentes conexas

Definicion 9.1.13 Un grafo G = (V,A) se dice conexo si, dados cualesquiera dos verticesv,w ∈ V , existe un paseo que los conecta.

Por convenio28, diremos que un grafo con un unico vertice es tambien conexo (estaraconectado consigo mismo por un “paseo vacıo”, de longitud 0).

28Mas bien por comodidad, para que todo cuadre; poderoso estımulo a la hora de disenar definiciones.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 21: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 21

¿Como se comprueba que un grafo es conexo? Lector, no nos referimos a los pequenosejemplos dibujados en este libro, en los que la conexion se verifica por simple inspeccion visual.Si por ejemplo el grafo constara de 1000 vertices, siguiendo fielmente la definicion anterior,y su (altamente inquietante) exigencia “dados cualesquiera dos vertices. . . ”, tendrıamos quecomprobar la existencia (o no) de paseos para las

(10002

)parejas posibles. Pero como veremos

mas adelante, hay metodos bastante mas eficaces para dirimir la cuestion; vea el lectorinteresado el apartado C de esta misma seccion, o los algoritmos de la seccion 9.2.2.

Si el grafo no es conexo, es decir, si contiene vertices que no pueden ser conectados porpaseos, es natural esperar que el grafo este formado por diversos “bloques” de vertices, cadauno de los cuales sera un grafo conexo. Para formalizar esta intuicion introducimos ahoracierto lenguaje, confiando en que el lector no se desconecte por el camino.

En el conjunto de los vertices de G definimos la siguiente relacion R: uRv si y solo si ues “conectable” en G con v (esto es, existe un paseo en G que conecta u con v). Vamos acomprobar que esta relacion es de equivalencia.

La reflexividad es evidente, gracias al ardid de admitir paseos de longitud 0. Para lasimetrıa, observemos que si dos vertices (distintos) u y v cumplen que uRv, sera porqueexiste un paseo conectando u con v. Ese mismo paseo, “leıdo” al reves, conecta v con u, asıque vRu. Finalmente, para la transitividad, digamos que tres vertices u, v, w, con u �= v yv �= w, cumplen que uRv y vRw. Como uRv, hay un paseo que conecta u con v. Y comovRw, habra otro conectando v con w. “Uniendo” ambos, es decir, siguiendo el paseo de ua v y luego el de v a w, hallamos un paseo que conecta u con w. Ası que uRw.

Esta relacion de equivalencia parte el conjunto de vertices de G en unas clases de equiva-lencia. Las componentes conexas, o simplemente componentes, de G son29 los subgrafosinducidos por cada uno de estos conjuntos de vertices (los subgrafos formado por esos verticesy todas las aristas que los unieran en G).

Las componentes conexas (que podrıanconstar de un unico vertice, si es que esteera aislado) son grafos conexos. Un grafo Ges la union de sus componentes conexas.

v1

v2

v4

v3

v5

v1v1 v3v2 v4 v5

v2v4v3v5

00

00

0

111

11

11

1

0 00

00 0

0 000

0

0El lector podra comprobar que la matriz devecindades de un grafo con varias componentes conexas se puede escribir, quizas permutandoadecuada y simultaneamente las filas y las columnas, como una matriz por cajas (en el sentidohabitual del algebra lineal). Veanse, en el ejemplo de grafo con dos componentes conexas quemostramos a la derecha, las correspondientes cajas con ceros.

En ocasiones, como en la figura, un grafo conexo deja de serloal quitarle una arista particular a(la arista a, en la figura). Unaarista a de un grafo G es un puente si el grafo G \ {a} que seobtiene de G al quitar la arista a (y dejar los mismos vertices)tiene mas componentes conexas que G. El lector puede comprobar que, en realidad, tendraexactamente una componente conexa mas que G. Ası que si G es conexo y a es una aristapuente, G \ {a} consta de exactamente dos componentes conexas (vease el ejercicio 9.1.23).

29Definicion alternativa y visual: imagine a cada vertice como un boton sobre la mesa, y a cada arista comoun hilo que une dos botones. Tome uno de ellos y levantelo: lo que cuelgue de el sera una componente conexa.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 22: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

22 Capıtulo 9. El lenguaje de los grafos

Parece razonable suponer que un grafo conexo, es decir, en el que todos los verticesson conectables, deba contener un numero “suficiente grande” de aristas. Pinte el lector nvertices e intente luego ubicar aristas, lo mas economicamente posible, de manera que el graforesultante sea conexo. ¿Cuantas ha usado? Al menos n − 1, seguro. El siguiente resultadocertifica esta intuicion (vease tambien la generalizacion del ejercicio 9.1.22):

Proposicion 9.1.14 Si G es un grafo conexo, entonces |A(G)| ≥ |V (G)| − 1.

Demostracion (por induccion en |A|, el numero de aristas). Si |A| = 0, esto es, si notenemos aristas, para que el grafo sea conexo, solo puede haber un vertice. Si |A| = 1 y elgrafo ha de ser conexo, solo cabe la posibilidad de que sea el grafo L2, que tiene dos vertices.

Supongamos cierto que si tenemos un grafo conexo con k aristas, para cualquier k ≤ m,entonces |V | ≤ k + 1. Y consideremos un grafo conexo G con |A(G)| = m+ 1 y una arista ade G cualquiera. Llamemos H = G \ {a} al grafo que se obtiene de G quitando la arista a.El grafo H tiene los mismos vertices y una arista menos que G. Caben dos posibilidades:

1) Si H sigue siendo conexo (es decir, si a no era arista puente en G), por hipotesis deinduccion (tiene m aristas), como |A(H)| = |A(G)| − 1 y V (G) = V (H), tendremos que

|A(H)| ≥ |V (H)| − 1 =⇒ |A(G)| ≥ |V (G)| .

2) Pero si a era puente en G, H ya no es conexo, sino que tiene dos componentes conexas;llamemoslas H1 y H2. Ambas son grafos conexos y tienen menos aristas que G (podrıa inclusoocurrir que estos subgrafos constaran de un unico vertice). Teniendo en cuenta que

|A(H1)|+ |A(H2)| = |A(H)| = |A(G)| − 1 y |V (H1)|+ |V (H2)| = |V (H)|,

y con la hipotesis de induccion, terminamos la demostracion:

|A(H1)| ≥ |V (H1)| − 1|A(H2)| ≥ |V (H2)| − 1

}=⇒ |A(G)| − 1 ≥ |V (G)| − 2 ⇒ |A(G)| ≥ |V (G)| − 1 .

Note el lector que la mera condicion |A| ≥ |V |−1 no garantizaque el grafo sea conexo. Vease a la derecha el dibujo de un grafocon 7 aristas y 6 vertices que claramente no es conexo. Los grafosconexos en los que se alcanza la igualdad |A| = |V | − 1 son conocidos como arboles; a ellosdedicaremos atencion especial en la seccion 9.2.

D. Numero de paseos, matriz de vecindades y conexion

Llamemos mij a las entradas de la matriz M de vecindades de un grafo G con vertices(ya ordenados) (v1, . . . , vn). Los numeros mii son 0 para cada i = 1, . . . , n. Y si i �= j, mij

sera 1 si vi es vecino de vj y 0 en caso contrario. Observese que, por tanto, cada mij cuentael numero de paseos de longitud 1 que hay entre el vertice vi y el vertice vj . Pero, ¿comocontar el numero de paseos de longitud mayor entre cada par (vi, vj)? El siguiente resultadoproporciona un metodo de calculo a traves de las sucesivas potencias de M .

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 23: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Versionpreliminar,

28deoctubrede2018

9.1. Grafos 23

Teorema 9.1.15 Si M es la matriz de vecindades de un grafo G, la entrada (i, j) de la

matriz Ma = M× a veces· · · ×M , que denotamos como m(a)ij , cuenta el numero de paseos de

longitud a entre los vertices vi y vj .

Demostracion (por induccion en l). El caso a = 1 ha sido mencionado hace un momento.Consideremos todos los paseos de longitud a entre vi y vj cuyo penultimo vertice visitado

es vk. Por hipotesis de induccion, m(a−1)ik cuenta el numero de paseos de longitud a−1 entre vi

y vk. Por otro lado, mkj = 0 si es que vk no es vecino de vj y es un 1 en caso contrario.

Ası que, aplicando la regla del producto, hay m(a−1)ik mkj paseos de longitud a entre vi y vj

cuyo penultimo vertice visitado es vk. Por la regla de la suma, el numero total de caminosde longitud a entre vi y vj es

n∑k=1

m(a−1)ik mkj .

Para completar la demostracion, solo queda observar que, como Ma = Ma−1M , las reglas de

multiplicacion de matrices nos dicen que m(a)ij coincide con la suma anterior. �

Observese, como caso particular, que m(2)ii = grado(vi) para cada i = 1, . . . , n, pues cada

paseo de longitud 2 de un vertice a sı mismo se corresponde con una arista que incide en esevertice. Esto es, la diagonal de la matriz M2 contiene la sucesion de grados del grafo.

Ejemplo 9.1.2 Consideremos el grafo G de la figura de la derecha, 1 2

3

45

que consta de cinco vertices y seis aristas, y sobre el que queremoscalcular, por ejemplo, el numero de paseos de longitud tres que hayentre los vertices 1 y 2.

La matriz de vecindades del grafo G, que denotamos por M , aparece debajo de estaslıneas, junto con sus primeras potencias:

M =

⎛⎜⎜⎜⎜⎝

0 1 0 1 11 0 1 1 00 1 0 1 01 1 1 0 01 0 0 0 0

⎞⎟⎟⎟⎟⎠ , M2 =

⎛⎜⎜⎜⎜⎝

3 1 2 1 01 3 1 2 12 1 2 1 01 2 1 3 10 1 0 1 1

⎞⎟⎟⎟⎟⎠ y M3 =

⎛⎜⎜⎜⎜⎝

2 6 2 6 36 4 5 5 12 5 2 5 26 5 5 4 13 1 2 1 0

⎞⎟⎟⎟⎟⎠ .

De la matriz M3 deducimos que hay seis paseos distintos de longitud tres entre los vertices1 y 2. Verifique el lector, sobre el dibujo del grafo, que son los siguientes: (1, 5, 1, 2), (1, 4, 1, 2),(1, 2, 1, 2), (1, 2, 3, 2), (1, 2, 4, 2) y (1, 4, 3, 2). ♣

El teorema 9.1.15 proporciona, adicionalmente, una manera de comprobar si un grafo Gcon n vertices y matriz de vecindades M es o no conexo. Ya sabemos (lema 9.1.9) que sidos vertices se pueden conectar en un grafo con n vertices, es seguro que lo podran hacerutilizando un paseo cuya longitud sea a lo sumo n− 1. Como la entrada (i, j) de la matriz

M = In +M +M2 + · · · +Mn−1

(donde In es la matriz identidad n × n) cuenta el numero de paseos de longitud a lo sumon− 1 que existen entre los vertices vi y vj, tenemos que:

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 24: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

24 Capıtulo 9. El lenguaje de los grafos

Teorema 9.1.16 Si todas las entradas de la matriz

M = In +M +M2 + · · ·+Mn−1

son positivas, entonces G es conexo. Y viceversa, G no sera conexo si M contiene algun 0.

Para el grafo del ejemplo 9.1.2, que consta de 5 vertices,

I5 +M +M2 =

⎛⎜⎜⎜⎜⎝

4 2 2 2 12 4 2 3 12 2 3 2 02 3 2 4 11 1 0 1 2

⎞⎟⎟⎟⎟⎠, pero I5 +M +M2 +M3 =

⎛⎜⎜⎜⎜⎝

6 8 4 8 48 8 7 8 24 7 5 7 28 8 7 8 24 2 2 2 2

⎞⎟⎟⎟⎟⎠,

lo que nos dice que el grafo es conexo, pero ademas que todos sus vertices se pueden conectarcon paseos de longitud a lo sumo tres, en lugar del cuatro que darıa en este caso la cotageneral del lema 9.1.9. Compruebelo, lector, sobre el propio dibujo.

Si el grafo no es conexo, la matriz M del teorema 9.1.16 permite establecer las distin-tas componentes conexas. Para comprobarlo, viene al caso la siguiente caracterizacion (ennegativo) de conectividad en un grafo.

Proposicion 9.1.17 Un grafo G con matriz M no es conexo si y solo si existe una matrizde permutaciones P tal que

PMP ᵀ =

(M1 0

0 M2

),

donde M1 y M2 son matrices cuadradas no nulas.

Recuerde el lector, de la discusion del apartado 9.1.2, que una matriz de permutacionessolo tiene un 1 por fila y por columna, y que el resto de sus entradas son ceros. El productode arriba (por P por la izquierda y por P ᵀ por la derecha) significa una reordenacion comunde filas y columnas de la matriz M . De manera que la matriz de vecindades de un grafodisconexo tiene (tras quizas una oportuna reordenacion de los vertices) una estructura encajas, que se corresponden con los vertices de cada componente, y esa estructura se conservacon las sucesivas potencias que sugiere calcular el teorema 9.1.16. Y al reves, si el grafo esconexo, no hay tal estructura en cajas, y (la suma de) las sucesivas potencias de la matriztermina por hacer desaparecer los posibles ceros de la matriz de partida.

La proposicion 9.1.17 tiene un limitado interes practico para determinar la conectividadde un grafo, pues requiere encontrar una matriz de permutaciones para la que la matrizresultante tenga una estructura en cajas, o en sentido contrario, descartar su existencia. Elmetodo del teorema 9.1.16, que requiere calcular potencias, sumarlas, e inspeccionar los ele-mentos de la matriz resultante, es tambien un costoso desde el punto de vista computacional,sobre todo para matrices grandes (recuerde el lector los analisis del apartado 6.2.2). En laseccion 9.2.2 veremos metodos mas eficaces para decidir si un grafo es o no conexo.

Volviendo al caso de un grafo no conexo, veamos como la matriz M del teorema 9.1.16permite determinar componentes conexas. Tomemos, por ejemplo, la primera fila de la matriz,etiquetada con el vertice v1: las posiciones que no contengan ceros determinan los vertices

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 25: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 25

de la componente conexa a la que pertenece v1. El procedimiento se repetirıa para la filacorrespondiente al primer vertice no incluido en la componente anterior. Y ası sucesivamente,hasta determinar todas las componentes conexas del grafo.

Consideremos, por ejemplo, el grafo de cinco vertices dibujadoa la derecha,

1 2

3

45

que consta de dos componentes conexas, una formadapor los vertices 1 y 5, y la otra por los vertices 2, 3 y 4. Las matricescorrespondientes serıan

M =

⎛⎜⎜⎜⎜⎝

0 0 0 0 10 0 1 1 00 1 0 1 00 1 1 0 01 0 0 0 0

⎞⎟⎟⎟⎟⎠

y M = I5+M+M2+M3+M4 =

⎛⎜⎜⎜⎜⎝

3 0 0 0 20 11 10 10 00 10 11 10 00 10 10 11 02 0 0 0 3

⎞⎟⎟⎟⎟⎠,

y esta ultima matriz informa sobre la composicion de las dos componentes conexas del grafo:los vertices 1 y 5 por un lado, los restantes por otro. Por cierto, si hubieramos partido de lamatriz de vecindades con los vertices ordenados (1, 5, 2, 3, 4), entonces ocurrirıa que

M ′ =

⎛⎜⎜⎜⎜⎝

0 1 0 0 01 0 0 0 0

0 0 0 1 10 0 1 0 10 0 1 1 0

⎞⎟⎟⎟⎟⎠

y M ′ = I5+M ′+M ′2+M ′3+M ′4 =

⎛⎜⎜⎜⎜⎝

3 2 0 0 02 3 0 0 0

0 0 11 10 100 0 10 11 100 0 10 10 11

⎞⎟⎟⎟⎟⎠.

En este caso, la estructura en cajas es ya evidente desde la matriz M ′.

E. Distancias en un grafo

Consideremos el grafo que dibujamos a la izquierda,que representa las posibles rutas existentes entre las ciu-dades v1, . . . , v9.v1

v2

v3

v4

v5

v6

v7

v8

v9

Un conductor tiene que elegir una rutaque conecte las ciudades v1 y v9. Hay muchos paseos queconectan los dos vertices. Nuestro conductor, que no sienteespeciales inclinaciones peripateticas, desea hallar la ruta

mas corta, en terminos del numero de aristas recorridas.

Por simple inspeccion del grafo, concluimos que el paseo mas corto emplea exactamentetres aristas. No hay un unico “paseo mas corto”: por ejemplo, los paseos (v1, v3, v8, v9) y(v1, v5, v7, v9) recorren, ambos, tres aristas. Pero aunque disponga de varias posibilidades, ysea cual sea el paseo corto elegido, nuestro conductor concluira sin duda que la “distancia”entre los vertices v1 y v9 es 3. Formalizamos ahora esta nocion de distancia en un grafo.

Definicion 9.1.18 En un grafo G conexo30, la distancia entre dos vertices cualesquierau, v ∈ V (G) es

dG(u, v) = ınfγ{ longitud(γ)} ,

donde el ınfimo se calcula sobre todos los paseos γ que conectan los vertices u y v en G.

30Esta definicion se restringe a grafos conexos. Si no fuera conexo, podemos definir como +∞ la distanciaentre dos vertices no conectables en un grafo (es decir, que esten en distintas componentes conexas).

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 26: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

26 Capıtulo 9. El lenguaje de los grafos

Como ejemplos de aplicacion inmediata de esta definicion, dos vertices u y v de un grafo Gson vecinos si (y solo si) dG(u, v) = 1; y dG(v, v) = 0, para cada vertice v ∈ V (G).

Lector: la definicion anterior incluye un ınfimo. Es natural, pues el conjunto de paseos queunen dos vertices u y v es infinito, dado que estos paseos pueden tener una longitud arbitraria.Quizas usted prefiera, por comodidad de espıritu y a la vista del lema 9.1.9, pergenar unadefinicion alternativa, en la que solo se consideren paseos que no repitan vertices (que es unconjunto finito), para ası poder sustituir el ınfimo por un mas manejable mınimo.

Puede que tambien quiera aprovechar la ocasion para revisar la discusion de las inme-diaciones del teorema 9.1.16, y concluir que la distancia entre u y v se puede calcular comoel primer valor de j para el que la entrada de la fila correspondiente a u y la columnacorrespondiente a v en la matriz In +M + · · ·+M j se hace no nula.

Consideremos un grafo conexo G = (V,A) cualquiera. Tomemos cada par de vertices suyosy calculemos, con el procedimiento que el lector prefiera, la distancia entre ellos. Cuando lohayamos hecho para todos los pares de vertices, tendremos definida una funcion de V × V(los pares de vertices) en el conjunto de los enteros no negativos.

Esta funcion cumple unas determinadas propiedades (por ejemplo, la desigualdad trian-gular) que hacen que podamos referirnos a ella como una distancia, en el sentido matematicodel termino. Dejamos al lector que se ejercite con la comprobacion (vease el ejercicio 9.1.27).

Una vez que lo haya hecho, ¡vivan los conceptos matematicos abstractos!, estara auto-rizado a establecer analogıas mentales entre distancias en grafos y, por ejemplo, distanciaseuclıdeas en el plano, sobre las que tendra intuiciones mas arraigadas; a trasladar a estecontexto nociones como la de geodesicas entre u a v (paseos entre u y v de longitud31 exac-tamente dG(u, v)); o a construir la geometrıa de bolas32, por analogıa con las bolas euclıdeas.

La nocion de “paseo mas corto” que aquı hemos considerado se refiere a un grafo (conexo)sin pesos. En muchas ocasiones conviene asociar a cada arista un peso que refleje, por ejem-plo, la distancia en kilometros que separa sus dos extremos. El objetivo del conductor serıaestablecer una ruta cuya longitud total (en kilometros) fuera lo mas corta posible. Ahorapodrıa ocurrir que el paseo “mas corto”, en este nuevo sentido, no fuera necesariamente elque menos aristas empleara. Vease la seccion 11.2.2.

9.1.5. El algebra (lineal) de los grafos

Iniciamos ahora una breve excursion por la disciplina que se ocupa de establecer conexio-nes entre ciertas propiedades de un grafo G y algunas caracterısticas de las diversas matricesque asociamos con G, lo que en los mentideros se conoce como teorıa espectral de grafos.Es esta una teorıa extraordinariamente rica, que no desarrollaremos aquı en extenso: paraempezar, restringiremos nuestro analisis al caso de grafos simples y sin lazos, aunque se puedeextender a contextos mas generales, como grafos dirigidos y/o grafos con pesos; y para estecaso de los grafos habituales, mostraremos solo algunos de nuestros resultados favoritos, paraque el lector pueda hacerse una idea cabal de su elegancia y utilidad.

31En principio, puede haber varias geodesicas entre un par de vertices, y solo en ciertas circunstancias lageodesica sera unica (vease, por ejemplo, el ejercicio 9.1.29).

32Una bola de radio r contendrıa los vertices a distancia ≤ r.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 27: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 27

¿Que significa exactamente ligar propiedades del grafo G y de, por ejemplo, su matriz Mde vecindades? Si son (casi) lo mismo, dira el lector que haya revisado las paginas anteriores.Sı, casi: esta el detalle de la ordenacion de los vertices, del que depende la matriz en sı, perosalvo eso. . . Significa que intentaremos extraer informacion sobre el grafo, sobre alguna de suspropiedades intrınsecas, propiedades que de otro modo podrıa ser harto difıcil establecer, enterminos de caracterısticas de las matrices asociadas, por ejemplo sus autovalores, y utilizandola tecnologıa del algebra lineal.

En realidad ya hemos analizado en un par de ocasiones determinadas propiedades delgrafo G a traves de su matriz de vecindades M . Por ejemplo, en el teorema 9.1.15, cuandoobtenıamos el numero de paseos de cierta longitud entre dos vertices del grafo en terminos delas entradas de una potencia de M ; o en el subsiguiente teorema 9.1.16, en el que se establecıala conectividad del grafo mirando, tambien, potencias sucesivas de la matriz M .

La matriz de vecindades de un grafo (simple, sin lazos) G es una matriz simetrica cuyasentradas son ceros y unos (con ceros en la diagonal). En esta seccion nos concentraremos enanalizar propiedades ligadas a la simetrıa de la matriz. El lector interesado puede consultar,en la seccion 9.3, apartado C, como se puede extraer informacion de que las entradas de lamatriz son no negativas, aunque ya en un contexto mas general de grafos dirigidos.

Iniciamos, pues, la prometida excursion,no sin antes avisar de que supondremos al lec-tor comodo y familiarizado con ciertas nocio-nes de algebra lineal que usaremos sin remil-gos. Vease a la derecha la oportuna adapta-cion del lema del frontispicio de la Academiade Atenas. Prestaremos especial atencion a losautovalores de las matrices asociadas, descri-biendo, por un lado, como son esos autovalorespara algunas clases generales de grafos, perotambien, lo que resulta aun mas interesante,veremos algun ejemplo de como se pueden de-ducir propiedades del grafo a partir de informacion sobre esos autovalores.

A. Sobre la matriz de vecindades

Sea G un grafo con n vertices (simple y sin lazos), y sea M la matriz n×n de vecindadescorrespondiente a una cierta ordenacion de esos vertices. Como la matriz es real y simetrica,se puede diagonalizar, de manera que los autovectores forman una base ortonormal de Rn.Es decir, existe una matriz P ortogonal, cuyas columnas son los autovectores, tal que

M = PΛP ᵀ,

y donde Λ es una matriz diagonal cuyas entradas son los autovalores, que en este caso sontodos numeros reales. Nombremoslos como

λ1 ≥ λ2 ≥ · · · ≥ λn,

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 28: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

28 Capıtulo 9. El lenguaje de los grafos

ya ordenados de mayor a menor. Estos autovalores pueden repetirse, y en lo que sigue loscontaremos con sus respectivas multiplicidades.

Registramos, para futuras referencias, que si u es un autovector de M y λ es su autovalorasociado, entonces Mu = λu (aquı, u representa un vector columna de dimensiones n × 1).Y que los autovalores son las soluciones de la ecuacion de grado n en λ

pA(λ) = det(A− λIn) = 0 ,

donde In es la matriz identidad n× n.

Observe el lector que, como la matriz M tiene ceros en la diagonal, su traza es 0, y portanto la suma de autovalores es tambien 0. Ası que entre esos autovalores los hay positivosy negativos33, y de hecho λ1 > 0 y λn < 0. A este conjunto de autovalores nos referiremoscomo el espectro de la matriz de vecindades del grafo G, o simplemente el espectro de G.

La matriz M depende de la ordenacion de los vertices del grafo, pero el espectro delgrafo no. Esto es ası porque cualquier otra matriz de vecindades M ′ del grafo obtenida porreordenacion de los vertices se obtiene (definicion 9.1.6) de la M original como M ′ = QMQᵀ,donde Q es una matriz de permutaciones, y esta operacion preserva los autovalores, sin masque observar que si M = PΛP ᵀ, entonces

M ′ = QMQᵀ = QPΛP ᵀQᵀ = (QP ) Λ (QP )ᵀ.

En particular, esto nos dice que el espectro de un grafo es un invariante por isomorfıa. Demanera que si G1 y G2 son dos grafos isomorfos, sus espectros coincidiran. El recıproco, sinembargo, no es cierto. Si lo fuera, observe, lector, tendrıamos un discriminador de isomorfıa,cuya existencia descartamos en la discusion del apartado 9.1.2. Es decir, dos grafos no iso-morfos pueden tener el mismo espectro. Como ejemplo, consideremos el grafo G1 = K1,4 yel grafo G2 que esta formado por un vertice aislado y un C4. Claramente, G1 y G2 no sonisomorfos, pero resultan tener, ambos, autovalores (2, 0, 0, 0,−2), como podra comprobar ellector tras la lectura de los ejemplos que mostramos mas adelante.

Por otro lado, si el grafo G no fuera conexo, entonces el espectro de G serıa la union(con sus multiplicidades) de los espectros de cada componente. La razon es que, por laproposicion 9.1.17, un grafo G con matriz M no es conexo si y solo si existe una matriz depermutaciones Q tal que

QMQᵀ =

(M1 0

0 M2

),

donde M1 y M2 son matrices cuadradas no nulas. Digamos, por ejemplo, que M1 tienedimensiones m × m y que M1u = λu, donde u es un vector columna m × 1. Entonces secumplira que M u = λu, donde u es el vector columna de dimensiones 1 × n que se obtienede u anadiendole n −m ceros. Ası que cada autovalor de M1 es tambien autovalor de M , ylo mismo ocurre para los de M2 Esta observacion permite restringir la discusion al caso delos grafos conexos, como ası haremos en lo que sigue.

33El unico caso en el que todos los autovalores serıan nulos se corresponde con el grafo vacıo, de escasointeres. Esto no ocurre, sin embargo, para grafos dirigidos.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 29: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Versionpreliminar,

28deoctubrede2018

9.1. Grafos 29

Entramos ya en faena. Empecemos calculando el espectro correspondiente a un par defamilias de grafos: los completos.

Ejemplo 9.1.3 Los espectros de los grafos Kn y Kr,s.

En el caso del grafo completo con n vertices, la matriz de vecindades, sea cual sea laordenacion de los vertices, se puede escribir como M = 1n − In, donde 1n es la matriz n× nque consta unicamente de unos, e In es la matriz identidad n× n.

Por un lado, la matriz 1n tiene rango 1, de manera que λ = 0 es un autovalor conmultiplicidad n − 1. Ademas, como las filas de 1n contienen n unos, (1, 1, . . . , 1)ᵀ es unautovector, asociado al autovalor λ = n.

Observe el lector que si 1n · u = 0, entonces Mu = −u. Y que si 1n · u = nu, entoncesMu = (n− 1)u.

La conclusion es que M tiene, como autovalores, a λ = n − 1 con multiplicidad 1 (yautovector (1, 1, . . . , 1)ᵀ), y a λ = −1 con multiplicidad n− 1 (con autovectores asociados dela forma (u1, . . . , un)

ᵀ, con∑n

i=1 ui = 0).

En realidad, este espectro (n−1,−1, . . . ,−1), donde hay n−1 autovalores −1, solo puedeaparecer en el caso del grafo completo con n vertices, como podra comprobar el lector querevise el ejercicio 9.1.30.

Como alternativa al argumento anterior, puede el lectorcalcular directamente el determinante de la derecha,

∣∣∣∣∣∣∣∣∣∣∣∣∣

−λ 1 1 · · · 1 11 −λ 1 · · · 1 11 1 −λ · · · 1 1...

......

. . ....

...1 1 1 · · · −λ 11 1 1 · · · 1 −λ

∣∣∣∣∣∣∣∣∣∣∣∣∣

apli-cando por ejemplo las habituales reglas de eliminacion gaus-siana (busque inspiracion en el ejercicio 9.2.9), y concluirque det(M − λIn) = (−1)n(λ+ 1)n−1(λ− n+ 1), de dondese deduce de inmediato el espectro. Vea el lector tambien,si lo desea, el ejercicio 9.1.33.

Para el grafo bipartito completo Kr,s, podemos ordenar sus vertices (primero los r de untipo, luego los s de otro) de manera que M tenga la forma

M =

(0r×r 1r×s

1s×r 0s×s

),

donde 0 y 1 representan cajas con todo ceros y todos unos, respectivamente, y los subındicesindican sus dimensiones. Como la matriz tiene rango 2, el 0 es autovalor con multiplici-dad n− 2. Los dos autovalores no nulos deben ser uno el opuesto del otro (por la condicionde suma 0 de los autovalores), es decir, ±λ. Por la simetrıa de la matriz, los autovectoresdeben ser de la forma uᵀ = (xᵀ

1,xᵀ2), donde xᵀ

1 es un vector fila de longitud r con un valorfijo, digamos α, en todas sus posiciones, y xᵀ

2 es un vector fila de longitud s con valor fijo β.Pero entonces

M ·(

x1

x2

)=

(sx2

r x1

)=

(λx1

λx2

),

lo que nos da que λα = sβ y que λβ = rα, sistema de ecuaciones cuya solucion es λ = ±√rs.

Como ejemplo particular, K1,4 tiene autovalores 0, 0, 0,±2, como se afirmaba mas arriba. ♣Un analisis similar al del ejemplo anterior nos da la siguiente caracterizacion de los grafos

bipartitos, que se suma a la del lema 9.1.12.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 30: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

30 Capıtulo 9. El lenguaje de los grafos

Lema 9.1.19 Un grafo G es bipartito si y solo si los autovalores son simetricos respecto alcero (esto es, si λ es autovalor, entonces −λ tambien lo es).

Demostracion. Supongamos que G es bipartito, con r vertices de un tipo y s del otro.Entonces, con la adecuada reordenacion de los vertices, la matriz M se puede escribir como

M =

(0r×r A

Aᵀ 0s×s

),

donde A es una matriz de dimensiones r×s. Si λ es un autovalor de M , entonces, escribiendoun autovector asociado como en el ejemplo 9.1.3, uᵀ = (xᵀ

1,xᵀ2), tendremos que

M ·(

x1

x2

)=

(Ax2

Aᵀ x1

)=

(λx1

λx2

).

Pero entonces

M ·( −x1

x2

)=

(Ax2

−Aᵀ x1

)=

(λx1

−λx2

)= −λ ·

( −x1

x2

),

lo que nos dice que −λ es tambien autovalor.

En el otro sentido, si los autovalores son simetricos respecto del 0, entonces

traza(M2k+1) =

n∑i=1

λ2k+1i = 0 para todo k ≥ 0

(recuerdese que la traza de una matriz es tambien invariante por reordenacion simultanea defilas y columnas). Ası que las entradas de la diagonal de la matriz M2k+1 suman 0, y comoson todas no negativas, cada una de ellas ha de ser 0. El teorema 9.1.15 descarta entoncesque G pueda contener paseos cerrados de longitud impar, y en particular ciclos de longitudimpar, lo que, en combinacion con el lema 9.1.12, demuestra que G ha de ser bipartito. �

Observe el lector que una de sus implicaciones del lema 9.1.19 es un ejemplo de como de-ducir propiedades del grafo (en este caso, ser bipartito) a partir del analisis de los autovaloresde la matriz de vecindades. El siguiente resultado relaciona el tamano de los autovalores conlos grados maximo y mınimo del grafo.

Proposicion 9.1.20 Sea G un grafo conexo. Sea λ1 su mayor autovalor.

a) Los autovalores λ cumplen que |λ| ≤ Δ(G), donde Δ(G) es el maximo grado del grafo.

b) Se cumple que δ(G) ≤ λ1 ≤ Δ(G), donde δ(G) es el mınimo grado del grafo. De hecho,se tiene que λ1 ≥ 1

n

∑ni=1 grado(vi), el “grado medio” del grafo

Demostracion. a) Supongamos que λ es un autovalor de M = (mij), y llamemos u =(u1, . . . , un)

ᵀ a un autovector asociado. Supongamos que el maximo de los valores absolutos delos ui se alcanza para us. Reescalando y cambiando de signo al autovector, si fuera necesario,podemos suponer que us = 1, y que |ui| ≤ 1 para todo i = 1, . . . , n. Ahora, como

Mu = λu,

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 31: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 31

y mirando a la fila s de la matriz, tenemos que

|λ| = |λus| =∣∣∣ n∑j=1

msj uj

∣∣∣ ≤ n∑j=1

msj |uj| ≤n∑

j=1

msj ≤ Δ(G),

pues en la fila s de M hay, a lo sumo, Δ(G) unos.

b) El que λ1 ≤ Δ(G) sale del apartado a). Por otro lado, se tiene que

λ1 = sup‖u‖=1

uᵀMu.

Tomando u = 1√n(1, . . . , 1)ᵀ, se obtiene que

λ1 ≥ 1

n

∑v∈V

grado(v) ≥ δ(G).

El siguiente resultado, el ultimo de este apartado, analiza el caso de la igualdad en elteorema 9.1.20: es decir, en que condiciones λ1 coincide con Δ(G).

Proposicion 9.1.21 Sea G un grafo conexo.

a) G es regular si y solo si Δ(G) es autovalor.

b) Si G es regular y bipartito, entonces −Δ(G) es un autovalor.

Los grafos Kn, Kr,r, Cn y Qn son regulares. Compruebe, querido lector, en el ya vistoejemplo 9.1.3, y en los venideros ejemplos 9.1.4 y 9.1.5, que en todos los casos el grado comun(y por tanto maximo) es el mayor autovalor. Compruebe tambien que los grafos Qn, Cn para npar y Kr,r, que ademas de regulares son bipartitos, verifican la propiedad b).

Demostracion. a) Si el grafo es k-regular, es decir, si δ(G) = k = Δ(G), entonces cada filade M contiene exactamente k unos, y por tanto u = (1, 1, . . . , 1)ᵀ es un autovector, asociadoal autovalor k = Δ(G).

Supongamos ahora que Δ(G) es un autovalor de la matriz M de un grafo conexo (cuyasfilas y columnas suponemos etiquetadas con los vertices (v1, . . . , vn), en ese orden). Llame-mos u = (u1, . . . , un)

ᵀ a un autovector asociado a ese autovalor. Como en la demostracion delteorema 9.1.20, podemos suponer que, para cierto s, us = 1, y que |ui| ≤ 1 para i = 1, . . . , n.De manera que, mirando a la fila s obtenemos

Δ(G) = |Δ(G)us| =∣∣∣ n∑j=1

msj uj

∣∣∣ ≤ n∑j=1

msj |uj| ≤n∑

j=1

msj = grado(vs) ≤ Δ(G),

lo que nos da que grado(vs) = Δ(G). Pero hay mas. Como

Δ(G) = Δ(G)us =n∑

j=1

msj uj

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 32: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

32 Capıtulo 9. El lenguaje de los grafos

y los msj valen 1 para los vertices vj vecinos de vs, de los que hay Δ(G), concluimos queuj = 1 para todos los ındices j que se correspondan con vertices vj vecinos de vs. Con elmismo argumento usado antes para vs, concluirıamos que todos los vertices vecinos de vshan de tener grado Δ(G). Aprovechando que el grafo es conexo, podemos ir extendiendo esaconclusion para los restantes vertices, para deducir finalmente que el grafo es Δ(G)-regular.

El apartado b) sale de combinar el apartado b) con el lema 9.1.19. �Terminamos este apartado calculando los espectros de los grafos lineales, los circulares y

el grafo del cubo. Como vera el lector, en estos calculos de autovalores suele ser mas eficazanalizar primero los autovectores (un analisis, por cierto, habitualmente ingenioso), paraluego deducir los autovalores, como en realidad ya hicimos en ejemplo 9.1.3 y en algunos delos resultados anteriores.

Ejemplo 9.1.4 Los espectros de los grafos Cn y Ln y Qn.

Antes de comenzar el analisis, y para ilustrar la estructura general que obtendremos luego,exhibimos los espectros para valores pequenos de n:

C3 → (2,−1,−1), C4 → (2, 0, 0,−2), C5 → (2, 2 cos(π5 ), 2 cos(π5 ), 2 cos(

3π5 ), 2 cos(3π5 )),

L2 → (−1,−1), L3 → (√2, 0,−

√2), L4 → (2 cos(π5 ), 2 cos(

π5 ),−2 cos(π5 ),−2 cos(π5 ))

(los casos del C3 = K3 y del L2 = K2 salen del analisis de los grafos completos del ejem-plo 9.1.3). Los espectros tienen un aire parecido34. . . pero no del todo.

Analicemos ya el caso general, considerando las matrices de vecindades de un Cn y deun Ln, que tienen un aspecto como el que se muestra (para el caso n = 7) a continuacion:

ML7 =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎝

0 1 0 0 0 0 01 0 1 0 0 0 00 1 0 1 0 0 00 0 1 0 1 0 00 0 0 1 0 1 00 0 0 0 1 0 10 0 0 0 0 1 0

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎠

, MC7 =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎝

0 1 0 0 0 0 11 0 1 0 0 0 00 1 0 1 0 0 00 0 1 0 1 0 00 0 0 1 0 1 00 0 0 0 1 0 11 0 0 0 0 1 0

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎠.

Pues eso: parecidas, pero no exactamente iguales, con ese par de unos que aparecen en lasesquinas en el caso del Cn, y no en el del Ln. Diferencia a primera vista baladı, pero que nosexigira un analisis distinto para cada caso.

La estructura de las matrices, con tantos ceros, parece prestarse a un analisis como losque hicimos en la seccion 8.1, desarrollando determinantes por filas (vease en particular elejercicio 8.1.11 y comparese con el caso de la matriz del Ln) para establecer una regla derecurrencia y luego. . . Intentelo el lector, aunque ya le advertimos que es camino espinoso.

Entonces, ¿como podemos calcular los autovalores? Observe el lector que, a la vista de lasproposiciones 9.1.20 y 9.1.21, los autovalores han de ser (en los dos casos) menores o igualesen valor absoluto que 2. De hecho, |λ| < 2 para el Ln, mientras que λ = 2 es autovalor del Cn

(pues el segundo es grafo regular y el primero no).

34Por cierto, como el lector recordara de la seccion 8.3.10, 2 cos(π/5) = τ . El espectro de C5 resulta serentonces (2, τ, τ, 1− τ, 1− τ ), mientras que el de L4 es (τ, τ − 1, 1− τ,−τ ). ¡Vaya!, la razon aurea por aquı denuevo. La esperarıamos (y la saludarıamos efusivamente) en el C5, el pentagono. . . ¿pero en el L4?

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 33: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 33

La matriz del Cn tiene una estructura peculiar, con esa pareja de unos que van “circu-lando” cıclicamente por las filas de la matriz, y que sugieren que los autovectores puedentener (y de hecho tienen) que ver con raıces n-esimas de la unidad. Consulte el lector elejercicio 9.1.33 y deduzca de el que los autovalores del Cn son

λk = 2 cos(2π k/n) para k = 0, . . . , n− 1.

En esta enumeracion de los autovalores hay repeticiones. El autovalor λ0 = 2 tiene multipli-cidad 1, y tambien tendra multiplicidad 1 el −2, cuando efectivamente sea autovalor35. Losrestantes autovalores tienen multiplicidad 2.

Para el caso del Ln procedemos de manera distinta. Supongamos que u = (u1, . . . , un)ᵀ es

un autovector asociado al autovalor λ. Esto nos dice que se cumplen las siguientes ecuaciones:

u2 = λu1, u1 + u3 = λu2, u2 + u4 = λu3, . . . , un−2 + un = λun−1, un−1 = λun.

Si ahora “anadimos” unos valores u0 = un+1 = 0 como condiciones de borde, resulta que lascoordenadas del autovector cumplen la regla de recurrencia

ui+1 + ui−1 = λui para 1 ≤ i ≤ n.

Una recurrencia lineal de segundo grado cuya ecuacion caracterıstica es r2 − λr + 1 = 0.Digamos que las dos raıces son α y β, que son numeros complejos, uno el conjugado del otro,como podra comprobar el lector usando que |λ| < 2. Ademas, α ·β = 1 y α+β = λ (formulasde Vieta, seccion 7.2.4).

De manera que la solucion general de la recurrencia es ui = Aαi + B βi, y al imponerlas condiciones u0 = 0 = un+1 obtenemos que αn+1 = βn+1, lo que unido a que αβ = 1 nosdice que α2n+2 = 1, es decir, que α es una raız (2n + 2)-esima de la unidad. Digamos queα = e2πik/(2n+2) = eπik/(n+1). Pero entonces

λ = α+ β = α+ α = eπik/(n+1) + e−πik/(n+1) = 2cos( πk

n+ 1

).

El parametro k podrıa tomar, en principio, valores entre 0 y 2n + 1. Pero por periodicidaddescubrimos que basta considerar k entre 0 y n + 1. El caso k = 0 se corresponderıa conλ = 2, que ya hemos descartado como autovalor; y el caso k = n + 1 se corresponderıa conλ = −2, que tampoco es posible. Concluimos ası que los autovalores de Ln son

λk = 2cos( πk

n+ 1

)para k = 1, . . . , n,

todos con multiplicidad 1. ♣Ejemplo 9.1.5 El espectro del grafo Qn.

Recuerdese que el grafo del cuboQn es bipartito, por lo que su espectro ha de ser simetricocon respecto al 0 (lema 9.1.19). Los dos primeros casos ya han sido calculados: como Q1 = K2,sus autovalores son (1,−1); y como Q2 = C4, el espectro es (2, 0, 0,−2). Es instructivo resenar,

35El −2 es autovalor para n par por el lema 9.1.19, pues en ese caso Cn es bipartito (no tiene ciclos impares).

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 34: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

34 Capıtulo 9. El lenguaje de los grafos

para el analisis general que haremos a continuacion, que en el caso del Q2 los autovalorestienen los siguientes autovectores asociados:

2 → (1, 1, 1, 1) , 0 → (1, 1,−1,−1) y (1,−1, 1,−1) , −2 → (1,−1,−1, 1).

Notese que todos los autovectores estan formados, salvo cambios de escala, por +1 y −1.

El grafo Qn tiene 2n vertices, que van etiquetados con listas de ceros y unos, o alter-nativamente, con subconjuntos de {1, . . . , n}; utilizaremos en la descripcion que sigue losdos lenguajes, el de listas y el de subconjuntos. Digamos que ordenamos los vertices de lasiguiente manera: J1, J2, . . . , J2n , donde cada Ji representa un subconjunto de {1, . . . , n}, yconsideremos la matriz de vecindades M asociada, de dimensiones 2n × 2n.

Fijamos ahora un subconjunto I ⊆ {1, . . . , n} y construimos el vector uI = (u1, . . . , u2n)ᵀ

cuyas coordenadas son

() ui = (−1)|I∩Ji|, para cada i = 1, . . . , 2n.

Afirmamos que este vector es un autovector de M , asociado al autovalor n− 2|I|.Veamos. Multipliquemos MuI y fijemonos, por ejemplo, en la primera entrada del vector

resultante (el argumento para las otras entradas es analogo). Esa entrada viene dada por∑Jj vecinos de J1

(−1)|I∩Jj |,

una suma con n terminos. Digamos, a modo de ejemplo, que I y J1 se representan con laslistas

I → 1 0 0 0 1 1 1 0 1 0 1 0J1 → 1 1 1 0 0 0 1 1 1 1 1 0

Hemos marcado en negrita las posiciones con unos simultaneos, tres en este caso, lo que nosdice que (−1)|I∩J1| = (−1)3 = −1.

Consideremos ahora los vertices Jj , los n vecinos de J1 que aparecen en la suma de antes,en la que los sumandos son (−1)|I∩Jj |. La lista de un Jj determinado difiere de la de J1 enuna unica posicion; digamos que esa posicion es k. Caben dos posibilidades:

si k ∈ I, es decir, si la lista de I tiene un 1 en la posicion k, entonces |I∩Jj | = |I∩J1|+1si la lista de J1 tiene un 0 en la posicion k, mientras que |I ∩ Jj | = |I ∩ J1| − 1 si en laposicion k de J1 habıa un 1. En cualquier caso, (−1)|I∩Jj | = −(−1)|I∩J1|.

si k �∈ I, es decir, si la lista de I tiene un 0 en la posicion k, entonces |I ∩ Jj| = |I ∩ J1|,y por tanto (−1)|I∩Jj | = (−1)|I∩J1|. En esta segunda situacion, observese, hay n − |I|listas.

Por lo tanto, la suma de arriba resulta ser∑Jj vecinos de J1

(−1)|I∩Jj | = (n− |I|) (−1)|I∩J1| − |I| (−1)|I∩J1| = (n− 2|I|) (−1)|I∩J1|.

Repitiendo el argumento para el resto de las entradas del vector uI , concluimos que uI es unautovector de M asociado al autovalor n− 2|I|.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 35: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 35

De manera que cada I ⊆ {1, . . . , n} genera un autovector distinto, asociado al autova-lor n− 2|I| (que solo depende del tamano de I), y tras la contabilidad pertinente, agrupandopor tamanos, concluimos que los autovalores de Qn son, para cada k = 0, . . . , n, de la forman− 2k con multiplicidades respectivas

(nk

). Es decir,

autovalor n n− 2 n− 4 · · · 4− n 2− n −n

multiplicidad 1 n(n2

) · · · (n2

)n 1

Compruebe el lector, usando la definicion () para el caso n = 2, como I = ∅ (o bien lalista (0, 0)) da lugar al autovector (1, 1, 1, 1), asociado a λ = 2, los subconjuntos I = {1} eI = {2} (esto es, las listas (0, 1) y (1, 0)) generan los autovectores (1, 1,−1,−1) y (1,−1, 1,−1)(para el autovalor 0) y, finalmente, I = {1, 2}, esto es, la lista (1, 1), da lugar al autovector(1,−1,−1, 1), correspondiente a autovalor −2. ♣

B. Sobre la matriz laplaciana

Para diversos analisis, en lugar de utilizar la matriz M de vecindades del grafo, resultamas conveniente considerar la matriz

L = D −M,

donde D es la matriz diagonal cuyos registros son los grados de los vertices. La matriz L esconocida como la matriz laplaciana de G. Por ejemplo, para G = C4,

M =

⎛⎜⎜⎝

0 1 0 11 0 1 00 1 0 11 0 1 0

⎞⎟⎟⎠, mientras que L =

⎛⎜⎜⎝

2 −1 0 −1−1 2 −1 00 −1 2 −1−1 0 −1 2

⎞⎟⎟⎠ .

La matriz L tiene entradas positivas y negativas, pero a cambio tiene ciertas propiedadesbien interesantes. Para empezar, sus filas suman siempre 0, por lo que λ = 0 es siempre unautovalor de L (con autovector asociado uᵀ = (1, . . . , 1)).

La matriz L sigue siendo simetrica y teniendo entradas reales (aunque ahora hay numerosnegativos), se diagonaliza de manera que sus autovalores son reales. Ya hemos visto que el 0es uno de ellos. Pero ademas, es semidefinida positiva. Esto supone que sus autovalores sonno negativos. Llamemoslos, para diferenciarlos de los de M ,

0 = μ1 ≤ μ2 ≤ · · · ≤ μn,

que aquı ordenamos, por conveniencia, de menor a mayor.

Para comprobar que L es semidefinida positiva, consideremos la matriz B, que es unaversion ligeramente retocada que la matriz de incidencias que aparecio fugazmente en lademostracion de la proposicion 9.1.3. Digamos que el grafo tiene n vertices y m aristas.Como allı, la matriz B tiene n columnas, etiquetadas con los vertices (v1, . . . , vn), y m filas,que van etiquetadas con las aristas (a1, . . . , am). En la fila correspondiente a la arista ai solohay dos entradas no nulas, que estan en las posiciones marcadas por los vertices que son

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 36: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

36 Capıtulo 9. El lenguaje de los grafos

extremo de esa arista. Digamos que estos son vj y vk, con j < k. Entonces ponemos un +1en la posicion (ai, vj) y un −1 en la posicion (ai, vk). Recuerdese que la citada demostracionde la proposicion 9.1.3 situabamos un +1 en ambas posiciones36.

Dejamos que el lector compruebe, multiplicando matrices, que entonces

() L = BᵀB.

Observese que B no es en general una matriz cuadrada, sino de dimensiones m × n. Laidentidad () nos dice que, para cualquier vector fila uᵀ de dimensiones 1× n,

() uᵀLu = uᵀBᵀBu = ‖Bu‖2 ≥ 0,

lo que certifica que, efectivamente, L es semidefinida positiva.

Como ilustracion numerica de la identidad (), consideremos el grafo C4, para el que1 2

34

a1

a2

a3

a4 L =

⎛⎜⎜⎝

2 −1 0 −1−1 2 −1 00 −1 2 −1−1 0 −1 2

⎞⎟⎟⎠ y B =

⎛⎜⎜⎝

+1 −1 0 00 +1 −1 00 0 +1 −1+1 0 0 −1

⎞⎟⎟⎠,

de manera que

BᵀB =

⎛⎜⎜⎝

+1 0 0 +1−1 +1 0 00 −1 +1 00 0 −1 −1

⎞⎟⎟⎠

⎛⎜⎜⎝

+1 −1 0 00 +1 −1 00 0 +1 −1+1 0 0 −1

⎞⎟⎟⎠ =

⎛⎜⎜⎝

2 −1 0 −1−1 2 −1 00 −1 2 −1−1 0 −1 2

⎞⎟⎟⎠ = L.

El analisis de la matriz laplaciana del grafo permite tambien obtener informacion valiosasobre el grafo. Por ejemplo, se tiene el siguiente criterio sobre la conectividad de un grafo.

Proposicion 9.1.22 a) El numero de componentes conexas de un grafo G coincide con lamultiplicidad del autovalor μ1 = 0 de su matriz laplaciana.

b) En particular, si G es un grafo conexo, la multiplicidad del autovalor μ1 = 0 de lamatriz laplaciana de G es 1.

Demostracion. En realidad, los dos apartados son equivalentes: el apartado b) es un casoparticular del a), pero vamos a probar b) para de ahı deducir el apartado a).

b) Sea G un grafo conexo con n vertices y m aristas, y sea L su matriz laplaciana. Comohemos visto antes, podemos escribir L = BᵀB, donde B es una matriz m× n.

Sabemos que el 0 es un autovalor de L. Sea u = (u : 1, . . . , un)ᵀ un autovector asociado.

Observese que, como Lu = 0, la relacion () nos dice que ‖Bu‖ = 0, lo que a su vez suponeque Bu = 0.

Recuerde ahora el lector la definicion de B. Si hay una arista que conecta los vertices viy vj , entonces la condicion Bu = 0 nos dice que ui = uj. Si otra arista conectara, porejemplo, vj con vk, concluirıamos que ui = uj = uk. Como el grafo G es conexo, podemos

36En realidad da igual como situemos los ±1 en cada fila. Si el grafo fuera dirigido, entonces el +1 corres-ponderıa al vertice de salida de la arista, y el −1 al de entrada. Vease la seccion 9.3.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 37: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.1. Grafos 37

extender este argumento hasta concluir que u ha de tener todas sus coordenadas iguales, delo que se deduce que la multiplicidad de μ1 = 0 es 1.

a) Se sigue de b) usando la observacion, analoga a la que vimos para la matriz de ve-cindades, de que si G tiene l componentes conexas, el espectro de su matriz laplaciana esla union (contando multiplicidades) de los espectros de las l matrices laplacianas de cadacomponente. �

En realidad, el analisis de la matriz laplaciana es muy anterior al desarrollo de la teorıaespectral que aquı hemos esbozado. Kirchhoff, alla por mediados del siglo XIX, utilizo estamatriz para contar el numero de arboles abarcadores distintos de un grafo G en terminos delos cofactores de L, o alternativamente, en terminos del producto de los autovalores no nulosde L. Consulte el lector la nocion de arbol abarcador de un grafo en la seccion 9.2.2, y luegovisite el teorema 9.2.10 de Kirchhoff, que es una autentica perla.

Cerramos esta discusion recopilando los espectros de la matriz laplaciana para unos cuan-tos tipos especiales de grafos:

Kn −→ (0, n, . . . , n) (n tiene multiplicidad n− 1);Kr,s −→ (0, r, . . . , r, s, . . . , s, r + s) (r aparece s− 1 veces, y s aparece r − 1 veces);Ln −→ 2− 2 cos(πj/n) para j = 0, 1, . . . , n− 1;Cn −→ 2− 2 cos(2πj/n) para j = 0, 1, . . . , n − 1;Qn −→ 2j, con multiplicidad

(nj

), para j = 0, . . . , n,

En general no esta claro como relacionar los espectros de la matriz de vecindades M yde la matriz laplaciana L, ası que animamos al lector a que intente obtener por su cuentaestos espectros, inspirandose quizas en los calculos y argumentos que hemos desarrollado ensus analogos para la matriz de vecindades en los ejemplos 9.1.3, 9.1.4 y 9.1.5.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 38: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Versionpreliminar,

28deoctubrede2018

38 Capıtulo 9. El lenguaje de los grafos

EJERCICIOS DE LA SECCION 9.1

Grafos

9.1.1 Una tarde de verano, alguien nos propone completar la siguiente (sı, apasionante) tarea: dibujartodos los grafos (simples) con ocho vertices que hay. Para ello nos proporciona “innumerables hojas”,en cada una de las cuales estan ya pintados los vertices de un octogono regular.

a) Digamos, por ejemplo, que tardamos un segundo en dibujar cada grafo. ¿cuanto tardarıamosen dibujarlos todos?

b) Digamos, en una version mas realista, que tardamos un segundo en trazar una arista. ¿Cuantose tardarıa ahora?

9.1.2 Compruebese que se pueden formar hasta 2n(n+1)/2 grafos distintos, simples y con lazos, conlos vertices {v1, . . . , vn}9.1.3 Consideremos un conjunto de vertices {v1, v2, . . . , vn}.

a) ¿Cuantos grafos simples distintos con m aristas se pueden formar? ¿Y si permitimos lazos?

b) ¿Cuantos grafos dirigidos distintos con m aristas se pueden formar? ¿Y si permitimos lazos?

c) Para todas las cuestiones de los dos apartados anteriores, ¿cual es la respuesta si la condiciones que los grafos contengan no mas de m aristas?

9.1.4 a) ¿Cuantos multigrafos distintos con exactamente m aristas se pueden formar con n vertices?b) ¿Y si permitimos (multi )lazos?

9.1.5 Sea G un grafo con V (G) ⊆ {1, . . . , n} con |V (G)| = v y |A(G)| = a. ¿Cuantos grafos distintoscon vertices en {1, . . . , n} contienen a G como subgrafo?

9.1.6 Sea G = (V,A) un grafo. El grafo complementario Gc de G es el grafo cuyos vertices sonlos de V y cuyas aristas unen pares de vertices que no estan unidas en G. Si G tiene n vertices, degrados g1, g2, . . . , gn, ¿que grados tienen los vertices de Gc? ¿Cuanto vale la suma de los grados delos vertices de Gc?

9.1.7 Compruebese si en un multigrafo con lazos G se cumple que la suma de los grados coincidecon el doble del numero de aristas.

9.1.8 Sea G un grafo con al menos dos vertices. a) Compruebese que hay un numero par (o cero) devertices con grado impar. b) Verifıquese que en G hay, al menos, dos vertices con el mismo grado.

9.1.9 En una reunion de 20 personas hay en total 48 pares de personas que se conocen.

a) Justifıquese por que hay al menos una persona que a lo sumo conoce a cuatro personas.

b) Supongamos que hay exactamente una persona X que conoce a lo sumo a cuatro; y supongamosque esta X conoce al menos a una. Verifıquese que las otras 19 conocen exactamente a cinco cadauna. ¿A cuantos conoce X?

9.1.10 Cuatro parejas celebran una fiesta. Al terminar, uno de los ocho pregunto a los demas acuantas habıan saludado al llegar, recibiendo una respuesta diferente de cada uno. ¿A cuantos habıasaludado la persona que hizo la pregunta? ¿Y su pareja?

9.1.11 En este ejercicio analizamos cuando una sucesion de numeros no negativos se correspondecon la sucesion de grados de un cierto grafo. Se trata de un teorema de Erdos y Gallai, que diceası: una sucesion de enteros no negativos (d1, . . . , dn), que aquı supondremos ordenados de mayor a

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 39: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Versionpreliminar,

28deoctubrede2018

9.1. Grafos 39

menor, es decir, d1 ≥ d2 ≥ · · · dn ≥ 0, es la sucesion de grados de un grafo con n vertices si y solo sila suma d1 + · · ·+ dn es un numero par y, ademas, se verifica el siguiente conjunto de condiciones:

()

k∑i=1

di ≤ k(k − 1) +

n∑i=k+1

mın(di, k)

para cada 1 ≤ k ≤ n.

a) Compruebese, por ejemplo, que la lista (3, 3, 1, 1) no puede ser la sucesion de grados de un grafocon 4 vertices.

b) Pedimos ahora probar la necesidad de estas condiciones (la prueba de la suficiencia es otrocantar). Tomemos una sucesion d1 ≥ d2 ≥ · · · dn ≥ 0 y supongamos que un grafo simple G = (V,A)con n vertices tiene a esa lista como sucesion de grados, es decir, grado(vi) = di para cada i = 1, . . . , n.El que los di deben sumar una cantidad par es el contenido de la Proposicion 9.1.3.

Fijemos un k entre 1 y n y llamemos U al conjunto de vertices de G cuyos grados son los numerosd1, . . . , dk (los k de mayor grado). Observese que la suma S =

∑ki=1 di se puede escribir como S1+S2,

donde S1 es la contribucion a S de las aristas que unen vertices de U (donde cada arista contribuyecon un 2 a la suma), y S2 es la contribucion proveniente de las aristas que unen vertices de U convertices de V \ U (que contribuyen con un 1 a la suma). Deduzcase ().

9.1.12 En este ejercicio analizamos grafos G cuyos grado mınimo δ = δ(G) y cuello c = cuello(G) <+∞ son, simultaneamente, grandes. Si todos los vertices tienen muchos vecinos y si los ciclos sonmuy largos, entonces el grafo G deberıa tener muchos vertices.

(La exigencia simultanea es crucial: un grafo como el K11 tiene δ = 10, y solo tiene 11 vertices,mientras que un C10 tiene c = 10 y solo 10 vertices.)

Cuantifiquemos esta impresion.

a) Pruebese que si c es un numero impar, digamos c = 2m+ 1, entonces

|V (G)| ≥ 1 + δ + δ(δ − 1) + δ(δ − 1)2 + · · ·+ δ(δ − 1)m−1.

b) Pruebese que si c es un numero par, digamos c = 2m, entonces

|V (G)| ≥ 2 + 2(δ − 1) + 2(δ − 1)2 + · · ·+ 2(δ − 1)m−1.

c) Compruebese que se tiene siempre que |V (G)| ≥ (δ−1)(c−1)/2. OJO Por ejemplo, si δ = c = 10,entonces el grafo tiene al menos 19 683 vertices.

d) De un cierto grafo sabemos que no tiene triangulos C3 ni cuadrados C4, y que tiene menos de100 vertices. ¿Podemos deducir la existencia de al menos un vertice con grado “pequeno”?

9.1.13 Demuestrese que si G es un grafo con n vertices y al menos (k− 1)n− (k2

)+1 aristas, donde

0 < k < n, entonces hay un subgrafo H de G con mınimo grado δ(H) ≥ k.

Grafos e isomorfıa

9.1.14 Construyanse cinco grafos con 8 vertices, todos de grado 3, de forma que cada dos de esosgrafos no sean isomorfos.

9.1.15 a) ¿Cuantos grafos de tres vertices pueden construirse de manera que cada dos no sean iso-morfos? b) ¿Y cuantos con cuatro? c) ¿Y con cinco?

9.1.16 Demuestra que los dos siguientes grafos son isomorfos. ¿Cuantos isomorfismos distintos hayentre ellos?

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 40: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Versionpreliminar,

28deoctubrede2018

40 Capıtulo 9. El lenguaje de los grafos

1 2 3

4 5 6

a

b

c

d

e

f

g7

9.1.17 Estudia si son isomorfos los siguientes grafos:

G1 G2

a)

G3 G4

b)

9.1.18 Fijemos los vertices {1, . . . , n} y sea G el grafo completo con esos vertices.

a) ¿Cuantos grafos isomorfos a un C3 distintos se pueden formar que sean subgrafos de G?

b) ¿Cuantos grafos isomorfos a un Ck distintos se pueden formar que sean subgrafos de G?

c) ¿Cuantos grafos isomorfos a un Kr se pueden formar con los vertices {1, . . . , n}? Observeseque el apartado a) es un caso particular de b) y c).

d) La misma pregunta, pero para un Kr,s.

9.1.19 Sea G = (V,A) un grafo con n vertices. Sea Gc su grafo complementario, definido en elejercicio 9.1.6.

a) Pruebese que G = (V,A) y G′ = (V ′, A′) son isomorfos si y solo si sus complementarios sonisomorfos.

b) Encuentrese un grafo con cinco vertices que sea isomorfo a su complementario.

c) ¿Existe un grafo con tres vertices que sea isomorfo a su complementario? ¿Y con seis vertices?

Grafos y conexion

9.1.20 Describe (es decir, nombra, dibuja. . . ) o explica por que no puede existir:

a) un grafo con 7 vertices, todos de grado 3;

b) un grafo con 15 vertices y 105 aristas;

c) dos grafos no isomorfos, cada uno con 6 vertices, todos de grado 2;

d) un grafo conexo con 8 vertices y cuya sucesion de grados sea (1, 1, 1, 2, 3, 4, 5, 7).

e) un grafo con 20 vertices y sucesion de grados

(1, 1, 1︸ ︷︷ ︸3

, 2, 2, 2, 2, 2, 2, 2, 2, 2︸ ︷︷ ︸9

, 3, 3, 3, 3, 3︸ ︷︷ ︸5

, 4, 4︸︷︷︸2

, 5︸︷︷︸1

);

e) un grafo conexo con 25 vertices y sucesion de grados

(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1︸ ︷︷ ︸12

, 2, 2, 2, 2, 2, 2, 2, 2, 2︸ ︷︷ ︸9

, 3, 3︸︷︷︸2

, 4, 4︸︷︷︸2

).

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 41: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Versionpreliminar,

28deoctubrede2018

9.1. Grafos 41

9.1.21 Compruebese que Cn es el unico grafo conexo (salvo isomorfismos) con n vertices de formaque el grado de todos sus vertices es 2.

9.1.22 Sea G = (V,A) un grafo con p componentes conexas. Compruebese que

|V | − p ≤ |A| ≤(|V | − p+ 1

2

).

9.1.23 Compruebese que si G es un grafo conexo y a es una arista puente de G, entonces G \ {a}tiene exactamente dos componentes conexas.

9.1.24 Sea G un grafo con n vertices y dos componentes conexas. a) ¿Cual es el numero mınimo dearistas que G puede tener en esas condiciones? b) Supongamos ademas que cada componente de G esun grafo completo. ¿Cual es el numero mınimo de aristas que G puede tener?

9.1.25 Sea G = (V,A) un grafo con n vertices. Demuestrese que si grado(v) ≥ (n − 1)/2 para todovertice v ∈ V , entonces la distancia entre cualesquiera dos vertices es ≤ 2. En particular, G es conexo.

9.1.26 Sea G un grafo con matriz de vecindades M . Demuestrese que G contiene un K3 si y solo sipara algun par (i, j), las entradas (i, j) de las matrices M y M2 son no nulas.

9.1.27 Sea G = (V,A) un grafo conexo. Pruebese que la funcion distancia en G, dG : V × V → R,descrita en la definicion 9.1.18 es una distancia, en el sentido matematico del termino. Es decir, queverifica las siguientes propiedades:

1) Para cada par de vertices u, v ∈ V , dG(u, v) ≥ 0. Ademas, dG(u, v) = 0 si y solo si u = v.

2) (Simetrıa) : dG(u, v) = dG(v, u) para cada par u, v ∈ V .

3) (Desigualdad triangular) : dG(u, v) ≤ dG(u,w) + dG(w, v) para cualesquiera u, v, w ∈ V .

9.1.28 Sea G un grafo conexo con matriz de vecindades M correspondiente a la ordenacion de los

vertices (v1, v2, . . . , vn). Llamemos a(k)i,j a la entrada (i, j) de la matriz Mk. Compruebese que

dG(vi, vj) = mın{k ≥ 1 : a(k)i,j �= 0}, .

9.1.29 A los paseos entre u y v cuya longitud coincida con dG(u, v) se les llama geodesicas entreu y v. Puede haber varias geodesicas distintas entre dos vertices. Compruebese, sin embargo, que si Ges un grafo conexo con cuello c(G) y d(u, v) ≤ c(G)/2, entonces hay una unica geodesica de u a v,para cada u, v ∈ V (G).

Grafos, matrices y autovalores

9.1.30 Sea G un grafo con n vertices cuya matriz de vecindades tiene a −1 como autovalor conmultiplicidad n− 1. En este ejercicio comprobamos que, entonces, G = Kn.

a) Observese primero que n− 1 ha de ser el autovalor restante, con multiplicidad 1.

b) Notese que la matriz M+In tiene rango 1, esto es, todas sus filas son multiplos de, por ejemplo,la primera. Copruebese que ese multiplo solo puede ser 0 o 1, y luego descartese el caso 0 mirandolas entradas de la diagonal. Finalmente, argumentando con la simetrıa de la matriz, compruebese queM + In es la matriz que solo contiene unos y que, por tanto, G = Kn.

9.1.31 Sea G un grafo regular con n vertices, y sea λ1 ≥ · · · ≥ λn su espectro. ¿Cual es el espectro delgrafo complementario Gc, aquel que tiene los mismos vertices que G, y cuyas aristas son justamenteaquellas que no incluye G?

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 42: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

42 Capıtulo 9. El lenguaje de los grafos

9.1.32 Sea G = (V,A) un grafo conexo con n vertices, y sea λ1 ≥ · · · ≥ λn su espectro. Ya sabemosque

∑ni=1 λi = 0. Pruebese que

n∑i=1

λ2i = 2|A| y que

n∑i=1

λ3i = 6 ·#triangulos en el grafo.

9.1.33 a) Consideremos una matriz n × n circulante como laque se muestra a la derecha:

⎛⎜⎜⎜⎜⎜⎝

c0 c1 c2 · · · cn−1

cn−1 c0 c1 · · · cn−2

cn−2 cn−1 c0 · · · cn−3

......

.... . .

...c1 c2 c3 · · · c0

⎞⎟⎟⎟⎟⎟⎠

su primera fila es (c0, c1, . . . , cn−1), ylas restantes se obtienen rotando cıclicamente la primera. Llamemosω = e2πi/n. Las sucesivas potencias ωj, con j = 0, . . . , n − 1 gene-ran las raıces n-esimas de la unidad. Compruebese que, para cada lentre 0 y n− 1,

λl =

n−1∑j=0

cj ωlj = c0 + c1 ω

l + c2 ω2l + · · ·+ cn−1 ω

(n−1)l

es un autovalor de la matriz, con autovector asociado vᵀl = (1, ωl, ω2l, . . . , ω(n−1)l).

b) Observese que la matriz de vecindades de un Cn (ejemplo 9.1.4) es circulante con primera fila(0, 1, 0 . . . , 0, 1), es decir, c1 = cn−1 = 1, y resto de entradas nulas. Deduzcase el espectro de Cn.

c) Hagase el calculo analogo para la matriz del grafo completo Kn del ejemplo 9.1.3.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 43: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.2. Arboles 43

9.2. Arboles

La de los Bernoulli de Basilea es, quizas, la familia mas famosa de la historia de lasMatematicas.

Nicolaus (1623-1708)

Jacob (1654-1705)Nicolaus (1662-1716) Johann (1667-1748)

Daniel (1700-1782) Johann II (1710-1790)Nicolaus II (1695-1726)

Johann III (1744-1807) Jacob II (1759-1789)Daniel II (1751-1834)

Nicolaus I (1687-1759)

Famosa por la cantidad de excelentes matemati-cos que entre ellos se contaban (hasta nueve, en ne-grita en el esquema anterior, en tres generaciones dis-tintas) y, tambien, por que no decirlo, por sus pecu-liares personalidades. Vea el lector interesado en al-guna de sus grescas familiares las resenas biograficasde los patriarcas del clan, Jacob y Johann, en la sec-cion 12.2.4, y la de Daniel, el heredero de la saga, enel apartado 15.4.4. A la derecha los vemos a los tres,coronando el esplendido cartel anunciador del PrimerCongreso Internacional de Matematicos37 , celebradoen Zurich, en 1897. En la parte de abajo del cartel,completando el Olimpo de matematicos suizos38 en-contramos a Euler y a Steiner (de quien hablaremosen el capıtulo 29). Pero no son estas consideracioneshistorico-geograficas las que aquı nos interesan, sino,precisamente, la manera en que hemos exhibido arri-ba la informacion sobre la familia Bernoulli, su arbolgenealogico. Se trata de un grafo cuyos vertices, quevan etiquetados con los nombres de los Bernoulli, sedisponen en una estructura jerarquica que, en este caso, refleja las sucesivas generaciones dela familia.

37Los matematicos se reunen cada cuatro anos en un congreso en el que se exponen los ultimos avances delas diversas disciplinas que integran el edificio de las Matematicas. En cada congreso se anuncian los ganadoresde las medallas Fields, el equivalente de los Nobel para las Matematicas (con permiso de los mas recientesPremios Abel). El Congreso Internacional de Matematicos del 2006 se celebro en Madrid.

38Por cierto, los Bernoulli, Euler. . . , ¿quien dijo lo de que los suizos solo habıan inventado el reloj de cuco?Se cuenta que, tras el estreno de El tercer hombre, los suizos, eso sı, muy educadamente, le hicieron notar aOrson Welles que el reloj de cuco era un invento aleman.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 44: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

44 Capıtulo 9. El lenguaje de los grafos

Este tipo particular de grafos aparece muy a menudo, y resulta extremadamente util pararepresentar un buen numero de cuestiones: algoritmos, estructura en carpetas y subcarpetasde archivos en el ordenador, representacion de juegos, etc.

Quizas recuerde tambien el lector la descripcion de la regla del producto, alla por la sec-cion 2.2, con estas estructuras arboreas. Merece la pena dedicarles una seccion propia; masadelante (secciones 10.3 y 11.2) nos ocuparemos de algunas de sus aplicaciones.

A. Definicion de arbol y caracterizaciones

La primera definicion de la nocion de arbol (de las varias que daremos) viene sugeridapor el “aspecto” del grafo genealogico de la pagina anterior:

Definicion 9.2.1 Un arbol es un grafo conexo y sin ciclos.

En el mismo tono botanico, se define un bosque como un grafo sin ciclos. Si un bosquees conexo, es un arbol, y si no lo es, sus componentes conexas son arboles.

Por ejemplo, los grafos lineales Ln son arboles, mientras que los circulares Cn o los com-pletos Kn no lo son en cuanto n ≥ 3. Los bipartitos completos Kr,s, que son siempre conexos,solo son arboles si s = 1 o r = 1, puesto que si r ≥ 2 y s ≥ 2, hay al menos un ciclo de ordencuatro, como comprobara inmediatamente el lector.

Observese que ser conexo exige tener “bastantes” aristas, para ası poder conectar todoslos vertices, mientras que no tener ciclos supone, en principio, que haya “pocas” aristas, paraque no se formen ciclos. Los arboles estan justo en el punto de equilibrio.

El siguiente resultado formaliza esta idea. Tiene dos apartados. El primero de ellos nosdice que los arboles son los conexos “mas economicos”, en el sentido de que tienen el numeromınimo de aristas que permiten la conexion; en otros terminos, un arbol es un grafo mini-malmente conectado. El segundo apartado nos dice que los arboles son los mas “eficientes”en cuanto a no tener ciclos; en otros terminos, un arbol es un grafo maximalmente sin ciclos.

Proposicion 9.2.2 Sea G un grafo.

i) El grafo G es un arbol si y solamente si es conexo y tiene la propiedad de que al eliminaruna arista cualquiera el grafo deja de ser conexo.

ii) El grafo G es un arbol si y solamente si no tiene ciclos y, si le anadieramos una aristacualquiera, se formarıa un ciclo.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 45: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.2. Arboles 45

Demostracion. i) Supongamos primero que tenemos un grafo G conexo y sin ciclos. Que-remos probar que se desconecta al quitar una arista cualquiera.

Dada una arista a de G, formamos el grafo G\{a} eliminandola. Si G\{a} fuera conexo,podrıamos conectar en G \ {a} los vertices de la arista a, y anadiendo la arista a tendrıamosun ciclo en G: contradiccion. Ası que G \ {a} no es conexo (sea cual sea la arista a elegida).

En el otro sentido, supongamos que G es un grafo conexo que se desconecta si quitamoscualquier arista. Si el grafo contuviera un ciclo, siempre podrıamos quitar una arista de esehipotetico ciclo sin que el grafo dejara de ser conexo, lo que supone una contradiccion. Luegoese tal ciclo no puede existir.

ii) Supongamos primero que G es un grafo conexo y sin ciclos, es decir, un arbol. Consi-deremos dos vertices cualesquiera que no sean vecinos en G. Por estar en un grafo conexo,existira un paseo que los conecte en G. Al anadir una arista entre los vertices, tendremos unpaseo cerrado (con al menos tres vertices), del que podremos extraer un ciclo.

En el otro sentido, sea G un grafo sin ciclos para el que anadir una arista cualquierasupone la formacion de un ciclo. Supongamos que no fuera conexo. En este caso, al menosexistirıan dos vertices que no podrıamos conectar en G. Pero entonces todavıa podrıamosanadir la arista que los une sin que se nos formara un ciclo, de nuevo una contradiccion. �

Recordemos que si de un grafo conexo quitamos una arista y este se desconecta, lo haceen exactamente dos componentes conexas (ejercicio 9.1.23). En el caso de un arbol, al quitaruna arista cualquiera se forma un bosque con dos componentes conexas. La parte a) de laproposicion 9.2.2 afirma que toda arista de un arbol es un puente.

Sigamos adelante. Sabemos, por la proposicion 9.1.14, que en un grafo conexo se tieneque |A(G)| ≥ |V (G)|−1. La igualdad se alcanza justamente para los arboles, como proclamala siguiente caracterizacion alternativa:

Proposicion 9.2.3 Un grafo G es un arbol si y solo si es conexo y |A(G)| = |V (G)| − 1.

Demostracion. ⇒) Procedemos por induccion sobre el numero de aristas |A|: la inducciones en sentido fuerte, es decir, la hipotesis de induccion para d aristas es que el resultado escierto para grafos con un numero de aristas ≤ d.

1) Si G es un arbol con una arista, |A(G)| = 1, solo cabe la posibilidad de que sea un L2,para el que |V (G)| = 2.

2) Supongamos cierto que para todo arbol con |A(G)| ≤ d se tiene que |A(G)| = |V (G)|−1.Consideremos un arbol cualquiera G con |A(G)| = d+ 1 y tomamos una arista a cualquierade G. El grafo G\{a} que se forma quitando de G la arista a no es conexo (proposicion 9.2.2).De hecho,

G \ {a} = G1 ∪G2,

donde G1 y G2 son arboles con no mas de d aristas (pues |A(G1)|+ |A(G2)| = d). Aplicamosa G1 y G2 la hipotesis de induccion, para obtener que |A(G1)| = |V (G1)| − 1 y |A(G2)| =|V (G2)| − 1. Sumando estas dos igualdades, obtenemos que |A(G)| − 1 = |V (G)| − 2, que eslo que querıamos demostrar.

⇐) En el otro sentido, tomemos un grafo conexo G tal que |A(G)| = |V (G)| − 1. Sicontuviera un ciclo, podrıamos quitar una arista a de ese ciclo sin que el grafo se desconectara.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 46: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

46 Capıtulo 9. El lenguaje de los grafos

Pero habrıamos llegado a un grafo, G \ {a}, conexo con

|A(G \ {a})| = |A(G)| − 1 y |V (G \ {a})| = |V (G)| .Utilizando que |A(G)| = |V (G)| − 1,

|A(G \ {a})| = |V (G)| − 2 = |V (G \ {a})| − 2 ;

y esto contradice (¡nos faltan aristas!) el que G \ {a} sea conexo. �El perspicaz lector echara en falta una caracterizacion similar en terminos de la igualdad

|A| = |V | − 1 y la ausencia de ciclos. Podra satisfacer su curiosidad al respecto en el ejerci-cio 9.2.1. Y si aun con eso se muestra insaciado, consulte alguna otra caracterizacion en elejercicio 9.2.2.

Resumamos las caracterısticas que hacen de un grafo G un arbol: es conexo, sin ciclos,tiene |A(G)| = |V (G)| − 1 aristas; si quitamos una arista cualquiera, se desconecta; y sianadimos una arista cualquiera, se forma un ciclo. Es decir, como ya adelantabamos, es elgrafo conexo mas “economico” (en el sentido de que no sobra ni falta arista alguna) posible.

B. Sucesion de grados de un arbol

Como el lector habra ya apreciado, un arbol es un tipo de grafo muy especial, que cumpleun buen numero de condiciones. No le extranara, pues, que la sucesion de grados de un arbolsea bastante particular. Ya sabemos que en cualquier grafo G = (V,A) se tiene que∑

v∈Vgrado(v) = 2 |A| .

Pero si ademas G es un arbol, como |A| = |V | − 1, se tendra:

Proposicion 9.2.4 En cualquier arbol G = (V,A) se tiene que∑v∈V

grado(v) = 2|V | − 2.

Observese que ahora solo tenemos un “grado de libertad”, el numero de vertices |V |, puesel de aristas ya queda fijado. De esta igualdad podemos deducir, por ejemplo, el siguienteresultado.

Proposicion 9.2.5 Todo arbol con |V | ≥ 2 tiene, al menos, dos vertices de grado 1.

Demostracion. Supongamos que no hay vertices de grado 1, es decir, que grado(v) ≥ 2,para todo v ∈ V . Entonces,

2|V | − 2 =∑v∈V

grado(v) ≥∑v∈V

2 = 2 |V | ,

lo que resulta imposible. Pero tampoco puede ocurrir que haya un unico vertice w de grado 1,porque tendrıamos que

2|V | − 2 =∑v∈V

grado(v) = grado(w) +∑v �=w

grado(v) ≥ 1 + 2 (|V | − 1) = 2|V | − 1

Ası que al menos ha de haber dos de grado 1. �

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 47: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.2. Arboles 47

Ejemplo 9.2.1 ¿Como son los arboles con n vertices que tienen el menor y el mayor numeroposible de vertices de grado 1?

Sabemos que el mınimo numero de vertices de grado 1 es 2. Ası que, si un arbol con nvertices tiene exactamente dos vertices, digamos w y u, de grado 1, se cumplira que

2n− 2 =∑v∈V

grado(v) = 1 + 1 +∑

v �=u,w

grado(v).

En la suma final tenemos n−2 terminos, todos ellos mayores o iguales que 2; la unica forma deconseguir la igualdad sera que grado(v) = 2 para todo v ∈ V , v �= u,w. Y esta configuracionde grados es la del grafo lineal con n vertices, Ln.

En el otro extremo, es imposible que todos los vertices tengan grado 1, pues no se cumplirıala formula de los grados. Pero sı podrıa ocurrir que el arbol contuviera n−1 vertices de grado 1.Llamemos w al vertice restante. Aplicando de nuevo la formula de los grados,

2n − 2 =∑v∈V

grado(v) = (n− 1) + grado(w) ,

de donde se deduce que grado(w) = n − 1 , que, por cierto, es el maximogrado que puede tener un vertice en un grafo con n vertices. En este caso,tenemos el grafo estrellado de la izquierda. ♣

C. Arboles con raız

En muchas ocasiones conviene senalar un vertice especial en unarbol, bien porque corresponda al punto de arranque de un ciertoalgoritmo, bien porque represente al fundador de una saga familiar,bien porque. . . A un arbol en el que se haya senalado un verticedistinguido nos referiremos como un arbol con raız, donde la raız,por supuesto, es ese vertice especial, que habitualmente sirve de

origen de coordenadas. Sı, querido lector, hablamos de arboles, pero los representamos bocaarriba, boca abajo, o apuntando en las direcciones mas inverosımiles. Y ahora anadimosraıces, que en muchos casos situaremos en la parte superior de los esquemas (o, como enel dibujo, a la izquierda del todo). Curiosa fidelidad a la Botanica. Por supuesto, cualquierarbol se convierte en uno con raız en cuanto decidamos que vertice actua como tal.

En un arbol con raız los vertices se agrupan por generaciones: la primera contiene solo ala raız, la segunda esta formada por todos los vertices vecinos de la raız (sus “descendientes”);la tercera, por los vecinos de estos ultimos (salvo la raız); la cuarta, por los vecinos de los dela tercera generacion (excepto los que ya estaban en la segunda). . . y ası sucesivamente, demanera que los vertices de la generacion k son aquellos que estan a distancia exactamente k−1de la raız. Cada vertice de un generacion solo puede estar unido a vertices de las generacionesanterior y posterior, pues de lo contrario aparecerıan ciclos. Esta estructura jerarquizada yordenada en capas explica el frecuente uso que haremos de estas estructuras. Los vertices“terminales” del arbol, aquellos que no tienen descendientes, se denominan hojas.

En la seccion 10.3.1 estudiaremos con detalle la jerga propia de estas estructuras, algunasde sus propiedades y diversas aplicaciones.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 48: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

48 Capıtulo 9. El lenguaje de los grafos

9.2.1. Contando el numero de arboles distintos

Figura 9.1: Cayley y Sylvester

Cayley y Sylvester39 se interesaron, alla por el si-glo XIX, por contar y enumerar ciertos compuestosorganicos, uno de los primeros escarceos con la carac-terizacion de estructuras quımicas en terminos ma-tematicos. Vean al respecto, por cierto, lo que decıael filosofo positivista Auguste Comte alla por 1830:

[. . . ] cualquier intento de emplear metodosmatematicos en el estudio de la Quımica ha serconsiderado como profundamente irracional ycontrario al propio espıritu de la Quımica.

Nuestros dos protagonistas trataron, por ejemplo,de enumerar los isomeros de hidrocarburos saturados,de formula Ck H2k+2: los atomos de carbono tienen valencia 4, mientras que los hidrogenostienen valencia 1.

Se trata de grafos (conexos) con 3k+2 vertices,cuya suma de grados es 4k + (2k + 2) = 6k + 2, demanera que tienen 3k + 1 aristas; una menos quevertices: ¡arboles! A la izquierda representamos, enorden, las estructuras arboreas del metano, etano,butano y propano, por si despertaran en el lectortiernos recuerdos de los tiempos de su Bachillerato.

Enumerar los grafos con ciertas propiedades (serarboles, tener determinada sucesion de grados, etc.)es, en general, una cuestion muy complicada. El lec-tor que haya revisado (entregado en cuerpo y alma,claro) la discusion de la seccion 9.1.2 tendra ya unaidea cabal de esa dificultad. Pero en ocasiones, so-

bre todo si etiquetamos los vertices, las cosas se simplifican. Un caso ilustrativo es el de los

39Las vidas de los ingleses Arthur Cayley (1821-1895) y James Joseph Sylvester (1814-1897) corren para-lelas. Estudiaron ambos en Cambridge pero, por diversas razones, durante muchos anos no ejercieron comomatematicos. Cayley fue abogado durante 14 anos, aunque durante ese periodo de “matematico aficionado”llego a publicar mas de 200 artıculos de investigacion. En esa labor coincidio con Sylvester, que no habıa lle-gado a graduarse por negarse a realizar juramento de fidelidad a la Iglesia de Inglaterra (Sylvester era judıo).Juntos gustaban de discutir sobre casos judiciales y teoremas (incluyendo algunos de teorıa de grafos). Apartir de 1863, Cayley se dedico en exclusiva a las Matematicas, desde su puesto en Cambridge. Sylvester, porsu parte, fue matematico, abogado. . . y poeta. A los 27 anos fue contratado por la Universidad de Virginia. Secuenta que allı, durante una leccion, tuvo un serio incidente con un alumno que estaba leyendo un periodicoen clase, al que Sylvester (a quien se describe como un hombre de fuerte caracter) golpeo. Creyendolo muerto,tomo el primer barco de regreso a Inglaterra. En 1877 volvio a cruzar el charco, contratado por la UniversidadJohn Hopkins. Un ano despues fundarıa la primera revista norteamericana de matematicas: American Journalof Mathematics. De vuelta a Inglaterra (sin mas incidentes por medio, que se sepa), enseno en Oxford hastasu muerte. Gran parte de los trabajos de Sylvester sobre invariantes algebraicos, matrices y determinantesfueron realizados en colaboracion con Cayley, quien es considerado uno de los padres de la teorıa de grupos.Tambien son fundamentales sus aportaciones a la geometrıa no euclıdea y la geometrıa proyectiva.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 49: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.2. Arboles 49

grafos distintos (esto es, etiquetados) que se pueden formar con un conjunto dado de n verti-

ces, de los ya sabemos que hay 2(n2). En el caso de los arboles con n vertices dados tambien

tenemos, como vamos a ver a continuacion, una formula (sorprendentemente) sencilla.

Empecemos nuestra investigacion, como parece prudente y razonable, analizando ejemplosde arboles con pocos vertices.

Ejemplo 9.2.2 Contemos el numero de arboles distintos con 2, 3, 4 y 5 vertices.

Como en la seccion 9.1.2, determinaremos primero las distintas almas, para luego, paracada una de esas almas, contar los posibles etiquetados. Para ser sistematicos, nos iremosguiando por las distintas sucesiones de grados posibles. En un grafo G con n vertices, el gradode un vertice no puede ser mayor que n−1. Si ademas G es un arbol, no podra haber verticesde grado 0 (pues es conexo) y la sucesion de grados debe cumplir que∑

v∈V (G)

grado(v) = 2|V (G)| − 2 , donde 1 ≤ grado(v) ≤ |V (G)| − 1 para todo v ∈ V (G).

En el caso de dos vertices solo cabe la posibilidad de que el arbol sea isomorfo a un L2. Si elconjunto de vertices es {1, 2}, hay tambien un unico arbol (los dos “posibles” etiquetados delos vertices dan el mismo resultado).

Si tenemos tres vertices, solo tenemos un alma posible, la que corresponde al grafo li-neal L3. Para etiquetarlo con el conjunto {1, 2, 3}, basta con decidir que sımbolo va, porejemplo, en la posicion central (cual es el vertice de grado 2). Esto se puede hacer de tresformas distintas, ası que hay 3 arboles distintos con vertices {1, 2, 3}.

Vamos con el caso de cuatro vertices. El grado maximo es ahora 3. Trasun somero analisis, que recomendamos haga el lector, concluimos que solohay dos sucesiones de grados admisibles, (1, 1, 1, 3) y (1, 1, 2, 2). La primerade ellas se corresponde con el (alma del) grafo que dibujamos a la izquierday arriba, mientras que la segunda se traduce en el de debajo.

Para etiquetar el primer grafo con {1, 2, 3, 4}, basta con decidir el sımbolo que va en laposicion central; ası que hay 4 maneras distintas de hacerlo. El etiquetado del otro es masdelicado: elegimos primero las etiquetas de los dos vertices de grado 2 (se puede hacer de

(42

)formas); y para cada eleccion de estas, hay luego dos posibilidades para nombrar los vecinos.En total, 12 maneras distintas. En resumen, con cuatro vertices hay 2 arboles no isomorfosy 12 + 4 = 16 arboles distintos con vertices {1, 2, 3, 4}.

Para el caso de cinco vertices, el grado de los vertices es a lo sumo 4.Si hay alguno de grado 4, la sucesion de grados debe ser (1, 1, 1, 1, 4), ala que le corresponde un unico arbol salvo isomorfismos, el que aparece ala derecha. Etiquetarlo con {1, 2, 3, 4, 5} es directo, pues basta decidir queetiqueta asignamos al vertice central: en total, 5 posibilidades.

Si no hay de grado 4, pero sı de grado 3, la unica sucesion de gradosposible es (1, 1, 1, 2, 3) (alma de la derecha). Para etiquetarla, fijamos elsımbolo del vertice de grado 3 (5 posibilidades), luego el del de grado 2(4 posibilidades) y, finalmente, elegimos (3 posibilidades) el vecino de grado 1 del vertice degrado 2 (o bien los dos vecinos de grado 1 del vertice de grado 3). En total, 60 posibilidades.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 50: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

50 Capıtulo 9. El lenguaje de los grafos

Por ultimo, si no hay vertices de grado 3, entonces solo podremostener la sucesion de grados (1, 1, 2, 2, 2), que corresponde a un L5. Paraetiquetarlo, elegimos el sımbolo del vertice central (5 posibilidades), luego los otros dos degrado 2 (

(42

)= 6 posibilidades) y ya solo quedan dos posibilidades para etiquetar los vertices

finales. En total, 5×6×2 = 60 formas distintas. Resumiendo – casi agotados –, con 5 verticeshay tres arboles no isomorfos y 125 arboles distintos con vertices {1, 2, 3, 4, 5}. ♣Ejemplo 9.2.3 Un poco mas difıcil: arboles con seis vertices {v1, . . . , v6}.

Los grados son ahora seis numeros entre 1 y 5 que suman 10. Si hay vertices de grado 5,solo podra haber uno, y la sucesion de grados sera (1, 1, 1, 1, 1, 5). El unico grafo con estascaracterısticas es el que aparece debajo de estas lıneas como alma 1. El etiquetado de losvertices con {v1, . . . , v6} solo requiere decidir el sımbolo del vertice central: seis posibilidades.

Si no hay vertices de grado 5, pero sı de grado 4, tenemos la sucesion (1, 1, 1, 1, 2, 4)(vease el alma 2). Hay 6 × 5 × 4 = 120 arboles distintos asociados a esta estructura, puesbasta etiquetar el de grado 4, luego el de grado 2 y, finamente, elegir el vertice de grado 1que va unido al de grado 2.

Si no hay vertices de grado 4, pero sı de grado 3, las cosas se ponen mas interesantes.Por un lado, la sucesion de grados (1, 1, 1, 1, 3, 3) esta asociada al alma 3. Convenzase, lector,de que hay

(62

)(42

)= 90 formas distintas de etiquetar sus vertices, pues basta elegir los dos

vertices “centrales”, y luego seleccionar que otros dos vertices (de los 4 disponibles) van aunirse a uno de los dos seleccionados antes.

Pero, por otro lado, y como ya vimos en la seccion 9.1.2, hay dos arboles no isomorfos(almas 4 y 5) asociados a la sucesion de grados (1, 1, 1, 2, 2, 3). Dejamos que el lector seconvenza por sı mismo de que hay 180 etiquetados distintos para la primera y 360 parasegunda.

alma 1 alma 2 alma 3 Alma 4 alma 5 alma 6

Por ultimo, si no hay vertices de grado 3, entonces la sucesion de grados es (1, 1, 2, 2, 2, 2)(vease el alma 6, un L6), que tiene 360 distintos etiquetados de sus vertices. En resumen, hayseis arboles no isomorfos con 6 vertices y 1296 arboles distintos con vertices {1, . . . , 6}. ♣

Cayley40, en 1889, probo que el patron que se observa en los resultados obtenidos en ellaborioso y meticuloso analisis hecho hasta aquı,

n 2 3 4 5 6

arboles distintos 1 = 20 3 = 31 16 = 42 125 = 53 1296 = 64

es completamente general.

40Parece ser que fue Sylvester el primero que propuso este resultado, en 1857, y que la primera demostracionfue de Borchardt, en 1860. Los trabajos de Cayley en este campo son de 1889, y en ellos enumero grafos condiversas propiedades. Anos despues, Polya desarrollarıa una teorıa enumerativa general (vease el capıtulo 28)para abordar estas cuestiones.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 51: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.2. Arboles 51

Teorema 9.2.6 (Cayley) Hay nn−2 arboles distintos con el conjunto de vertices {1, . . . , n}.A la derecha mostramos las pri-

meras lıneas del artıculo de Cayley.Quizas el lector pueda hasta entreveren el las dos estructuras arboreas quedibujamos, y la subsecuente numero-logıa, en el analisis del caso n = 4 delejemplo 9.2.2.

Lector: no se deje cegar por laaparente magnitud del numero nn−2;sı, es un numero enorme en cuanto nsea moderadamente grande. Pero pa-lidece si lo comparamos con, por ejem-plo, el numero total de grafos con n

vertices, que es 2(n2). Convenzase por usted mismo, mirando ambas cantidades, por ejemplo,

en escala logarıtmica. Por ejemplo, para n = 5 vertices, un 12% de los grafos resultan serarboles, pero con n = 8 vertices ya solo hay un 0.1% de arboles.

Quizas el lector considere que serıa mas justo comparar el numero de arboles con n vertices(que tienen todos n − 1 aristas) con el numero de grafos con exactamente n − 1 aristas. Esdecir, si escogemos al azar n − 1 aristas para unir los n vertices, ¿cuan probable es que elgrafo resultante sea conexo? Pues bien poco probable; en concreto, esa probabilidad es

nn−2(n(n−1)/2n−1

) ,que para n = 5 es de casi un 60%, pero para n = 20 es ya apenas del 0.4%.

Vamos, que ser un arbol es casi un milagro.

Por cierto, como para cada arbol con vertices {1, . . . , n} hay n arboles con raız distintoscon esos mismos vertices, tenemos la siguiente reescritura del teorema de Cayley:

Corolario 9.2.7 (Cayley) Hay nn−1 arboles con raız distintos con vertices {1, . . . , n}.Como comentario final, antes de entrar en la demostracion del teorema de Cayley, avi-

samos al lector de que la misma cuestion, el recuento de arboles, pero ahora sin etiquetas(arboles no isomorfos), es asunto mucho mas complicado. Contar cuantas almas de arboleshay con n vertices, como hicimos como parte del argumento de recuento de los arboles dis-tintos con n ≤ 6 vertices en los ejemplos 9.2.2 y 9.2.3, requiere una tecnologıa mucho masavanzada, de funciones generatrices, como veremos en el capitulo 13.

De este elegante resultado de Cayley existen un buen numero de demostraciones, de ca-racterısticas muy diversas. A continuacion exhibimos dos de ellas. La primera es de cortealgorıtmico, y se basa en una codificacion de arboles conocida como codigos de Prufer. Da-remos luego una prueba alternativa, de corte mas combinatorio, debida a Zeilberger. En elejercicio 9.2.8 esbozaremos una tercera demostracion. Si con esto el lector no se queda satisfe-cho, le recomendamos revisar el argumento algebraico del ejemplo 9.2.7, e incluso embarcarse,provisto ya del lenguaje de las funciones generatrices, en la lectura del capıtulo 13.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 52: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

52 Capıtulo 9. El lenguaje de los grafos

Codigos de Prufer. Vamos a ver ahora como resumir la informacion sobre un arbol convertices {1, . . . , n} en una lista de longitud n − 2, con posible repeticion, formadas con lossımbolos {1, . . . , n}. Esa tal lista se conoce como el codigo de Prufer41 del arbol. El que hayuna biyeccion entre los dos conjuntos de objetos, el de los arboles y el de las listas, da comoconclusion el teorema 9.2.6 de Cayley.

El algoritmo que describimos a continuacion toma un arbol T con n vertices etiquetadoscon los numeros {1, . . . , n}, y las correspondientes n−1 aristas, y da lugar a una lista de n−2numeros (entre 1 y n) que nombraremos como (α1, . . . , αn−2).

En el primer paso, localizamos el vertice de grado 1 con menor etiqueta, que llamamos β1,y anotamos quien es su unico vecino, que sera α1. Borramos entonces β1 y su arista.

En el segundo paso, tomamos el nuevo arbol y repetimos el procedimiento: localizamos elvertice de grado 1 con menor etiqueta, β2, anotamos quien es su vecino, α2, y borramos β2y su arista. Y ası, sucesivamente.

Observe, lector, que cada paso arranca con un arbol, lo que garantiza que haya verticesde grado 1; y que en cada paso eliminamos una arista (y un vertice): en el paso j se empiezacon un arbol con n− j aristas, y sale uno con una arista menos. De forma que, en principio,el algoritmo da n− 1 pasos.

Pero prestemos atencion al ultimo paso, en el que solo queda una arista (y sus dosvertices), y del que se obtendrıan los valores βn−1 y αn−1. De esos dos vertices, uno deellos necesariamente ha de tener la etiqueta n, pues esa etiqueta no ha podido ser eliminadaen pasos anteriores; de forma que αn−1 = n, y no es necesario resenar este valor.

La lista α = (α1, . . . , αn−2) es el codigo de Prufer del arbol T (la lista β = (β1, . . . , βn−2)es auxiliar). Convenzase el lector, analizando con detalle el algoritmo, que en esa lista αel numero de apariciones de cada vertice i es justamente gr(i) − 1. Ası que, por ejemplo,los etiquetas de las hojas de T no aparecen nunca en α; y recıprocamente, si un vertice noaparece en α, entonces es hoja en el arbol T .

Sugerimos al lector que se entrene en este procedimiento de codificacion con los dosejemplos que dibujamos debajo de estas lıneas: prepare un papel, pinte los dos grafos, vayatachando aristas siguiendo el procedimiento descrito arriba, y cerciorese de que obtiene loscodigos de Prufer que aparecen resenados en la figura.

1

2 3

4

56

78

12

3

4

6

7

85

β 3 4 5 6 2 7

α 5 8 1 2 7 1

β 2 3 4 5 6 7

α 1 1 1 1 1 1

41Ernst Paul Heinz Prufer (1896-1934) fue un matematico aleman, especialista en teorıa de grupos y algebra.Muerto prematuramente de un cancer de pulmon, la prueba del teorema de Cayley que aquı nos ocupa fuepublicada en 1918, cuando Prufer era todavıa estudiante en la Universidad de Berlin.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 53: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.2. Arboles 53

En cuanto al camino de vuelta, la reconstruccion delarbol T

β 3 4 5 6

α 5 8 1 2 7 1

1

2 3

4

56

78

a partir de su codigo de Prufer, procedemos comosigue: tenemos la lista α = (α1, . . . , αn−2) y el conjuntode etiquetas V = {1, 2, . . . , n}. En el primer paso, decla-ramos que β1 es el menor elemento de V que no este en lalista α, y formamos la arista {α1, β1}. Eliminamos aho-ra el sımbolo β1 de V , recortamos la lista α quitandolesu primer elemento, y repetimos el proceso para obte-ner β2 (el menor elemento de V \ {β1} que no este enla lista recortada en el paso anterior), y formar la aris-ta {α2, β2}. Y ası sucesivamente. En formula, si lo prefiere el lector, cada βj viene dadopor βj = mın

{k : k /∈ {β1, . . . , βj−1, αj , . . . , αn−2}

}, y las aristas son siempre de la forma

{αj , βj}. En la figura de la derecha representamos la reconstruccion tras cuatro pasos delprocedimiento para la lista del ejemplo de arriba. Observe, lector, que se van anadiendo aris-tas y que solo en el ultimo paso queda garantizado que sea un arbol. Por cierto, en ese ultimopaso, en V solo quedaran n y otra etiqueta, que uniremos como arista final.

Figura 9.2: Zeilberger

Dejamos al lector que complete los detalles que prueban que hayuna biyeccion entre los arboles con etiquetas {1, . . . , n} y las listas conesos sımbolos, y repeticion permitida, de longitud n− 2. Una ojeada alejercicio 9.2.8 puede venirle bien.

Damos a continuacion una prueba alternativa del resultado de Cay-ley que nos parece especialmente sugerente. Se debe a Zeilberger42.

Demostracion del teorema 9.2.6 de Cayley. En una cierta em-presa hay m jefes y k empleados, con sus respectivos nombres y apelli-dos43. Los queremos organizar de manera que cada empleado tenga ununico supervisor, que pudiera ser otro empleado o quizas un jefe. Los je-fes no tienen supervisor (lo que quizas sea una tautologıa), y podrıan notener subordinados (principio de Peter, seguro44). Llamaremos P (m,k)

al numero de formas distintas de organizar la empresa con m jefes y k empleados.

En el lenguaje de los grafos45, P (m,k)cuenta el numero de bosques (con m + kvertices) formados por m arboles con raız,donde las raıces van etiquetadas con los nom-bres de los jefes. Nos interesara en especialel caso m = 1 y k = n − 1, que se corresponde con arboles con raız con n vertices en total,con la raız ya etiquetada con el nombre del (unico) jefe.

j1 j2 j3 jm

42La pagina web del matematico israelı Doron Zeilberger (1950-), www.math.rutgers.edu/∼zeilberg/, esuna autentica delicia que recomendamos al lector.

43¿Estos de que van?, ¿que paso con los arboles?44Principio de Peter: en una jerarquıa, todo empleado tiende a ascender hasta su nivel de incompetencia.

Corolario: con el tiempo, todo puesto tiende a ser ocupado por un empleado que es incompetente paradesempenar sus obligaciones.

45¡Ah!, menos mal, han vuelto al redil.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 54: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

54 Capıtulo 9. El lenguaje de los grafos

El rango de interes para los parametros es m ≥ 1 y k ≥ 0. Vamos a obtener ahora unaregla (recurrente) de calculo para P (n, k). Para empezar, es claro que, para cada m ≥ 1,P (m, 0) = 1. Para analizar el resto de los casos, argumentamos como sigue:

1) Distinguimos a los empleados cuyos supervisores son jefes. A estos empleados, de losque habra un cierto numero s, con 1 ≤ s ≤ k, se les asigna, desde este momento, elpapel de jefecillos46.

2) Decidimos que s empleados son jefecillos, lo que se puede hacer de(ks

)maneras.

3) Y ahora asignamos el jefe ante el que responde cada jefecillo: ms maneras.

4) Queda organizar a los restantes k−s empleados. Pero, para estos, los s jefecillos actuancomo jefes. Ası que los podremos organizar de tantas maneras como nos diga P (s, k−s).

En total,

() P (m,k) =

k∑s=1

(k

s

)ms P (s, k − s) .

El argumento anterior, en el lenguaje de grafos, consiste en decidir que vertices van en lasegunda generacion (por debajo de las raıces), asociarlos con los vertices superiores, y luegodistribuir los restantes vertices en generaciones siguientes.

La regla de recurrencia () es un tanto peculiar. Vamos a comprobar como esta regla derecurrencia, junto con los valores iniciales P (m, 0) = 1, determina de manera unica el valorde los P (m,k).

Para k = 1, tenemos que, para cada m ≥ 1, kk−1

k=0k=1k=2

m=1

m=2

m=3

P (m, 1) =

(1

1

)mP (1, 0) = m,

usando que P (1, 0) = 1, mientras que el caso k =2 de () nos da, para cada m ≥ 1,

P (m, 2) =

(2

1

)mP (1, 1) +

(2

2

)m2P (2, 0)

= 2m+m2,

donde hemos usado, ademas de que P (2, 0) = 1,el que P (1, 1) = 1, por el paso anterior. Y, engeneral, todos los valores de P (m,k), para k fijo (situados en una columna), se generan apartir de los valores situados en la diagonal que se aprecia en el dibujo de la derecha.

Considere ahora el lector la funcion

f(m,k) = m(m+ k)k−1,

definida para cada m ≥ 1 y k ≥ 0. Observese que f(m, 0) = m/m = 1. Usando el teoremadel binomio de Newton, es un ejercicio casi rutinario (para aquel lector que haya batallado

46Se lo merecen.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 55: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.2. Arboles 55

con las cuentas del binomio de la seccion 5.1.2; por si acaso, lo dejamos como ejercicio 9.2.7)comprobar que f(m,k) cumple la misma recurrencia que P (m,k), de lo que se deduce que

P (m,k) = m(m+ k)k−1 , para cada m ≥ 1 y k ≥ 0;

y en particular, para el caso que nos incumbe, que P (1, n − 1) = nn−2.

Ya casi hemos terminado. Con P (1, n− 1) contamos el numero de arboles con raız con nvertices, con la raız ya etiquetada con el nombre del jefe. Preste ahora atencion, querido lector,al ida y vuelta. Nos ponemos revolucionarios y cooperativistas47: permitimos a cualquierade los n miembros de la empresa ser el jefe. Esto nos da n · nn−2 = nn−1 organizacionesempresariales distintas, o mejor, nn−1 arboles con raız y n vertices.

Esto prueba la version del resultado de Cayley recogida en el corolario 9.2.7, y argumen-tando como allı, pero ahora dividiendo por n para diluir el papel de la raız, concluimos queel numero de arboles con n vertices es nn−2. �

9.2.2. Arboles abarcadores de un grafo

En la introduccion del capıtulo planteamos la siguiente cues-tion: construir una red que conecte una serie de puntos (por ejem-plo, un sistemas de oleoductos, una red de ordenadores) de la formamas barata (en cuanto a numero de conexiones) a partir de un di-seno previo, como el de la figura. El objetivo es eliminar el mayornumero posible de aristas de manera que el grafo siga siendo conexo. O, dicho de otra manera,quedarnos con el numero mınimo de aristas que garantizan la conexion del grafo. Estamosbuscando, en definitiva, un subgrafo que sea arbol y que incluya a todos los vertices.

Definicion 9.2.8 Un arbol H es arbol abarcador48 de un grafo G = (V,A) si V (H) =V (G) y A(H) ⊆ A(G).

Un arbol abarcador de G tiene los mismos vertices que G, y algunas de – o todas – susaristas. Conviene asegurarse primero de que tales arboles existen si, como es razonable,partimos de un grafo conexo.

Proposicion 9.2.9 Un grafo G es conexo si y solo si tiene, al menos, un arbol abarcador.

Demostracion. En un sentido, si un grafo tiene un arbol abarcador, que por definicion esconexo, es obvio que G tambien lo sera.

En el otro: consideremos un grafo G conexo. Si es un arbol, hemos acabado: G es su propioarbol abarcador. Si no es arbol, como es conexo, podemos todavıa quitar una cierta arista asin que se desconecte (recordemos, de la proposicion 9.2.2, el caracter extremal de los arbolesen este sentido). Ası que el grafo G \ {a} sigue siendo conexo. Si fuera un arbol, habrıamosacabado; pero si no lo fuera, podrıamos quitar una arista b de forma que (G \ {a}) \ {b}siguiera siendo conexo. Y ası, sucesivamente. En cada paso, los sucesivos grafos son conexos;cuando el numero de aristas llegue a |V (G)| − 1, tendremos un arbol abarcador. �

47¡Vivan los anos 60!48Spanning tree, en ingles, arbre de recouvrement en frances. En castellano se utilizan terminos como “arbol

generador” o “arbol recubridor”. Nos gusta mas “arbol abarcador’.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 56: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

56 Capıtulo 9. El lenguaje de los grafos

De la demostracion anterior, ademas, deducimos que si el grafo G es conexo y |A(G)| =|V (G)| − 1 + k, con k ≥ 0, entonces podemos quitar k aristas (convenientemente escogidaspara no perder la conexion) y quedarnos con un arbol abarcador. Se tratarıa de ir “elimi-nando aristas” hasta quedarnos con el numero adecuado de ellas, siguiendo, como criterio deeliminacion, ir identificando y “rompiendo” los ciclos del grafo.

Existen procedimientos alternativos, y de hecho mas eficaces, para construir un arbolabarcador en un grafo (o para concluir que no los hay), que consisten en ir “haciendo crecer”el arbol en pasos sucesivos, como vamos a ver a continuacion. Se trata de algoritmos disenados,en principio, para buscar y etiquetar vertices de un grafo49. Piense por ejemplo el lector enel grafo de internet, en el que cada pagina se representa con un vertice, y cada arista esun hipervınculo50. Los motores de busqueda en internet requieren programas que primeroexploren la red (web crawlers) y que localicen las diferentes paginas, para luego crear loscorrespondientes ındices y almacenar contenidos.

A. Algoritmos de busqueda en grafos y (su conexion con) conexion

Los dos procedimientos que vamos a describir, aunque siguen estrategias distintas, danambos como resultado arboles (con raız) que incluyen unos cuantos vertices del grafo departida (o quizas todos). Los traemos a colacion en esta seccion, adelantandonos al capıtulo 11dedicado a los algoritmos en arboles, porque en particular permiten resolver, de maneracomputacionalmente eficiente, cuestiones como la de decidir si un grafo es conexo (o, en casocontrario, identificar componentes conexas), localizar ciclos o aristas puente, etc.

Advertimos al lector, no obstante, de que la descripcion que ahora iniciamos sera somera,casi filosofica. Dejamos al lector con especiales inclinaciones algorıtmicas que se entretengaen traducir estas pinceladas en un codigo detallado.

A1. Algoritmo de busqueda a lo ancho (BA)51.

El procedimiento parte de un grafo G = (V,A) y construye un arbol (con raız) cuyosvertices estan agrupados por generaciones en funcion de su distancia a la raız.

Marcamos un cierto vertice inicial, digamos v1. Localizamos todos sus vecinos y los eti-quetamos. Las aristas correspondientes quedan incorporadas al arbol. Una vez numeradoslos vertices vecinos del inicial, pasamos al que sea primero en esa ordenacion y repetimosel proceso: localizamos todos sus vecinos nuevos y los anadimos al arbol (observese que nose forman ciclos en el proceso). Y ası sucesivamente, hasta que no podamos incorporar masvertices (ni aristas) al arbol.

En el proceso de “localizacion” de vertices nuevos, cada arista es examinada como muchodos veces (una por cada uno de sus extremos), ası que el numero de pasos en este algoritmoes52 O(|A|). Si G tiene n vertices, el numero de pasos sera O(n2).

Si el grafo es conexo, el resultado final es un arbol abarcador (con raız) de G. Si no lo

49Muchos de los algoritmos que veremos en la seccion 11.2 son variaciones de estos adaptadas a distintosproblemas (paseos mas cortos, arboles abarcadores de peso mınimo, etc.).

50Aunque este grafo serıa, en realidad, dirigido, vease la seccion 9.3.51Breadth-First Search (BFS), en la terminologıa anglosajona.52Para ser mas precisos, es O(|V |+ |A|).

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 57: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.2. Arboles 57

fuera, se detendrıa al completar un arbol abarcador de la componente conexa de G en la queestuviera emplazado el vertice inicial v1.

A2. Algoritmo de busqueda en profundidad (BP)53

Ahora procedemos de la siguiente manera: empezamos de nuevo con un cierto vertice v1y localizamos sus vecinos. Se toma uno de ellos como v2 e incorporamos la arista {v1, v2}al arbol. Entonces avanzamos a v2 y buscamos vecinos que no hayan sido ya visitados;tomamos cualquiera de ellos como v3, y ası sucesivamente. Cuando lleguemos a un verticeque no tenga vecinos nuevos que anadir, digamos vk, retrocedemos al vertice anterior, vk−1,y ahı repetimos el proceso (buscamos nuevos vecinos que anadir al arbol).

Si en algun momento del proceso nos encontramos en v1 sin sitios nuevos a donde ir(quizas hayamos pasado antes varias veces por v1, pero pudiendo anadir nuevos vertices), setermina el algoritmo. El arbol T ası generado es un arbol abarcador de la componente conexaque incluye al vertice v1. Como cada arista del grafo se utiliza, como mucho, dos veces en elalgoritmo (una en el “avance”, otra en el “retroceso”), el numero de pasos del algoritmo seraO(|A|) (o quizas O(|V |+ |A|)), lo que nos da de nuevo O(n2) si el grafo tiene n vertices.

Ilustramos las diferencias entres los dos algoritmos en el siguiente ejemplo.

Ejemplo 9.2.4 Apliquemos los algoritmos BA y BP al siguiente grafo.

1

2 3 45

6

78910

11 12 13

Empecemos, por ejemplo, con el algoritmo BP,digamos partiendo del vertice 1 (que serıa el v1).De el pasamos al 2, al 4, al 3, al 9 y al 13.

1 2 4 3 9� � � �v1 v2 v3 v4 v5

13�v6

Una vez en el vertice 13 (que es v6) vemos quetodos sus vecinos ya han sido visitados, ası que retrocedemos a v5 (el vertice 9).

Desde allı podemos visitar nuevos vecinos (obser-vemos que la arista entre 9 y 13 la recorremos en losdos sentidos, de ida y de vuelta). Por ejemplo, con el camino que mostramos a la derecha.

9 10 12 11� � �v7 v8 v9

Alno poder anadir vecinos desde el vertice 11 (v9), retrocedemos a v8, el vertice 12. Desde allıpodemos incluir al vertice 8 como v10. Y una vez en este, nos vemos obligados a retrocedera v9, v8, etc., hasta volver a v1.

Como ya no podemos anadir nuevos vertices, el al-goritmo termina. A la derecha dibujamos el arbol resul-tante, que no incluye a todos los vertices del grafo (elgrafo original no era conexo), solo a los de la componen-te conexa del vertice 1. Notese que en el proceso hemosrecorrido cada arista del arbol en ambos sentidos.

1

2 3 45

6

78910

11 12 13

53Depth-First Search (DFS), en la terminologıa anglosajona.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 58: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

58 Capıtulo 9. El lenguaje de los grafos

Vamos ahora con el algoritmo BA.

1

2 3 45

6

78910

11 12 13

De nuevo eti-quetarıamos el vertice 1 como v1, y a sus vecinos 2, 10y 11 como v2, v3 y v4, respectivamente. Una vez con-siderados todos los posibles vecinos de v1 (y anadidassus correspondientes aristas al arbol), nos movemos av2, el vertice 2; ahı anadimos a 3 como v5 y a 4 comov6. Es hora de ir al vertice v3 = 10 y anadir a 9 como

v7 y a 12 como v8. En el vertice v4 = 11 no hay vertices nuevos que considerar, pero sı enel v5 (el vertice 3): etiquetamos el 13 como v9. Desde v6 = 4 anadimos el vertice 8 como v10.Y al mirar en los vertices del v7 al v10 comprobamos que no podemos ir mas alla con el arbol.El algoritmo ha terminado y ha producido el arbol de la izquierda. De nuevo, el arbol soloabarca a los vertices de la componente conexa a la que pertenecıa el vertice 1. ♣

Ambos algoritmos, que por otro lado tienen sus ventajas y sus desventajas, en funciondel problema que se este tratando, permiten resolver eficientemente (desde el punto de vistacomputacional) la siguiente cuestion basica:

determinar si un cierto grafo G es conexo o no (comprobando si el arbol que produceel algoritmo incluye todos los vertices del grafo; esto es, si es arbol abarcador o no).

Con ligeras variaciones, permiten tambien resolver las siguientes cuestiones:

determinar componentes conexas de G (arrancando con un vertice, identificando sucomponente conexa, y repitiendo luego el proceso para vertices que no esten en ella);

determinar si G tiene o no ciclos (localizando las componentes conexas y contando lasaristas de cada una de ellas; esto es, comprobando si son arboles);

decidir si una cierta arista es puente o no del grafo (comparando el numero de com-ponentes conexas antes y despues de eliminar la arista en cuestion).

O algunas otras, algo mas sofisticadas, sobre las que no daremos los detalles:

encontrar el ciclo mas corto en el grafo G (y, por tanto, determinar cuello(G));

determinar si un grafo G es bipartito o no (utilizando la caracterizacion, en terminosde la presencia de ciclos de longitud impar del lema 9.1.12).

Por su propia estructura, ademas, el algoritmo BA permite determinar las distancias de unvertice a los demas del grafo. En la seccion 11.2.2 volveremos sobre este asunto, aunque allıen el contexto mas general de los grafos con pesos.

B. El numero de arboles abarcadores de un grafo

Que un grafo conexo tiene, en general, mas de un arbol abarcador esbastante evidente. ¿Cuantos, exactamente? Dependera, claro, del grafo con-siderado. En el que aparece dibujado a la derecha

1 2

34

a

b

c

de

nos “sobran” dos aristas.Pero no cualesquiera: por ejemplo, si quitaramos las aristas a y b, desco-nectarıamos el grafo. Encomendamos al lector la (paciente) comprobacion de que este grafotiene ocho arboles abarcadores distintos, que se muestran a continuacion:

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 59: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.2. Arboles 59

1 2

34

a

bd

1 2

34

a

c

d

1 2

34

b

c

d

1 2

34

a

b

c

1 2

34

a

c

e

1 2

34

bd e

1 2

34

a

d e

1 2

34

b

c

e

Observe el lector que la pregunta trata sobre numero de arboles distintos; es decir, el gra-fo G de partida esta etiquetado, y los arboles abarcadores llevan esas mismas etiquetas. En elejemplo anterior, las seis primeras configuraciones se corresponden con (su alma es) el grafolineal con cuatro vertices. Ahora bien, una vez que hemos determinado que hay ocho arbolesabarcadores distintos, cuales sean las etiquetas del grafo inicial es completamente irrelevan-te. Esto es, el numero de arboles abarcadores distintos de un grafo G, que en lo sucesivonombraremos como τ(G), es un invariante por isomorfıa. Determinar τ(G) es relativamentesencillo para algunas familias especiales de grafos.

Ejemplo 9.2.5 El numero de arboles abarcadores de los grafos circulares, los grafos lineales,los grafos completos. . . ¡y de los propios arboles!

Consideremos un grafo circular con n vertices, Cn, para el que |A(Cn)| = |V (Cn)|. Formarun arbol abarcador consiste, simplemente, en quitar una arista; y cualquiera de las n que hayvale para ello. Ası que Cn tiene n posibles arboles abarcadores: τ(Cn) = n

Un grafo lineal con n vertices, Ln, es ya un arbol, ası que es su propio arbol abarcador.Este es un resultado general: un arbol G tiene solo un arbol abarcador (el mismo).

Un grafo completo Kn contiene todas las aristas posibles, ası que hay tantos arbolesabarcadores como arboles con n vertices haya: es decir, τ(Kn) = nn−2, por el teorema 9.2.6de Cayley. ♣.

Ejemplo 9.2.6 ¿Cuantos arboles abarcadores distintos contiene un K2,s?

Un grafo bipartito completo K2,s, s ≥ 2,

a

b

tiene 2s aristas y s + 2 vertices.Necesitamos quitar s−1 aristas sin que se desconecte el grafo. Observese que unarbol abarcador del grafo contendra a una serie de vertices de los de la derechaconectados al vertice a y otros conectados a b. Pero ha de haber al menos unoque se conecte a ambos, para que sea conexo. Y solo uno, porque si de dos (omas) vertices a la derecha se conservaran sus dos aristas, se formarıa un ciclo.De manera que, si los vertices de la “derecha” son {1, . . . , s}, elegir un arbol

abarcador es exactamente lo mismo que escoger dos conjuntos A y B, que incluyen los verticesque comparten arista, respectivamente, con a y b en el arbol abarcador, y que cumplan queA∪B = {1, . . . , s} y |A∩B| = 1. Para contar el numero de maneras de elegir A y B, sigamosel siguiente proceso:

1) Elegimos el elemento de la interseccion (hay s posibilidades).

2) Luego basta decidir si el resto de los elementos estan en A o en B. Equivalentemente,formar una (s − 1)-lista con repeticion permitida con dos sımbolos (“estar en A” o “estaren B”). Esto se puede hacer de 2s−1 formas distintas.

Ası que τ(K2,s) = s 2s−1. ♣Quizas el lector quiera entretenerse (ejercicio 9.2.11) con el calculo del numero de arboles

abarcadores del caso K3,s siguiendo un razonamiento similar al visto para K2,s. Aunque el

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 60: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

60 Capıtulo 9. El lenguaje de los grafos

argumento combinatorio se complica en ese caso, lo que sugiere que determinar τ(Kr,s), paraun grafo bipartito general Kr,s, no es tarea sencilla. Por cierto, τ(Kr,s) resulta ser sr−1 rs−1

(vease el final del apartado).

¿Que sabemos sobre τ(G)? Veamos. Si un grafo conexo G tiene n vertices, el numero τ(G)de arboles abarcadores distintos de G puede oscilar entre 1 (si G ya es un arbol) y nn−2 (si setrata del grafo completo). Pero el valor exacto depende de la estructura particular del grafo.

Esta no es una cuestion que tenga unicamente interes teorico. Digamos, por ejemplo, queun grafo (conexo) representa una red electrica, y que estamos interesados en la fiabilidad54

de nuestra red. Esto es, si puede ser capaz de soportar la perdida de algunos tramos (aristas)sin que el fluido se interrumpa. El que el grafo tenga muchos arboles abarcadores sugiere queel sistema sera bastante robusto, y que podra sobreponerse a estas perdidas.

Figura 9.3: Kirchhoff

Estas cuestiones le interesaban, y mucho, a Kirchhoff55, que en1847 enuncio el siguiente resultado, que permite calcular algebraica-mente el numero de arboles abarcadores de un grafo arbitrario (veaseun procedimiento alternativo en el ejercicio 9.2.13).

Teorema 9.2.10 (Kirchhoff) Sea G un grafo conexo con n verti-ces, y sea M la matriz de vecindades M asociada. Consideramos lamatriz L = D −M , donde D es la matriz diagonal cuyos registrosson los grados de los vertices.

a) Llamamos L(i) a la matriz que se obtiene de L eliminando lafila y la columna i. Entonces, para cualquier i entre 1 y n,

τ(G) = det(L(i)).

b) Alternativamente,

τ(G) =1

nμ2 · · ·μn,

donde μ2, . . . , μn son los autovalores no nulos de la matriz L.

¡Pongase en pie!, querido lector56, ¡y asombrese! Estabamos con grafos, con arboles abar-cadores, y de repente, como por ensalmo, aparecen matrices y determinantes, ademas deautovalores. ¡Que cosas tienen las matematicas!

Como ya mencionamos en la seccion 9.1.5, la matriz L = D−M es conocida, en la jergahabitual de la teorıa espectral de grafos, como la matriz laplaciana del grafo. Buen momentopara que el lector revise la citada seccion57.

54Reliability, dirıa un anglosajon, que ademas sabrıa pronunciar la palabra sin trabarse.55Gustav Robert Kirchhoff (1824-1887) es uno de los padres de la teorıa de grafos. Nacio en Konigsberg, lo

que de por sı ya era bastante premonitorio (vea el lector el apartado 10.1.1). En sus estudios sobre circuitoselectricos formulo las famosas leyes de Kirchhoff, que relacionan corrientes, voltajes y resistencias, generali-zando ası las leyes de Ohm. Kirchhoff se ocupo tambien de analizar otros fenomenos fısicos, como la radiaciondel cuerpo negro, o el estudio de los espectros de los cuerpos celestes. Junto con el quımico Bunsen, diseno unode los primeros espectroscopios, con el que, por ejemplo, se descubrirıan elementos como el cesio y el rubidio.

56Si le place claro, y sobre todo si lleva toda la tarde leyendo este texto.57Si es que, quizas impresionado por el despliegue de algebra lineal que contenıa, no lo hizo en su momento.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 61: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.2. Arboles 61

Veamos. El primer enunciado del teorema 9.2.10 es, ademas de sorprendente, un tantomisterioso, por aquello de que se pueda tomar cualquier cofactor (y que todos ellos tenganel mismo valor). La segunda version, la de los autovalores, que iguala a la anterior en cuotade sorpresa, es al menos un enunciado unico: se trata multiplicar los n − 1 autovalores nonulos. ¡Aja!, de manera que L tiene autovalores no negativos, uno de ellos es 0, y el resto sonpositivos. Sı, toca revisar la seccion 9.1.5.

No vamos a dar la demostracion de este teorema. Aunque el lector con certificada habili-dad con el algebra lineal puede convencerse, en el ejercicio 9.2.14, de que los dos enunciadosdel teorema son equivalentes.

Vamos, sin mas dilacion, a poner en accion este excelso teorema. Empeza-mos con el calculo del numero de arboles abarcadores del grafo que aparece ala derecha,

1 2

34

el que abrıa este apartado y del que sabemos, tras la enumeracioncorrespondiente, que tiene ocho arboles abarcadores distintos.

Las correspondientes matrices M y D son

M =

⎛⎜⎜⎝

0 1 1 11 0 1 01 1 0 11 0 1 0

⎞⎟⎟⎠ y D =

⎛⎜⎜⎝

3 0 0 00 2 0 00 0 3 00 0 0 2

⎞⎟⎟⎠ ; ası que L =

⎛⎜⎜⎝

3 −1 −1 −1−1 2 −1 0−1 −1 3 −1−1 0 −1 2

⎞⎟⎟⎠.

Por ejemplo, el cofactor que se obtiene eliminando la primera fila y columna resulta ser

(−1)1+1

∣∣∣∣∣∣2 −1 0−1 3 −10 −1 2

∣∣∣∣∣∣ = 8 .

Compruebe el lector que los demas cofactores llevan al mismo resultado. ♣Ejemplo 9.2.7 Kirchhoff y Cayley.

Queremos contar, de nuevo, cuantos arboles abarcadores tiene un grafo completo Kn. Lasmatrices de vecindades y laplaciana, de dimensiones n× n, son en este caso:

M =

⎛⎜⎜⎜⎜⎜⎝

0 1 1 · · · 11 0 1 · · · 11 1 0 · · · 1...

......

. . ....

1 1 1 · · · 0

⎞⎟⎟⎟⎟⎟⎠ =⇒ L =

⎛⎜⎜⎜⎜⎜⎝

n− 1 − 1 −1 · · · −1−1 n− 1 −1 · · · −1−1 −1 n− 1 · · · −1...

......

. . ....

−1 −1 −1 · · · n− 1

⎞⎟⎟⎟⎟⎟⎠

Siguiendo la parte a) del teorema 9.2.10 de Kirchhoff, necesitamos calcular (por ejemplo)el determinante de la matriz de dimensiones (n − 1) × (n − 1) que hemos recuadrado en laformula anterior. Le proponemos al lector dos posibilidades. La primera pasa por que exhibasus habilidades con las operaciones de eliminacion gaussiana; el ejercicio 9.2.9 contiene unaguıa detallada de los posibles pasos. La segunda, que revise el ejemplo 8.1.16 del capıtulodedicado a las recurrencias, y la formula que obtuvimos allı para el determinante de unamatriz con unos en la diagonal y con el resto de sus entradas iguales a una cierta cantidad.Observese que el determinante que nos incumbe aquı es de ese tipo si sacamos factorescomunes n− 1 en cada fila.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 62: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

62 Capıtulo 9. El lenguaje de los grafos

Como tercera alternativa, le proponemos que deduzca el resultado de Cayley, de maneraharto directa, si es que es capaz de comprobar que los autovalores no nulos de la matriz Lvalen todos n, y que hay n − 1 de ellos (revise, si lo desea, el final del apartado 9.1.5). Dedonde se deduce, usando la parte b) del teorema 9.2.10 de Kirchhoff, que τ(Kn) = nn−2. ♣

Terminamos esta seccion mencionando dos casos particulares mas. El primero, aquel quedejamos caer, como el que no quiere la cosa, tras el ejemplo 9.2.6, y que dice que

τ(Kr,s) = sr−1 rs−1.

Y el segundo, que trata sobre el numero de arboles abarcadores del grafo Qn del cubo:

τ(Qn) =

n∏k=2

(2k)(nk).

Por ejemplo, τ(Q2) = 4, como ya sabıamos, pues Q2 es como un grafo circular C4, mientrasque τ(Q3) = 384. Para comprobar estos dos resultados, puede el lector ponerse a calculardeterminantes (en el primer caso, el del Kr,s, analizando la matriz en cajas que representa algrafo), o bien, quizas mas directamente, embarcarse en el calculo de autovalores; recomenda-mos para esto, una vez mas, el final de la seccion 9.1.5.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 63: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Versionpreliminar,

28deoctubrede2018

9.2. Arboles 63

EJERCICIOS DE LA SECCION 9.2

Sobre arboles

9.2.1 Pruebese que un grafo G es un arbol si y solo si no tiene ciclos y |A(G)| = |V (G)| − 1.

9.2.2 Pruebese que, en un arbol, y dados dos vertices suyos cualesquiera, existe un unico paseo queno repite vertices que los conecta.

9.2.3 a) ¿Existen arboles de siete vertices y con cinco vertices de grado 1 y dos de grado 2?

b) ¿Y con siete vertices de grados (1, 1, 1, 2, 2, 2, 3)?

9.2.4 Si G es arbol con p vertices de grado 1, q vertices de grado 4 y ningun otro vertice, ¿que relacionhay entre p y q? ¿Hay arboles con esos grados?

9.2.5 a) Hallese el numero de arboles distintos que se pueden formar con los vertices {1, 2, . . . , n} sii) n = 6 y cuatro vertices tienen grado 2; ii) n = 5 y exactamente tres vertices tienen grado 1.

b) ¿Cuantos arboles distintos se pueden formar con un conjunto de ocho vertices, {1, 2, 3, . . . , 8},de manera que 2 de los vertices tengan grado 4 y los 6 restantes tengan grado 1?

9.2.6 ¿Cuantos arboles con n vertices tienen los grados de todos sus vertices ≤ 2?

Pruebas del teorema de Cayley

9.2.7 En este ejercicio completamos los detalles de la demostracion del teorema 9.2.6 de Cayley dadaen el texto. Considerese la funcion gk(x) = (x+ k)k. Aplıquese el teorema del binomio y derıvese unavez para concluir que

x

kg′k(x) = x(x + k)k−1 =

k∑s=1

(k

s

)s xs kk−s−1 .

Deduzcase, finalmente, que la funcion f(m, k) = gk(m) satisface la misma regla de recurrencia quelos P (m, k) de la demostracion del teorema.

9.2.8 En este ejercicio probamos que el numero de arboles distintos con vertices {1, . . . , n} y congrados respectivos g1, . . . , gn (numeros entre 1 y n− 1 que suman 2n− 2) viene dado por(

n− 2

g1 − 1, g2 − 1, . . . , gn − 1

),

de donde se obtiene, como corolario, la formula de Cayley del teorema 9.2.6.

Sea (g1, . . . , gn) una lista de grados, ordenada por ejemplo de mayor a menor. Por comodidad,consideramos la lista (d1, . . . , dn), donde di = g1 − 1 para cada i, y llamemos N(d1, d2, . . . , dn) alnumero de arboles distintos con {1, 2, . . . , n} de grados respectivos (g1, . . . , gn).

a) Observese que si∑n

j=1 dj �= n− 2 entonces N(d1, d2, . . . , dn) = 0.

b) Pruebese la siguiente formula de recurrencia:

N(d1, d2, . . . , dn−1, 0) = N(d1−1, d2, . . . , dn−1)+N(d1, d2−1, . . . , dn−1)+· · ·+N(d1, d2, . . . , dn−1 − 1) ,

donde en la suma anterior el termino i-esimo no aparece si di = 0.

c) Deduzcase que si∑n

j=1 dj = n− 2, entonces N(d1, d2, . . . , dn) =(

n−2d1,d2,...,dn

).

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 64: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Versionpreliminar,

28deoctubrede2018

64 Capıtulo 9. El lenguaje de los grafos

d) Obtengase finalmente la formula de Cayley del teorema 9.2.6.

9.2.9 En este ejercicio completamos los detalles de la demostracion del teorema de Cayley queiniciamos en el ejemplo 9.2.7. Queremos calcular el determinante de dimensiones (n−1)× (n−1) queaparece debajo de estas lıneas, mas a la izquierda. Las habituales operaciones de eliminacion gaussianano cambian el valor de este determinante. Sustituyase cada columna, de la segunda a la ultima, porla resta de ella misma con la primera para el paso (1) y saquense factores comunes para el paso (2):

∣∣∣∣∣∣∣∣∣∣∣

n−1 −1 −1 · · · −1−1 n−1 −1 · · · −1−1 −1 n−1 · · · −1...

......

. . ....

−1 −1 −1 · · · n−1

∣∣∣∣∣∣∣∣∣∣∣

(1)=

∣∣∣∣∣∣∣∣∣∣∣

n−1 −n −n · · · −n−1 n 0 · · · 0−1 0 n · · · 0...

......

. . ....

−1 0 0 · · · n

∣∣∣∣∣∣∣∣∣∣∣

(2)= nn−2

∣∣∣∣∣∣∣∣∣∣∣

n−1 −1 −1 · · · −1−1 1 0 · · · 0−1 0 1 · · · 0...

......

. . ....

−1 0 0 · · · 1

∣∣∣∣∣∣∣∣∣∣∣

Finalmente, sumesele a la primera columna las restantes para comprobar que el determinante mas ala derecha vale exactamente 1. Deduzcase la formula de Cayley.

Arboles abarcadores

9.2.10 Sean G y H dos grafos con conjunto de vertices {1, . . . , n}. Compruebese que si A(G) ⊆ A(H),entonces el H tiene, al menos, tantos arboles abarcadores como G.

9.2.11 Calculese el numero de arboles abarcadores distintos de un grafo isomorfo a K3,s.

9.2.12 Consideremos el grafo con 2n + 1 vertices y 3n aristas formado por n triangulos que tienenexactamente un vertice comun. ¿Cuantos arboles abarcadores distintos tiene?

9.2.13 Consideremos un grafo G y llamemos τ(G) al numero de arboles abarcadores que tiene.Fijemonos en una arista a del grafo G. Llamemos G \ {a} al grafo que queda al eliminar esa aristay Ga al que se obtiene al identificar los vertices extremos de la arista a. Compruebese que

τ(G) = τ(G \ {a}) + τ(Ga)

La expresion anterior deviene en regla de calculo de τ(G) sin mas que observar que los grafos G \ {a}y Ga tienen menos aristas (y Ga menos vertices) que G. Quizas el lector quiera consultar la discusionsobre el calculo del polinomio cromatico de un grafo de la seccion 10.2.3.

9.2.14 En este ejercicio de algebra lineal comprobamos la equivalencia entre los dos enunciados delteorema 9.2.10 de Kirchhoff.

Sea A una matriz n× n,

A =

⎛⎜⎜⎜⎝

a1,1 · · · a1,n−1 a1,n...

. . ....

...an−1,1 · · · an−1,n−1 an−1,n

a1,n · · · an,n−1 an,n

⎞⎟⎟⎟⎠

tal que sus filas y columnas suman 0. Llamemos A0 a la matriz, senalada arriba, que contiene las n−1primeras filas y columnas. El objetivo es determinar el coeficiente de λ en el polinomio caracterısticode M ,

pM (λ) = det(M − λI) = det

⎛⎜⎜⎜⎝

a1,1 − λ · · · a1,n−1 a1,n...

. . ....

...an−1,1 · · · an−1,n−1 − λ an−1,n

a1,n · · · an,n−1 an,n − λ

⎞⎟⎟⎟⎠

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 65: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.2. Arboles 65

a) Observese primero que el termino independiente del polinomio pM (λ) es det(M). Notese que,como las filas suman 0, λ = 0 es un autovalor de M , con autovector (1, . . . , 1), de manera que M noes invertible y det(M) = 0.

b) Usando las operaciones de eliminacion gaussiana habituales, compruebese que el coeficiente deλ en pM (λ) es − det(B(0)), donde

B(λ) =

⎛⎜⎜⎜⎝

a1,1 − λ · · · a1,n−1 a1,n...

. . ....

...an−1,1 · · · an−1,n−1 − λ an−1,n

1 · · · 1 1

⎞⎟⎟⎟⎠

(sugerencia: sumense todas las filas de M − λI a la ultima y saquese un factor comun).

c) Compruebese, usando de nuevo operaciones de eliminacion gaussiana, que det(B(0)) = n det(M0)(sugerencia: sumar todas las columnas de N(0) a la ultima).

d) Deduzcase que el coeficiente de λ en pM (λ) vale −n det(A0).

e) Convenzase el lector de que se obtiene el mismo resultado si en lugar de argumentar con A0 lohubieramos hecho con cualquier otra matriz obtenida de A quitando una fila y una columna, es decir,para cualquier menor de A.

f) Llamemos μ1, μ2 . . . , μn a los autovalores de A, donde μ1 = 0. Deduzcase que el coeficiente de λen pM (λ) se puede escribir como −μ2 · · ·μn.

g) Compruebese finalmente que la matriz laplaciana de un grafo G conexo esta en las condicionesiniciales del ejercicio y deduzcase la equivalencia entre las dos formulaciones del teorema 9.2.10 deKirchhoff.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 66: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

66 Capıtulo 9. El lenguaje de los grafos

9.3. Grafos dirigidos

En muchas de las aplicaciones del lenguaje de los grafos, resulta natural asociar un sen-tido58 u orientacion a cada una de las aristas. Podrıa ser una red de calles de una ciudad,algunas con un unico sentido de circulacion, otras con circulacion permitida en los dos senti-dos; o internet y sus enlaces entre paginas; o artıculos de investigacion que citan otros, o. . .

Esta seccion esta dedicada a formalizar la nocion de grafo dirigido y a describir sussimilitudes y diferencias con los grafos habituales. Aquı, entre dos vertices u y v,

u v

a�

u v

aen lugar de consideramos

u v

ao bien �

o quizas incluso ambas aristas. Observe el lector que dar un sentido a una arista requieredecidir que extremo es el vertice inicial, es decir, ordenar el par de vertices.

Definicion 9.3.1 Un grafo dirigido (o digrafo) D = (V,A) esta formado por un conjun-to V de vertices y un conjunto A de aristas extraıdo de la coleccion de pares ordenados deelementos de V . Una arista de D es, pues, una lista (u, v), con u, v ∈ V , u �= v.

Note el lector la diferencia con la definicion 9.1.1 de la nocion habitual de grafo. Aquı,las aristas son pares ordenados, es decir, listas, en lugar de los 2-subconjuntos habituales.

Para contar el numero de grafos dirigidos distintos que hay con vertices V = {1, 2, . . . , n},observamos primero que hay tantos pares ordenados con los n vertices como

# {listas sin repeticion de longitud 2 extraıdas de {1, . . . , n}} = n(n− 1) .

Ası que el numero de grafos dirigidos (sin lazos) con V como conjunto de vertices es igual a

# {subconjuntos de {1, . . . , n(n− 1)}} = 2n(n−1) ,

que son muchos mas, claro, que los 2(n2) grafos sin dirigir: una cantidad es el cuadrado de la

otra. Por ejemplo, con seis vertices hay 32 768 grafos distintos, pero mas de mil millones degrafos dirigidos distintos.

En ocasiones convendra anadir la posibilidad de incluir lazos, en cuyo caso se modificarıala definicion 9.3.1 para permitir la presencia de aristas del tipo (u, u), con u ∈ V . En estecaso, tendrıamos hasta 2n

2posibles grafos dirigidos con n vertices.

Si tomamos V = {1, 2, 3, 4}, el conjunto de las 12 posibles aristas serıa

P = {(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)}.El de posibles lazos, si es que interesara considerarlos, serıa L =

{(1, 1), (2, 2), (3, 3), (4, 4)}. Para formar un grafo dirigido tomamos al-gunos elementos de P (si ademas permitieramos lazos, algunos de L).La eleccion de aristas A(D) = {(1, 2), (1, 3), (3, 1), (3, 4)} da lugar algrafo dirigido que aparece a la izquierda.

1 2

3 4��

� �

58En espanol es habitual usar los terminos “direccion” y “sentido” indistintamente. Y aunque “sentido” esmas correcto, hablamos de “grafos dirigidos”, porque lo de hablar grafos “con” y “sin sentido”, como que no.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 67: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.3. Grafos dirigidos 67

Si hay n vertices, digamos {v1, . . . , vn}, podremos repre-sentar cada grafo dirigido por su matriz de vecindades M , dedimensiones n×n,

v1 v2 v3 · · · vnv1 0 1 1 · · · 1v2 0 0 1 · · · 1v3 0 1 0 · · · 0...

......

.... . .

...vn 0 0 0 · · · 0

en la que: 1) en las posiciones (vi, vi), pa-ra cada i = 1, . . . , n, aparecen ceros (si permitieramos lazos,podrıan aparecer unos); y 2) en la posicion (vi, vj), con i �= j,ponemos un 1 si (vi, vj) ∈ A, y un 0 en caso contrario. Ob-servemos que, como en el ejemplo de la izquierda, el sımbolo

de la posicion (vi, vj) no tiene por que coincidir con el de la posicion (vj , vi).

Ası que los grafos dirigidos (con lazos) son una forma de representar relaciones binariasgenerales (revısese la seccion 5.5). Esta es otra de las razones que justifica su estudio. Re-cordemos que los grafos habituales se corresponden con relaciones simetricas. Permıtanos ellector insistir sobre el asunto en el siguiente esquema:

Grafo simple(sin lazos)

⇐⇒ Matriz simetrica de ceros y unoscon ceros en la diagonal

⇐⇒ Relacion simetrica entre loselementos del conjunto V

Grafo dirigidosimple (sin lazos)

⇐⇒ Matriz de ceros y unoscon ceros en la diagonal

⇐⇒ Relacion entre los elementosdel conjunto V

Si permitimos lazos, entonces el lector59 ha de eliminar la condicion “con ceros en ladiagonal” en los dos tipos de matrices. Recuerde tambien que la relacion sera reflexiva siel grafo contiene todos los lazos posibles. En el apartado B de esta seccion utilizaremos ellenguaje de los grafos dirigidos para obtener, por ejemplo, un procedimiento que permitedecidir si una relacion es transitiva o no.

Dado un vertice v de un grafo dirigido, tendremos unas cuantas aristas que parten deel, y otras que llegan a el. Esto sugiere distinguir entre el grado “entrante” al vertice v (elnumero de aristas que en las que v es el segundo elemento del par),

gradoin(v) = #{a ∈ A : a = (w, v) para cierto w ∈ V }

y el grado “saliente” (el numero de aristas que en las que v es el primer elemento del par):

gradoout(v) = #{e ∈ A : a = (v,w) para cierto w ∈ V } .

Disculpe, por cierto, el lector el uso de los tipograficamente economicos subındices in y outen las definiciones anteriores60.

El gradoin(v) se calcula sumando las entradas de la columna de la matriz M etiquetadacon v; el gradoout(v) se calcula sumando su fila. Cada lazo, observese, suma un 1 al gradoentrante, y otro 1 al grado saliente.

La formula de los grado es ahora

2|A| =∑v∈V

gradoin(v) +∑v∈V

gradoout(v) .

59Y cualquier otra persona en su sano juicio.60Pero, ¿es que in y out no son terminos castellanos?

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 68: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

68 Capıtulo 9. El lenguaje de los grafos

En el grafo dirigido que dibujamos a la de-recha,

v1 v2

v3v4

v5

v1 v2 v3 v4 v5v1 1 0 0 0 1

v2 0 0 0 1 0

v3 0 0 1 0 1

v4 0 0 1 0 1

v5 1 1 0 0 0

� �

��

que consta de nueve aristas, incluyendodos lazos, el vertice v5 tiene grado entrante 3 (elnumero de unos que hay en su columna), pues lellegan aristas desde v1, v3 y v4; y grado saliente 2(el numero de unos de su fila), pues de el partenaristas hacia v1 y v2. Observese que, por ejemplo, el lazo del vertice v1 aporta un 1 tanto algrado entrante como al saliente.

A. Conexion en grafos dirigidos

Un paseo de v0 a vm en un grafo dirigido es una sucesion finita de vertices de V :

v0, v1, v2, . . . , vm (pueden repetirse)

de forma que (vi−1, vi) ∈ A, para cada i = 1, . . . ,m. Notese que exigimos que cada parordenado (vi−1, vi) sea una arista del grafo dirigido. De manera que un paseo en un grafodirigido consiste en recorrer aristas del grafo en los sentidos permitidos.

Decimos que un paseo como el que escribimos antes “conec-ta” el vertice v0 con el vertice vm, pero ahora, a diferencia delo que ocurrıa con los grafos habituales, no tiene por que “co-nectar” vm con v0. Los paseos en un grafo dirigido no tienenpor que ser “reversibles”. Vea el lector como, en el digrafo de laderecha,

v1

v2

v5

v3

v4

existen diversos paseos que conectan v1 con v3, pero no hay manera de conectarlosen el otro sentido.

Esto obliga a definir mas cuidadosamente la nocion de conexion en un grafo dirigido.De hecho, a distinguir dos tipos de conexion. La primera de ellas se cine estrictamente a ladefinicion de paseo que se dio antes:

• Un grafo dirigido sera fuertemente conexo si, para cada par de vertices v y w delgrafo, existe un paseo de v a w.

Hay una segundo nocion de “conexion” en un grafo dirigido, no tan exigente como laanterior, que solo atiende al grafo asociado que se obtiene sustituyendo cada arista dirigidapor una arista sin direccion (en general, sera un multigrafo, pues al borrar los sentidos puedenquedar aristas dobles):

Un grafo dirigido sera debilmente conexo si el (multi)grafo subyacente es conexo.

Por ejemplo, cuando analicemos la cuestion de los grafos dirigidos “eulerianos” (vease laseccion 10.1.1), bastara considerar la version debil.

El uso de los adjetivos “debil” y “fuerte”, por otra parte muy habitual en matematicas, esaquı bien preciso: si un grafo dirigido es fuertemente conexo, entonces es debilmente conexo,pues al quitar los sentidos61 de las aristas que forman los paseos que garantizan la conexionfuerte, se tiene conexion en el grafo subyacente.

61Avisamos de que hay cosas mucho mas placenteras que este trivial ejercicio para “quitar el sentıo”.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 69: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.3. Grafos dirigidos 69

Pero no necesariamente al reves. La condicion de ser fuer-temente conexo es, no podıa ser de otro modo, mas “fuerte”(exigente) que la otra. El grafo dirigido D1 que dibujamosa la izquierda (arriba) es debilmente conexo, porque el gra-fo G1 asociado es conexo. Pero no es fuertemente conexo (porejemplo, no hay paseo que conecte el vertice 4 con el verti-ce 1). Sin embargo, el grafo dirigido D2 sı que es fuertemente(y, por tanto, debilmente) conexo.

1 2

3 4��

� 1 2

3 4

D1 G1

��

��

��

1

2

3 4D2

B. Matriz de vecindades, numero de paseos y transitividad

En un conjunto V = {v1, . . . , vn} tenemos definida una relacion binaria R. Ya sabemosque esa relacion se puede representar con un grafo dirigido D (quizas con lazos), o con lamatriz M de vecindades del grafo, que tiene dimensiones n× n y cuyos registros son ceros ounos. En concreto, para cada vi, vj ∈ V , se tiene que viR vj si y solo si (vi, vj) es una aristade D.

Pretendemos ahora extraer informacion ciertas propiedades de la relacion inspeccionandola matriz M , o el grafo dirigido asociado. Las propiedades que nos interesan son, claro, lareflexividad, simetrıa o antisimetrıa, y la transitividad.

Veamos. La comprobacion de la reflexividad es directa: R sera reflexiva si y solo si en elgrafo estan presentes todos los lazos posibles; esto es, si todas las entradas de la diagonal dela matriz de vecindades son 1.

Por otro lado, la simetrıa o antisimetrıa de la relacion R se corresponde exactamente conla simetrıa o la antisimetrıa de la matriz.

Pero, ¿y la transitividad? Parece mas difıcil de comprobar. Vamos a ver ahora un criteriosencillo para determinar si R es una relacion transitiva o no.

SeaM la matriz de vecindades correspondiente a la ordenacion (v1, v2, . . . , vn) de los verti-ces del grafo dirigido D asociado a la relacion R, y llamemos mij a sus entradas. Llamemos,

para cada a ≥ 1, m(a)ij a las entradas de la matriz Ma.

Resulta entonces que m(a)ij cuenta el numero de paseos de longitud a entre los vertices vi

y vj. Esto ya lo vimos para los grafos habituales (teorema 9.1.15). El lector podra comprobarsin esfuerzo, siguiendo las lıneas de la demostracion que allı expusimos, que este resultadosigue siendo valido en el caso de grafos dirigidos (en realidad es tambien valido si consideramoslazos, o si tenemos un multigrafo).

De esta observacion se deduce que:

Teorema 9.3.2 La relacion R es transitiva si y solamente si se cumple que, para cada1 ≤ i, j ≤ n,

m(2)ij �= 0 =⇒ mij �= 0.

Ası que, para determinar si la relacion es transitiva, debemos simplemente comprobarque la matriz M2 no tiene entradas no nulas “nuevas” con respecto a M . Si R es transitiva,

a cada entrada mij de M que sea 0 le corresponde una entrada m(2)ij en M2 tambien nula.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 70: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

70 Capıtulo 9. El lenguaje de los grafos

Demostracion. Comprobaremos las dos implicaciones simultaneamente. La relacion R estransitiva si y solo si, para cualesquiera vi, vj se cumple que

() si existe vk tal que viR vk y vkRvj , entonces vi R vj .

La clausula de la izquierda equivale a que existe, en el grafo, algun camino de longitud 2

entre los vertices vi y vj ; es decir, que m(2)ij �= 0. Por otra parte, la clausula de la derecha es

equivalente a que mij �= 0. �

Como ejemplo numerico, comprobemos que la relacionR definida en el conjunto {a, b, c, d}que se representa en el grafo dirigido de la izquierda, y cuya matriz M (para la ordenacionde vertices (a, b, c, d)) se escribe justo despues, es transitiva.

a

b

c

d

� �

�� M =

⎛⎜⎜⎝

1 0 0 11 1 0 11 1 1 10 0 0 1

⎞⎟⎟⎠ M2 =

⎛⎜⎜⎝

1 0 0 22 1 0 33 2 1 40 0 0 1

⎞⎟⎟⎠

Observe el lector que las entradas nulas de M2 estan en las mismas posiciones que lasentradas nulas de M . Y piense cuan laborioso habrıa sido comprobar la transitividad aten-diendo a la definicion () de mas arriba. Sin embargo, la relacion dibujada debajo de estaslıneas no es transitiva, pues c esta relacionado con b, b con d, pero c no esta relacionadocon d. Lo que tambien se comprueba observando que la posicion (3, 4) es un 0 en M , peroun 2 en M2.

a

b

c

d

�� M =

⎛⎜⎜⎝

1 0 0 11 1 0 11 1 1 00 0 0 1

⎞⎟⎟⎠ M2 =

⎛⎜⎜⎝

1 0 0 22 1 0 33 2 1 20 0 0 1

⎞⎟⎟⎠

C. Ordenando con autovectores

Concluimos este capıtulo analizando, con el lenguaje de la teorıa de grafos y el algebralineal, una cuestion relacionada con la elaboracion de rankings, es decir, de ordenaciones, porejemplo de mayor a menor, de ciertos objetos atendiendo a su valor, importancia o relevancia.Aunque la cuestion se puede plantear en diversos contextos, centraremos la discusion en lacuestion de como asignar relevancia a las distintas paginas web de la red.

Veamos. Internet esta constituida por un numero enorme, quizas miles de millones, depaginas, con sus contenidos (textos, archivos) y sus enlaces (hipervınculos). Digamos queestas paginas son P1, . . . , Pn. Nos interesarıa disponer de una ordenacion de estas paginasen funcion de cuan relevante resulta ser la informacion que contienen. Una manera de haceresto serıa asignar a las paginas P1, . . . , Pn unos numeros x1, . . . , xn, que llamaremos susimportancias, y que para normalizar podemos suponer que estan entre 0 y 1, de manera

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 71: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.3. Grafos dirigidos 71

que las paginas mas relevantes tuvieran importancia alta, cercana a 1. Por supuesto, estaasignacion deberıa seguir algun criterio razonable, que luego discutiremos.

Esta ordenacion previa resulta fundamental para el diseno de buscadores de la red, delos que Google es el ejemplo paradigmatico. Veamos por que. Digamos que, al introducir untermino, el motor de busqueda localiza, digamos 10 000 paginas cuyo contenido esta relacio-nado, de una manera u otra, con el termino buscado. Ahora, ¿en que orden debe exhibiresos resultados? Se trata de una cuestion crucial: uno desearıa que (en la mayor parte de lasocasiones) las paginas que contienen informacion relevante aparecieran, digamos, entre lasdiez primeras que se muestren. Si se dispusiera de ese ranking previo, podrıa utilizarse paramostrar las paginas seleccionadas justamente en el orden que indica el ranking general.

Pero, ¿como construir esa ordenacion? Veamos una posible estrategia.

mij

Pj

Pi�

P1�

Pn�

P1

PnPara cada pagina Pi, conocemos que paginas

tienen un enlace hacia ella. Codificamos todos es-tos datos con una (gigantesca) matriz M , de di-mensiones n× n, formada por ceros y unos, cuyaentrada mij vale 1 si es que hay un enlace desdela pagina Pj a Pi, y vale 0 en caso contrario. Lamatriz M es la traspuesta de la matriz de vecin-dades del enorme grafo (dirigido) de la red, dondecada vertice es una pagina de la red, y las aristas(orientadas) representan los enlaces entre ellas.Tal como esta dispuesta, la suma de las entradasde una fila i es el numero de paginas que apuntan

a la pagina Pi, esto es, el grado entrante al vertice Pi en el grafo. La suma de la columna jda el grado saliente del vertice Pj .

Parece razonable pensar que el numero de enlaces que recibe una pagina da una ideade su importancia: una especie de sistema electoral62, donde los creadores de paginas votanpor paginas que consideran relevantes estableciendo el enlace correspondiente. Y por tanto,podrıamos decidir que la importancia xi de una pagina Pi fuera proporcional al numero depaginas que enlazan con Pi. Esto es, a su grado entrante. La asignacion de importancias,como puede ver el lector, es en este caso bien sencilla de obtener.

El modelo tiene algunos inconvenientes. Por ejemplo, podrıa asignar poca importancia apaginas que, aunque son poco citadas, lo son desde sitio que a todas luces son muy relevantes(por ejemplo, desde Amazon, o desde Microsoft). Y, ademas, es bastante vulnerable a posiblesmanipulaciones: alguien podrıa crear un numero grande de paginas cuya unica funcion fueraenlazar a la propia y subir ası su importancia.

Para solventar estas dificultades, proponemos, alternativamente, que la importancia deuna pagina sea proporcional a la suma de importancias de las paginas desde donde sea citado.Ası, si la suma tiene muchos sumandos, aunque pequenos, el resultado puede ser un numeroalto. Pero tambien puede serlo, aunque haya pocos sumandos, si son grandes. Ademas, la

62En este sentido, es habitual y conveniente modificar M (normalizando sus columnas) para obtener unamatriz M ′ en la que la suma de las entradas de cada columna sea 1, de manera que cada pagina dispone deun voto, que reparte entre sus enlaces salientes.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 72: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

72 Capıtulo 9. El lenguaje de los grafos

posible creacion de paginas “fantasma” ya no serıa tan eficaz, pues estas tendrıan escasaimportancia. Matematicamente, esto supone que, para cada i = 1, . . . , n,

xi = K

n∑j=1

mij xj , (donde K es cierta constante de proporcionalidad).

Como mij es 0 si no hay enlace de Pj a Pi, solo sumamos las importancias de las paginasque realmente enlazan con Pi. En terminos matriciales, tenemos⎛

⎜⎝x1...xn

⎞⎟⎠ = K

⎛⎝ M

⎞⎠

⎛⎜⎝

x1...xn

⎞⎟⎠ , esto es, Mx = λx ,

si llamamos x al vector columna de importancias y λ = 1/K.

La cuestion deviene entonces en un problema de autovalores y autovectores, con el ingre-diente adicional de que, si pretendemos utilizar un autovector x para ordenar, sus entradasdeberıan ser numeros reales no negativos, o al menos del mismo signo (recuerdese que si xes un autovector, −x tambien lo es). Y, ademas, querrıamos que solo hubiera un autovectorcon esas caracterısticas, porque de lo contrario se podrıan generar rankings distintos.

Parecen demasiadas exigencias. Como la matriz M no es en general simetrica, no tenemosla precisa informacion sobre diagonalizacion y autovalores de la seccion 9.1.5; apenas sabemosque sus entradas son ceros y unos. Ası que la matriz no sera necesariamente diagonalizable, susautovalores seran reales o quizas complejos, los autovectores asociados tambien. . . Y nosotrosbuscamos uno, y solo uno, con unas propiedades especiales. Antes de seguir analizando lacuestion, veamos un ejemplo en un contexto algo distinto al de los buscadores de la red.

Ejemplo 9.3.1 Seis equipos, E1, . . . , E6, disputan una competicion, que consta de 21 par-tidos en total. Estan divididos en dos grupos, E1, E2, E3 por un lado, y E4, E5, E6 por otro.Cada equipo juega 6 partidos contra los de su mismo grupo, y 3 contra los del otro. Una vezconocidos los resultados de los enfrentamientos, ¿como podemos ordenarlos?

El lector familiarizado con la liga de baloncesto de la NBA (o las competiciones uni-versitarias) sabra que los equipos se agrupan en “conferencias”, que a su vez constan de“divisiones”. Cada equipo disputa un numero fijo de partidos, pero juega mas partidos con-tra equipos de la propia conferencia. Podrıa ocurrir que un equipo hubiera acumulado muchasvictorias simplemente por encontrarse en una conferencia formada por equipos muy debiles.Para la ordenacion que decidira que equipos pasan a las eliminatorias por el tıtulo, ¿debenvaler todas las victorias por igual? ¿Cual serıa la ordenacion mas justa?

E1 E2 E3 E4 E5 E6

E1 − 3/21 0/21 0/21 1/21 2/21 → 6/21

E2 3/21 − 2/21 2/21 2/21 1/21 → 10/21

E3 6/21 4/21 − 2/21 1/21 1/21 → 14/21

E4 3/21 1/21 1/21 − 2/21 2/21 → 9/21

E5 2/21 1/21 2/21 4/21 − 2/21 → 11/21

E6 1/21 2/21 2/21 4/21 4/21 − → 13/21

Formemos una matriz con los re-sultados de los partidos disputados,donde cada entrada aij es el cocienteentre el numero de victorias del equi-po Ei sobre el Ej y el numero de par-tidos disputados por Ei. A la izquier-da mostramos una posible matriz deresultados.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 73: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

9.3. Grafos dirigidos 73

Sumando por filas, obtenemos la proporcion de victorias de cada equipo. A la vista deestos resultados, el orden es E3 → E6 → E5 → E2 → E4 → E1. Pero observemos que, porejemplo, E3 ha acumulado muchas victorias contra E1, que es el peor equipo.

Con ayuda de algun paquete matematico de calculo, el lector podra obtener los autovaloresy autovectores de la matriz. De los seis autovalores distintos que tiene, uno de ellos, λ = 9.97,es el mayor (en modulo). Y el autovector asociado, x = (0.509, 0.746, 0.928, 0.690, 0.840, 1),es el unico cuyas entradas son todas numeros reales y no negativos. Este autovector sugiereuna ordenacion alternativa: E6 → E3 → E5 → E2 → E4 → E1, que difiere del anterior en losdos primeros (ahora E6 es el mejor equipo). ♣

¡Vaya!, pues al menos en este ejemplo, todo funciona esplendidamente: un unico autovectorcon las propiedades requeridas. ¿Sera ası en general? Porque si lo fuera, podrıamos aplicaresta idea a la ordenacion de los resultados de busquedas en la red63.

A nuestro rescate llega un teorema, otro de esos resultados maravillosos y fascinantes,casi increıbles, que merecen ponerse en pie64 y que da respuesta a la cuestion. Se debe a losmatematicos alemanes Oskar Perron65 y Ferdinand Frobenius66.

Teorema 9.3.3 (Perron-Frobenius) Si A es una matriz cuyas entradas son numeros nonegativos, entonces, asociado a un autovalor positivo, existe un autovector v cuyas entradasson no negativas. Si ademas A es irreducible, ese autovector es unico y esta asociado a unautovalor simple, positivo y mayor (en modulo) que todos los demas.

Este teorema garantiza la existencia de un (unico) autovector con entradas del mismosigno, siempre que la matriz cumpla unas condiciones adicionales. Una matriz A se dice irre-ducible si no existe ninguna permutacion que transforma A en una matriz del tipo

(A11 00 A22

),

donde A11 y A22 son matrices cuadradas. En el caso que nos ocupa, en el que M es la matrizde vecindades de un grafo dirigido, esto equivale a que el grafo sea fuertemente conexo.

Quedan dos cuestiones pendientes. Por un lado, el grafo de internet no es fuertementeconexo, ası que para el no se cumplen las hipotesis del teorema anterior. Para solventar es-te inconveniente, se suele modificar la matriz M , sustituyendo los ceros por numeros muypequenos, de manera que la matriz resultante sea irreducible. Por otro, la cuestion compu-tacional: dado que el grafo de internet es descomunal, ¿como se puede obtener, siquieranumericamente, ese autovector especial? Aquı, la propia estructura del problema viene ennuestra ayuda, pues al estar asociado al mayor autovalor (dominante, en la jerga), existenmetodos numericos (como el metodo de las potencias) que permiten calcularlo eficazmente.

63Como hace el algoritmo PageRank de Google, disenado por los creadores del buscador, Sergey Brin yLawrence Page, alla por 1998 en la Universidad de Stanford, donde estudiaban ambos.

64¡Ah!, ¿que no se sento desde Kirchhoff?65Oskar Perron (1880-1975), todo un ejemplo de longevidad matematica, trabajo en campos tan diversos

como el analisis, las ecuaciones diferenciales, el algebra, la geometrıa, la teorıa de numeros, etc., en los quepublico algunos textos que se convertirıan en clasicos.

66Ferdinand Georg Frobenius (1849-1917) formo parte de la Escuela de Berlin, que lidero el mundo de lasmatematicas durante el final del siglo XIX y principios del XX, junto con Kronecker, Kummer o Weierstrass(quien fue su director de tesis). Estricta escuela prusiana: rigor, tradicion, un matematico “puro”, sin con-cesiones a la matematica aplicada. El caprichoso curso de la Historia harıa, sin embargo, que muchas de susideas sobre representaciones de grupos finitos acabaran sirviendo como base de la mecanica cuantica.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez

Page 74: El lenguaje de los grafos onpreliminar,28deoctubrede2018verso.mat.uam.es/~pablo.fernandez/cap9-oct18.pdf · 3) Construcci´on de redes. Se busca conectar una serie de ciudades mediante,

Version

preliminar,28

deoctubre

de2018

74 Capıtulo 9. El lenguaje de los grafos

EJERCICIOS DE LA SECCION 9.3

9.3.1 Siete estudiantes se van de vacaciones y deciden que cada uno escribira una tarjeta a los otrostres. ¿Es posible que cada uno de ellos reciba tarjetas de exactamente los tres a los que ha escrito?

9.3.2 Sea A una matriz 3× 3 cuyas entradas son no negativas. Vamos a comprobar la existencia deun autovector r con entradas no negativas (lo que denotaremos, con cierto abuso de notacion, comor ≥ 0). Observese que si x ≥ 0, entonces Ax ≥ 0 (A manda el octante positivo de R3 en sı mismo).

a) Consideremos la aplicacion lineal B(x) = Ax/‖Ax‖. Compruebese que manda el conjunto{x ∈ R3 : x ≥ 0, ‖x‖ = 1} en sı mismo.

b) Deduzcase, utilizando el teorema del punto fijo de Brower, que existe r ≥ 0, con ‖r‖ = 1, parael que B(r) = r. Compruebese, finalmente, que r es un autovector de A con entradas no negativas,que corresponde a un autovalor positivo.

9.3.3 Los autovalores de una matriz A son λ1, . . . , λn. El autovalor λ1 es simple y mayor, en modulo,que todos los demas (en la jerga, el autovalor dominante). Sea r el autovector asociado. Pruebese que

lımk→∞

Akr0‖Akr0‖ = r para un cierto r0.

el discreto encanto de la matematica – 28 de octubre de 2018 – pablo fernandez y jose l. fernandez