Está en la página 1de 215

Matemática Discreta

Dr. Juan Alberto Rodrı́guez Velázquez


Departament d’Enginyeria Informàtica i Matemàtiques
Universitat Rovira i Virgili
Índice general

1. Principios Básicos de Combinatoria 1


1.1. Principio de las cajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Principio de la adición y principio de la multiplicación . . . . . . . . . . . 2
1.3. Principio de inclusión-exclusión . . . . . . . . . . . . . . . . . . . . . . . 5
1.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. Conteo de Muestras 10
2.1. Muestras ordenadas sin repetición . . . . . . . . . . . . . . . . . . . . . . 10
2.2. Permutaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Muestras ordenadas con repetición . . . . . . . . . . . . . . . . . . . . . 12
2.4. Muestras no ordenadas sin repetición . . . . . . . . . . . . . . . . . . . . 12
2.5. Propiedades de los números binomiales . . . . . . . . . . . . . . . . . . . 14
2.6. Muestras no ordenadas con repetición . . . . . . . . . . . . . . . . . . . . 16
2.7. Número de particiones de un conjunto . . . . . . . . . . . . . . . . . . . 18
2.8. Particiones ordenadas: números multinomiales . . . . . . . . . . . . . . . 19
2.9. Problema de los desarreglos . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.10. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3. Funciones Generadoras 39
3.1. Método de las funciones generadoras . . . . . . . . . . . . . . . . . . . . 39
3.2. Técnicas de cálculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4. Ecuaciones recurrentes lineales 53


4.1. Introducción a las recurrencias lineales . . . . . . . . . . . . . . . . . . . 53
4.2. Recurrencias lineales de orden uno . . . . . . . . . . . . . . . . . . . . . 55
4.3. Recurrencias lineales de orden superior a uno . . . . . . . . . . . . . . . . 56
4.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5. Grafos: Conceptos Básicos 74


5.1. Conceptos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2. Fórmula de los grados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3. Algunas familias de grafos . . . . . . . . . . . . . . . . . . . . . . . . . . 81

ii
5.4. Grafos bipartitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.5. Secuencias gráficas. Teorema de Havel-Hakimi . . . . . . . . . . . . . . . 83
5.6. Grafos isomorfos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.7. Multigrafos, pseudografos, hipergrafos y digrafos . . . . . . . . . . . . . . 91
5.8. Representación matricial de grafos. Listas de adyacencias . . . . . . . . . 94

6. Operaciones con Grafos 99


6.1. Operaciones elementales . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2. Subgrafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.3. Complemento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.4. Grafo Lı́nea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.5. Unión de grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.6. Suma de grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.7. Producto cartesiano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.8. Producto fuerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.9. Producto corona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

7. Recorridos y conectividad 115


7.1. Conceptos y resultados básicos . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2. Grafos conexos. Componentes conexas . . . . . . . . . . . . . . . . . . . 118
7.3. Algoritmos de exploración de grafos . . . . . . . . . . . . . . . . . . . . . 121
7.4. Árbol generador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

8. Distancias en grafos 133


8.1. Conceptos y resultados básicos . . . . . . . . . . . . . . . . . . . . . . . . 133
8.2. Distancias y grafos bipartitos . . . . . . . . . . . . . . . . . . . . . . . . 138
8.3. El problema del camino mı́nimo . . . . . . . . . . . . . . . . . . . . . . . 140

9. Árboles 159
9.1. Árboles: conceptos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . 159
9.2. Árbol generador minimal . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
9.3. Exploración de árboles binarios . . . . . . . . . . . . . . . . . . . . . . . 169

10.Grafos eulerianos y grafos hamiltonianos 174


10.1. Grafos eulerianos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
10.2. Grafos hamiltonianos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

11.Grafos planares 185


11.1. Grafos planos y planares. Fórmula de Euler . . . . . . . . . . . . . . . . 185
11.2. Caracterización de los grafos planares. Teorema de Kuratowski . . . . . . 189
11.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
12.Coloración de Vértices 195
12.1. Introducción y resultados básicos . . . . . . . . . . . . . . . . . . . . . . 195
12.2. Polinomio cromático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
12.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
0
Capı́tulo 1

Principios Básicos de Combinatoria

En este capı́tulo presentamos algunos principios básicos de la combinatoria enume-


rativa que resultan sorprendentemente útiles en la resolución de problemas matemáticos.
En particular, estudiamos el principio de las cajas, el principio de la adición, el de la
multiplicación y el principio de inclusión exclusión.

1.1. Principio de las cajas


El principio de las cajas, conocido también como principio del palomar o principio
de las cajas de Dirichlet, ha sido ampliamente utilizado en teorı́a de números desde
la primera mitad del siglo XIX. Es sorprendente que este sencillo principio sea una
herramienta tan útil en varias disciplinas de las matemáticas y que con frecuencia ayude
a resolver problemas complejos.
Teorema 1. (Principio de las cajas) Si se distribuyen n objetos en m cajas, siendo
n > mr, entonces por lo menos en una de las cajas habrá como mı́nimo r + 1 objetos.
Demostración. Si se distribuyen n objetos en m cajas y cada caja tiene a lo sumo r
objetos, entonces entre todas las cajas tenemos a lo sumo mr objetos. Por lo tanto, si
n > mr, entonces al menos en una de las cajas habrá como mı́nimo r + 1 objetos.
Ejemplo 1. Demuestra que en un conjunto de n + 1 números enteros, por lo menos dos
tienen como diferencia un múltiplo de n.
Solución: Sean x e y dos números enteros. Sean x = nb + r, y = nb0 + r0 , con 0 ≤ r, r0 < n.
Si r = r0 , entonces x − y es múltiplo de n. Consideremos la partición (cajas) de Z asociada a la
relación siguiente: dos números enteros x e y pertenecen a la misma partición si dejan el mismo
resto en la división por n. Como hay n cajas, {0, 1, 2, ..., n − 1}, y tenemos n + 1 números,
aplicando el principio de las cajas concluimos que por lo menos dos de los n + 1 números tienen
como diferencia un múltiplo de n.
Ejemplo 2. Prueba que en toda familia de 7 miembros tiene que haber dos personas
cuya suma o diferencia de edades es múltiplo de 10.

1
Principios Básicos de Combinatoria 2

Solución: Un múltiplo de 10 se identifica con un 0 en la última posición. Por consiguiente,


si las edades de dos miembros de la familia terminan en el mismo dı́gito, entonces la diferencia
de las edades es múltiplo de 10. Ahora bien, las parejas de dı́gitos diferentes que suman 10 son
{1, 9}, {2, 8}, {3, 7} y {4, 6}. Consideremos las siguientes cajas:

{0} {1, 9} {2, 8} {3, 7} {4, 6} {5}

Colocaremos los números que corresponden a las edades en las cajas de modo que todos los que
terminan en 0 irán a la primera caja, todos los que terminan en 1 o en 9 irán a la segunda caja
y ası́ sucesivamente. Como son 7 personas y 6 cajas, de acuerdo con el principio de las cajas,
habrá al menos una caja con dos números. Si las últimas cifras de estos números son iguales,
entonces podemos asegurar que hay dos personas cuya diferencia de edades es múltiplo de 10
y, si dichas cifras son diferentes, entonces podemos asegurar que hay dos personas cuya suma
de edades es múltiplo de 10.

Ejemplo 3. Llamaremos retı́culo plano al conjuntos de puntos del plano de coordenadas


cartesianas enteras. Dados cinco puntos cualesquiera del retı́culo plano, demuestra que
el punto medio de dos de ellos es un punto del retı́culo plano.
a+c b+d

Solución: El punto medio de dos puntos del plano (a, b) y (c, d) es 2 , 2, el punto cuyas
componentes son la media de las x’s y la media de las y’s. Este será un punto del retı́culo plano
si y sólo si ambos a + c y b + d son pares. Es decir, a y c han de tener la misma paridad y b
y d han de tener la misma paridad. Esta observación sugiere el uso del principio de las cajas.
Con este fin, podemos colocar cada punto (x, y) en las siguientes cajas:

Caja 1 : x par, y par,


Caja 2 : x par, y impar,
Caja 3 : x impar, y par,
Caja 4 : x impar, y impar.

Si colocamos cinco puntos del retı́culo plano en las cuatro cajas, entonces habrá al menos una
caja que contendrá al menos dos puntos. Dos puntos de una misma caja tendrán coordenadas
x e y con la misma paridad y, por consiguiente, su punto medio tendrá coordenadas enteras.

1.2. Principio de la adición y principio de la multi-


plicación
En combinatoria enumerativa, el objetivo es determinar el número de elementos
|S| de un conjunto S que viene dado por las propiedades que definen la pertenencia al
conjunto. Es por eso que algunos principios básicos de la combinatoria se enuncian en
términos de teorı́a de conjunto. En particular, el principio de la adición considera los casos
Principios Básicos de Combinatoria 3

en que los elementos del conjunto S se pueden repartir en varios subconjuntos S1 , ..., Sn
de modo que dichos subconjuntos no tengan elementos en común. Para comenzar, vamos
a recordar como se definen la unión y la intersección de conjuntos.
La unión de dos conjuntos U y V se define como

U ∪ V = {x : x ∈ U o x ∈ V },

mientras que la intersección de los conjuntos U y V se define como

U ∩ V = {x : x ∈ U y x ∈ V }.

Cuando U ∩ V = ∅, se dice que U y V son disjuntos.


Ejemplo 4. Si U = {1, 2, 3, 4, 5} y V = {3, 4, 5, 6, 7, 8}, entonces

U ∪ V = {1, 2, 3, 4, 5, 6, 7, 8} y U ∩ V = {3, 4, 5}.

Por otro lado, los conjuntos U y W = {a, b, c, d} son disjuntos.


Teorema 2 (Principio de la adición). Si S1 , . . . , Sn son conjuntos finitos y disjuntos
dos a dos, entonces el cardinal de S1 ∪ · · · ∪ Sn es la suma de los cardinales de cada
conjunto. Es decir,
|S1 ∪ · · · ∪ Sn | = |S1 | + · · · + |Sn |.
Ejemplo 5. ¿De cuántas maneras se pueden obtener 5, 7 o 9 puntos, si lanzamos dos
dados (uno blanco y el otro rojo)?
Solución: Sean X5 , X7 y X9 los conjuntos formados por las maneras de obtener 5, 7 y
9 puntos, respectivamente, al lanzar los dos dados. Si representamos cada lanzamiento
como un par (blanco,rojo), entonces tenemos:

X5 = {(1, 4), (2, 3), (3, 2), (4, 1)},

X7 = {(1, 6), (2, 5), (3, 4), (4, 3), (5, 2), (6, 1)},
X9 = {(3, 6), (4, 5), (5, 4), (6, 3)}.
Como estos conjuntos son disjuntos dos, hay

|X5 ∪ X7 ∪ X9 | = |X5 | + |X7 | + |X9 | = 4 + 6 + 4 = 14

maneras de obtener 5, 7 o 9 puntos.


El enunciado del principio de la multiplicación también es sencillo: “si un procedi-
miento consta de dos pasos y el primero se puede hacer de n formas y el segundo de
m formas, entonces hay nm formas de completar el procedimiento”. Este principio se
puede enunciar de forma general a través de la teorı́a de conjuntos, para ello vamos a
recordar que el producto cartesiano de conjuntos X1 , . . . , Xn se define como

X1 × X2 × · · · × Xn = {(x1 , x2 , ..., xn ) : xi ∈ Xi , para todo i ∈ {1, ..., n}}.


Principios Básicos de Combinatoria 4

Ejemplo 6. El producto cartesiano de los conjuntos U = {a, b} y V = {1, 2, 3} es

U × V = {(a, 1), (a, 2), (a, 3), (b, 1), (b, 2), (b, 3)}.

Teorema 3 (Principio de la multiplicación). Si X1 , . . . , Xn son conjuntos finitos,


entonces el cardinal del conjunto X1 × · · · × Xn es el producto de los cardinales de cada
conjunto. Es decir,
|X1 × · · · × Xn | = |X1 | · · · · · |Xn |.
Ejemplo 7. Las placas de matricula de los coches de un determinado estado constan
de tres letras consecutivas seguidas de tres números. Sabiendo que el alfabeto tiene 26
letras, ¿cuántos coches se pueden matricular?
Solución: Cada matrı́cula se puede ver como un vector de 6 componentes donde las tres
primeras componentes son letras y las tres últimas son dı́gitos. Sea L el conjunto de letras
del alfabeto y D el conjunto de dı́gitos. El número de coches que podemos matricular es
|L × L × L × D × D × D| = |L|3 |D|3 = 17576000.

Ejemplo 8. Si lanzamos tres dados distinguibles (rojo, azul, verde), ¿cuantos resultados
podemos obtener?
Solución: La respuesta es 6 · 6 · 6 = 216 resultados posibles. Cada resultado puede ser
representado como una terna. Ası́ (2, 5, 1) representa el resultado: “2 en el dado rojo, 5
en el dado azul, 1 en el dado verde”. Con esta interpretación, lo que tenemos que hacer
es calcular el cardinal del conjunto X × X × X donde X = {1, 2, 3, 4, 5, 6} y, por lo tanto,

|X × X × X| = |X|3 = 63 = 216.

Ejemplo 9. Una empresa de ordenadores utiliza, para identificar las máquinas, un


número (número de identificación) formado por dos letras, seguidas de dos dı́gitos deci-
males, dos letras más y, finalmente, cuatro dı́gitos decimales más. ¿Cuántos números de
identificación son posibles? (el alfabeto es de 26 letras.)
Solución: Sea A el conjunto de letras del alfabeto y sea D el conjunto de dı́gitos. Nos
piden el cardinal de A × A × D × D × A × A × D × D × D × D, que por el principio de
la multiplicación es igual a:

262 · 102 · 262 · 104 = 264 · 106 = 456976 · 106 .

Ejemplo 10. Marı́a piensa ir a comer al restaurante A o al restaurante B. Sabiendo


que en el restaurante A hay 3 entrantes, 4 platos fuerte y 3 postres de su agrado, y que
en el restaurante B hay 2 entrantes, 3 platos fuerte y 4 postres de su agrado ¿de cuantas
formas diferentes puede elegir Marı́a su menú?
Principios Básicos de Combinatoria 5

Solución: Sean A1 , A2 y A3 los conjuntos de entrantes, platos fuerte y postres, del agrado
de Marı́a en el restaurante A y análogamente, sean B1 , B2 y B3 los conjuntos de entrantes,
platos fuerte y postres, del agrado de Marı́a en el restaurante B. Según el principio de la
multiplicación, Marı́a tiene |A1 × A2 × A3 | = 3 · 4 · 3 = 36 formas de elegir el menú en el
restaurante A y |B1 × B2 × B3 | = 2 · 3 · 4 = 24 formas de elegir el menú en el restaurante B. Por
lo tanto, aplicando el principio de la adición concluimos que Marı́a tiene 36 + 24 = 60 formas
diferentes de elegir su menú.

Ejemplo 11. Marcos quiere ir a Madrid. Él puede elegir entre 3 lı́neas de bus y 2 lı́neas
de tren para ir desde aquı́ hasta Valencia. Desde allı́, se puede llegar a Madrid escogiendo
entre 2 lı́neas de bus y 3 de tren. Si él quiere hacer todo el viaje en bus o todo el viaje
en tren, ¿de cuántas formas diferentes puede ir a Madrid?
Solución: Si Marcos elige ir en bus, entonces tiene 3 · 2 = 6 formas de llegar a Madrid
(principio de la multiplicación). Análogamente, si elige el viaje en tren, entonces tiene 2 · 3 = 6
formas de llegar. Por lo tanto, según el principio de la adición, Marcos tiene 6 + 6 = 12 formas
diferentes de hacer el viaje.

1.3. Principio de inclusión-exclusión


Continuando con la idea de determinar el número de elementos |S| de un conjunto S,
el principio de inclusión-exclusión considera los casos en que los elementos del conjunto
S se pueden repartir en varios subconjuntos S1 , ..., Sn de modo que dichos subconjuntos
puedan tener elementos en común. En particular, para el caso de dos conjuntos finitos
S1 y S2 el principio queda expresado de la siguiente forma:

|S1 ∪ S2 | = |S1 | + |S2 | − |S1 ∩ S2 |.

Nótese que en la suma |S1 | + |S2 | se han contado dos veces los elementos de la
intersección |S1 ∩ S2 |, ya que S1 ∩ S2 ⊆ S1 y S1 ∩ S2 ⊆ S2 . Por esta razón en la fórmula
de |S1 ∪ S2 | restamos el cardinal de la intersección a la suma de los cardinales de S1 y
S2 .

S1 S2

S1 ∩ S2

Análogamente se puede comprobar que para tres conjuntos finitos el principio de


inclusión-exclusión queda expresado de la siguiente forma:

|S1 ∪ S2 ∪ S3 | = |S1 | + |S2 | + |S3 | − |S1 ∩ S2 | − |S1 ∩ S3 | − |S2 ∩ S3 | + |S1 ∩ S2 ∩ S3 |.


Principios Básicos de Combinatoria 6

En este caso, en la suma |S1 | + |S2 | + |S3 | se han contado dos veces los elementos de las
intersecciones dos a dos y, al restar |S1 ∩ S2 |, |S1 ∩ S3 | y |S2 ∩ S3 |, dejamos de contar
los elementos de la intersección de los tres conjuntos, es por eso que al final sumamos
|S1 ∩ S2 ∩ S3 |.

S1 S1 ∩ S2 ∩ S3

S2 S3

En general, el principio de inclusión-exclusión se puede expresar de la siguiente


forma.

Teorema 4 (Principio de inclusión-exclusión). Sean S1 , S2 , ..., \Sn conjuntos finitos


no vacı́os. Para cada conjunto no vacı́o I ⊆ {1, 2, ..., n} sea SI = Si . Entonces
i∈I
n
[ X
Si = (−1)|I|+1 |SI |.


i=1 I⊆{1,2,...,n}, I6=∅

Evidentemente, si los conjuntos S1 , S2 , ..., Sn son disjuntos dos a dos, entonces el


principio de inclusión-exclusión nos conduce al principio de la adición.

Ejemplo 12. En un grupo de 100 personas, un total de 43 hablan inglés, 27 hablan


francés y 50 hablan español. Sabemos también que 16 personas hablan inglés y francés,
20 hablan inglés y español y 18 hablan francés y español. Finalmente, 10 personas hablan
los tres idiomas. ¿Cuántas personas no hablan ninguno de los tres idiomas?

Solución: Sea I el conjunto de las personas que hablan inglés, F el de las personas
que hablan francés y E el de las que hablan español. Tenemos que |I| = 43, |F | = 27,
|E| = 50, |I ∩ F | = 16, |I ∩ E| = 20, |F ∩ E| = 18, |I ∩ F ∩ E| = 10.
Aplicando el principio de inclusión exclusión obtenemos

|I ∪ F ∪ E| = |I| + |F | + |E| − |I ∩ F | − |I ∩ E| − |F ∩ E| + |I ∩ F ∩ E| =
= 43 + 27 + 50 − 16 − 20 − 18 + 10 = 76.

Lo que nos dice que hay 76 personas que hablan por lo menos uno de los idiomas y, por
lo tanto, hay 100 − 76 = 24 personas que no hablan ninguno de estos idiomas.

Ejemplo 13. A una de las sedes donde se realizan los exámenes de la UOC acuden 70
personas. Ese dı́a hay 3 exámenes programados: A, B y C. Entre las 70 personas, hay 35
Principios Básicos de Combinatoria 7

estudiantes que realizan el examen A, 30 el examen B, 25 el examen C, 10 los exámenes


A y B, 15 los exámenes A y C, 5 los exámenes B y C, y finalmente 3 que realizan los 3
exámenes. ¿Cuantas de esas 70 personas son acompañantes y no realizan ninguno de los
tres exámenes?

Solución: Sea A, B y C el número de estudiantes que realizan cada uno de los exámenes A,
B y C, respectivamente. Por el principio de inclusión-exclusión tenemos que |A ∪ B ∪ C| =
|A| + |B| + |C| − |A ∩ B| − |A ∩ C| − |B ∩ C| + |A ∩ B ∩ C| = 35 + 30 + 25 − 10 − 15 − 5 + 3 = 63.
Por lo tanto, el número de acompañantes es 70 − 63 = 7.

1.4. Ejercicios
Ejercicio 1. ¿Cuántos divisores positivos tiene 2000?

Solución: Como 2000 = 24 53 , todo divisor positivo de 2000 es de la forma 2a 5b , donde


a ∈ {0, 1, 2, 3, 4} y b ∈ {0, 1, 2, 3}. Hay 5 posibilidades para a y 4 para b, por lo tanto, según el
principio de la multiplicación, hay 5 · 4 = 20 divisores positivos de 2000.

Ejercicio 2. Demostrar que en un conjunto de seis personas hay tres que se conocen
mutuamente o bien hay tres que son mutuamente extrañas.

Solución: Sea x una de las seis personas. Distribuimos las cinco personas restantes en dos
cajas de este modo: en la caja 1 ponemos las que conocen a x, y en la caja 2 las que no conocen
a x. Dado que 5 > 2 · 2, podemos decir que en una de las cajas hay por lo menos tres personas.
Supongamos que en la caja 1 se encuentran las personas y, z, t. Si dos de ellas, digamos y y z,
se conocen, entonces x, y, z se conocen mutuamente. Si ninguna pareja entre y, z, t se conoce,
entonces y, z, t son mutuamente extrañas. Un razonamiento análogo se puede realizar si es la
caja 2 la que contiene tres o más personas.

Ejercicio 3. Se organizan 100 fotografı́as en tres carpetas diferentes. En las fotografı́as


de la primera carpeta aparecen animales, el las de la segunda hay paisajes y en las
fotografı́as de la tercera hay monumentos. En la carpeta de animales hay 45 fotografı́as,
en la de paisajes hay 65 y en la de monumentos hay 47. En 28 de las fotografı́as de
paisajes también sale algún animal y en 24 hay algún monumento. Además, en 12 de las
fotografı́as hay animales y monumentos a la vez. ¿Cuántas fotografı́as se podrı́an colocar
en cualquiera de las tres carpetas?

Solución: Para hallar la solución del problema aplicaremos el principio de inclusión-exclusión.


Sea A el conjunto de fotografı́as de animales, P el conjunto de fotografı́as de paisajes y M el de
fotografı́as que contienen monumentos. El problema pide hallar |A ∩ P ∩ M |. Sabemos que en
total se organizan 100 fotografı́as y, por tanto, |A ∪ P ∪ M | = 100. Por el principio de inclusión-
exclusión, tenemos |A ∩ P ∩ M | = |A ∪ P ∪ M | − |A| − |P | − |M | + |A ∩ P | + |A ∩ M | + |P ∩ M | =
100 − 45 − 65 − 47 + 28 + 12 + 24 = 7.
Principios Básicos de Combinatoria 8

Ejercicio 4. Prueba que en todo grupo de n ≥ 2 personas hay al menos dos que tiene
el mismo número de conocidos.

Solución: En primer lugar, no es posible que haya una persona que no conozca a nadie del
grupo y a la vez otra que conozca a todos los demás. De ahı́ que si hay una persona que no
conoce a nadie más, entonces el número de conocidos de cada una de las personas del grupo
está incluido en el conjunto {0, 1, 2, ..., n − 2} y si todas las personas conocen a alguien más del
grupo, entonces el número de conocidos de cada una de las personas del grupo está incluido
en el conjunto {1, 2, ..., n − 1}. En cualquiera de los dos casos hay n − 1 posibilidades para el
número de conocidos de los miembros del grupo. Como hay n personas, por el principio de las
cajas habrá al menos dos personas que tendrán el mismo número de conocidos.

Ejercicio 5. En la planta de pediatrı́a de un gran hospital hay 230 niños ingresados, de


edades comprendidas entre los 0 y los 12 años (suponed que la edad es un entero entre
0 y 12, ambos incluidos). ¿Cuál es el máximo número de niños que podemos asegurar
que son totalmente compatibles? Dos personas se dice que son compatibles si tienen la
misma edad, el mismo grupo sanguı́neo (A,B, AB, O) y el mismo factor RH (positivo o
negativo).

Solución: Hay 13 posibles edades E = {0, 1, ..., 12}, 2 factores RH, F = {+, −} y 4 grupos
sanguı́neos, G = {A, B, AB, O}. Según el principio de la multiplicación, el número total de
posibles configuraciones edad-RH-grupo es |E × F × G| = 13 · 2 · 4 = 104. Por el principio de
las cajas, dado que 230 > 2 · 104, podemos asegurar que al menos 3 niños serán totalmente
compatibles.

Ejercicio 6. Marcos tiene 85 libros en su biblioteca personal. Para clasificarlos dispone


de un paquete de etiquetas de 6 colores diferentes (20 etiquetas de cada color). La
primera clasificación es según el idioma y usa dos colores para distinguir entre libros en
lengua catalana y en lengua castellana. Las etiquetas de otros dos colores clasifican los
libros según si su género es novela o ensayo. Finalmente, las etiquetas de los dos colores
restantes indican si la fecha de publicación del libro ha sido anterior a 1950 o no.
Marcos distribuye todas las etiquetas y observa que 15 de los libros tienen etiquetas
que clasifican por idioma y género, 25 por idioma y fecha de publicación, y 17 por género
y fecha de publicación a la vez. Además, hay 5 que están completamente clasificados
(idioma, género y fecha de publicación). ¿Cuántos libros no tienen ninguna etiqueta?
Solución: Consideramos los conjuntos I={libros con etiquetas de idioma}, G={libros con
etiquetas de género} y F ={libros con etiquetas de fecha de publicación}. El número de libros
sin etiquetas es 85 − |I ∪ G ∪ F |. Se trata, por lo tanto, de calcular el cardinal del conjunto
I ∪ G ∪ F (usando el principio de inclusión-exclusión).

|I ∪ G ∪ F | = |I| + |G| + |F | − |I ∩ G| − |I ∩ F | − |G ∩ F | + |I ∩ G ∩ F |

Por lo tanto, 85 − (40 + 40 + 40 − 15 − 25 − 17 + 5) = 17.


Principios Básicos de Combinatoria 9

Ejercicio 7. Determina el número de secuencias binarias de longitud 8 que tienen los


dos primeros bits diferentes.

Solución: El primer bit puede ser 1 o 0. Si el primer bit es 1, el segundo es 0 y viceversa.


En cualquiera de los dos casos hay 26 formas de completar la secuencia de 8 bits. Por lo tanto,
la solución es 2 · 26 = 128.

Ejercicio 8. Una academia tiene 99 estudiantes. Los 99 estudiantes pueden cursar tres
asignaturas: A, B y C. Hay 7 que cursan las tres, 60 que cursan A, 49 que cursan B y 43
que cursan C. En el caso de B y C, al mismo tiempo, la cursan el triple de estudiantes
de los que hacen A y B, al mismo tiempo, mientras que A y C, al mismo tiempo, la
hacen el doble de los que hacen A y B, al mismo tiempo. ¿Cuántos estudiantes cursan
las asignaturas A y B, al mismo tiempo?
Solución: Por el principio de inclusión-exclusión tenemos que:

99 = |A ∪ B ∪ C| = |A| + |B| + |C| − |A ∩ B| − |A ∩ C| − |B ∩ C| + |A ∩ B ∩ C|.

De ahı́ que si denotamos por x al número de estudiantes que cursan A y B al mismo tiempo,
entonces se obtiene:
99 = 60 + 49 + 43 − x − 2x − 3x + 7.
Resolviendo la ecuación obtenemos que x = 10.
Capı́tulo 2

Conteo de Muestras

En este capı́tulo abordamos algunos temas básicos de la combinatoria enumerativa


orientados al conteo del número de muestras de un conjunto, en los que dichas mues-
tras cumplen determinadas restricciones. En particular, nos centramos en el conteo de
muestras ordenadas y no ordenadas (con o sin repetición), en el conteo del número de
particiones de un conjunto y en el problema de los desarreglos.

2.1. Muestras ordenadas sin repetición


Definición 1. Dado un conjunto X de n elementos, una r-muestra ordenada sin repeti-
ción del conjunto X es una lista ordenada de elementos diferentes x1 , x2 , . . . , xr , donde
xj es un elemento del conjunto X, para todo j ∈ {1, . . . , r}.

Observación: En algunos casos nos referiremos a la muestra vacı́a como una 0-


muestra.

Ejemplo 14. Si X = {a, b, c, d}, son ejemplos de muestras ordenadas sin repetición de
X las siguientes: abc (3-muestra), bcd (3-muestra), bcad (4-muestra), ca (2-muestra), etc.

El siguiente teorema se deduce directamente del principio de la multiplicación.

Teorema 5. Si el conjunto X tiene n elementos, entonces el número de r-muestras


ordenadas sin repetición, con elementos del conjunto X es
n!
V (n, r) = n(n − 1)(n − 2) · · · (n − r + 1) = .
(n − r)!

V (n, r) se lee “número de variaciones de n elementos tomados de r en r”

Ejemplo 15. En un concurso literario participan quince personas y se asignan tres


premios diferentes. Si ninguna persona puede recibir más de un premio, ¿de cuántas
maneras diferentes se pueden distribuir los premios?

10
Conteo de Muestras 11

Solución: Los premios se pueden distribuir de V (15, 3) = 15 · 14 · 13 = 2730 formas.

Ejemplo 16. ¿Cuántas palabras de longitud máxima 8 se pueden formar a partir de un


alfabeto de diez elementos, si en ninguna palabra puede haber elementos repetidos?

Solución: El número de palabras es

V (10, 0) + V (10, 1) + V (10, 2) + V (10, 3) + · · · + V (10, 8) = 2606501.

El sumando V (10, 0) = 1 corresponde a la palabra vacı́a.

Ejemplo 17. A un concurso literario se presentan 15 candidatos. Calcula de cuántas


maneras se pueden repartir tres premios (mejor argumento, mejor estructura, mejor
lenguaje). Como máximo uno de los tres premios puede quedar desierto. Un candidato
no puede obtener más de un premio.

Solución: Consideremos que desierto es uno de los candidatos, con lo cual tenemos 16
candidatos. Se trata de contar el número de variaciones sin repetición de 3 candidatos
entre los 16, o sea, V (16, 3) = 16!/13! = 3360.

2.2. Permutaciones
Una permutación de los elementos de un conjunto es la variación del orden o de la
disposición de los elementos del conjunto. Más formalmente, podemos dar la siguiente
definición.

Definición 2. Una permutación de un conjunto X es una función biyectiva de dicho


conjunto en sı́ mismo.

El número de permutaciones de un conjunto de n elementos puede escribirse como


V (n, n) = n!, pero también lo podemos representar por Pn = n!.

Ejemplo 18. El número de formas de sentar a 10 personas en 10 sillas numeradas es


10!.

Ejemplo 19. ¿De cuántas formas diferentes se pueden sentar 10 personas en una mesa
redonda de sillas indistinguibles?

Solución: Como las sillas son indistinguibles, no importa en que silla se sentará la perso-
na x. Ası́, sentamos a x en cualquier silla y luego podemos hacer todas las permutaciones
posibles con las 9 personas restantes. Por tanto, la solución es P9 = 9!.
Conteo de Muestras 12

2.3. Muestras ordenadas con repetición


Definición 3. Dado un conjunto X de n elementos, una r-muestra ordenada con repe-
tición del conjunto X es una lista ordenada x1 , x2 , . . . , xr , donde xj es un elemento del
conjunto X, para todo j ∈ {1, . . . , r}
El siguiente teorema se deduce directamente del principio de la multiplicación.
Teorema 6. Si el conjunto X tiene n elementos, entonces el número de r-muestras
ordenadas con repeticiónde de elementos X es V R(n, r) = nr .
Ejemplo 20. El número de palabras de longitud r, sobre un alfabeto de n elementos,
es nr .
Ejemplo 21. Prueba que el número de palabras de longitud máxima r sobre un alfabeto
r+1
de n elementos es n n−1−1 .
Solución: Basta sumar el número de palabras de cada una de las longitudes de 0 a r.
nr+1 − 1
Esto es 1 + n + n2 + · · · + nr = .
n−1
Teorema 7. Si n es el número de elementos de un conjunto Y , entonces el número de
subconjuntos posibles de Y es 2n .
Demostración. Demostraremos que el conjunto de todos los subconjuntos posibles de Y
tiene el mismo número de elementos que el conjunto de las n-muestras ordenadas con
repetición del conjunto {0, 1}. Además, este número es V R(2, n) = 2n , tal y como mues-
tra el resultado. Sean y1 , y2 , . . . , yn los n elementos del conjunto Y . A cada subconjunto
A de Y le podemos asociar la n-muestra x1 , x2 , . . . , xn de elementos del conjunto {0, 1}
definida para todo i ∈ {1, . . . , n} como
(
1 si yi ∈ A
xi =
0 si yi 6∈ A

Recı́procamente, a cada n-muestra ordenada de elementos binarios, x1 , x2 , . . . , xn , corres-


ponde un subconjunto A de Y tal que yi ∈ A, si y sólo si, xi = 1, donde i ∈ {1, . . . , n}.
La correspondencia que acabamos de establecer, entre subconjuntos de Y y n-muestras
ordenadas con repetición de elementos de {0, 1}, es una biyección entre conjuntos finitos.
Por lo tanto, hay el mismo número de elementos.

2.4. Muestras no ordenadas sin repetición


Definición 4. Dado un conjunto X de n elementos, una r-muestra no ordenada sin re-
petición del conjunto X es una lista no ordenada de r elementos diferentes x1 , x2 , . . . , xr ,
donde xj es un elemento del conjunto X, para todo j ∈ {1, . . . , r}
Conteo de Muestras 13

Teorema 8. Si el conjunto X tiene n elementos y r ≤ n es un entero no negativo,


entonces podemos formar
V (n, r) n!
C(n, r) = =
r! r!(n − r)!
r-muestras no ordenadas sin repetición del conjunto X.
El número
 C(n,
 r) se denomina número combinatorio o binomial y se representa con el
n
sı́mbolo (que se lee: n sobre r).
r
Ejemplo 22. Se encuentran n amigos y se saludan entre sı́ con un apretón de manos.
¿Cuántos apretones de manos se han dado?
Solución:Por cada par de amigos se ha producido un apretón de manos. El número
total es n2 = n(n−1)
2
.
Ejemplo 23. ¿Cuántas secuencias hay de longitud 6, formadas con los dı́gitos 0, . . . , 9
y con todos los dı́gitos diferentes excepto el dı́gito 5 que se repite tres veces?
Solución: Hay C(6, 3) formas diferentes de colocar los tres dı́gitos repetidos. Para las
tres posiciones restantes tenemos V (9, 3) = 9 · 8 · 7 = 504 maneras diferentes. Por lo
tanto, en total hay C(6, 3) · V (9, 3) = 20 · 504 = 10080 secuencias diferentes.
Ejemplo 24. A un concurso literario se presentan 15 candidatos. Calcula de cuántas
maneras se pueden repartir un único premio que pueden compartir hasta 3 candidatos,
como máximo. El premio también puede quedar desierto.
Solución: Si decidimos conceder n premios, se trata de seleccionar un subconjunto de
15

n candidatos de los 15, y por lo tanto podemos escogerlos de n
maneras distintas. Ası́
15 15 15
  
pues, la solución es 1 + 1 + 2 + 3 = 576.
Ejemplo 25. ¿De cuántas maneras podemos elegir cuatro parejas entre 20 personas, si
importa el orden (es decir, si las cuatro parejas son distinguibles)? ¿Y si no importa el
orden?
20

Solución: Los integrantes de la primera pareja se pueden elegir de 2
maneras. Pode-
18 16
 
mos elegir los miembros de la segunda de 202 18
formas,
 16 14los
 de la tercera de 2 formas y
14
los de la cuarta de 2 formas. En total, 2 2 2 2 = 317444400. En caso de que
no importe el orden, hay que dividir la anterior cantidad por 4!, o sea 13226850.
Ejemplo 26. Si reordenamos las letras AAAPPLLNO podemos encontrar una palabra
escondida. Como no sabemos cual es la palabra, hacemos un programa que nos devuelva
todas las palabras (con o sin sentido) que se obtienen usando las nueve letras.
(a) ¿Cuántas palabras diferentes nos devuelve nuestro programa?
Conteo de Muestras 14

(b) Si sabemos que las dos P’s no son consecutivas, ¿cuántas palabras obtenemos?

(c) Hemos averiguado que la posición de las letras P,A,L,A en la palabra escondida es
PAxxLxxxA. ¿Cuántas palabras diferentes obtenemos si sabemos que estas letras ya
se encuentran en la posición correcta?

(d) ¿Cuántas palabras con tres de estas letras, sin repetir letra, podamos construir?

Solución:

(a) Consideramos todas las ordenaciones de las nueve letras de la  palabra AAAPPLLNO
9
donde hay repetidas tres A’s, dos P’s y dos L’s. Hay 3 formas de elegir  las 6
6
posiciones para las A’s. Por cada elección de las posiciones de las A’s hay 2 formas
deelegir las posiciones de las P’s. Ası́ mismo, una vez elegidas estas posiciones, hay
4
2
formas de elegir las posiciones
  de las L’s y finalmente dos posiciones posibles
9 6 4
para la N. Ası́, la solución es 3 2 2 2 = 15120.

(b) Del total de ordenaciones, eliminamos todas aquellas donde las dos P’s son consecu-
tivas. Para encontrar el número de ordenaciones donde las dos P’s son consecutivas,
consideramos las dos P’s como una única letra. Ası́,tenemos que ordenar ocho letras
8 5

donde hay tres A’s y dos L’s. Por lo tanto, 15120− 3 2 ·3·2 = 15120−3360 = 11760.

(c) Debemos encontrar todas las ordenaciones de cinco letras donde no hay ninguna
repetida, haremos permutaciones de cinco elementos 5! = 120.

(d) Tenemos cinco letras diferentes por escoger y tenemos que ordenar tres de estas
letras, por lo tanto, V (5, 3) = 5!
2!
= 60.

2.5. Propiedades de los números binomiales


Teorema 9.

Simetrı́a: Si n y r son dos números enteros tales que 0 ≤ r ≤ n, entonces


   
n n
= .
r n−r

Adición: Si n y r son dos números enteros tales que 0 ≤ r ≤ n − 1, entonces


     
n n−1 n−1
= + .
r r−1 r
Conteo de Muestras 15

Demostración. Estas propiedades se deducen directamente de la definición de número


binomial. En el caso de la simetrı́a tenemos
   
n n! n! n! n
= = = = ,
r r!(n − r)! (n − r)!r! (n − r)!(n − (n − r))! n−r

mientras que en el caso de la adición tenemos


   
n−1 n−1 (n − 1)! (n − 1)!
+ = +
r−1 r (r − 1)!(n − r)! r!(n − r − 1)!
r(n − 1)! + (n − r)(n − 1)!
=
r!(n − r)!
n(n − 1)!
=
r!(n − r!)
 
n
= .
n−r

Ejemplo 27.
       
10 10 24 24
= , =
7 3 15 9
           
8 8 9 100 100 101
+ = , + =
6 5 6 34 35 35

Teorema 10 (Teorema del Binomio). Sean a, b ∈ R − {0} y n ∈ N tales que a 6= −b,


siempre que n sea 0. Entonces
n  
n
X n n−i i
(a + b) = a b.
i=0
i

Demostración. Al desarrollar (a + b)n obtenemos


n
X
n
(a + b) = (a + b)(a + b) · · · (a + b) = αi an−i bi .
| {z }
n i=0

Al aplicar la propiedad distributiva, el término an−i bi se obtiene a partir de la b perte-


neciente i paréntesis del producto (a + b)(a + b) · · · (a + b) y una a de cada uno de los
n − i paréntesis restantes. Como el número de formas de elegir i paréntesis entre los n
paréntesis del producto (a + b)(a + b) · · · (a + b) es ni , tenemos que αi = ni y, por lo

n  
n
X n n−i i
tanto, concluimos que (a + b) = a b.
i=0
i
Conteo de Muestras 16

2.6. Muestras no ordenadas con repetición


Definición 5. Dado un conjunto X de n elementos, una r-muestra no ordenada con
repetición del conjunto X es una lista no ordenada de r elementos x1 , x2 , . . . , xr , donde
xj es un elemento del conjunto X, para todo j ∈ {1, . . . , r}, y x1 , x2 , . . . , xr no necesa-
riamente son diferentes.

Ejemplo 28. Pedro decide ir al bar a pedir 3 bocadillos. Al llegar al bar él observa
que hay 4 tipos diferentes de bocadillos ¿De cuántas formas diferentes puede hacer el
pedido?

Solución: Supongamos que los bocadillos son de tipo {a, b, c, d}. La solución del pro-
blema corresponde al número de 3-muestras no ordenadas con repetición del conjunto
{a, b, c, d} de cardinalidad n = 4. Cada pedido se puede ver a través del esquema | | |,
de modo que en los lados de los segmentos verticales podemos indicar con un número
determinado de sı́mbolos, digamos x, el número de veces que está cada elemento del
conjunto {a, b, c, d} en el pedido. Por ejemplo, al pedido aac, que corresponde a dos
bocadillos del tipo a y uno del tipo c, le podemos asignar el siguiente esquema xx| |x|.
El espacio entre las barras verticales indica que la b no está en la muestra y no hay x
después de la última barra ya que la d no está en la muestra. Ası́ mismo, a la muestra
abd le corresponde el esquema x|x| |x, mientras que a la muestra ccc le corresponde el
esquema | |xxx|. Como cada esquema tiene n − 1 + r = 4 − 1 + 3 sı́mbolos, de los cuales
r son x y n − 1 son segmentos verticales, sólo tenemos que contar de cuantas formas se
pueden elegir las r posiciones de las x entre las n − 1 + r posiciones posibles. Esto es
C(n − 1 + r, r) = n−1+r

r
= 20.
Siguiendo el procedimiento descrito en el Ejercicio 28 se deduce la fórmula del si-
guiente teorema.

Teorema 11. Si el conjunto X tiene n elementos, entonces el número


 de r-muestras no
ordenadas con repetición de elementos de X es CR(n, r) = n−1+r
r
.

Ejemplo 29. Queremos comprar cinco helados en una tienda que dispone de helados
de 15 sabores diferentes. ¿De cuántas maneras podemos hacer la compra?

Solución: CR(15, 5) = 15−1+5



5
= 11628.

Teorema 12. El número de soluciones enteras no negativas de la ecuación x1 + x2 +


n−1+r

· · · + xn = r es CR(n, r) = r
.

Demostración. Sólo es necesario observar que podemos establecer una biyección entre el
conjunto de las r-muestras no ordenadas con repetición del conjunto {1, 2, . . . , n} y el
conjunto de las soluciones de la ecuación x1 + x2 + · · · + xn = r. Para cada r-muestra,
sea x1 el número de veces que aparece el elemento 1 en la muestra, x2 el número de
veces que aparece el elemento 2 en la muestra, etc. En general, xi es el número de veces
que aparece el elemento i en la muestra, ∀i ∈ {1, . . . , n}. Ası́, a la r-muestra le hacemos
Conteo de Muestras 17

corresponder (x1 , x2 , . . . , xn ), que es una solución entera no negativa de la ecuación,


puesto que se cumple x1 + x2 + · · · + xn = r y xi ≥ 0 ∀i ∈ {1, . . . , n}. Es fácil ver
que esta correspondencia es una biyección. Por lo tanto, el número de soluciones es
n−1+r

CR(n, r) = r
.

Ejemplo 30. ¿De cuántas formas diferentes se pueden repartir 30 lápices iguales entre
12 niños? Considera que puede haber niños que se queden sin lápices.

Solución: El número de soluciones


12−1+30
 41
enteras no negativas de la ecuación x1 +x2 +· · ·+x12 =
30 es CR(12, 30) = 30
= 30 .

Ejemplo 31. A un concurso literario se presentan 15 candidatos. Calcula de cuántas


maneras se pueden repartir 10000 euros, entre el número de candidatos que el jurado crea
conveniente. Cada candidato premiado debe recibir un múltiplo exacto de 1000 euros.

Solución: Si xi es el número de miles de euros que recibirá el candidato i-ésimo, se trata


de calcular el número de soluciones enteras no negativas de la ecuación x1 +x2 +· · ·+x15 =
24

10, que es CR(15, 10) = 10 = 1961256.

Ejemplo 32. ¿De cuántas formas diferentes se pueden repartir 30 lápices iguales entre
12 niños? Considera que no puede haber niños que se queden sin lápices.

Solución: Si repartimos un lápiz a cada niño, el problema se reduce a calcular el número


12−1+18 29
 de la ecuación x1 + x2 + · · · + x12 = 18. La solución
de soluciones enteras no negativas
es CR(12, 18) = 18
= 18 .

Teorema 13. El número de soluciones enteras


 positivas
 de una ecuación del tipo z1 +
s−1
z2 + · · · + zn = s, donde s ≥ n, es .
n−1
Demostración. La ecuación del enunciado es equivalente a la ecuación

(z1 − 1) + (z2 − 1) + · · · + (zn − 1) = s − n.

Esta ecuación se puede escribir como x1 + x2 + · · · + xn = r, a través del cambio de


variables xi = zi − 1, para toda i ∈ {1, . . . , n} y r = s − n. El número de soluciones
enteras no negativas de esta última ecuación coincide con el número de soluciones enteras
positivas de la ecuación del enunciado, que, por lo tanto, es igual a
       
n−1+r n−1+s−n s−1 s−1
CR(n, r) = = = = .
r s−n s−n n−1
Conteo de Muestras 18

2.7. Número de particiones de un conjunto


Definición 6. Una familia V = {Xj : j ∈ J} de subconjuntos de X es una partición
de X si se cumplen las condiciones siguientes:

(1) Cada parte Xj es no vacı́a: Xj 6= ∅ para todo j ∈ J.

(2) Dos partes distintas son disjuntas: Xj ∩ Xp = ∅ si y sólo si j 6= p


[
(3) La unión de todas las partes es igual al conjunto: X = Xj
j∈J

Ejemplo 33. Una partición del conjunto {a, b, c, d, e, f, g} es

{{b, c, g}, {a, d}, {e, f }}.

En este caso la partición tiene tres partes.

Definición 7. Sea X un conjunto de n elementos. El número de Stirling, denotado por


S(n, k), se define como el número de particiones de X en k partes no vacı́as X1 , X2 , . . .,
Xk (1 ≤ k ≤ n).

Sea P conjunto de particiones de un conjunto X, de n elementos, en k partes. Dado


un elemento x ∈ X, el conjunto P se puede expresar como P = P1 ∪ P0 , donde P1 es el
conjunto de particiones de X donde {x} es una parte y P0 es el conjunto de particiones
de X donde {x} no es una parte. Como |P1 | = S(n − 1, k − 1) y |P0 | = kS(n − 1, k),
podemos afirmar que el número de Stirling verifica la siguiente fórmula de recurrencia.

Teorema 14. Sea n ≥ 3 un número entero. Entonces para todo k ∈ {2, . . . , n − 1},

S(n, k) = S(n − 1, k − 1) + kS(n − 1, k).

Además, S(n, 1) = 1 y S(n, n) = 1, para cualquier n.

Ejemplo 34. Calcula S(4, 3) y S(4, 2)

Solución: Aplicando el Teorema 14 obtenemos estos valores:

S(4, 3) = S(3, 2) + 3S(3, 3)


= (S(2, 1) + 2S(2, 2)) + 3
= 6,

S(4, 2) = S(3, 1) + 2S(3, 2)


= 1 + 2(S(2, 1) + 2S(2, 2))
= 7.
Conteo de Muestras 19

Ejemplo 35. ¿De cuántas formas diferentes se pueden repartir 6 bolas diferentes en 3
cajas indistinguibles, si al final del reparto no pueden quedar cajas vacı́as.

Solución: Como cada reparto de las bolas en las cajas coincide con una partición del
conjunto de bolas en 3 partes, debemos calcular el valor de S(6, 3). Aplicando la fórmula
recurrente del Teorema 14 obtenemos

S(6, 3) = S(5, 2) + 3S(5, 3) = (S(4, 1) + 2S(4, 2)) + 3(S(4, 2) + 3S(4, 3)).

En el ejercicio anterior vimos que S(4, 2) = 7 y S(4, 3) = 6. Por lo tanto, S(6, 3) = 90.

Ejemplo 36. ¿De cuántas formas diferentes se pueden repartir 6 bolas diferentes en 3
cajas numeradas, si al final del reparto no pueden quedar cajas vacı́as.

Solución: En este caso, como las cajas están numeradas, la solución es 3!S(6, 3) =
6 · 90 = 540.

Definición 8. Sea X un conjunto de n elementos. El número de Bell de orden n,


denotado por Bn , se define como el número total de particiones de X.

A partir de estas dos definiciones es inmediato poder escribir lo siguiente:


n
X
Bn = S(n, k).
k=1

Ejemplo 37. ¿De cuántas formas diferentes se pueden repartir 4 bolas diferentes en 4
cajas indistinguibles, si al final del reparto pueden quedar cajas vacı́as.

Solución: Si repartimos las 4 bolas en k cajas, de modo que ninguna quede vacı́a, la
solución es S(4, k). Según el principio de la adición, la solución del ejercicio es

B(4) = S(4, 1) + S(4, 2) + S(4, 3) + S(4, 4) = 1 + 7 + 6 + 1 = 15.

2.8. Particiones ordenadas: números multinomiales


Ejemplo 38. Calcula de cuántas formas podemos colocar en fila diez cuchillos de cocina
si hay cuatro idénticos para cortar carne, hay tres idénticos para el pescado y, finalmente,
hay otros tres cuchillos idénticos para la pastelerı́a.

Solución: Para empezar, de los diez lugares de lafilaseleccionaremos cuatro (para poner
10
los cuchillos de carne). Esto lo podemos hacer de maneras distintas. Una vez hemos
4
fijado una de estas maneras de colocar los cuchillos de la carne, seleccionaremos tres de
Conteo de Muestras 20

los seis sitios que todavı́a


 tenemos
 vacı́os para poder poner los cuchillos del pescado. Esto
6
lo podremos hacer de maneras. Después, sólo tendremos que colocar los cuchillos
3
de pastelerı́a en las tres posiciones que todavı́a nos quedan vacı́as en la fila.
Observemos que la solución obtenida se puede escribir de la siguiente forma:
   
10 6 10!
· =
4 3 4!3!3!

Definición 9. Consideremos los números enteros positivos n, n1 , n2 , . . . , nk , de manera


que n = n1 + n2 + · · · + nk . Entonces, llamaremos número multinomial al valor
 
n n!
= .
n1 , n2 , . . . , nk n1 ! n2 ! · · · nk !
Ejemplo 39. En un grupo de catorce personas se quieren hacer tres grupos de tres,
cuatro y siete personas cada uno. ¿De cuántas maneras se puede hacer?
Solución: La solución consiste en considerar el conjunto X de las catorce personas y
contar las particiones ordenadas que se pueden hacer en tres subconjuntos
  X1 , X2 , X 3
14 14!
de tres, cuatro y siete personas, respectivamente. El resultado es = =
3, 4, 7 3! 4! 7!
120120.
Ejemplo 40. Calcula de cuántas maneras se pueden distribuir cinco objetos distingui-
bles en tres cajas distintas poniendo dos objetos en la primera y segunda cajas y un
objeto en la tercera caja.
 
5 5!
Solución: = = 30.
2, 2, 1 2!2!1!
Ejemplo 41. Calcula de cuántas maneras se pueden distribuir cinco objetos distingui-
bles en tres cajas numeradas si queremos que en la segunda caja haya un sólo objeto.
         
5 5 5 5 5 5! 5!
Solución: + + + + = + +
4, 1, 0 3, 1, 1 2, 1, 2 1, 1, 3 0, 1, 4 4!1!0! 3!1!1!
5! 5! 5!
+ + = 80.
2!1!2! 1!1!3! 0!1!4!
Ejemplo 42. Calcular el número de maneras de colocar cuarenta y tres estudiantes en
siete dormitorios distintos, de manera que los dos primeros tengan cinco estudiantes cada
uno, los tres siguientes tengan seis estudiantes cada uno, el sexto tenga siete estudiantes
y, el último, ocho.
 
43 43!
Solución: = .
5, 5, 6, 6, 6, 7, 8 5! 5! 6! 6! 6! 7! 8!
Conteo de Muestras 21

Ejemplo 43. Calcular el número de maneras de dividir cuarenta y tres estudiantes en


siete grupos, de forma que dos grupos tengan cinco estudiantes cada uno, tres grupos
tengan seis estudiantes cada uno, un grupo tenga siete estudiantes y un grupo, ocho
estudiantes.
 
1 43 43!
Solución: = .
2! 3! 1! 1! 5, 5, 6, 6, 6, 7, 8 2! 3! 5! 5! 6! 6! 6! 7! 8!
Ejemplo 44. Calcula el número de reordenaciones de las letras de la palabra INTER-
NET
 
8 8!
Solución: = = 5040.
1, 2, 2, 2, 1 1!2!2!2!1!
Ejemplo 45. Queremos construir números de diez cifras utilizando los dı́gitos 1, 2, 3, 4, 5,
6, 7, 8, 9. ¿Cuántos números podemos construir de manera que tengan, exactamente, el
dı́gito 5 tres veces; el dı́gito 7, dos veces y el dı́gito 1, una vez?

Solución: Primero escogemos las seis posiciones


  donde colocar las cifras 5, 5, 5, 7, 7, 1.
10
Esto lo podemos hacer de C(10, 6) = maneras. En estas posiciones, podemos
6  
6 6!
colocar las cifras anteriores de tantas maneras como = . Para las cuatro
3, 2, 1 3! 2! 1!
posiciones restantes hay V R(6, 4) = 64 4-muestras ordenadas con repetición utilizando
las seis cifras 2, 3, 4, 6, 8, 9.  
10 6!
Por lo tanto, hay exactamente 64 = 12600 · 64 = 16329600 números que
6 3! 2! 1!
reúnen las condiciones del enunciado.

Ejemplo 46. Tenemos siete libros distintos que regalaremos a Marı́a, Pedro y José.
¿De cuántas maneras lo podemos hacer de manera que a José le toque, exactamente, un
libro?

Solución: El problema es equivalente a distribuir siete objetos diferentes (los libros)


en tres cajas distintas (Marı́a, Pedro y José) de manera que en la tercera caja haya
exactamente un objeto. La respuesta viene dada por:
             
7 7 7 7 7 7 7
+ + + + + + =
6, 0, 1 5, 1, 1 4, 2, 1 3, 3, 1 2, 4, 1 1, 5, 1 0, 6, 1
= 7 + 42 + 105 + 140 + 105 + 42 + 7 = 448.
Conteo de Muestras 22

2.9. Problema de los desarreglos


Una versión pintoresca de este problema es la siguiente: Una persona poco eficiente,
debı́a meter diez cartas dirigidas a diez clientes en sus respectivos sobres, cosa que hizo
sin mirar si cada carta iba a parar al sobre adecuado. La cuestión es averiguar de cuántas
maneras puede pasar que ninguno de los clientes reciba la carta que le iba dirigida.
Supongamos que cada carta y su sobre “correcto” están numerados mediante un
entero r, r ∈ {1, 2, . . . , 10}. Poner las cartas dentro los sobres se puede identificar con
una biyección
f : {1, 2, . . . , 10} −→ {1, 2, . . . , 10},
donde f (r) = s quiere decir que coloca la carta r en el sobre s. Lo que queremos es
calcular el número de desarreglos; es decir, el número de biyecciones (o, equivalentemente,
permutaciones) f del conjunto {1, 2, . . . , 10} que cumplan la condición f (r) 6= r para
todo r ∈ {1, 2, . . . , 10}.

Definición 10. Un desarreglo en un conjunto X de n elementos es una biyección f :


X → X tal que f (r) 6= r, para todo r ∈ X.

Denotaremos por Dn al número de desarreglos de un conjunto de n elementos.

Ejemplo 47. Si escribimos cada biyección como una 10-muestra ordenada sin repetición,
entonces un desarreglo es, por ejemplo, 2 − 1 − 4 − 3 − 6 − 5 − 8 − 7 − 10 − 9, puesto
que ningún elemento está “en su lugar” respeto a la ordenación natural. En cambio, la
permutación 4 − 1 − 3 − 10 − 5 − 2 − 6 − 7 − 8 − 9 no es un desarreglo, puesto que los
elementos 3 y 5 están en su lugar.

Ejemplo 48. ¿Cuántas permutaciones de {1, 2, . . . , 10} hay que tengan el elemento 2
en su lugar?
Solución: De las 10! = 3628800 permutaciones de {1, 2, . . . , 10}, hay 9! = 362880 que tienen
el 2 en su lugar.
Nótese que en este ejercicio hemos calculado cuántas permutaciones tienen el 2 en su lugar,
sin importarnos si los otros elementos están en su lugar o no.

Ejemplo 49. ¿Cuántas permutaciones de {1, 2, . . . , 10} hay que tengan el 5 y el 6 en su


lugar? En general, ¿cuántas hay que tengan p números determinados en su lugar?

Solución: Hay 8! = 40320 que tienen el 5 y el 6 en su lugar. En general, hay (10 − p)!
que tienen p números determinados en su lugar.
Volvamos al problema de las cartas. Digamos Xi al conjunto de las permutaciones, f ,
tales que f (i) = i (diremos que f deja fijo el elemento i). El número, D10 , de desarreglos
es el número de permutaciones que no están dentro de ninguno de los conjuntos Xi , para
i ∈ {1, 2, . . . , 10}. Es decir,

D10 = 10! − |X1 ∪ · · · ∪ X10 |.


Conteo de Muestras 23

Al aplicar el principio de inclusión-exclusión para calcular el cardinal de X1 ∪· · ·∪X10


tenemos:
|X1 ∪ · · · ∪ X10 | = a1 − a2 + a3 − a4 + a5 − a6 + a7 − a8 + a9 − a10 ,
donde ap es la suma de los cardinales de todas las intersecciones Xi1 ∩ · · · ∩ Xip formadas
por p conjuntos entre los X1 , . . . , X10 .
Por otro lado, |Xi1 ∩ · · · ∩ Xip | = (10 − p)!, y como hay 10

p
formas de seleccionar
p conjuntos entre los conjuntos X1 , . . . , X10 , obtenemos que ap = 10

p
(10 − p)!. Por lo
tanto, el número de desarreglos es
D10 = a2 − a3 + a4 − a5 + a6 − a7 + a8 − a9 + a10 .
Haciendo los cálculos necesarios obtenemos D10 = 1334961.
Nótese que la proporción de desarreglos respeto del total es de
D10 1334961
= = 0, 3678,
10! 3628800
lo que nos dice que la probabilidad de que ningún cliente reciba su carta es del 36, 7 %.
Ejemplo 50. Calcular el valor de a3 y a7 en el problema de los desarreglos de las cartas.
   
10 10
Solución: a3 = (10 − 3)! = 7! = 604800.
  3   3
10 10
a7 = (10 − 7)! = 3! = 720.
7 3
En general, tenemos que Dn = n! − (a1 − a2 + a3 − · · · + (−1)n−1 an ), de donde se
deduce el siguiente resultado.
Teorema 15. Si el conjunto X tiene n elementos, el número de desarreglos de X es
n n
(−1)i
 
i n
X X
Dn = (−1) (n − i)! = n! .
i=2
i i=2
i!

A continuación veremos algunos ejemplos de aplicación de la fórmula anterior.


Ejemplo 51. En el problema de las cartas planteado antes, ¿de cuántas maneras puede
pasar que sólo el primer y el segundo cliente reciban la carta correcta?
Solución: Este problema es equivalente a calcular cuántas permutaciones de {1, 2,
. . . , 10} hay que tengan sólo el elemento 1 y el 2 en su lugar; o sea, que tras fijar los
elementos 1 y 2, debemos calcular los posibles desarreglos de los otros ocho elementos
(cartas):
D8 = a2 − a3 + a4 − a5 + a6 − a7 + a8 =
= 20160 − 6720 + 1680 − 336 + 56 − 8 + 1 = 14833,
 
8
donde ap = (8 − p)!.
p
Conteo de Muestras 24

Ejemplo 52. Continuando con el problema de las cartas, calcular de cuántas maneras
puede pasar que, como mı́nimo, tres clientes reciban la carta correcta.

Solución: Este problema es equivalente a calcular cuántas permutaciones de los elemen-


tos del conjunto {1, 2, . . . , 10} hay en total, para luego restar la cantidad de permuta-
ciones donde no haya ningún elemento en su lugar, o haya un sólo elemento, o haya dos
elementos en su lugar. Es decir,
   
10 10
10! − D10 − D9 − D8 = 3628800 − 1334961 − 10 · 133496 − 45 · 14833 = 291394.
1 2
Conteo de Muestras 25

2.10. Ejercicios
Ejercicio 9. ¿Cuántas secuencias de longitud dieciséis se pueden formar con cuatro 0s,
cuatro 1s, cuatro 2s y cuatro 3s? ¿Y si queremos secuencias de longitud diez de manera
que cada sı́mbolo aparezca al menos dos veces?
16 16!

Solución: En el primer apartado, claramente hay 4,4,4,4= 4!4!4!4! = 63063000 secuen-
cias, puesto que queremos contar las reordenaciones posibles de estos dieciséis sı́mbolos donde
algunos de ellos están repetidos.
El segundo apartado lo podemos dividir en dos casos: el caso en que un sı́mbolo aparece
cuatro veces y los otros sı́mbolos aparecen dos veces, y el caso en que dos sı́mbolos aparecen tres
veces y los otros, dos veces. En el primer caso, si 0 es el sı́mbolo que escogemos cuatro veces,
10 10!

tenemos 4,2,2,2 = 4!2!2!2! = 18900 secuencias, pero dado que hay cuatro sı́mbolos diferentes,
obtenemos un total de 18900·4 = 75600. En el segundo caso, los dos sı́mbolos se pueden escoger
10

de C(4, 2) maneras, por lo tanto tenemos C(4, 2) · 3,3,2,2 = 151200 secuencias. En total, pues,
hay 75600 + 151200 = 226800.

Ejercicio 10. En una transmisión digital de 16 bits hay unos requerimientos que fuerzan
a que el primer bit enviado sea un 1, que además haya otros tres bits iguales a 1, que
el resto de bits sean 0 y que tenga al menos dos bits 0 después de cada bit 1 enviado.
¿Cuántas secuencias diferentes se pueden transmitir?
Manteniendo todas las restricciones excepto la que dice que el resto de bits deben
ser 0, ¿cuántas secuencias diferentes se pueden transmitir?
Solución: La transmisión consta de dieciséis bits. Podemos identificar la terna 100 como una
sola entidad, llamémosle a. Se tiene que enviar cuatro veces la entidad a y, además, cuatro bits
0 para acabar de cubrir los dieciséis bits de la transmisión. Además, hay que enviar una de las
7 7!

entidades a al inicio de la trama. Entonces, el problema consiste en contar 3 = 3! 4! = 35.
5

En el segundo caso tendremos que añadir a la cantidad anterior 4,1 . O sea, la cantidad
7 5
 
pedida será 3,4 + 4,1 = 35 + 5 = 40.

Ejercicio 11. Lali quiere guardar sus diez jerseys de invierno (los diez son diferentes)
en cuatro cajas numeradas del 1 al 4, de manera que en cada caja haya exactamente la
cantidad de jerseys que indica el número de la caja. ¿De cuántas maneras puede hacerlo?
¿Y si hay dos jerseys concretos que quiere guardar juntos?
10
= 2!10!

Solución: La primera pregunta consiste en contar 1,2,3,4 3! 4! = 12600.
En cuanto a la segunda cuestión, podemos pensar que los dos jerseys juntos son uno solo
(pero cuidado porque no podemos guardarlo en la caja número 1). Llamemos a a esta entidad
formada por los dos jerseys juntos. Entonces, pondremos a en la caja 2 y los otros jerseys
8

los podremos guardar de 1,3,4 maneras diferentes. Pondremos a en la caja 3 y los otros los
8

podremos colocar de 1,2,1,4 maneras. Finalmente, pondremos a en la caja 4 y tendremos
8 8 8 8
   
1,2,3,2 maneras de colocar los otros. En total, tendremos 1,3,4 + 1,2,1,4 + 1,2,3,2 = 2800.
Conteo de Muestras 26

Ejercicio 12. Siete amigos llegan a un hotel y sólo quedan disponibles dos habitaciones
dobles y una triple. ¿De cuántas maneras se pueden repartir? (las habitaciones están
numeradas, y por lo tanto son distinguibles)
7 7!

Solución: 2,2,3 = 2!2!3! = 210.

Ejercicio 13. Con cuatro ceros y seis unos, ¿Cuántos números de ocho cifras binarias
se pueden formar?

Solución: Hay 3 casos a considerar: dos ceros y seis unos, tres ceros y cincounos y cuatro
8 8 8

ceros y cuatro unos. Las posibilidades para cada caso son, respectivamente, 2,6 , 3,5 y 4,4 .
8! 8! 8!
Ası́ pues, la respuesta es 2!6! + 3!5! + 4!4! = 154.

Ejercicio 14. Se escogen once números naturales distintos en el conjunto {1, 2, 3, . . . , 100}.
Demuestra que hay como mı́nimo dos que están a una distancia menor que 10 unidades.
Solución: Aplicamos el principio de las cajas. Consideramos las diez “cajas”

{1, . . . , 10}, {11, . . . , 20}, . . . , {91, . . . , 100}.

Dado que tenemos once objetos, en una de estas diez cajas habrá como mı́nimo dos de
estos objetos.

Ejercicio 15. Se rellena una quiniela de 14 partidos (en cada partido marcamos una, y
sólo una, de las tres posibilidades 1, X, 2). ¿Cuántas maneras hay de acertar el resultado
de exactamente 9 de los 14 partidos (y, por lo tanto, de equivocarse en exactamente 5
partidos)?

Solución: Primero podemos elegir qué subconjunto de 9 partidos, del conjunto de 14, hemos
acertado. Esto se puede hacer de 14 9 maneras. Entonces, para los 5 que no hemos acertado,
podemos fallar de dos maneras (por ejemplo, si el resultado ha sido 1, podemos haber marcado
X o 2). Por lo tanto, hay 25 maneras de equivocarse en estos 5 partidos. En total, pues, tenemos
14
 5
9 · 2 = 64064.

Ejercicio 16. En la sala de un cine hay seis lugares libres en la fila 3 y tres en la fila
10. Un grupo de nueve amigos llegan a la sala

(a) ¿De cuántas maneras se pueden sentar los amigos en las butacas libres?

(b) Marc se ha olvidado las gafas en casa y se quiere sentar a la fila 3. ¿De cuántas
maneras se pueden sentar ahora los nueve amigos?

(c) Marc se sienta en la fila 3, y para repartir las filas entre los compañeros, recorta
ocho trozos de papel iguales, escribe “fila 3” en cinco de ellos, “fila 10” en los tres
restantes y los reparte al azar entre sus compañeros. ¿De cuántas maneras se pueden
dividir los ocho compañeros en las dos filas?
Conteo de Muestras 27

Solución:
(a) Los nueve amigos se pueden sentar de P (9) = 9! = 362880 maneras diferentes.

(b) Si fijamos una de las butacas de la fila 3 para Marc, entonces el resto de compañeros se
pueden sentar de 8! maneras. Como Marc se puede sentar en seis butacas diferentes, el
número total de distribuciones de los amigos en las butacas és 6 · 8! = 120960.

(c) Podemos considerar que


 queremos ordenar los ocho papeles donde hay 5 del mismo tipo y
8 8!
3 del mismo tipo: 5,3 = 5!·3! = 56.

Ejercicio 17. Joan y Pau trabajan en una ferreterı́a. Joan trabaja por el mañana y
ordena el pedido de siete grifos diferentes que han llegado, cada uno en una caja diferente.
Por la tarde, Pau muestra todos los grifos a unos clientes y, a la hora de cerrar, los guarda
al azar dentro de las siete cajas. A la mañana siguiente, Joan coge las cajas de los grifos
1 y 5 . ¿De cuántas maneras puede pasar que:

(a) los grifos 1 y 5 se encuentren en su caja correspondiente?

(b) sólo los grifos 1 y 5 se encuentren en su caja correspondiente?


Solución:

(a) Fijamos los grifos 1 y 5 en sus cajas y consideramos todas las ordenaciones posibles de los
otros cinco grifos. Por lo tanto, la solución es P (5) = 5! = 120.

(b) Ahora fijamos también los grifos 1 y 5 y consideramos todas las ordenaciones posibles de
los otros cuatro grifos donde ningún grifo se encuentra en su caja correspondiente.
 Ası́,
5 5 5 5
 
debemos considerar el desarreglo de los cinco grifos, D5 = 2 3! − 3 2! + 4 1! − 5 0! =
60 − 20 + 5 − 1 = 44.

Ejercicio 18. Se ha instalado un dispositivo de seguridad para entrar en una sala privada
y nos piden que escojamos una clave formada por cinco dı́gitos (0, . . . , 9). ¿De cuántas
maneras podemos escoger la clave si:

(a) queremos que sea capicua (se puede leer igual de derecha a izquierda que de izquierda
a derecha).

(b) queremos que sólo se repita el 3 y aparezca, exactamente, dos veces.


Solución:

(a) Si queremos que sea capicua, basta con escoger los tres primeros dı́gitos. Por lo tanto,
podemos escoger la clave de V R(10, 3) = 103 maneras diferentes.

(b) Nuestra clave contiene dos 3 y tres dı́gitos diferentes entre los nueve restantes (diferentes de
3). Estos dı́gitos se pueden escoger de C(9, 3) maneras diferentes. Por lo  tanto, el número
5
de claves diferentes que contienen exactamente dos 3 es C(9, 3) · 2,1,1,1 = 84 · 60 = 5040.
Conteo de Muestras 28

Ejercicio 19. Supongamos que el número de teléfono móvil de una persona, que tiene 9
cifras, debe cumplir solo dos restricciones: que empiece por 6, y que sus últimas 5 cifras
no contengan la cadena 091. Por ejemplo, 675091822 es válido, mientras que 675809122
no lo es. ¿Cuántos números de teléfono móvil son posibles?
Solución: La primera cifra debe ser un 6. Nos quedan, pues, 8 cifras. Sin ninguna otra
restricción, tenemos 108 posibilidades. Vamos a restar aquellas que contienen la cadena 091.
Esta cadena puede estar situada en las posiciones 5-6-7, 6-7-8, o 7-8-9. Para cada una de estas
3 posibilidades, nos quedan 5 cifras que podemos elegir libremente, de 105 formas. Por lo tanto,
la respuesta es 108 − 3 · 105 .

Ejercicio 20. Imponiendo como única restricción que los números deben empezar por
6, ¿Cuántos números de teléfono móvil son capicúa (un capicúa se lee igual de izquierda
a derecha que en sentido contrario; por ejemplo, 675909576 es capicúa).
Solución: En un capicúa, la primera y última cifras deben ser 6. La cifra central (posición
5) es libre. Una vez elegida (10 posibilidades), nos quedan 6 posiciones por rellenar (2-3-4 y
6-7-8), pero solo podemos elegir 3, dado que el número tiene que ser capicúa. En total, pues,
la solución es 10 · 103 = 104 .

Ejercicio 21. Para distribuir el presupuesto entre los departamentos de una empresa,
se quiere crear una comisión de seis personas con miembros de los departamentos de
dirección, de recursos humanos y de administración y finanzas. Se presentan tres hom-
bres y tres mujeres de dirección, cuatro hombres y dos mujeres de recursos humanos y,
finalmente, un hombre y dos mujeres de administración y finanzas. ¿Cuántas comisiones
diferentes se pueden constituir con las siguientes condiciones?
(a) Tiene que haber el mismo número de mujeres que de hombres.
(b) El personal de dirección debe ser mayorı́a en la comisión.
(c) No puede haber ninguna mujer del departamento de administración y finanzas.
Solución:
(a) Tenemos que escoger 3 mujeres de un total de 7 y 3 hombres de un total de 8, por lo tanto,
tenemos un total de 73 83 = 35 · 56 = 1960 comisiones diferentes.


(b) Si el personal de dirección debe ser mayorı́a, quiere decir que tenemos que escoger, como
mı́nimo 4 personas de las 6 personas de dirección y el resto
 de las 9 personas de los otros
6 6 9 6 9

dos departamentos. Ası́ la solución será 6 + 5 1 + 4 2 = 1 + 54 + 540 = 595

(c) Si excluimos las dos mujeres del departamento de administración y finanzas, tenemos que
13

escoger 6 personas entre las 13 restantes, por lo tanto 6 = 1716.

Ejercicio 22. Una empresa de cátering dispone en su plantilla de 15 camareros. El


encargado de la empresa recibe un encargo para 3 locales diferentes. Los locales piden
5, 3 y 2 camareros respectivamente.
Conteo de Muestras 29

(a) ¿De cuántas maneras el encargado puede enviar camareros a los 3 locales?
(b) Dos de los camareros, Joan y Pau, son nuevos en la empresa y no pueden trabajar
los dos solos en un mismo local (por lo tanto, no pueden estar los dos en el local
que pide solo 2 camareros). Con esta condición, ¿de cuántas maneras el encargado
puede enviar camareros a los 3 locales?

Solución:
(a) Primero seleccionamos los 10 camareros que piden del total de 15 camareros. Esto lo
podemos hacer de C(15, 10) = 3003 maneras. Podemos distribuir 10 camareros en los 3
10
locales de 5,3,2 = 2520 maneras; por lo tanto, el encargado puede hacer la distribución
15 10!

de 10 · 5!3!2! = 7567560 maneras.

(b) Restamos del total de posibles distribuciones (el valor obtenido al apartado (a)), todas las
distribuciones donde Joan y Pau se encuentran juntos en el local que piden 2 camareros.
Por lo tanto, fijamos Joan y Pau en el local de 2 camareros y escogemos entre los 13
camareros restantes 5 para un local y 3 para el otro. Esto lo podemos hacer de 13 8!
8 · 5!3! =
1278 · 56 = 72072 maneras. Ası́, el resultado final es 15 10! 13 8!
 
10 · 5!3!2! − 8 · 5!3! = 7495488.

Ejercicio 23. Sabemos que la palabra clave de un ordenador está formada por siete
sı́mbolos (tal vez repetidos) de entre los 36 elementos del alfabeto A = {a, b, . . . , z, 0, . . . , 9}.
(a) En el peor de los casos, ¿cuántas pruebas se deberán hacer hasta encontrar la palabra
clave?
(b) Si sabemos que la palabra clave contiene el año de nacimiento “1979” del usuario,
¿cuántas pruebas se deberán hacer?
(c) Si sabemos que contiene el número “15” y los sı́mbolos: a, a, b, c y c, ¿cuántas
pruebas se deberán hacer?
(d) ¿Y si sabemos que está formada por sı́mbolos diferentes (no repetidos) y ordenados
en orden creciente, según el orden en que aparecen en el alfabeto A?
Solución:
(a) En el peor de los casos se deberán hacer V R(36, 7) = 367 pruebas.

(b) La fecha de nacimiento “1979” puede estar en 4 lugares diferentes. Para las tres posiciones
restantes tenemos V R(36, 3) = 363 = 46656 opciones, por lo tanto en total se deberán
hacer 4·46656 = 186624 pruebas.
6 6!

(c) En este caso, se deberán hacer 1,2,1,2 = 2·2 = 180 pruebas.

(d) Si los sı́mbolos son diferentes y están ordenados, podemos suponer que debemos escoger 7
sı́mbolos diferentes de entre el total de 36 sin que importe el orden, puesto que sólo habrı́a
una manera de ordenar estos sı́mbolos de forma creciente. Por lo tanto, en este caso se
deberán hacer C(36, 7) = 8347680 pruebas.
Conteo de Muestras 30

Ejercicio 24. En un aula con 9 ordenadores diferentes numerados del 1 al 9 se deben


colocar 9 etiquetas, una a cada ordenador, con las caracterı́sticas de cada ordenador. El
técnico del aula no tiene tiempo de comprobar las caracterı́sticas de cada ordenador y
decide colocar las etiquetas sin comprobarlas. ¿De cuántas maneras puede pasar que:
(a) las etiquetas de los ordenadores número 3 y 5 estén bien colocadas.
(b) sólo la etiqueta del ordenador número 3 esté bien colocada.
(c) como mı́nimo tres etiquetas estén bien colocadas.
Solución:
(a) Si las etiquetas de los ordenadores número 3 y 5 están colocadas correctamente, el número
de maneras diferentes de colocar las siete restantes es 7! = 5040.
(b) Si sólo la etiqueta número 3 está en su lugar, ninguna de las otras etiquetas está bien
colocada, por lo tanto esto corresponde al número de desarreglos de ocho elementos, D8 .
Esto es:
             
8 8 8 8 8 8 8
D8 = 6! − 5! + 4! − 3! + 2! − 1! + 0!
2 3 4 5 6 7 8
= 20160 − 6720 + 1680 − 336 + 56 − 8 + 1 = 14833.

(c) Las maneras en que como mı́nimo tres de las etiquetas están bien colocadas se pueden
contar a partir del total de permutaciones restando aquellos casos en que ninguna etiqueta,
sólo una, o sólo dos, se han colocado correctamente. Ası́, tenemos
   
9 9
9! − D9 − D8 − D7 = 362880 − 133496 − 9 · 14833 − 36 · 1854 = 29143.
1 2

Ejercicio 25. Un almacén de juguetes recibe una serie especial de 70 muñecas produci-
das artesanalmente, todas distintas, numeradas del 1 al 70. En este almacén se trabaja
con tres tipos de cajas: amarillas, con una capacidad de 10 muñecas, azules, que pueden
contener 15 muñecas, y rojas, que pueden contener 20.
(a) Tenemos una caja roja, una caja amarilla y una caja azul. ¿De cuántas maneras
podemos rellenarlas con las muñecas artesanales?
(b) Tenemos tres cajas amarillas (idénticas) y dos cajas azules (también idénticas). ¿De
cuántas maneras podemos rellenarlas con las muñecas artesanales?
Solución:
(a) En total debemos colocar 10+ 15 + 20 = 45 muñecas. Primero escogemos las 45 muñecas
70
del conjunto de 70, de = 70!/(45!25!) maneras posibles. Luego las podemos colo-
45
45

car de 10,15,20 = 45!/(10!15!20!) maneras posibles. En total tenemos 70!/(25!10!15!20!)
posibilidades.
Conteo de Muestras 31

(b) En este caso debemos colocar 10 +  10+ 10 + 15 + 15 = 60  muñecas. Análogamente al


70 60
apartado (a), las posibilidades son · pero, dado que las cajas del
60 10, 10, 10, 15, 15
mismo color son indistinguibles, tenemos que corregir este número dividiendo por 2! y por
3!.

Ejercicio 26. El código universal ISBN (International standard book number ) identifica
unı́vocamente cada libro editado. Consta de nueve dı́gitos ordenados (hay un décimo
dı́gito que no consideraremos porque se calcula en función de los nueve primeros), cada
uno de los cuales pertenece al alfabeto {0, 1, 2, . . . , 9}.

(a) ¿Cuántos libros distintos permite identificar el código ISBN?

(b) Los dos primeros dı́gitos del código identifican el idioma o grupo de idiomas en que
está escrito el libro (por ejemplo, 84 corresponde al grupo de lenguas habladas en
el estado español). ¿Cuántos libros distintos escritos en alguna de las lenguas del
estado español se pueden codificar?

(c) ¿Cuántos de los libros del apartado anterior tienen los cuatro dı́gitos en posiciones
3,4,5,6 todos distintos?

(d) A una biblioteca pública llega un pedido de 2640 libros, todos distintos, que deben
distribuirse en 13 zonas. Demuestra que, una vez distribuidos, al menos una de las
13 zonas contendrá tres libros escritos en el mismo idioma (o grupo de idiomas).

(e) La biblioteca consta de 3700000 libros distintos. Demuestra que hay al menos uno
cuyo código ISBN tiene alguno de los nueve dı́gitos repetido.
Solución:

(a) VR(10,9)= 109 .

(b) Fijamos los dos primeros dı́gitos a “84”, y nos quedan siete posiciones libres. Por lo tanto,
tenemos VR(10,7)= 107 posibilidades.

(c) Fijamos los dos primeros dı́gitos a “84”. Para los siguientes cuatro dı́gitos, tenemos diez
posibilidades para el primero, nueve para el segundo, ocho para el tercero y siete para
el cuarto. Por lo que respecta a los tres dı́gitos restantes, no hay ninguna restricción.
Aplicando, pues, el principio de la multiplicación, tenemos un total de 10 · 9 · 8 · 7 · 103 =
5040000 códigos.

(d) Dado que hay 13 zonas y 100 posibles grupos de idiomas (configuraciones 00, 01, 02, . . ., 99
de los dos primeros dı́gitos del código ISBN), tenemos 13 · 100 = 1300 parejas zona/idioma.
Dado que 2640 > 2 · 1300, podemos usar el principio de las cajas generalizado.

(e) Hay 10 · 9 · 8 · · · 3 · 2 = 3628800 códigos ISBN que tengan todos los dı́gitos distintos. Por lo
tanto, ya que 3700000 > 3628800, podemos aplicar el principio de las cajas.
Conteo de Muestras 32

Ejercicio 27. Se reúnen diez compañeros para jugar al amigo invisible. Escriben sus
nombres en trozos de papel y los reparten al azar. Determinar de cuantas maneras se
pueden dar las siguientes situaciones:

(a) Ninguno de ellos tiene el papel con su nombre.

(b) Nuria y Vı́ctor tienen el papel con su nombre.

(c) Sólo Nuria y Vı́ctor tienen el papel con su nombre.

(d) Sólo dos de los amigos tienen el papel con su nombre.


Solución:

(a) La solución
 se corresponde
  al número
  dedesarreglos
  de  diezelementos,
  D10 .Esto es:
10 10 10 10 10 10 10 10
D10 = 8! − 7! + 6! − 5! + 4! − 3! + 2! + 1! +
  2 3 4 5 6 7 8 9
10
0! = 1814400 − 604800 + 151200 − 30240 + 5040 − 720 + 90 − 10 + 1 = 1334961.
10
(b) Las maneras en que Nuria y Vı́ctor tienen el papel con su nombre se corresponde a todas
las maneras de distribuir los ocho papeles restantes entre los otros ocho compañeros; es
decir, P8 = 8! = 40320.

(c) Si sólo Nuria y Vı́ctor tienen su papel, hemos de calcular el número de distribuciones
posibles de ocho papeles a ocho personas donde ninguna de ellas tiene  el
 papel con
 su
8 8
nombre; es decir, el número de desarreglos de ocho elementos: D8 = 6! − 5! +
          2 3
8 8 8 8 8
4! − 3! + 2! − 1! + 0! = 20160 − 6720 + 1680 − 336 + 56 − 8 + 1 = 14833.
4 5 6 7 8
(d) Primero elegimos, entre los diez, los dos amigos que tendrán el papel con su nombre
(C(10,2) maneras) y después calculamos el número de distribuciones diferentes de los ocho
papeles entre los ocho amigos restantes de manera que ninguno de los amigos tenga el papel
con su nombre (D8 distribuciones posibles). Por tanto, la solución final será C(10, 8) · D8 =
45 · 14833 = 667485.

Ejercicio 28. Una empresa de telefonı́a ha ampliado sus servicios y necesita integrar
diecisiete personas más en su plantilla. La empresa dispone de cinco salas donde debe
distribuir los nuevos empleados de manera que en dos salas haya cuatro en cada una y
en las otras tres salas haya tres en cada una.

(a) ¿De cuántas maneras se pueden distribuir los nuevos empleados en las cinco salas,
si las salas son diferentes?

(b) ¿Y si las salas de una misma capacidad son indistinguibles?


Solución:
Conteo de Muestras 33

(a) El número de maneras de distribuir las diecisiete personas en las cinco salas diferentes es
17
 5! 17!
C(5, 2) 4,4,3,3,3 = .
2!3! 4!4!3!3!3!
(b) Si las salas de una misma capacidad son indistinguibles, el número de maneras de hacer la
distribución es
17

4,4,3,3,3 2858856000
= = 238238000.
2!3! 2!3!
Ejercicio 29. Responde las siguientes preguntas.
(a) ¿Cuántas palabras (con o sin sentido) se pueden formar con las 12 letras de la palabra
COMBINATORIA?

(b) ¿En cuántas de las palabras anteriores las letras M y N están juntas?

(c) ¿Cuántas palabras se pueden formar con las 12 letras de la palabra COMBINATO-
RIA si las tres primeras posiciones no pueden estar ocupadas por una vocal?
Solución:

(a) Tenemos doce letras:  seis12!


vocales (A, I y O repetidas dos veces) y seis consonantes. Por lo
12
tanto, 2,2,2,1,1,1,1,1,1 = 2!2!2! = 59875200 palabras diferentes.

(b) Si M y N siempre van juntas, podemos pensar  que MN es una sola letra, lo mismo para
11 11!
NM. En tal caso la solución es 2 · 2,2,2,1,1,1,1,1 = 2 · 2!2!2! = 9979200.

(c) Primero escogemos las consonantes que deben ocupar las tres primeras posiciones, o sea
V (6, 3) = 6·5·4. A continuación, en el resto de posiciones quedan por colocar las seis vocales
9 9!

y 3 consonantes, por lo tanto 2,2,2,1,1,1 = 2!2!2! = 45360. En total tenemos 6 · 5 · 4 · 45360 =
5443200 palabras diferentes.

Ejercicio 30. En el programa de actividades culturales de una localidad, hay programa-


das diez pelı́culas y cinco obras de teatro diferentes durante este semestre de primavera.
(a) Queremos ver 6 espectáculos diferentes. ¿De cuántas maneras se puede escoger (sin
importar el orden en que se ven los espectáculos) ver 4 pelı́culas y 2 obras de teatro
diferentes, o bien 3 pelı́culas y 3 obras de teatro diferentes?

(b) ¿Y si tenemos en cuenta el orden en que se ven los diferentes espectáculos?


Solución:
(a) Si se escogen 4 pelı́culas y 2 obras de teatro, tenemos C(10, 4) · C(5, 2) = 2100, y si
escogemos 3 pelı́culas y 3 obras de teatro, tenemos C(10, 3) · C(5, 3) = 1200. Por lo tanto,
en total 2100 + 1200 = 3300 maneras diferentes.

(b) En este caso, tenemos que multiplicar el resultado del apartado anterior por P (6) = 6!, ya
que permutando cada selección de los seis espectáculos obtenemos las maneras diferentes
de verlos. Por lo tanto, en total 3300 · 6! = 2376000 maneras diferentes.
Conteo de Muestras 34

Ejercicio 31. A una de las sedes donde se realizan los exámenes de la UOC acuden 70
personas. Ese dı́a hay 3 exámenes programados: A, B y C. Entre las 70 personas, hay 35
estudiantes que realizan el examen A, 30 el examen B, 25 el examen C, 10 los exámenes
A y B, 15 los exámenes A y C, 5 los exámenes B y C, y finalmente 3 que realizan los 3
exámenes. ¿Cuantas de esas 70 personas son acompañantes y no realizan ninguno de los
tres exámenes?
Solución: Sea A, B y C el número de estudiantes que realizan cada uno de los exámenes
A, B y C, respectivamente. Por el principio de inclusión-exclusión tenemos que |A ∪ B ∪ C| =
|A| + |B| + |C| − |A ∩ B| − |A ∩ C| − |B ∩ C| + |A ∩ B ∩ C| = 35 + 30 + 25 − 10 − 15 − 5 + 3 = 63.
Por lo tanto, el número de acompañantes es 70 − 63 = 7.

Ejercicio 32. Un banco debe escoger cinco cargos directivos (director, subdirector,
interventor, tesorero y gerente) entre ocho personas, tres de las cuales son hombres,
{A, E, I}, y cinco son mujeres, {V, W, X, Y, Z}. Calcula de cuántas formas se puede
hacer la elección si (todos los apartados son independientes):
(a) A y E no pueden estar juntos en el equipo directivo.

(b) La dirección y la subdirección no pueden estar en poder de dos personas del mismo
sexo.

(c) Tienen que entrar tres mujeres y dos hombres.

(d) Entran al menos tres mujeres.


Solución:

(a) Primero escogemos a las cinco personas del grupo, y posteriormente les asignaremos cargo.
Contamos separadamente las elecciones con A y sin E, con E y sin A, y sin A ni E. Por
ejemplo, si colocamos a A y excluimos a E, hay que escoger cuatro de los seis candidatos
restantes, de 64 maneras diferentes; análogamente, las elecciones con E y sin A son 64


y las elecciones sin A ni E son 65 . Una vez escogidas las cinco personas, se les asigna


un cargo; como cada asignación es una permutación entre las


 cinco
 personas elegidas, el
número de asignaciones es 5!. La respuesta final es ( 64 + 64 + 65 )5! = 4320. Otra vı́a de


solución es 85 − 63 5! = 4320.
 

(b) En caso de que el director sea un hombre y la subdirectora una mujer, podemos escoger al
director de 3 maneras y a la subdirectora de 5 maneras. En total, 15 maneras de escoger
estos dos cargos. Quedan tres cargos para cubrir: para el primero tenemos 6 candidatos,
para el segundo 5 (una vez escogido el primero) y para el tercero 4 (una vez escogidos el
primero y el segundo). En total, pues, tenemos 15 × 6 × 5 × 4. En caso de que la directora
sea una mujer y el subdirector un hombre, análogamente se deduce que hay 15 × 6 × 5 × 4
opciones. En total, pues, la respuesta es 2 × 15 × 6 × 5 × 4 = 3600.

(c) Escogemos a los hombres de 32 maneras, y a las mujeres de 53 maneras. Por lo tanto, la
 

respuesta es 32 53 5! = 3600.
 
Conteo de Muestras 35

(d) Análogamente,
 contando  por
 separado los casos en que entran tres, cuatro y cinco mujeres,
obtenemos 32 53 5! + 31 54 5! + 5! = 5520.


Ejercicio 33. ¿Cuántos números de 10 cifras se pueden formar con los dı́gitos 1, 5 y 9
que contengan al menos un 1, un 5 y un 9? .
Solución: En total podemos formar V R(3, 10) = 310 números de 10 cifras con los dı́gitos 1,
5 y 9. Del conjunto de todos estos números, sea X1 el subconjunto de los que no tienen ningún
1, X5 el subconjunto de los que no tienen ningún 5 y X9 el subconjunto de los que no tienen
ningún 9.
La respuesta será 310 menos el cardinal del conjunto X1 ∪ X5 ∪ X9 . Por el principio de
inclusión-exclusión,

|X1 ∪ X5 ∪ X9 | = |X1 | + |X5 | + |X9 | − |X1 ∩ X5 | − |X1 ∩ X9 | − |X5 ∩ X9 | + |X1 ∩ X5 ∩ X9 |,

donde |X1 |+|X5 |+|X9 | = 3×V R(2, 10) = 3×210 , |X1 ∩X5 |+|X1 ∩X9 |+|X5 ∩X9 | = 1+1+1 = 3
(ya que sólo hay un número compuesto por un solo dı́gito) y |X1 ∩ X5 ∩ X9 | = 0 (ya que no
existe ningún número sin 1’s, 5’s ni 9’s). Ası́, la respuesta es 310 − 3 × 210 + 3.

Ejercicio 34. Determina el número de soluciones enteras de la ecuación x1 + x2 + x3 +


x4 = 60, con x1 , x2 ≥ 0 y x3 , x4 ≥ 3.
4+54−1 57
 
Solución: El número de soluciones es CR(4, 54) = 54 = 3 = 29260.

Ejercicio 35. En una clase de ciclo infantil hay veinticinco niños y niñas. Cada uno
tiene tres batas: una azul, la otra verde, y la última roja. Ninguna bata tiene ningún
otro signo identificativo aparte del color. Cada lunes cada uno lleva sólo una bata a la
escuela, la que quieren, y guardan en casa las otras dos. Contesta:

(a) Si, al acabar la clase del lunes, todos dejan su bata en una caja, ¿cuántas distribu-
ciones diferentes de batas son posibles dentro de la caja?

(b) Supongamos, ahora, que las batas se dejan en una barra horizontal con veinticinco
perchas numeradas donde caben exactamente las veinticinco batas. Además, cada
cual puede dejar la bata en la percha que le parezca. El lunes hay en la clase cinco
batas azules, ocho batas verdes y el resto rojas. En esta situación:

(1) ¿Cuántas distribuciones diferentes podemos encontrarnos en la percha este lunes


cuando, al marchar, todos han colgado sus batas?
(2) El martes faltan trece estudiantes afectados por la gripe nueva. Los doce restan-
tes que van a la escuela se ponen las batas rojas. ¿Cuántas distribuciones serı́an
posibles para el resto de batas que quedan a la percha? ¿Y si, en cambio, los
doce han tomado las ocho batas verdes y cuatro azules?

Solución:
Conteo de Muestras 36

(a) Se trata de buscar el número de soluciones enteras no negativas de la ecuación x1 +x2 +x3 =
25. Esto es, CR(3, 25) = 3+25−1

25 = 351.
(b) - (1) Como las perchas  están ordenadas y las batas sólo se distinguen por el color, la
25
solución es 5,8,12 = 6692786100.
- (2) Es evidente que, en el primer caso, la respuesta  es la misma que en el apartado
25
anterior, ya que hay 12 perchas vacı́as: 5,8,12 = 6692786100. Si toman las ocho
verdes y cuatro de azules, entonces quedan doce de rojas y una de azul, aparte de
las doce perchas vacı́as. Por lo tanto, las posibles distribuciones en la percha serán
25
1,12,12 = 67603900.

Ejercicio 36. Considera el siguiente problema: dada una cadena de diez x, calcular
todas las maneras de ponerlas entre paréntesis. Dos posibilidades serı́an (xx)xxx(xx)xxx
y xx(xx(xx(xx)x)x). De este problema, resuelve los siguientes casos particulares.
(a) Calcula el número de posibles secuencias con dos únicos paréntesis (uno para abrir
y el otro para cerrar; por ejemplo, xx(xxx)xxxxx podrı́a ser una secuencia válida)
usados de la forma habitual (siempre cierran alguna letra y siempre se pone primero
el paréntesis de apertura).
(b) Calcula el número de posibles secuencias con dos pares de paréntesis encajados
siguiendo las convenciones habituales (por ejemplo, x(xx(xx)x)xxxx serı́a una se-
cuencia de este tipo).
(c) Calcular el número de posibles secuencias con dos pares de paréntesis de modo que
no haya dos paréntesis consecutivos. Por ejemplo, las secuencias x(xx)(xx)xxxxx y
x((xxxxxx)xxx) no serı́an correctas.
(d) Considera, ahora, que en lugar de diez x, tenemos tres a, dos b y cinco c ¿Cuántas se-
cuencias diferentes hay con estas diez letras y dos paréntesis (las secuencias aaabcc(cc)cb
y b(cacab)ccac son dos ejemplos), uno de apertura y el otro de cierre (siguiendo las
convenciones habituales, claro está)?
Solución:
(a) Como indican los guiones, hay 11 posibles posiciones para colocar los paréntesis

−x − x − x − x − x − x − x − x − x − x − .

Por lo tanto, la solución es 11



2 = 55.
También podemos escoger dos posiciones de entre 12 posibles, 10 de  las letras y 2 de
12
los paréntesis, una de esas formas es x(xxxxx)xxxx. Es decir, hay 2 formas de hacerlo.
Tenemos que restar las secuencias que tienen los dos paréntesis seguidos, como por ejemplo
12

xxxxxx()xxxx, que son 11 en total. Por lo tanto, la solución es 2 − 11 = 55.
También se puede hacer ası́: consideramos la secuencia B1 (xB2 )B3 ; tenemos que colocar
las nueve x repartidas entre las tres Bi . Esto se puede hacer de CR(3, 9) = 3−1+9

9 = 55
formas diferentes.
Conteo de Muestras 37

(b) Pensando como antes, debemos colocar 4 paréntesis en 11 posiciones posibles. Hay 11

4 for-
mas de colocar los cuatro paréntesis separados. Ahora contaremos los casos donde hay dos
paréntesis juntos; como en este caso x((xxxxx)xxx)x.
 Podemos pensar que los paréntesis
11
juntos cuentan como uno solo, de ahı́ que hay 3 casos diferentes. Como los paréntesis
que van juntos pueden abrir o cerrar a la vez, multiplicamos esta última cantidad por 2.
Por lo tanto, la solución es    
11 11
+2 = 660.
4 3
Otra manera de verlo: ahora se trata de poner nueve x en el lugar de las Bi de la secuencia
B1 (B2 (xB2 )B3 )B4 , y le restamos el caso B1 ((xB2 ))B3 . Por lo tanto, la solución es
   
5−1+9 3−1+9
CR(5, 9) − CR(3, 9) = − = 715 − 55 = 660.
9 9

(c) Tenemos 11 posiciones para los paréntesis y debemos elegir 4. Esto se puede hacer de
11

4 = 330 formas diferentes. Ahora bien, por cada elección de las 4 posiciones, puede
ocurrir que el segundo paréntesis abra y el tercero cierre o que el segundo cierre y el
tercero abra. Ası́, la solución es 2 · 330 = 660.

(d) Primero hay que ver de cuántas maneras se pueden escribir las 10 letras: para las tres
a tenemos que escoger tres posiciones de las 10; para las dos b tenemos que escoger dos
posiciones de las siete restantes. En las cinco posiciones que quedan pondremos las c.
Además, para poner los paréntesis usaremos el apartado (a). En definitiva, la solución es
    
10 7 10
· 55 = · 55 = 138600.
3 2 3, 2, 5

Ejercicio 37. De cuántas formas diferentes se pueden repartir cinco ordenadores dife-
rentes entre tres grupos de investigación, sabiendo que al final del reparto no pueden
quedar grupos de investigación sin ordenador.
Solución: Podemos ver cada reparto como la partición de un conjunto de 5 elementos en 3
partes. Como los grupos de investigación son distinguibles, la solución es 3!S(5, 3) = 3!(S(4, 2)+
3S(4, 3)). Calculamos por separado S(4, 2) y S(4, 3):

S(4, 2) = S(3, 1) + 2S(3, 2) = 1 + 2(S(2, 1) + 2S(2, 2)) = 7.

S(4, 3) = S(3, 2) + 3S(3, 3) = (S(2, 1) + 2S(3, 3)) + 3 = 6.


Ası́, la solución es 3!S(5, 3) = 150.

También se puede llegar a esta solución usando números multinomiales


   
5 5
3 +3 = 150.
1, 1, 3 1, 2, 2
Ejercicio 38. En un juego de 52 cartas y cuatro jugadores, a cada reparto de 13 cartas
por jugador se le llama mano.
Conteo de Muestras 38

(a) ¿Cuántas posibles manos hay dónde un jugador tiene los cuatro ases?
(b) ¿Cuántas posibles manos hay dónde cada jugador tiene un as?
(c) Sabiendo que hay 13 picas, ¿cuántas posibles manos hay dónde un determinado
jugador tiene 8 picas y su compañero tiene las otras 5?
Solución:
48!
(a) Las posibles manos dónde un jugador concreto tiene los cuatro ases son 9!13!13!13! . Como
hay cuatro jugadores diferentes, el número de manos dónde un jugador tiene los cuatro
ases es
48!
4· .
9!13!13!13!
(b) Se pueden repartir los 4 ases entre los cuatro jugadores de 4! maneras diferentes. Además,
48!
una vez que cada jugador tiene un as, se pueden repartir las 48 cartas restantes de 12!12!12!12!
maneras diferentes. Por lo tanto, el número de manos dónde cada jugador tiene un as es
48!
4! · .
12!12!12!12!
(c) De las 13 cartas de picas, escogemos 8 para el jugador determinado y las 5 restante serán
para su compañero. Esto se puede hacer de 13

8 maneras diferentes. El resto de cartas se
39!
pueden repartir de 5!8!13!13! maneras diferentes. Por lo tanto, hay
 
13 39!
·
8 5!8!13!13!
manos diferentes.
Ejercicio 39. Considera el conjunto de palabras de 5 letras formadas a partir del alfa-
beto {a, b, c, d, e, f, g}.
(a) ¿En cuántas de estas palabras no se repiten tres letras consecutivas ?
(b) ¿Cuántas de estas palabras tienen exactamente dos letras consecutivas repetidas?
Un ejemplo de estas palabras es abbac.
Solución:
(a) El número de palabras de longitud 5 sobre un alfabeto de 7 letras es V R(7, 5) = 75 . Ahora
bien, combinando los principios de la multiplicación y de la adición vemos que el número
de palabras con exactamente 3 letras consecutivas repetidas es 7(6 · 7 + 6 · 6 + 6 · 7) = 840,
el número de palabras con exactamente 4 letras consecutivas repetidas es 7 · 2 · 6 = 84 y,
finalmente, el número de palabras con 5 letras consecutivas repetidas es 7. Por lo tanto, la
solución es 75 − (840 + 84 + 7) = 75 − 931 = 15876.
(b) Hay 7 formas diferentes de elegir la letra que se repite dos veces y, una vez elegida esta
letra, podemos ver las dos letras iguales como una sola y calcular el número de palabras de
4 letras donde una de ellas es la elegida previamente y no hay letras consecutivas repetidas.
Ası́, según el principio de la multiplicación, la solución es 7 · 4 · 63 = 6048.
Capı́tulo 3

Funciones Generadoras

El método de las funciones generadora es una herramienta importante para la re-


solución de problemas de conteo. Intuitivamente, muchos problemas de conteo se re-
ducen a la búsqueda de un determinado término de una sucesión de números reales
a0 , a1 , a2 , . . . , an , . . . , o lo que es equivalente, a la búsqueda de un determinado coeficien-
te de la serie de potencias
X∞
f (x) = ai x i .
i=0

Esta serie recibe el nombre de función generadora de la sucesión {an }. En este capı́tulo
estudiamos algunas aplicaciones de las funciones generadoras a la solución de problemas
combinatorios sencillos.

3.1. Método de las funciones generadoras


En esta sección veremos algunas aplicaciones elementales de las funciones genera-
doras. Antes de introducir formalmente nuestras herramientas de trabajo, veamos el
siguiente ejemplo.

Ejemplo 53. Tenemos tres urnas diferentes que contienen monedas de 5 y de 10 cénti-
mos. Si podemos extraer, a lo sumo, una moneda de cada urna, ¿de cuántas formas
diferentes podemos extraer 15 céntimos?

Solución: Se pueden extraer 15 céntimos a partir de tres monedas de 5 o de una moneda


de 5 y una de 10. Para el primer caso hay una posibilidad, mientras para el segundo hay
3! = 6 posibilidades. Por lo tanto, se pueden extraer 15 céntimos de 1 + 6 = 7 formas
diferentes.
La solución de este problema se pudo haber enfocado de la siguiente forma. Asig-
nando el polinomio 1 + x5 + x10 a cada una de las urnas, podemos ver que el número
de formas de escoger los 15 céntimos coincide con el coeficiente del término x15 en el
desarrollo de (1 + x5 + x10 )(1 + x5 + x10 )(1 + x5 + x10 ). Por ejemplo, x15 = x0 · x10 · x5 se

39
Funciones Generadoras 40

identifica con no escoger ninguna moneda de la primera urna, escoger una moneda de 10
céntimos de la segunda y una de 5 céntimos de la tercera. Al desarrollar (1 + x5 + x10 )3
se comprueba que el coeficiente de x15 es 7.

Definición 11. La función generadora (ordinaria) asociada a una sucesión de números


reales g0 , g1 , g2 , . . . , gr , . . . es la serie de potencias

g(x) = g0 + g1 x + g2 x2 + · · · + gr xr + · · ·

Ejemplo 54. Determina la función generadora de cada una de las siguientes sucesiones.

(a) 1, 1, 1, 1, 1, . . .

(b) 1, 3, 3, 1, 0, 0, 0, . . .

(c) 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, . . .

Solución:

(a) g(x) = 1 + x + x2 + · · · xn + · · · . Esta serie geométrica converge para |x| < 1 y su


1
suma es g(x) = 1−x .

(b) g(x) = 1+3x+3x2 +x3 . Aplicando la fórmula de binomio vemos que g(x) = (1+x)3 .

(c) g(x) = 1 + x + x2 + x3 + x4 + x5 + x6 . Aplicando la fórmula de la suma de los n


7
primeros términos de una progresión geométrica se deduce que g(x) = 1−x
1−x
.

Nótese que en el ejemplo anterior la serie geométrica 1 + x + x2 + · · · + xn + · · ·


1
converge a 1−x para |x| < 1. Trabajando con funciones generadoras pasaremos por alto
1
el tema de la convergencia y escribiremos directamente g(x) = 1−x . Esto se debe a que
rara vez evaluaremos en la función generadora.

Ejemplo 55. Queremos repartir doce juegos de ordenador, iguales, entre tres niños,
Joan, Marta y Pedro, siguiendo los criterios siguientes. Joan tiene que recibir cuatro,
cinco o seis juegos; Marta, dos como mı́nimo y Pedro, cinco como máximo. Usando
funciones generadoras, plantea de cuántas maneras se puede hacer la distribución.

Solución: A cada persona le asignaremos una función generadora donde asumimos que
cada término xi significa que le podemos dar i juegos a aquella persona. Dichas funciones
son:

Joan: x4 + x5 + x6 .

Marta: x2 + x3 + x4 + x5 + x6 + x7 + x8 .

Pedro: x0 + x + x2 + x3 + x4 + x5 .
Funciones Generadoras 41

Se trata de buscar el coeficiente g12 de X 12 al desarrollar


g(x) = (x4 + x5 + x6 )(x2 + x3 + x4 + x5 + x6 + x7 + x8 )(x0 + x + x2 + x3 + x4 + x5 ).
Ejemplo 56. Estas vacaciones tenemos previsto salir nueve noches con una única per-
sona cada noche, y disponemos de siete amigos para que nos acompañen. Josep dispone
de cuatro noches libres; Carmen, de tres; Tere, de cuatro; Miky, de dos; Jordi, de tres;
Nina de cinco; y, finalmente, Paco, de cuatro. Además queremos salir, como mı́nimo, dos
noches con Josep. Determina de cuántas formas lo podemos hacer.
Solución: A cada persona le asignaremos una función generadora donde asumimos que
cada término xi significa que podemos salir i noches con aquella persona. Dichas funcio-
nes son:
Josep: f1 (x) = x2 + x3 + x4 ,
Carmen: f2 (x) = x0 + x1 + x2 + x3
Tere: f3 (x) = x0 + x1 + x2 + x3 + x4 ,
Miky: f4 (x) = x0 + x1 + x2
Jordi: f5 (x) = x0 + x1 + x2 + x3
Nina: f6 (x) = x0 + x1 + x2 + x3 + x4 + x5
Paco: f7 (x) = x0 + x1 + x2 + x3 + x4
Se trata de buscar el coeficiente de x9 en el desarrollo de la función
g(x) = f1 (x)f2 (x)f3 (x)f4 (x)f5 (x)f6 (x)f7 (x).
Ejemplo 57. Usando funciones generadoras, plantea cómo calcular la el número de
formas de escoger veinticinco pastelillos de entre siete gustos diferentes si tenemos que
seleccionar entre dos y seis de cada gusto.
Solución: La solución estáá determinada por el coeficiente g25 de la función generadora
g(x) = (x2 + x3 + x4 + x5 + x6 )7 .
Ejemplo 58. Usando funciones generadoras, plantea cómo calcular el número de solu-
ciones enteras y positivas (xi > 0) de la ecuación x1 + x2 + x3 = 5
Solución: A cada incógnita le podemos asociar el polinomio x + x2 + x3 + x4 + x5 , que
se ha de interpretar (leyendo los exponentes de la x). La solución del problema es el
coeficiente g5 de la función generadora
g(x) = (x + x2 + x3 + x4 + x5 )3 .
Nótese que también podrı́amos usar la función generadora
g(x) = (x + x2 + x3 + · · · )3 .
Funciones Generadoras 42

Ejemplo 59. Usando funciones generadoras plantea cómo calcular el número de solu-
ciones enteras no negativas (xi ≥ 0) de la ecuación x1 + x2 + x3 = 5.

Solución: A cada incógnita le podemos asociar el polinomio x0 + x + x2 + x3 + x4 + x5 ,


que se ha de interpretar (leyendo los exponentes de la x).
La solución del problema es el coeficiente g5 de la función generadora

g(x) = (1 + x + x2 + x3 + x4 + x5 )3 .

Observemos que, también, podrı́amos tomar como función generadora

g(x) = (1 + x + x2 + x3 + · · · )3 .

Ejemplo 60. Plantea cómo calcular el número de soluciones enteras de la ecuación


x1 + x2 + x3 = 5, donde 1 ≤ x1 ≤ 2 y x2 , x3 ≥ 0.

Solución: Buscamos el coeficiente g5 de la función generadora

g(x) = (x + x2 )(1 + x + x2 + x3 + x4 )2 .

Ejemplo 61. Utilizando las funciones generadoras plantea cómo calcular el número de
soluciones enteras de la ecuación a + b + c = 10, donde cada variable debe valer entre 2
y 4.

Solución: En este caso buscamos el coeficiente g10 de x10 en el desarrollo de la función


generadora g(x) = (x2 + x3 + x4 )3 .

Ejemplo 62. Utilizando las funciones generadoras plantea cómo calcular el número de
soluciones enteras, no negativas, de la ecuación 2a + 3b + 5c = r.

Solución: Se trata de buscar el coeficiente de xr en la función generadora

g(x) = (1 + x2 + x4 + x6 + · · · )(1 + x3 + x6 + x9 + · · · )(1 + x5 + x10 + x15 + · · · ).

Ejemplo 63. Plantea una función generadora y determina cuál es el término cuyo
coeficiente corresponde al número de maneras de distribuir cien objetos iguales en cuatro
cajas. Ten en cuenta que las cajas son distinguibles y que cada una debe contener un
objeto como mı́nimo.

Solución: El número de distribuciones posibles corresponde al número de soluciones


enteras y positivas de la ecuación x1 + x2 + x3 + x4 = 100. El coeficiente g100 del término
x100 de la función generadora siguiente nos da el número de distribuciones que pide el
enunciado:
g(x) = (x + x2 + x3 + x4 + · · · )4 .
Funciones Generadoras 43

Ejemplo 64. Usando funciones generadoras determina cuál es el término cuyo coefi-
ciente corresponde al número de maneras de distribuir cien objetos iguales en cuatro
cajas. En este caso ten en cuenta que las cajas son indistinguibles y que cada una debe
contener un objeto como mı́nimo.

Solución: Como los objetos y las cajas son indistinguibles, buscamos el número de
soluciones enteras de x1 +x2 +x3 +x4 = 100, con las restricciones 0 < x1 ≤ x2 ≤ x3 ≤ x4 .
Tomemos x2 = x1 + a, x3 = x2 + b = x1 + a + b y x4 = x3 + c = x1 + a + b + c,
con x1 > 0 y a, b, c ≥ 0. Si sustituimos x2 , x3 y x4 en la ecuación anterior, obtenemos

4x1 + 3a + 2b + c = 100,

donde x1 > 0 y a, b, c ≥ 0. Buscamos coeficiente g100 del término x100 de

g(x) = (x4 + x8 + · · · )(1 + x3 + x6 + · · · )(1 + x2 + x4 + · · · )(1 + x + x2 + · · · ).

3.2. Técnicas de cálculo


Para calcular el coeficiente de funciones generadoras es necesario tener ciertas habi-
lidades de cálculo. Antes de desarrollar algunos ejemplos, destacamos algunas funciones
generadoras que aparecen con frecuencia en la solución de problemas combinatorios.

Proposición 16.

1 − xn+1
= 1 + x + x2 + · · · + xn , x 6= 1.
1−x
1
= 1 + x + x2 + · · · + xr + · · · , 0 ≤ x < 1.
1−x
1
k
= 1 + xk + x2k + · · · + xrk + · · · , 0 ≤ x < 1
1−x
Las fórmulas anteriores son conocidas del estudio de progresiones geométricas.

Ejemplo 65. Determina la función generadora de las siguientes sucesiones:

(a) 1, 2, 3, 4, 5, 6, . . .
1 1 1 1
(b) 0, 1, − , , − , . . .
2 3 4 5
Solución:
Funciones Generadoras 44

(a) La función generadora es

g(x) = 1 + 2x + 3x2 + 4x3 + 5x4 + · · ·


d
= (1 + x + x2 + x3 + x4 + x5 + · · · )
dx  
d x
=
dx 1 − x
1
= .
(1 − x)2

(b) En este caso, la función generadora es


1 1 1
g(x) = x − x2 + x3 − x4 + · · ·
Z 2 3 4
= (1 − x + x2 − x3 + x4 + · · · )dx
Z
dx
=
1+x
= ln(1 + x) + c.

Como g(0) = 0, tenemos que c = 0 y, por lo tanto, g(x) = ln(1 + x).


Proposición 17. Sean n y k enteros positivos. Entonces
n  
k n
X n r kr
(a) (1 + qx ) = q x .
r=0
r
∞  
1 X n−1+r r
(b) = x.
(1 − x)n r=0
r

Demostración. La primera igualdad es un caso particular del Teorema 10 (Teorema del


Binomio). La segunda se obtiene de la siguiente forma. Cada término xr en el siguiente
desarrollo

 n ! ∞ ! ∞
!
1 1 X X X
= = xi xi · · · xi (3.1)
(1 − x)n 1−x i=0 i=0 i=0
| {z }
n

se identifica con una solución entera no negativa de la ecuación y1 + y2 + · · · + yn = r,


donde el valor de yj coincide con el exponente de x en el j-ésimo paréntesis de (3.1).
 Por
r 1 n−1+r
consiguiente, el coeficiente de x en el desarrollo de (1−x)n es CR(n, r) = r
.
A continuación veremos que las dos fórmulas de la Proposición 17 se pueden
 expresar
de una manera unificada. Para ello definiremos el número combinatorio kt para todo
número real t y todo entero no negativo k.
Funciones Generadoras 45

Definición 12. Para todo número entero real t ∈ R y todo entero positivo k ∈ N − {0},
definimos el número combinatorio generalizado kt como
   t(t−1)(t−2)···(t−k+1) si k 6= 0;

t k!
=
k
1 si k = 0.

n

Sea n ∈ N. Nótese que si n ≥ k, entonces la definición de k
coincide con la que
n

conocı́amos y, si 0 ≤ n < k, entonces k = 0. Por otro lado, para todo n ∈ N,
   
−n −n(−n − 1)(−n − 2) · · · (−n − k + 1) k n−1+k
= = (−1) .
k k! k
Estamos en condiciones de dar la siguiente generalización del teorema del binomio.
Teorema 18 (Teorema del Binomio Generalizado). Sean a, b ∈ R − {0} y n ∈ Z tales
que a 6= −b, siempre que n sea menor o igual que 0. Entonces
∞  
n
X n n−i i
(a + b) = a b.
i=0
i

Demostración. Para n ≥ 0, el resultado coincide con el Teorema del Binomio (Teorema


10), ya que ni = 0 para i > n y de ahı́ se deduce que
n   n   ∞   ∞  
n
X n n−i i X n n−i i X n n−i i X n n−i i
(a + b) = a b = a b + a b = a b.
i=0
i i=0
i i=n+1
i i=0
i

Falta demostrar que para todo n > 0 y a 6= −b se cumple


∞  
−n
X −n −n−i i
(a + b) = a b.
i=0
i

Asumimos, sin perder generalidad, que a 6= 0. Entonces,


1 1
= n n
(a + b)n
a 1 − − ab
∞    i
1 X n−1+i b
= n −
a i=0 i a
∞  
X n − 1 + i −n−i i
= (−1)i a b
i=0
i
∞  
X −n −n−i i
= a b.
i=0
i

Por lo tanto, el resultado se cumple.


Funciones Generadoras 46

En realidad el teorema anterior es la versión discreta del Teorema del Binomio


Generalizado, ya que el resultado también se cumple para exponentes reales. En este
caso la fórmula se deduce del desarrollo en serie de Taylor de la función f (a) = (a + b)t
en a0 = 0.
Ejemplo 66. Determina el coeficiente de x2015 en las siguientes funciones generadoras.
(a) f (x) = (1 − 2x)50000
1
(b) f (x) =
1 + 3x
1
(c) f (x) =
(1 + 5x)4
Solución:
50000
X   
50000 i i 50000
(a) f (x) = (1−2x)50000 = (−2) x . El coeficiente de x2015 es −22015 .
i=0
i 2015

1 1 X
(b) f (x) = = = (−3)i xi . El coeficiente de x2015 es −32015 .
1 + 3x 1 − (−3x) i=0

∞  
1 1 X 4−1+i
(c) f (x) = = = (−5)i xi . El coeficiente de x2015
(1 + 5x)4 (1 − (−5x))4 i=0
i
 
2018
es −52015 .
2015
Ejemplo 67. Calcula el coeficiente de x21 en la expresión (x3 + x4 + · · · + x10 )4 .
Solución: En primer lugar, observemos que

(x3 + x4 + · · · + x10 )4 = x12 (1 + x + x2 + · · · + x7 )4 ,

o sea que buscamos el coeficiente de x9 en la función generadora


4
1 − x8

2 7 4
(1 + x + x + · · · + x ) = = (1 − x)−4 (1 − x8 )4 .
1−x | {z } | {z }
α(x) β(x)

1 4+j−1

Los coeficientes de α(x) = (1−x) 4 se calculan como αj = j
.
4 4 4 4 4
    
Como β(x) = (1 − x8 )4 = 0 − 1 x8 + 2 x16 − 3 x24 + 4 x32 , los coeficientes, βi ,
β(x) = (1 − x ) , son nulos a excepción de β0 = 0 , β8 = − 1 , β16 = 42 ,
4 4
8 4

del polinomio
β24 = − 43 y β32 = 44 .

9
Ası́, el coeficiente de x
 que  estamos  buscando es:
4+9−1 4 4+1−1 4 12 4
   4
α9 β0 + α1 β8 = 9
· 0
− 1
· 1
= 9
− 1
· 1 = 204.
Funciones Generadoras 47

Ejemplo 68. Calcula el coeficiente de x16 en el desarrollo de (x2 + x3 + x4 + · · · )5 .

Solución: El coeficiente de x16 se calcula de la siguiente forma:

(x2 + x3 + x4 + · · · )5 = (x2 (1 + x + x2 + x3 + · · · ))5


 2 5
x 1
= = x10 .
1−x (1 − x)5
| {z }
α(x)

6 −5
Por lo tanto,
5+6−1
 10
 nos hace falta determinar el coeficiente de x en α(x) = (1 − x) que
sólo
es 6
= 6 = 210.

Ejemplo 69. Calcula coeficiente de x25 en el desarrollo de la función generadora

g(x) = (x2 + x3 + x4 + x5 + x6 )7 .

Solución: En este caso,

g(x) = (x2 + x3 + x4 + x5 + x6 )7 = x14 (1 + x + x2 + x3 + x4 )7 .

De ahı́ que buscamos el coeficiente de x11 en el desarrollo de


7
1 − x5

= (1 − x)−7 (1 − x5 )7 .
1−x | {z } | {z }
α(x) β(x)

∞   7  
X 7−1+r r
X 7
Teniendo en cuenta que α(x) = x y que β(x) = (−1)r x5r
r=0
r r=0
r
concluimos que el coeficiente de x11 se obtiene como resultado de calcular
     
17 12 7
β0 α11 + β5 α6 + β10 α1 = 1 −7 + 21 .
11 6 1

Ejemplo 70. Calcula el número de soluciones enteras de la ecuación a+b+c+d+e+f =


20, sabiendo que a ∈ {1, . . . , 5} y las otras variables valen, como mı́nimo, dos.

Solución: Buscamos el coeficiente de x20 en el desarrollo de

g(x) = (x + x2 + x3 + x4 + x5 )(x2 + x3 + · · · )5
= x11 (1 + x + x2 + x3 + x4 )(1 + x + x2 + · · · )5
5
 5
11 (1 − x ) 1
=x
(1 − x) 1 − x
x (1 − x5 )
11
= .
(1 − x)6
Funciones Generadoras 48

El coeficiente que buscamos es el de x9 en f (x) = (1 − x5 ) (1 − x)−6 .


| {z } | {z }
    α(x) β(x)
6 1 7 2
f (x) = 1 − x5 1 +

x + x + ···
1 2
La solución es α0 β9 + α5 β4 = 6+9−1 − 6+4−1 = 14 − 94 = 1876.
   
9 4 9

Ejemplo 71. ¿De cuántas maneras diferentes podemos reunir 85 dólares si utilizamos
billetes de 1, 5, 10 y 20 dólares?

Solución: La solución al problema planteado consiste en calcular el coeficiente g85 de


x85 en la función generadora:

g(x) = (1 + x + x2 + · · · )(1 + x5 + x10 + · · · )(1 + x10 + x20 + · · · )(1 + x20 + x40 + · · · )


1 1 1 1
= · 5
· 10
· .
1−x 1−x 1−x 1 − x20
Para calcular este coeficiente es mejor utilizar algún programa que permita la ma-
nipulación de polinomios. El resultado es g85 = 190.
Funciones Generadoras 49

3.3. Ejercicios
Ejercicio 40. Proponer una función generadora para calcular de cuántas maneras po-
demos llenar una granja con gallinas, conejos y cerdos, si queremos que en total haya
60 patas. Indicar qué término de esta función es necesario calcular (sin hacerlo explı́ci-
tamente).
Solución: Si llamamos x, y y z al número de gallinas, conejos y cerdos respectivamente,
entonces debemos calcular el número de soluciones enteras no negativas de la ecuación 2x +
4y + 4z = 60, que se puede simplificar para obtener x + 2y + 2z = 30. Tenemos que calcular el
coeficiente de x30 de la función generadora

(1 + x + x2 + . . . + x30 )(1 + x2 + x4 + . . . + x30 )2 .

Ejercicio 41. Determinar el coeficiente de x22 en la función generadora siguiente:

f (x) = (x2 + x3 + · · · + x15 )3 (1 + x + x2 + x3 + x4 + x5 )2 .

Solución: Podemos escribir g(x) = (x2 )3 (1 + x + · · · + x13 )3 (1 + x + x2 + x3 + x4 + x5 )2 , por


lo tanto el coeficiente de x22 es igual al coeficient de x16 de la función generadora (1 + x +
14 3 1−x6 2
   
· · · + x13 )3 (1 + x + x2 + x3 + x4 + x5 )2 . Esta última se puede escribir como 1−x
1−x 1−x =
1
(1 − x14 )3 (1 − x6 )2 . El coeficiente de x16 de la función generadora es, pues, α0 β0 γ16 +
| {z } | {z } (1 − x)5
α β | {z }
γ
α0 β6 γ10 +α0 β12 γ4 +α14 β0 γ2 = CR(5, 16)−C(2, 1)CR(5, 10)+C(2, 2)CR(5, 4)−C(3, 1)CR(5, 2) =
4845 − 2002 + 70 − 45 = 2868

Ejercicio 42. ¿De cuántas formas podemos hacer una ensalada con n frutas sujetas a
las siguientes restricciones?

El número de manzanas tiene que ser par.

El número de plátanos ha de ser múltiplo de cinco.

Puede haber como máximo cuatro naranjas.

Puede haber a lo sumo una pera.


Solución: Sean
1 1
f1 (x) = 1 + x2 + x4 + · · · = 2
= ,
1−x (1 − x)(1 + x)
1
f2 (x) = 1 + x5 + x10 + x20 + · · · = ,
1 − x5
1 − x5
f3 (x) = 1 + x + x2 + x3 + x4 = ,
1−x
Funciones Generadoras 50

f4 (x) = 1 + x,
las funciones generadoras asociadas a las manzanas, plátanos, naranjas y peras, respectivamen-
te. Buscamos el coeficiente de xn en el desarrollo de la función
∞  
1 X r+1 r
f1 (x)f2 (x)f3 (x)f4 (x) = = x .
(1 − x)2 r
r=0

Dicho coeficiente es n + 1 y, por lo tanto, podemos hacer la ensalada de n + 1 formas diferentes.

Ejercicio 43. Una empresa tiene un presupuesto de 37.000 euros para distribuir entre
cuatro de sus departamentos. Suponemos que tenemos que asignar un número exacto de
miles de euros a cada departamento.
(a) ¿De cuántas maneras diferentes lo podemos hacer, si como mı́nimo se quiere asignar
5.000 euros al departamento de marketing y 7 .000 al de relaciones exteriores? Nota:
Resolver este apartado sin usar funciones generadoras.
(b) Y si además de las condiciones del apartado anterior, queremos que el departamento
de marketing reciba como máximo 18.000 y el resto como máximo 20.000, ¿de cuántas
maneras se puede hacer la distribución?
Solución:
(a) Podemos asignar los 5.000 y 7.000 euros a los departamentos correspondientes y distribuir
el resto del presupuesto, o sea 25.000, entre los cuatro departamentos. Esto es equivalente a
encontrar el númerode soluciones
 enteres no negativas de la ecuación x1 +x2 +x3 +x4 = 25,
28
que es CR(4, 25) = = 3276.
3
(b) La solución se puede expresar como el coeficiente de x37 de la función generadora

g(x) = (x5 + x6 + · · · + x18 )(x7 + x8 + · · · + x20 )(1 + x + x2 + · · · + x20 )2 .

(1 − x14 )2 (1 − x21 )2 1
Podemos escribir g(x) = x12 = x12 (1 − x14 )2 (1 − x21 )2 , y
(1 − x)2 (1 − x)2 (1 − x)4
por lo tanto se trata de calcular el coeficiente de x25 de la función generadora f (x) =
1 1
(1 − x14 )2 (1 − x21 )2 4
. Sean α(x) = (1 − x14 )2 , β(x) = (1 − x21 )2 y γ(x) = .
(1 − x) (1 − x)4
Ası́, f25 = α0 β0 γ25 +α0 β21 γ4 +α14 β0 γ11 = C(2, 0)2 ·CR(4, 25)−C(2, 0)·C(2, 1)·CR(4, 4)−
C(2, 1) · C(2, 0) · CR(4, 11) = 3276 − 2 · 35 − 2 · 364 = 2478.

Ejercicio 44. A un pueblo con dos restaurantes, un hotel y un bar, llegan autocares con
70 turistas y cada uno de ellos decide ir a comer a uno de los cuatro establecimientos. La
capacidad máxima es de 38 personas en el bar y de 50 personas en cada uno de los otros
tres establecimientos. Considerando que los turistas son indistingibles unos de otros,
¿de cuántas maneras se pueden haber distribuido los turistas en los establecimientos del
pueblo si a cada uno de los restaurantes han ido a comer al menos 6 turistas y al hotel
han ido al menos 12?
Funciones Generadoras 51

Solución: La solución se puede expresar como el coeficiente de x70 de la función generadora


g(x) = (x6 + x7 + · · · + x50 )2 (x12 + x13 + · · · + x50 )(1 + x + x2 + · · · + x38 ).

(1 − x45 )2 (1 − x39 ) (1 − x39 ) 1


Podemos escribir g(x) = x24 2
= x24 (1 − x45 )2 (1 − x39 )2 ,
(1 − x) (1 − x) (1 − x) (1 − x)4
y por lo tanto se trata de calcular el coeficiente de x46 de la función generadora f (x) =
1 1
(1 − x45 )2 (1 − x39 )2 5
. Sean α(x) = (1 − x45 )2 , β(x) = (1 − x39 )2 y γ(x) = 4
.
(1 − x) (1 − x)
Ası́, f46 = α0 β0 γ46 + α45 β0 γ1 + α0 β39 γ7 = 20 20 4+46−1 − 21 20 4+1−1 − 20 21 4+7−1
        
46 1 7 =
18424 − 2 · 4 − 2 · 120 = 18176.

Ejercicio 45. En una escuela de idiomas se han matriculado 67 estudiantes para el


primer curso de inglés. La escuela dispone de 4 aulas y la capacidad máxima de las dos
más grandes es de 25 estudiantes y de las dos más pequeñas es de 15. Si el número
mı́nimo de alumnos por aula queremos que sea 10, ¿cuántas distribuciones diferentes
podemos hacer del número de estudiantes en las aulas?
Nota: No se tiene que tener en cuenta la distribución de los estudiantes dentro de
las aulas; solo el número de estudiantes que hay en cada aula.
Solución: La solución se puede expresar como el coeficiente de x67 de la función generadora
g(x) = (x10 + x11 + · · · + x25 )2 (x10 + x11 + · · · + x15 )2 .

(1 − x16 )2 (1 − x6 )2 1
Podemos escribir g(x) = x40 2 2
= x40 (1 − x16 )2 (1 − x6 )2 , y por lo
(1 − x) (1 − x) (1 − x)4
1
tanto se trata de calcular el coeficiente de x27 de f (x) = (1 − x16 )2 (1 − x6 )2 . Sean
(1 − x)4
1
α(x) = (1 − x16 )2 , β(x) = (1 − x6 )2 y γ(x) = . Ası́, f27 = α0 β0 γ27 + α0 β6 γ21 +
(1 − x)4
α0 β12 γ15 +α16 β0 γ11 +α16 β6 γ5 = C(2, 0)2 ·CR(4, 27)−C(2, 0)·C(2, 1)·CR(4, 21)+C(2, 0)·C(2, 2)·
CR(4, 15)−C(2, 1)·C(2, 0)·CR(4, 11)+C(2, 1)2 ·CR(4, 5) = 4060−4048+816−728+224 = 324.

Ejercicio 46. Tres contenedores (uno irá a Valencia, el otro en Ripoll, y el último en La
Seu d’Urgell) se tienen que llenar con cajas de pelotas. Tenemos 24000 pelotas iguales,
y cada caja contiene exactamente 50 pelotas. ¿De cuántas maneras diferentes se puede
hacer la distribución de las pelotas si cada contenedor tiene que llevar entre 100 y 200
cajas, excepto el de Valencia que tiene que llevar un mı́nimo de 150 y un máximo de
300?
Solución: Debemos repartir 480 cajas de pelotas entre tres contenedores. Por lo tanto, si xi
es el número de cajas en el contenedor i:

x1 + x2 + x3 = 480,

con la condición que 100 ≤ x1 , x2 ≤ 200 y 150 ≤ x3 ≤ 300. La función generadora asociada es

f (x) = (x100 + · · · + x200 )2 (x150 + · · · + x300 ).


Funciones Generadoras 52

Estamos buscando el término de grado 480 de esta función generadora. Ahora, f (x) = x350 (1 +
· · · + x100 )2 (1 + · · · + x150 ) y, por lo tanto, debemos encontrar el término 130 del polinomio
g(x) = (1 + · · · + x100 )2 (1 + · · · + x150 ).
2
1 − x101 1 − x151 (1 − x101 )2 (1 − x151 )

g(x) = = =
1−x 1−x (1 − x)3
−x353 + 2x252 + x202 − x151 − 2x101 + 1
= =
(1 − x)3
∞   !
X 2 + r
= (−x353 + 2x252 + x202 − x151 − 2x101 + 1) xr .
r
r=0

132 31
 
En definitiva, el coeficiente del término de grado 130 es: 130 −2 29 = 7716.

Ejercicio 47. ¿De cuántas formas podemos distribuir 100 estudiantes en seis aulas si
no hacemos distinción entre estudiantes, y la capacidad máxima de las aulas es de 40,
excepto una que tiene una capacidad máxima de 20 estudiantes?
Solución: Sean x1 , x2 , x3 , x4 , x5 y x6 el número de estudiantes asignados a cada una de
las seis aulas. Tenemos que buscar el número de soluciones enteras no-negativas de la ecuación
x1 + x2 + x3 + x4 + x5 + x6 = 100 con las condiciones x1 , x2 , x3 , x4 , x5 ≤ 40 y x6 ≤ 20.
La solución es el coeficiente g100 de la función generadora:
5 
1 − x41 1 − x21
 
2 40 5 2 20
g(x) = (1 + x + x + · · · + x ) (1 + x + x + · · · x ) = =
1−x 1−x
5
= 1 − x41 (1 − x21 ) (1 − x)−6
| {z } | {z } | {z }
α(x) β(x) γ(x)

g100 = α0 β0 γ100 + α0 β21 γ79 + α41 β0 γ59 + α41 β21 γ38 + α82 β0 γ18 =
= CR(6, 100) − CR(6, 79) − 5CR(6, 59) + 5CR(6, 38) + 10CR(6, 18) =
= 96560646 − 30872016 − 5 · 7624512 + 5 · 962598 + 10 · 33649 = 32715550.
Capı́tulo 4

Ecuaciones recurrentes lineales

Este capı́tulo se dedica al estudio de recurrencias lineales, un tipo especial de ecua-


ciones que definen una sucesión de números reales
{xn } = x0 , x1 , x2 , . . . , xn , . . .
de forma recursiva, es decir, donde cada término se define en función de los términos
precedentes. Una recurrencia lineal tiene que ir acompañada de condiciones iniciales que
nos brindan información sobre los primeros términos de la sucesión.

4.1. Introducción a las recurrencias lineales


Definición 13. Una ecuación de la forma xn = f (xn−1 , xn−2 , . . . , xn−k ), para n > k, que
expresa el término n-ésimo de una sucesión {xn } en función de k términos anteriores se
denomina ecuación de recurrencia o simplemente recurrencia de orden k. Las recurrencias
de la forma
xn + a1 xn−1 + a2 xn−2 + · · · + ak xn−k = 0
se denominan recurrencias lineales homogéneas, mientras las recurrencias de la forma
xn + a1 xn−1 + a2 xn−2 + · · · + ak xn−k = Rn ,
donde Rn (no nulo) en general depende de n, se denominan recurrencias lineales no
homogéneas.
Nótese que dados los valores iniciales x0 , x1 , . . . , xk−1 , la recurrencia
xn = f (xn−1 , xn−2 , . . . , xn−k )
tiene una única solución dada por
xk = f (xk−1 , xk−2 , . . . , x0 )
xk+1 = f (xk , xk−1 , . . . , x1 )
xk+2 = f (xk+1 , xk , . . . , x2 )
...

53
Recurrencias Lineales 54

El siguiente problema de la reproducción de conejos fue enunciado por Leonardo de


Pisa1 a principios del siglo XIII.
Ejemplo 72. Supongamos que tenemos un conejo macho y una hembra recién nacidos.
Cada pareja es capaz de reproducirse al cabo de un mes de haber nacido y produce, a
partir de este momento, otro macho y otra hembra cada mes. Si no se muere ninguno,
¿cuántos conejos tendremos al cabo de un año?

Solución: Para obtener una ecuación recurrente que representa el enunciado nos situa-
mos al final del mes k-ésimo (k ≥ 2). Tendremos tantas parejas de conejos como las
que tenı́amos al final del mes anterior k − 1, más las parejas nacidas en el mes actual
k. Ahora bien, en el mes k habrán nacido tantas parejas como las que habı́a al final del
mes k − 2 (dado que están un mes antes de poder procrear). Ası́, si xn representa el total
de parejas de conejos al final del mes n, entonces

xn = xn−1 + xn−2 , ∀n ≥ 2,

con x0 = x1 = 1, puesto que inicialmente y al final del primer mes sólo habı́a una pareja.
La solución para el número de parejas de conejos al cabo de doce meses será el término
x12 = x11 + x10 . Por sustitución progresiva vamos obteniendo x2 = 2, x3 = 3, x4 = 5, o
sea la sucesión (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, . . .). Por lo tanto se obtienen
x12 = 233 parejas al cabo de un año.
Ejemplo 73. Dibuja n ≥ 0 rectas en el plano de tal manera que no haya dos de ellas
que sean paralelas ni tres que se corten en un mismo punto. Calcula cuántas regiones
(xn ) determinarán las n rectas.

Figura 4.1: Figura 4.1: Rectas en el plano.

Solución: En la Figura 4.1 vemos el caso de n = 1, 2 o 3 rectas, donde se forman,


respectivamente, x1 = 2, x2 = 4 y x3 = 7 regiones.
1
Leonardo de Pisa, también conocido como Fibonacci (hijo de Bonaccio), fue un matemático italiano
que jugó un importante papel en la introducción en Europa del sistema de numeración indo-arábigo
actualmente utilizado. Se le conoce sobre todo por la invención de la sucesión que lleva su nombre,
surgida como consecuencia del estudio del crecimiento de las poblaciones de conejos.
Recurrencias Lineales 55

Nótese que la n-ésima recta trazada añade n regiones a las que se habı́an formado con
las n − 1 rectas precedentes. Ası́,

xn = xn−1 + n ∀n ≥ 1

siendo x0 = 1.

Ejemplo 74. Tenemos que subir una escalera de n ≥ 1 peldaños. Decidimos, en cada
paso, subir un peldaño o bien subir dos. Con estas condiciones calcula de cuántas maneras
diferentes podemos llegar arriba.

Solución: El total de maneras, xn , de subir la escalera lo podemos descomponer en dos


subtotales. El total de maneras en que hemos subido un peldaño en el primer paso y
nos queda, por lo tanto, una escalera de n − 1 peldaños, más el total de maneras en que
hemos subido dos peldaños en el primer paso, donde nos queda todavı́a una escalera de
n − 2 peldaños para subir. Ası́

xn = xn−1 + xn−2 ∀n ≥ 3

siendo x1 = 1; x2 = 2. Nótese que hemos obtenido la misma recurrencia lineal de la


sucesión de Fibonacci, Ejemplo 72, pero con diferentes condiciones iniciales.

4.2. Recurrencias lineales de orden uno


Busquemos la solución general de la recurrencia lineal de orden 1:

xn = rxn−1 + Rn , n ≥ 1.

Tenemos

x1 = rx0 + R1
x2 = rx1 + R2
= r(rx0 + R1 ) + R2
= r2 x0 + rR1 + R2
x3 = rx2 + R3
= r(r2 x0 + rR1 + R2 ) + R3
= r3 x0 + r2 R1 + rR2 + R3
···
Xn
n
xn = r x0 + rn−j Rj .
j=1
Recurrencias Lineales 56

Ejemplo 75. Encuentra una fórmula explı́cita para la sucesión definida por la siguiente
ecuación recurrente de orden uno
xn = xn−1 + 2n ∀n ≥ 1,
siendo x0 = 3.
Solución: En este caso r = 1 y Rn = 2n, de ahı́ que la solución es
n
X n
X
xn = 3 + 2j = 3 + 2 j = 3 + n(n + 1).
j=1 j=1

4.3. Recurrencias lineales de orden superior a uno


Ejemplo 76. Encuentra fórmulas explı́citas para las sucesiones que cumplan la siguiente
ecuación recurrente homogénea de orden 2.
xn − xn−1 − 6xn−2 = 0 ∀n ≥ 2.
Solución: Buscamos una solución de la forma tn . Al sustituir en la ecuación obtenemos.
tn − tn−1 − 6tn−2 = 0.
De ahı́ que
tn−2 (t2 − t − 6) = 0.
Tenemos que,
t2 − t − 6 = (t + 2)(t − 3)
por lo tanto, las raı́ces son t = −2 y t = 3.
Ası́, dos soluciones de la ecuación son las sucesiones
1, −2, (−2)2 , (−2)3 , . . . , (−2)n , . . . y 1, 3, 32 , 33 , . . . , 3n , . . .
Nótese que la sucesión
sn = (−2)n + 3n
formada por la suma de las dos soluciones también es solución. Efectivamente,
((−2)n−1 + 3n−1 ) + 6((−2)n−2 + 3n−2 ) = −2(−2)n−2 + 3 · 3n−2 + 6((−2)n−2 + 3n−2 )
= 4(−2)n−2 + 9 · 3n−2
= (−2)n + 3n
= sn .

Este hecho no es caracterı́stico de este ejemplo, sino que corresponde al caso general,
tal como veremos a continuación.
Recurrencias Lineales 57

Definición 14. Dada una ecuación recurrente homogénea xn = axn−1 + bxn−2 , la ecua-
ción t2 − at − b = 0 se denomina ecuación caracterı́stica de dicha ecuación recurrente y
el polinomio P (t) = t2 − at − b se denomina polinomio caracterı́stico.

Teorema 19. Si λ es una raı́z del polinomio caracterı́stico P (t) = t2 − at − b, entonces


{λn } es una solución de la ecuación recurrente homogénea xn − axn−1 − bxn−2 = 0.

Demostración. Como λ es una raı́z del polinomio caracterı́stico P (t) = t2 − at − b,


tenemos que λn−2 (λ2 − aλ − b) = 0 o, equivalentemente, λn − aλn−1 − bλn−2 = 0. Por lo
tanto, {λn } es una solución de la ecuación recurrente xn − axn−1 − bxn−2 = 0.

Teorema 20. Si {pn } y {qn } son soluciones de la ecuación recurrente homogénea xn =


axn−1 + bxn−2 , entonces, para cada par de números α, β ∈ R, la sucesión {sn }, donde

sn = αpn + βqn , ∀n ≥ 0,

también es solución de la ecuación.

Demostración. Si {pn } y {qn } son soluciones de la ecuación recurrente, entonces

pn = apn−1 + bpn−2
.
qn = aqn−1 + bqn−2 (∀n ≥ 2).

Tomemos sn = αpn + βqn (∀n ≥ 0). Ahora, ∀n ≥ 2 tenemos que

sn = αpn + βqn
= α(apn−1 + bpn−2 ) + β(aqn−1 + bqn−2 )
= a(αpn−1 + βqn−1 ) + b(αpn−2 + βqn−2 )
= asn−1 + bsn−2

y esto quiere decir que {sn } es también una secuencia que verifica la ecuación recurrente.

Teorema 21. Si λ1 y λ2 son raı́ces diferentes del polinomio carácterı́stico de la ecuación


recurrente homogénea de orden dos xn = axn−1 + bxn−2 , entonces, para toda solución
{yn } de dicha ecuación, existen α, β ∈ R, tales que yn = αλn1 + βλn2 .

Demostración. Por los Teoremas 19 y 20 sabemos que para todo α, β ∈ R, se cumple


que αλn1 + βλn2 satisface la recurrencia del enunciado. Ahora, sea {yn } una solución
arbitraria de dicha recurrencia. Para que se cumpla yn = αλn1 + βλn2 para todo n, se
tiene que cumplir que α y β sean solución del siguiente sistema de ecuaciones

yn = αλn1 + βλn2
yn+1 = αλn+1
1 + βλn+1
2 .
Recurrencias Lineales 58

Como a2 6= 0, tenemos que λ1 6= 0 y λ2 6= 0, de ahı́ que el determinante de la matriz del


sistema es diferente de cero:
n n

λ1
n+1 λn+1
2
= λn1 λn2 (λ2 − λ1 ) 6= 0.
λ1 λ2

Por lo tanto, concluimos que toda solución de la ecuación xn = axn−1 + bxn−2 se obtiene
como combinación lineal de λn1 y λn2 .

Si no tenemos en cuenta las condiciones iniciales, hay infinitas sucesiones que cum-
plen la ecuación recurrente (α y β pueden tomar valores cualesquiera). Si tenemos en
cuenta las condiciones iniciales, especı́ficas para la ecuación, hará falta determinar el
valor de las constantes α y β resolviendo un sistema de ecuaciones. En este caso habrá
una única sucesión que será solución.

Ejemplo 77. Busca la única sucesión que cumple la ecuación recurrente del Ejemplo 76

xn − xn−1 − 6xn−2 = 0 ∀n ≥ 2,

con las condiciones iniciales x0 = 0, x1 = 1.

Solución: Tal como hemos visto en el Ejemplo 76, la ecuación recurrente tiene co-
mo soluciones (−2)n y 3n . Además, por la Proposición 20 sabemos que las sucesiones
α(−2)n +β3n también son soluciones para cualquier par de constantes α y β. Si tomamos
las condiciones iniciales x0 = 0, x1 = 1 obtenemos

x0 = 0 = α(−2)0 + β30 = α + β
x1 = 1 = α(−2)1 + β31 = −2α + 3β

y de aquı́ obtenemos el sistema

0=α+β
1 = −2α + 3β

1 1
que tiene la solución α = − , β = . Por lo tanto, la única solución que verifica las
5 5
condiciones iniciales es
1 1
xn = − (−2)n + 3n .
5 5

Ejemplo 78. Determina la solución de la ecuación recurrente del Ejemplo 72 (sucesión


de Fibonacci)
xn − xn−1 − xn−2 = 0 ∀n ≥ 2,
con condiciones iniciales x0 = x1 = 1.
Recurrencias Lineales 59

Solución: la ecuación caracterı́stica de la ecuación recurrente es t2 − t − 1 = 0. Las


raı́ces son √
1± 5
t= .
2
Ası́, la solución general es
√ !n √ !n
1+ 5 1− 5
xn = α +β .
2 2

Si tomamos las condiciones iniciales x0 = x1 = 1 obtenemos


1 = α

√   √ 
1+ 5 1− 5
1=α 2
+β 2

√ √
5+1 5−1
de donde resulta α = √ ,β = √ . Por tanto, el término general viene dado
2 5 2 5
por
√ √ !n √ √ !n
5+1 1+ 5 5−1 1− 5
xn = √ + √
2 5 2 2 5 2
o, lo que es lo mismo,
√ !n+1 √ !n+1
 
1 1+ 5 1− 5
xn = √  − .
5 2 2

Con el siguiente ejemplo mostramos como proceder en el caso de raı́ces complejas


del polinomio caracterı́stico.
Ejemplo 79. (Caso de raı́ces complejas) Determina la solución de la ecuación re-
currente
xn − 2xn−1 + 2xn−2 = 0 ∀n ≥ 2
con condiciones iniciales x0 = 1 y x1 = 2.
Solución: La ecuación caracterı́stica de la ecuación recurrente es t2 − 2t + 2 = 0. Las
raı́ces t = 1 ± i son complejas. Como
n π √   π  π 
(1 ± i)n = 2 2 e±i 4 n = ( 2)n cos n ± i sen n
4 4
la solución general
xn = α (1 + i)n + β (1 − i)n
se expresa como   π  π 
n
xn = 2 2 k1 cos n + k2 sen n ,
4 4
Recurrencias Lineales 60

donde k1 = α + β y k2 = (α − β)i. Si tomamos ahora las condiciones iniciales x0 = 1 y


x1 = 2, obtenemos
1 = k1
2 = k1 + k2
de donde resulta k1 = k2 = 1. Por tanto, el término general viene dado por
n
  π  π 
xn = 2 cos n
2 + sen n .
4 4

Consideremos ahora el caso en que la ecuación caracterı́stica tiene una única raı́z
doble.

Teorema 22. Si la ecuación caracterı́stica t2 −at−b = 0 tiene una raı́z p doble, entonces
las sucesiones {pn } y {npn−1 } verifican la ecuación recurrente xn = axn−1 + bxn−2 para
todo n ≥ 2.

Demostración. Si p es una raı́z de multiplicidad dos del polinomio

f (t) = t2 − a1 t − a2 (4.1)

definido por la ecuación caracterı́stica, entonces f (p) = 0 y f 0 (p) = 0 (toda raı́z doble
de un polinomio también anula a su derivada). Ası́, podemos buscar una solución alter-
nativa a { pn } a través de la derivada. Multiplicando ambos miembros de (4.1) por tn−2
obtenemos
tn−2 f (t) = tn − atn−1 − btn−2
y, derivando esta expresión respecto a t,

(n − 2)tn−3 f (t) + tn−2 f 0 (t) = ntn−1 − a(n − 1)tn−2 − b(n − 2)tn−3 ,

donde la parte izquierda se anula, para cada n, cuando t = p. Es decir, para todo n,

npn−1 − a(n − 1)pn−2 − b(n − 2)pn−3 = 0.

Ası́, la sucesión { npn−1 } también es una solución de la ecuación recurrente.

Teorema 23. Si λ es una raı́z doble del polinomio carácterı́stico de la ecuación recurren-
te homogénea xn = axn−1 + bxn−2 , entonces, para toda solución {yn } de dicha ecuación,
existen α, β ∈ R, tales que yn = αλn + βnλn−1 .

Demostración. En primer lugar, nótese que λ 6= 0. Por los Teoremas 20 y 4.1, sabemos
que para todo α, β ∈ R, la sucesión {αλn + βnλn−1 } es solución de la recurrencia.
Ahora, sea {yn } una solución arbitraria de dicha recurrencia. Para que se cumpla yn =
Recurrencias Lineales 61

αλn + βnλn−1 para todo n, se tiene que cumplir que α y β sean solución del siguiente
sistema de ecuaciones

yn = αλn + βnλn−1
yn+1 = αλn+1 + β(n + 1)λn .

Como el determinante de la matriz del sistema es


n n−1

λ nλ
n+1 n
= λ2n 6= 0,
λ (n + 1)λ

concluimos que toda solución de la ecuación xn = axn−1 + bxn−2 se obtiene como com-
binación lineal de {λn } y {nλn−1 }.

Ejemplo 80. Determina la solución de la ecuación recurrente

xn = 2xn−1 − xn−2 ∀n ≥ 2

con x0 = 1, x1 = 2.

Solución: La ecuación caracterı́stica viene dada por

t2 − 2t + 1 = 0

que podemos escribir como


(t − 1)2 = 0
es decir, t = 1 es una raı́z doble. Por lo tanto, la solución general de la ecuación será,
pues, de la forma
xn = α · 1n + β · n
y, teniendo en cuenta las condiciones iniciales, formamos el sistema

x0 = 1 = α · 1 + β · 0 = α
x1 = 2 = α · 1 + β · 1 = α + β

que tiene como solución α = β = 1. Ası́, la solución que verifica las condiciones iniciales
es
xn = 1 + n.

En los casos de ecuaciones recurrentes de orden superior a 2 procederemos por


analogı́a al caso de ecuaciones de orden 2.

Ejemplo 81. Determina la solución general de la ecuación recurrente

xn − 6xn−1 + 12xn−2 − 8xn−3 = 0.


Recurrencias Lineales 62

Solución: La ecuación caracterı́stica es

t3 − 6t2 + 12t − 8 = 0 ⇔ (t − 2)3 = 0.

Dado que tiene una única raı́z t = 2 de multiplicidad 3 podemos formar las tres soluciones

xn = 2n , xn = n 2n−1 , xn = n(n − 1) 2n−2

ası́, la solución general es

xn = α 2n + βn 2n−1 + γn(n − 1)2n−2

α, β y γ constantes.
Ejemplo 82. Determina la solución de la ecuación recurrente

xn = 3xn−1 − 4xn−3 + 2n − 9,

que satisface las condiciones iniciales x0 = 2, x1 = 0, x2 = −1.


Solución: La ecuación caracterı́stica de la ecuación homogénea asociada es t3 −3t2 +4 =
0, que tiene como solución t = 2 con multiplicidad 2 y t = −1. Por lo tanto, la solución
general de la ecuació homogénea es α2n + βn2n−1 + γ(−1)n . Por lo que se refiere a
la solución particular de la ecuación no homogénea, probamos una ecuación del tipo
rn = an + b. Tenemos an + b = 3[a(n − 1) + b] − 4[a(n − 3) + b] + 2n − 9; es decir,
an + b = (2 − a)n − b. Igualando los coeficientes obtenemos el sistema de ecuaciones

a = 2−a
b = −b,

que tiene como solución a = 1, b = 0. Por lo tanto, la solución general es

xn = α2n + βn2n−1 + γ(−1)n + n.

La ecuación que satisface las condicions iniciales x0 = 2, x1 = 0, x2 = −1 tiene que


satisfacer el sistema 
 x0 = α + γ = 2
x1 = 2α + β − γ + 1 = 0
x2 = 4α + 4β + γ + 2 = −1.

El sistema tiene como solución α = γ = 1, β = −2. Por lo tanto, la solución de la


ecuación no homogénea que satisface las condiciones iniciales es

xn = (1 − n)2n + (−1)n + n.

Ejemplo 83. Determina la solución general de la ecuación recurrente

xn − 9xn−1 + 15xn−2 + 25xn−3 = 0.


Recurrencias Lineales 63

Solución: La ecuación caracterı́stica es t3 − 9t2 + 15t + 25 = 0 ⇔ (t − 5)2 (t + 1) = 0.


Como tiene una raı́z doble t = 5 y una raı́z simple t = −1, podemos formar las tres
soluciones xn = 5n , xn = n 5n−1 y xn = (−1)n . Ası́, la solución general es

xn = α 5n + βn 5n−1 + γ(−1)n ,

donde α, β y γ son constantes.

Ejemplo 84. Determina la solución general de la ecuación recurrente

xn − 4xn−1 + xn−2 + 10xn−3 − 4xn−4 − 8xn−5 = 0.

Solución: La ecuación caracterı́stica es t5 −4t4 +t3 +10t2 −4t−8 = 0 ⇔ (t−2)3 (t+1)2 =


0. Esta ecuación tiene una raı́z t = 2 de multiplicidad 3 y una raı́z t = −1 de multiplicidad
2, por tanto podemos formar las soluciones xn = 2n , xn = n 2n−1 , xn = n(n − 1) 2n−2 ,
xn = (−1)n y xn = n(−1)n−1 . La solución general es

xn = α 2n + βn 2n−1 + γ n(n − 1) 2n−2 + δ(−1)n + µ n(−1)n−1 ,

donde α, β, γ, δ y µ son constantes.

Ejemplo 85. Resolver la ecuación

xn − xn−1 − 2xn−2 = n2 ∀n ≥ 2

con las condiciones iniciales x0 = 0, x1 = 2.

Solución: Utilizando la ecuación caracterı́stica determinamos las dos soluciones para


la ecuación homogénea. Ası́
t2 − t − 2 = 0
se puede factorizar como
(t − 2)(t + 1) = 0
que da las dos raı́ces t = 2 y t = −1 y, por lo tanto, las dos soluciones son 2n y (−1)n .

Ahora el problema es encontrar la solución particular. Ensayemos una solución de


la ecuación no homogénea tomando

xn = An + Bn + C

Si ahora sustituimos en la ecuación recurrente que queremos resolver tendremos

(An2 + Bn + C) − (A(n − 1)2 + B(n − 1) + C)


−2(A(n − 2)2 + B(n − 2) + C) = n2
Recurrencias Lineales 64

que nos da
(−2C + 5B − 9A) + (−2B + 10A)n − 2An2 = n2 .
Igualando coeficiente a coeficiente los dos polinomios de cada lado de la igualdad, se
5 1
obtiene la solución C = −4, B = − , A = − .
2 2
Ası́, vemos que la solución general es la solución de la ecuación homogénea más la
solución particular que acabamos de encontrar:
5 1
xn = α2n + β(−1)n − 4 − n − n2 .
2 2
Si ahora imponemos las condiciones iniciales, podemos determinar las constantes α y β,
ası́
x0 = 0 = α + β − 4
5 1
x1 = 2 = 2α − β − 4 − −
2 2
que da el sistema
0=α+β−4
2 = 2α − β − 7
13 1
que tiene como solución α = , β = − .
3 3
Finalmente, la solución es
13 n 1 5 1
xn = 2 + (−1)n+1 − 4 − n − n2 .
3 3 2 2
Recurrencias Lineales 65

4.4. Ejercicios
Ejercicio 48. Problema de las torres de Hanoi. Este problema se hizo famoso por el
matemático francés del siglo XIX Éduard Lucas. Consideremos tres palos verticales y n
discos, todos de diferente tamaño y todos con un agujero en el centro, como los antiguos
discos de música. Al inicio todos los discos están colocados en un palo ordenados según
su tamaño de modo que el mayor está debajo. Se pide mover todos los discos a otro
palo de manera que queden colocados como al inicio con los requisitos de que en cada
movimiento se puede mover sólo un disco y en ningún momento puede haber un disco
colocado sobre otro de menor tamaño. Determina el menor número de movimientos
necesarios para colocar los n discos en otro palo.
Solución: Sea an el menor número de movimientos necesarios para colocar los n discos en
otro palo. Obviamente, a1 = 1. Además, a2 = 3, ya que primero se ha de mover el disco de
arriba a otro palo, luego el de abajo al palo que queda libre y finalmente se pone sobre este el
disco pequeño. ¿Cuál es el valor de an ? Para mover el disco más grande es necesario que haya
un palo libre y en el otro hay una torre de n − 1 discos bien ordenados. Esto se puede hacer
de an−1 formas diferentes. Luego se mueve al disco grande al palo que está libre y hay an−1
formas diferentes de colocar los n − 1 discos restantes encima de él. De ahı́ que an = 2an−1 + 1.
Considerando la condición inicial a1 = 1 se obtiene la solución
a2 = 2a1 + 1 = 2 + 1
a3 = 2a2 + 1 = 2(2 + 1) + 1 = 22 + 2 + 1
a4 = 2a3 + 1 = 2(22 + 2 + 1) + 1 = 23 + 22 + 2 + 1
n −1
an = 2n−1 + 2n−2 + · · · + 2 + 1 = 22−1 = 2n − 1.

Ejercicio 49. Resuelve la ecuación recurrente:

xn − 5xn−1 + 6xn−2 = 0; x0 = 1, x1 = 2
Solución: La ecuación caracterı́stica es
t2 − 5t + 6 = 0 ⇔ (t − 3)(t − 2) = 0

por lo tanto, las raı́ces son t = 3 y t = 2. Ası́, la solución general es

xn = α3n + β2n .

Teniendo en cuenta las condiciones iniciales, formamos el sistema


x0 = 1 = α + β
x1 = 2 = 3α + 2β
que tiene como solución α = 0 y β = 1. Ası́, la solución que verifica las condiciones iniciales es

xn = 2n .

Ejercicio 50. Resuelve la ecuación recurrente:

xn − 2xn−1 − xn−2 + 2xn−3 = 0; x0 = 0, x1 = x2 = 1


Recurrencias Lineales 66

Solución: La ecuación caracterı́stica es

t3 − 2t2 − t + 2 = 0 ⇔ (t − 1)(t + 1)(t − 2) = 0

por lo tanto, las raı́ces son t = 1, t = −1 y t = 2. Ası́, la solución general es

xn = α + β(−1)n + γ2n .

Teniendo en cuenta las condiciones iniciales, formamos el sistema

x0 = 0 = α + β + γ
x1 = 1 = α − β + 2γ
x2 = 1 = α + β + 4γ

1 1
que tiene como solución α = 0, β = − y γ = . Ası́, la solución que verifica las condiciones
3 3
iniciales es
1 h i
xn = (−1)n+1 + 2n .
3
Ejercicio 51. Resuelve la ecuación recurrente:

xn + 4xn−1 + 5xn−2 + 2xn−3 = 0; x0 = 1, x1 = 2, x2 = 3

Solución: La ecuación caracterı́stica es

t3 + 4t2 + 5t + 2 = 0 ⇔ (t + 1)2 (t + 2) = 0

por lo tanto, las raı́ces son t = −1 con multiplicidad 2 y t = −2. Ası́, la solución general es

xn = α(−1)n + βn(−1)n−1 + γ(−2)n .

Teniendo en cuenta las condiciones iniciales, formamos el sistema

x0 = 1 = α + γ
x1 = 2 = −α + β − 2γ
x2 = 3 = α − 2β + 4γ

que tiene como solución α = −7, β = 11 y γ = 8. Ası́, la solución que verifica las condiciones
iniciales es
xn = (7 + 11n)(−1)n−1 + 8(−2)n .

Ejercicio 52. Sabemos que una ecuación recurrente lineal y homogénea de orden 7 tiene
una raı́z −3 de multiplicidad dos, otra raı́z 2 de multiplicidad cuatro y una raı́z 5 simple.
¿Cuál es la solución general de esta ecuación recurrente?
Solución: La solución general es
xn = α (−3)n + β n (−3)n−1 + γ 2n + δn 2n−1 + ϕ n(n − 1) 2n−2 +
+λ n(n − 1)(n − 2) 2n−3 + µ 5n .
Recurrencias Lineales 67

Ejercicio 53. Sea Sn , con n ≥ 1, la cantidad de maneras de obtener el valor n cuando


se suman los términos de una sucesión de unos y doses. Ası́, por ejemplo, S4 = 5, dado
que tenemos las posibilidades 1 + 1 + 1 + 1; 2 + 2; 2 + 1 + 1; 1 + 2 + 1 y 1 + 1 + 2. Formular
una ecuación recurrente para obtener Sn .
Solución: El total Sn se puede descomponer en dos subtotales. El total de maneras que
empiezan por 1 que es, claramente, Sn−1 , más el total de maneras que empiezan por 2, Sn−2 .
Ası́
Sn = Sn−1 + Sn−2 ∀n ≥ 3
siendo S1 = 1 y S2 = 2, puesto que para n = 2 tenemos las posibilidades 1 + 1 y 2.

Ejercicio 54. Sea xn n ≥ 1 el número de vectores binarios de longitud n que no tienen


dos unos consecutivos. Formula una ecuación recurrente para obtener xn .
Solución: El total xn se puede descomponer en dos subtotales. El número de vectores binarios
que empiezan por 0 que es, claramente, xn−1 , más los vectores binarios que empiezan por 1.
Para estos últimos vectores la siguiente cifra que tomemos tiene que ser un 0, puesto que no
puede haber dos unos consecutivos, por lo tanto, hay xn−2 vectores binarios que empiezan por
1. Ası́
xn = xn−1 + xn−2 ∀n ≥ 3
siendo x1 = 2 y x2 = 3, puesto que hay dos vectores binarios de longitud 1 y tres vectores
binarios de longitud 2 que son (0, 0), (0, 1) y (1, 0).

Ejercicio 55. Disponemos de un número ilimitado de bloques de 1 cm, 2 cm y 3 cm.


de altura. Formular una ecuación recurrente para obtener cuántas torres de altura n se
pueden hacer combinando estos bloques.
Solución: En este caso el total xn se puede descomponer en tres subtotales. El número de
torres, xn−1 , que empiecen con un bloque de 1 cm. de altura, el número de torres, xn−2 , que
empiecen con un bloque de 2 cm y las que empiecen con un bloque de 3 cm, xn−3 . Ası́

xn = xn−1 + xn−2 + xn−3 ∀n ≥ 4

siendo x1 = 1, x2 = 2 y x3 = 4.

Ejercicio 56. Encuentra y resuelve una ecuación recurrente para el número, xn , de


maneras de apilar n fichas, que pueden ser rojas, blancas, verdes o azules, de manera
que no haya fichas azules consecutivas. Considera x0 = 1.
Solución: El número total de maneras de apilar n fichas xn se puede descomponer en los
casos siguientes. Si empezamos con una ficha roja tenemos xn−1 maneras de apilar las fichas,
si empezamos con una de blanca tenemos xn−1 , si es verde xn−1 y, finalmente, si es azul, como
no puede haber fichas azules consecutivas, la siguiente tiene que ser roja, blanca o verde, por
lo tanto, tenemos 3xn−2 maneras. Ası́

xn = 3xn−1 + 3xn−2 ∀n ≥ 2
Recurrencias Lineales 68

siendo x0 = 1 y x1 = 4.
La ecuación caracterı́stica de la ecuación recurrente es t2 − 3t − 3 = 0. Las raı́ces son
p √
3 ± 9 − 4(−3) 3 ± 21
t= = .
2 2
La solución general es
√ !n √ !n
3+ 21 3− 21
xn = α +β .
2 2
Si tomamos las condiciones iniciales x0 = 1 y x1 = 4 obtenemos

x0 = 1 = α 

√   √ 
3+ 21 3− 21
x1 = 4 = α 2 +β 2

√ √
21 + 5 21 − 5
de donde resulta α = √ ,β= √ . Por lo tanto, el término general viene dado por
2 21 2 21
√ √ !n √ √ !n
21 + 5 3 + 21 21 − 5 3 − 21
xn = √ + √ .
2 21 2 2 21 2

Ejercicio 57. Se ha cortado un disco circular, en sectores, de forma que nos han quedado
n ≥ 2 sectores diferentes. Cada sector es pintado de un solo color, amarillo, verde, azul
o rojo, y no puede haber dos sectores consecutivos con el mismo color. ¿De cuántas
maneras diferentes podemos pintar el disco?
(Indicación: formular una ecuación recurrente de orden 2.)
Solución: Si escogemos un sector cualquiera, entonces Sn , n ≥ 4, puede ser descompuesto
en dos partes, los discos que tienen los dos sectores adyacentes al sector escogido de color
diferente y los discos que los tienen del mismo color. En el primer caso, el sector escogido
puede ser pintado sólo de dos colores diferentes y el resto de sectores los podemos pintar como
si estuviéramos en un disco con n−1 sectores, por lo tanto, lo podemos hacer de 2Sn−1 maneras
diferentes. En el segundo caso, el sector escogido lo podemos pintar de tres colores diferentes
y el resto de sectores como si fuera un disco con n − 2 sectores (quitamos el sector escogido y
uno de los dos adyacentes, puesto que tienen el mismo color), por lo tanto, lo podemos hacer
de 3Sn−2 maneras. Ası́ obtenemos la ecuación recurrente

Sn = 2Sn−1 + 3Sn−2 ∀n ≥ 4.
 
4
Si el disco tiene dos sectores, lo podemos pintar de S2 = · 2! = 12 maneras diferentes,
2
puesto que sólo tenemos que escoger dos colores diferentes de un total de cuatro. Si el disco tiene
tres sectores, como todos los sectores son adyacentes entre sı́, también tenemos que escoger tres
colores diferentes de los cuatro.
 Además, con éstos podemos pintar el disco de dos maneras
4
diferentes, por lo tanto S3 = · 3! = 24.
3
Recurrencias Lineales 69

La ecuación caracterı́stica de la ecuación recurrente es t2 − 2t − 3 = 0. Las raı́ces son t = 3 y


t = −1, ya que p
2 ± 4 − 4(−3) 2±4
t= = .
2 2
Ası́, la solución general es
Sn = α3n + β(−1)n .
Si tomamos las condiciones iniciales S2 = 12 y S3 = 24 obtenemos

S2 = 12 = 9α + β
S3 = 24 = 27α − β

de donde resulta α = 1, β = 3. Por lo tanto, el término general viene dado por

Sn = 3n + 3(−1)n .

Ejercicio 58. Resuelve la ecuación recurrente.

8xn − 6xn−1 + xn−2 = 2n


Solución: La ecuación caracterı́stica de la ecuación recurrente homogénea
8xn − 6xn−1 + xn−2 = 0

es  1  1
8t2 − 6t + 1 = 0 ⇔ t− t− =0
2 4
1 1
por lo tanto, las raı́ces son t = y t = .
2 4
Ası́, la solución general es
 1 n  1 n
xn = α +β + Rn
2 4
donde Rn es una solución particular de la ecuación recurrente inicial no homogénea. Ensayemos
ahora una solución para Rn tomando
Rn = c 2n
y sustituyendo en la ecuación recurrente que tenemos que resolver obtenemos

8 c 2n − 6 c 2n−1 + c 2n−2 = 2n
2n−2 (8 c 22 − 6 c 2 + c) = 2n−2 · 22
32c − 12c + c = 4
4
que tiene como solución c = .
21
La solución general será
 n  n
1 1 4
xn = xn = α +β + 2n
2 4 21
siendo α y β constantes.
Recurrencias Lineales 70

Ejercicio 59. Resuelve la ecuación recurrente.

xn = xn−1 + 2xn−2 − 1; x0 = 0, x1 = 1

Solución: La ecuación caracterı́stica de la ecuación recurrente homogénea xn = xn−1 + 2xn−2


es
t2 − t − 2 = 0 ⇔ (t − 2)(t + 1) = 0
por lo tanto, las raı́ces son t = 2 y t = −1. Ası́, la solución general es

xn = α2n + β(−1)n + Rn

donde Rn es una solución particular de la ecuación recurrente inicial no homogénea. Ensayamos


ahora una solución para Rn tomando
Rn = c
y, sustituyendo en la ecuación recurrente a resolver, tenemos la ecuación

c = c + 2c − 1
1
que tiene como solución c = .
2
La solución general será
1
xn = α2n + β(−1)n + .
2
Teniendo en cuenta las condiciones iniciales, formamos el sistema

x0 = 0 = α + β + 12
x1 = 1 = 2α − β + 12

1
que tiene como solución α = 0 y β = − . Ası́, la solución que verifica las condiciones iniciales
2
es
1h i
xn = (−1)n+1 + 1 .
2
Ejercicio 60. Resuelve la ecuación recurrente.

xn + 4xn−1 + 4xn−2 = n; x0 = 0, x1 = 2

Solución: La ecuación caracterı́stica de la ecuación recurrente homogénea

xn + 4xn−1 + 4xn−2 = 0

es
t2 + 4t + 4 = 0 ⇔ (t + 2)2 = 0
por lo tanto, hay una única raı́z t = −2 doble. Ası́, la solución general es

xn = α(−2)n + βn(−2)n−1 + Rn
Recurrencias Lineales 71

donde Rn es una solución particular de la ecuación recurrente inicial no homogénea. Ensayemos


ahora una solución para Rn tomando

Rn = c0 + c1 n

y sustituyendo en la ecuación recurrente que se tiene que resolver obtenemos

(c0 + c1 n) + 4(c0 + c1 (n − 1)) + 4(c0 + c1 (n − 2)) = n

que desarrollando queda

(c0 + 4c0 − 4c1 + 4c0 − 8c1 ) + (c1 + 4c1 + 4c1 )n = n

donde, igualando el termino independiente y el coeficiente de n a ambos lados de la igualdad,


se forma el sistema
9c0 − 12c1 = 0
9c1 = 1
4 1
que tiene como solución c0 = y c1 = .
27 9
La solución general será pues
1 4
xn = α(−2)n + βn(−2)n−1 + n + .
9 27
Teniendo en cuenta las condiciones iniciales, formamos el sistema
4
x0 = 0 = α + 27
1 4
x1 = 2 = −2α + β + 9 + 27

4 13
que tiene como solución α = − y β = . Ası́, la solución que verifica las condiciones
27 9
iniciales es
4 13 1 4
xn = − (−2)n + n(−2)n−1 + n + .
27 9 9 27
Ejercicio 61. Si sabemos que la sucesión
{xn } = {1, 5, 7, 11, 13, 17, 19, 23, 25, . . .} (n = 0, 1, . . .)
se puede expresar mediante una ecuación recurrente lineal y homogénea, de orden 3, se
pide determinar la expresión recurrente y calcular el término general para poder hallar
x99 .
Solución: Una ecuación recurrente lineal homogénea de orden 3 es de la forma
xn = axn−1 + bxn−2 + cxn−3 ∀n ≥ 3.

Se trata de encontrar los coeficientes constantes a, b y c. Para ello sustituimos n por tres valores
distintos, mayores o iguales a 3, de manera que podamos formar un sistema con tres ecuaciones
y tres incógnitas
n=3 x3 = ax2 + bx1 + cx0
n=4 x4 = ax3 + bx2 + cx1
n=5 x5 = ax4 + bx3 + cx2
Recurrencias Lineales 72

Sustituyendo por los términos de la sucesión, obtenemos el sistema

11 = 7a + 5b + c
13 = 11a + 7b + 5c
17 = 13a + 11b + 7c

que tiene como solución a = b = 1, c = −1. Por lo tanto, la ecuación recurrente es

xn = xn−1 + xn−2 − xn−3 ∀n ≥ 3

con x0 = 1, x1 = 5 y x2 = 7.
la ecuación caracterı́stica es

t3 − t2 − t + 1 = 0 ⇔ (t − 1)2 (t + 1) = 0.

Dado que tiene una raı́z t = 1 de multiplicidad 2 y otra t = −1 de multiplicidad 1, podemos


formar las tres soluciones

xn = 1n ; xn = n 1n−1 ; xn = (−1)n

ası́, la solución general es


xn = α + βn + γ(−1)n .
Teniendo en cuenta las condiciones iniciales, formamos el sistema

x0 = 1 = α + γ
x1 = 5 = α + β − γ
x2 = 7 = α + 2β + γ

3 1
que tiene como solución α = , β = 3 y γ = − . Ası́, la solución que verifica las condiciones
2 2
iniciales es
3 1
xn = + 3n − (−1)n .
2 2
3 1
Por lo tanto, x99 = + 3 · 99 + = 299.
2 2
Ejercicio 62. Determina la solución de la ecuación recurrente xn − 5xn−1 + 6xn−2 = 2n .

Solución: Las raı́ces del polinomio caracterı́stico son 2 y 3. Por lo tanto, la solución es de
la forma xn = α2n + β3n + Rn , donde Rn = An2n . Sustituyendo Rn en la ecuación se obtiene
A = −2. Ası́, la solución es xn = α2n + β3n − n2n+1 , para α, β ∈ R

Ejercicio 63. Determina la solución de la ecuación recurrente xn − 4xn−1 + 4xn−2 = 2n .

Solución: La raı́z del polinomio caracterı́stico es 2, de multiplicidad 2. Por lo tanto, la


solución es de la forma xn = α2n + βn2n−1 + Rn , donde Rn = An2 2n . Sustituyendo Rn en la
ecuación se obtiene A = 21 . Ası́, la solución es xn = α2n + βn2n−1 + n2 2n−1 , para α, β ∈ R.
Recurrencias Lineales 73

Ejercicio 64. Un restaurante dispone de cinco platos principales, A, B, C, D y E. Sea


xn el número de posibles series diferentes de platos principales que, a partir de hoy y
durante n dı́as seguidos, se ofrecen en el menú del restaurante. Se entiende que en un
menú hay un único plato principal. El plato no será nunca B el dı́a siguiente de haber
ofrecido A, ni C el dı́a siguiente de haber servido B, ni D el dı́a siguiente de C, ni E el
dı́a siguiente de D, ni A el dı́a siguiente de E. Ahora bien, estas restricciones no serán
válidas cuando dos dı́as seguidos se haya servido el mismo plato: por ejemplo, si se ha
servido dos dı́as seguidos A, al dı́a siguiente se permite servir B. Formula una ecuación
recurrente para obtener xn y úsala para calcular el valor de los 5 primeros términos
(deberás calcular los dos primeros términos de la secuencia directamente).
Solución: Diremos que A es el sucesor de E, que B es el sucesor de A y ası́ sucesivamente.
Tenemos dos posibilidades para obtener una serie de n platos a partir de la serie de n − 1
platos:

1. El plato del dı́a n es el sucesor del plato del dı́a n − 1. En este caso hay xn−2 posibilidades
ya que el dı́a n − 1 se ofrece el mismo plato que el dı́a anterior.

2. El plato del dı́a n no es el sucesor del plato del dı́a n−1. En este caso hay 4xn−1 posibilidades
ya que tenemos 4 posibilidades para el plato del dı́a n y xn−1 formas de obtener una secuencia
de n − 1 platos.

Por lo tanto, la solución es xn = 4xn−1 + xn−2 .


Por otra parte es inmediato ver que x1 = 5 y x2 = 20 y de ahı́ que con la fórmula de
recurrencia podemos calcular x3 = 4·20+5 = 85; x4 = 4·85+20 = 360 y x5 = 4·360+85 = 1525.
Capı́tulo 5

Grafos: Conceptos Básicos

Las configuraciones de nodos y conexiones entre ellos aparecen con frecuencia en di-
ferentes contextos. Dichas estructuras suelen usarse para representar “redes” de diferente
naturaleza como, por ejemplo, circuitos eléctricos, redes de comunicaciones, moléculas
orgánicas, redes sociales, etc. Formalmente estas configuraciones son estructuras combi-
natorias llamadas grafos.

5.1. Conceptos básicos


Definición 15. Un grafo G = (V, E) es una par ordenado donde V es un conjunto finito
no vacı́o y E es un conjunto de pares no ordenados {u, v} de elementos de V y u 6= v.
Los elementos de V se denominan vértices, o nodos, de G y los de E se denominan
aristas de G. El orden de G es el número de vértices y la medida de G es el número
de aristas.

Si no hay lugar a confusión, una arista {u, v} también será denotada por uv y, en
ese caso, escribiremos uv ∈ E en lugar de {u, v} ∈ E. Nótese que para todo grafo de
orden n y medida m se cumple que
 
n
0≤m≤ .
2

Ejemplo 86. En la siguiente figura se muestra una representación gráfica de un grafo


G = (V, E) donde el conjunto de vértices es V = {1, 2, 3, 4, 5, 6, 7, 8, 9} y el conjunto de
aristas es E = {{1, 2}, {1, 4}, {1, 7}, {2, 5}, {2, 8}, {2, 3}, {3, 6}, {3, 9}}.
7 8 9

1 2 3

4 5 6

74
Grafos: Conceptos Básicos 75

El orden de G es n = 9 y la medida es m = 8.
En ocasiones, como en el caso del ejemplo anterior, las aristas se representan con
lı́neas rectas, pero esto no es necesario. La representación de las aristas sólo debe indicar
que hay conexión entre los correspondientes vértices. Es decir, el concepto de grafo es un
concepto topológico, no importa la forma o las dimensiones que le damos a las aristas al
representarlas.
Ejemplo 87. Consideremos una empresa donde hay diversas personas, P1 ,P2 ,P3 , y una
serie de trabajos que se han de realizar, T1 , . . . , T6 , con la posibilidad de que una persona
pueda hacer más de una tarea, según sus capacidades. En la siguiente figura se repre-
senta un modelo en términos de teorı́a de grafos que recoge la situación de individuos
que pueden hacer diferentes tareas, y tareas que puedan ser realizadas por diferentes
individuos.
P1 P2 P3

T1 T2 T3 T4 T5 T6

Los vértices y las aristas pueden tener atributos adicionales en dependencia del
problema que se esté modelando. Dichos atributos pueden ser color, distancia, coste, o
cualquier otro atributo que sea útil al modelo en cuestión. Una red (network) es un
grafo sobre el que se ha definido un conjunto de atributos adicionales. Por el momen-
to definiremos algunos conceptos básicos de los grafos que no dependen de atributos
adicionales.
Definición 16. Dos vértices u, v ∈ V de un grafo G = (V, E) son adyacentes si y sólo
si existe la arista uv, es decir, si y sólo si uv ∈ E. La adyacencia de los vértices u, v se
denota por u ∼ v. En este caso se dice que la arista a = uv une o conecta los vértices
u y v, que son sus extremos. Otras denominaciones que indican que los vértices son
adyacentes pueden ser:
Los vértices u, v y la arista uv son incidentes.
Los vértices u y v son vértices vecinos.
Igualmente, se dice que dos aristas son adyacentes si comparten un extremo.
Definición 17. Dado un vértice v ∈ V del grafo G = (V, E) se define el grado δ(v) del
vértice v como el número de aristas que son incidentes a v. Esto es,
δ(v) = |{u ∈ V : v ∼ u}| = |{u ∈ V : {u, v} ∈ E}|
Los vértices de grado cero se denominan vértices aislados.
Grafos: Conceptos Básicos 76

Ejemplo 88. Consideremos el grafo del Ejemplo 86. En este caso δ(1) = δ(3) = 3,
δ(2) = 4 y todos los demás vértices tienen grado uno.

Resulta evidente que para todo vértice v de un grafo de orden n se cumple que

0 ≤ δ(v) ≤ n − 1.

Esta observación puede utilizarse para negar la existencia de ciertos grafos.

Ejemplo 89. No existe ningún grafo con la secuencia de grados 2, 2, 2, 3, 3, 4, 8. En


efecto, si existiese dicho grafo G = (V, E), se cumplirı́a que n = |V | = 7 y, si hubiese un
vértice v0 de grado 8, en virtud de la desigualdad anterior, 6 = n − 1 ≥ δ(v0 ) = 8, lo que
es imposible.

Ejercicio 65. Probar que cualquier grafo G = (V, E) con un mı́nimo de dos vértices
siempre tiene un mı́nimo de dos vértices del mismo grado. En otras palabras, no hay
ningún grafo de orden superior o igual a 2 con todos los grados de los vértices diferentes.

Solución: Sea G = (V, E) un grafo de orden n (n ≥ 2). Ya que para cada vértice v ∈ V se
cumple 0 ≤ δ(v) ≤ n − 1, sólo pueden existir los grados 0, 1, . . . , n − 1. Como no puede haber
vertices de grado 0 y n − 1 a la vez, la secuencia de grados está en alguno de los siguientes
conjuntos: {0, 1, ..., n − 2} o {1, ..., n − 1}. En cualquier caso, por el principio de las cajas,
concluimos que hay al menos dos vértices del mismo grado.
Una observación interesante es que este ejercicio se puede interpretar en términos de
reuniones y saludos entre asistentes a una reunión. Podemos afirmar que en toda reunión
hay un mı́nimo de dos personas que han hecho el mismo número de saludos (estamos
asumiendo que a toda reunión asisten al menos dos personas). Esto es fácil de ver utili-
zando un modelo en términos de teorı́a de grafos: los vértices representan los asistentes
a la reunión y dos vértices son adyacentes si y sólo si las personas correspondientes se
saludan. El grado de cada vértice es el número de saludos de la persona correspondiente.
Sólo hace falta aplicar el resultado que se ha demostrado en el ejercicio anterior.

Ejercicio 66. El Sr. Andrés y su mujer invitaron a cuatro parejas a una fiesta. Cuando
todos ya habı́an llegado, algunas de las personas de la sala saludaron (dando la mano)
a otras personas del grupo. Naturalmente, ninguna persona dio y la mano a su cónyuge
y ninguna persona dio la mano dos veces a otra persona. Pudo haber personas que no
saludasen a nadie.
Al final, el Sr. Andrés se da cuenta de que ninguno de sus invitados (su mujer
incluida) han saludado al mismo número de personas. Utiliza la teorı́a de grafos para
interpretar y responder cada una de las siguientes preguntas:

(a) ¿Es posible que el Sr. Andrés también diera la mano a un número de personas
diferente al de las demás?

(b) ¿Es posible que el Sr. Andrés diera sólo un número impar de apretones de manos?
Grafos: Conceptos Básicos 77

(c) ¿Hay alguna persona que no dio la mano a nadie?

(d) ¿Cuántas veces dio la mano el Sr. Andrés? ¿Y la Sra. Andrés?

(e) Considera ahora que cada uno de los asistentes saludó a alguna persona ¿Es posible
que nadie saludase a su pareja? ¿En este caso, cuántas veces dio la mano el Sr.
Andrés?

Solución: Sea G el grafo cuyos vértices son las personas donde dos vértices son adyacentes
si y sólo si las personas correspondientes se han saludado. Como el orden del grafo es n = 10
tenemos que los grados pertenecen al conjunto {0, 1, 2, ..., 8, 9}. Ahora bien, si ninguna persona
dio la mano a su cónyuge, ningún vértice puede tener grado grado 9. Ası́ que el conjunto de
grados es {0, 1, 2, ..., 8}. En este caso el grafo queda representado de la siguiente forma:

4
5 3

6 2

7 1

8 0
A

Las parejas son: 8 − 0, 7 − 1, 6 − 2, 5 − 3 y 4 − A. En consecuencia, el Señor y la señora


Andrés han saludado a 4 personas cada uno y hay una persona que no dio la mano a nadie.
Si todos saludaron a alguna persona, no hay vértices de grado cero y, en consecuencia, el
conjunto de grados es X = {1, 2, ..., 9}. Como hay un vértice de grado 9, al menos una persona
saludó a su pareja. Además, como el conjunto X tiene 5 números impares, el señor Andrés ha
saludado a un número impar de personas. Entonces obtenemos el siguiente grafo en el que se
muestra que, en este caso, el Sr. Andrés saludó a 5 personas.
Grafos: Conceptos Básicos 78
4
5 3

6 2

7 1

8 A
9

Este grafo corresponde al apartado (e) del Ejercicio 66.

Definición 18. Un grafo es regular si todos los vértices son del mismo grado; si el
grado común es δ, entonces se dice que el grafo es δ-regular.
Ejemplo 90. Los siguientes grafos son regulares.

5.2. Fórmula de los grados


En esta sección estudiaremos como se relacionan los grados de los vértices y el
número de aristas del grafo
Teorema 24. (Fórmula de los grados) Para todo grafo G = (V, E) de medida m se
cumple que
1X
m= δ(v).
2 v∈V
Es decir, la suma de los grados de los vértices de un grafo es el doble del número de
aristas.
Demostración. Sólo es necesario contar el número de aristas del grafo a partir de las
aristas que aporta cada vértice. Cada vértice v aportaPδ(v) aristas al cómputo global,
de manera que globalmente el número de aristas serı́a v∈V δ(v). Como cada arista es
compartida por
P los dos vértices extremos, cada arista ha sido contada dos veces. Por lo
tanto, 2m = v∈V δ(v).
Grafos: Conceptos Básicos 79

Ejemplo 91. Consideremos un grafo con secuencia de grados 2, 2, 2, 2, 2, 2, 3, 1. Según


la fórmula de los grados, se puede calcular fácilmente el número de aristas del grafo sin
otra información:
1X 1
m= δ(v) = (2 + 2 + 2 + 2 + 2 + 2 + 3 + 1) = 8.
2 v∈V 2

El siguiente resultado es una consecuencia directa de la fórmula de los grados.



Corolario 25. Todo grafo δ-regular de orden n tiene medida m = .
2
3·8
Ejemplo 92. El cubo es un grafo 3-regular de orden n = 8 y medida m = = 12.
2

Ejercicio 67. ¿Existe algún grafo 5-regular de orden impar?


Solución: El corolario anterior nos da la respuesta a esta pregunta. En efecto, si existiese un
grafo 5-regular de orden impar, n = 2k + 1, entonces su medida serı́a m = 5(2k+1)2 = 5k + 52 , lo
que es una contradicción. Por lo tanto, no existen grafos con esta caracterı́stica.

Corolario 26. En todo grafo, el número de vértices de grado impar es par.


Demostración. Sea P el conjunto de vértices de grado par y sea I el conjunto de vértices
de grado impar. Según la fórmula de los grados,
X
2m = δ(v)
v∈P ∪I
X X
= δ(v) + δ(v)
v∈P v∈I
X X
= 2kv + (2kv + 1)
v∈P v∈I
!
X X X
=2 kv + kv + 1
v∈P v∈I v∈I
!
X X
=2 kv + kv + |I|.
v∈P v∈I
!
X X
De ahı́ que |I| = 2(m − kv + kv .
v∈P v∈I
Grafos: Conceptos Básicos 80

Ejemplo 93. No existe ningún grafo con secuencia de grados 1, 3, 3, 2, 2, 2, 4. En efecto,


si existiese, habrı́a un número impar de vértices de grado impar, lo que contradice el
corolario anterior.

Ejercicio 68. Dado un grafo G = (V, E), si ki es el número de vértices de grado i,


indicar qué relaciones hay entre los siguientes valores numéricos:
X X
|E|, |V |, iki , ki .
i i

Solución: La relación es X X
|V | = ki y 2|E| = iki .
i≥0 i≥0

Ejercicio 69. Sea G = (V, E) un grafo de orden n ≥ 10 tal que todos los vértices son
de grado estrictamente mayor que 5. Probar que el número de aristas del grafo es mayor
o igual que 30.
Solución: Por hipótesis se tiene que δ(v) ≥ 6, ∀v ∈ V ; ahora se puede aplicar la fórmula de
los grados: X X
2m = δ(v) ≥ 6 = 6|V | ≥ 6 × 10 = 60
v∈V v∈V

Inmediatamente se deriva el resultado que se debe demostrar.

Ejercicio 70. Sea G un grafo de orden n = 20 y medida m = 62. Sabiendo que todos
los vértices tienen grado 3 o 7, determina el número de vértices de grado 3

Solución: Sean x3 y x7 los números de vértices de grado 3 y 7, respectivamente. Entonces


tenemos n = x3 + x7 y 2m = 3x3 + 7x7 . Por lo tanto, x3 = 4 y x7 = 16.

Ejercicio 71. Sea G = (V, E) un grafo de n vértices, t de los cuales son de grado k y el
resto, de grado k + 1. Probar que t = (k + 1)n − 2m, siendo m el número de aristas.

Solución: Se puede escribir V = Vk ∪ Vk+1 , donde Vk es el conjunto de vértices de grado k y


Vk+1 es el conjunto de vértices de grado k + 1. Aplicando la fórmula de los grados se obtiene la
relación 2m = kt + (k + 1)(n − t). De la relación obtenida se deriva inmediatamente la relación
buscada.

Ejercicio 72. Sea G = (V, E) un grafo 3-regular de orden n. Sea X ⊂ V tal que |X| = 2n5
y cada vértice de V − X tiene al menos dos vecinos en X. Prueba que entre los vértices
de X no hay adyacencias.
3n
Solución: Sea c el número de aristas que va de X a V − X. En V − X hay vértices. Como
5
cada vértice de V − X tiene al menos dos vecinos en X, entonces 2 3n
≤ c, además, como G
5
es 3-regular, c ≤ 3 2n
5 . Ası́, c = 6n
5 y, por consiguiente, cada vértice de X tiene exactamente 3
vecinos en V − X.
Grafos: Conceptos Básicos 81

5.3. Algunas familias de grafos


Grafos nulos. El grafo nulo Nn de orden n ≥ 1 es el grafo de n vértices y 0 aristas;
de manera que Nn = (V, ∅), con |V | = n. El grafo N1 se denomina grafo trivial.

Ciclos. El grafo ciclo de orden n ≥ 3 es Cn = (V, E), donde V = {v1 , . . . , vn } y

E = {v1 v2 , v2 v3 , . . . , vn−1 vn , vn v1 }.

Los ciclos son grafos 2-regulares y su orden coincide con su medida, m = n.

Caminos (Paths). El grafo camino Pn = (V, E) de orden n ≥ 2 es el grafo que


cumple V = {v1 , . . . , vn } y

E = {v1 v2 , v2 v3 , . . . , vn−1 vn }.

El grafo Pn se puede obtener de la eliminación de una arista del grafo ciclo Cn . El


grafo Pn no es regular, tiene dos vértices de grado 1, denominados extremos del
camino, y los demás vértices tienen grado 2. De ahı́ que la relación entre orden y
medida es m = n − 1.

Grafos completos. El grafo completo Kn es el grafo de n vértices con todas las


aristas posibles. Es decir, es un grafo (n − 1)-regular de orden n. Por consiguiente,
 
n 1
m= = n(n − 1).
2 2

Ejemplo 94. En las siguientes figuras se puede observar la representación de los


grafos completos K4 , K5 , K6 y K7 , respectivamente.

En particular, nótese que K1 = N1 , K2 = P2 y K3 = C3 .

Grafo rueda. El grafo rueda Rn de orden n (n ≥ 4) tiene un único vértice de


grado n − 1 y si se elimina este vértice y sus aristas incidentes, se obtiene un ciclo
de orden n − 1. La medida de Rn es

m = 2(n − 1).

Ejemplo 95. En la figura se muestran los grafos rueda R6 , R8 y R10 , respectiva-


mente.
Grafos: Conceptos Básicos 82

5.4. Grafos bipartitos


Definición 19. Un grafo G = (V, E) no nulo es bipartito si V = V1 ∪V2 , con V1 ∩V2 = ∅,
de manera que las aristas existentes sólo conectan vértices de V1 con vértices de V2
En un grafo bipartito podemos colorear los vértices con dos colores de modo que dos
vértices adyacentes tengan colores diferentes. Es fácil ver que los grafos camino Pn y los
ciclos de orden par C2k son grafos bipartitos.
Ejemplo 96. El cubo es un grafo bipartito.
1 4

5 8
6 7

2 3

Una familia especial de grafos bipartitos es la de los grafos bipartitos completos.


El grafo bipartito completo, denotado por Kr,s = (V1 ∪ V2 , E), es un grafo bipartito
donde |V1 | = r, |V2 | = s, con todas las aristas posibles conectando vértices de V1 con
vértices de V2 . Por lo tanto, el orden de Kr,s es n = r + s y su medida es m = r · s. Los
vértices de V1 son todos de grado s y los de V2 son de grado r.
Otro caso particular de familia de grafos bipartitos es el caso de los grafos estrella.
El grafo estrella En de orden n (n ≥ 3) es el grafo bipartito completo, En = K1,n−1 .
El orden del grafo es n y la medida es m = n − 1.
Ejemplo 97. Este gráfico representa las estrellas E5 = K1,4 , E6 = K1,5 y E7 = K1,6 ,
respectivamente.

Teorema 27. Si un grafo bipartito G = (V1 ∪ V2 , E) es regular, entonces |V1 | = |V2 |.


Demostración. PComo cada arista tiene un extremo P en V1 y el otro en V2 , la medida
de G es m = v∈V1 δ(v) y también es m = v∈V2 δ(v). Entonces, si G es δ-regular,
m = |V1 |δ = |V2 |δ. Por consiguiente, |V1 | = |V2 |.
Grafos: Conceptos Básicos 83

Ejercicio 73. Si G = (V, E) es un grafo bipartito de orden n, ¿cuál será el número


máximo de aristas de este grafo?

Solución: Si x es el número de vértices del conjunto V1 , entonces n − x será el número de


vértices de V2 . El número total de aristas será x(n − x). Por lo tanto, hace falta maximizar la
2 2
función f (x) = x(n − x). La solución será n4 para n par y n 4−1 para n impar.
La idea de grafo bipartito se puede generalizar a los grafos k-partitos. En este caso
se tiene una partición (V1 , . . . , Vk ) del conjunto de vértices, de manera que las aristas
conectan vértices que pertenecen a diferentes conjuntos de la partición y no hay aristas
conectando vértices de un mismo conjunto Vi .
En el caso de un grafo k-partido completo se tiene una partición del conjunto de
vértices en k subconjuntos, de cardinales respectivos n1 , n2 , . . . , nk , y existen todas las
aristas posibles, con la condición de que no haya ninguna arista que conecte vértices de
un mismo subconjunto. El grafo correspondiente se representa por Kn1 ,...,nk .

Ejemplo 98. La ilustración corresponde al grafo K3,4,2 .

Ejercicio 74. Considera un grafo k-partito completo o, más concretamente (n1 , . . . , nk )-


partito completo. ¿Cuál es el orden y la medida del grafo, y cuáles son los grados de los
diferentes vértices? ¿Para qué valores es regular el grafo?
Solución: El orden del grafo es n = n1 + n2 + · · · + nk . La medida del grafo es
1
(n1 (n − n1 ) + n2 (n − n2 ) + . . . + nk (n − nk ))
2
El grafo es regular si ni = nk , es decir, cuando todas las ni son iguales. Por lo tanto, el
orden del grafo tiene que ser divisible por k.

5.5. Secuencias gráficas. Teorema de Havel-Hakimi


En las secciones anteriores hemos visto algunos ejemplos de grafos y sus secuencias
de grados. Ahora la cuestión es si “dada una secuencia s de número enteros no negativos,
será posible construir un grafo cuya secuencia de grados sea s”. En el Ejemplo 89 vimos
un caso donde esto no es posible. Además, a partir de las consecuencias de la fórmula
de los grados también es fácil darse cuenta de que esto no siempre es posible.
Grafos: Conceptos Básicos 84

Definición 20. Una secuencia de números enteros no negativos, s : d1 , d2 , . . . , dn se


denomina secuencia gráfica si existe un grafo G = (V, E) de orden n tal que s es la
secuencia de grados de G.

Ejemplo 99. La secuencia s : 4, 3, 2, 2, 1 es una secuencia gráfica. Corresponde al grafo,

Ejemplo 100. La secuencia s : 4, 3, 3, 2, 1 no es una secuencia gráfica, puesto que tiene


un número impar de números impares (ver el Corolario 26).

De la definición de grado de un vértice y de la fórmula de los grados, se pueden


establecer dos condiciones necesarias para que una secuencia s : d1 , d2 , . . . , dn de números
enteros sea gráfica:

(i) 0 ≤ di ≤ n − 1, para 1 ≤ i ≤ n.
Pn
(ii) i=1 di tiene que ser par.

Ahora bien, estas condiciones no son suficientes.

Teorema 28 (Caracterización de Havel-Hakimi, Havel (1955) y Hakimi (1961)). Una


secuencia s : d1 , d2 , . . . , dn de números enteros no negativos, con d1 ≥ d2 ≥ . . . ≥ dn , es
una secuencia gráfica si y sólo si la secuencia d2 − 1, d3 − 1, . . . , dd1 +1 − 1, dd1 +2 , . . . , dn
es gráfica.

Demostración. Para probar la suficiencia, supongamos que la secuencia s0 : d2 − 1, d3 −


1, ..., dd1 +1 −1, dk+2 , ..., dn es gráfica. Entonces existe un grafo G0 tal que s0 es su secuencia
de grados y, en consecuencia, existen d1 vértices v2 , v3 , ..., vd1 +1 de G0 cuyos grados son
d2 − 1, d3 − 1, ..., dd1 +1 − 1, respectivamente. Construimos un nuevo grafo G a partir de
G0 añadiendo un nuevo vértice v que conectaremos a los vértices v2 , v3 , ..., vd1 +1 . Como
el grado de v es d1 y los grados de v2 , v3 , ..., vd1 +1 han aumentado en uno, concluimos
que la secuencia de grados de G es d1 , d2 , . . . , dn .
Para probar la necesidad supongamos que s : d1 , d2 , . . . , dn es una secuencia gráfica
ordenada, d1 ≥ d2 ≥ . . . ≥ dn . Sea G un grafo cuya secuencia de grados es s. Sea
D : d2 , d3 , . . . , dd1 +1 . Consideremos un vértice v1 de G de grado δ(v1 ) = d1 y sea D0 la
secuencia de grados de los vecinos de v1 ordenados de mayor a menor. Si D = D0 , entonces
simplemente eliminamos de G el vértice v1 y las aristas adyacentes a él y obtenemos un
grafo G0 cuya secuencia de grados es d2 − 1, d3 − 1, . . . , dd1 +1 − 1, dd1 +2 , . . . , dn .
Grafos: Conceptos Básicos 85

Supongamos ahora que D 6= D0 . Como ambas secuencias tienen d1 números, existe


un número en D que no está en D0 y viceversa. Ası́, existe un vértice vj de grado dj 6∈ D
que es vecino de v1 y existe vi de grado di ∈ D que no es vecino de v1 . Como las secuencias
están ordenadas de mayor a menor, di > dj . Por lo tanto, algún vecino w de vi no es
vecino de vj y w 6= v1 .
v1 vj v1 vj

vi w vi w

Ahora modificamos el grafo G eliminando las aristas v1 vj y vi w y agregando las


aristas v1 vi y vj w como se muestra en la figura anterior. Esta operación no cambia los
grados de los vértices del grafo pero aumenta en uno el número de vecinos de v1 cuyos
grados pertenecen a D. Podemos repetir este proceso hasta obtener un grafo donde los
grados de todos los vecinos de v1 estén en D. Eliminando el vértice v1 de dicho grafo
obtenemos otro grafo G0 cuya secuencia de grados es d2 − 1, d3 − 1, ..., dd1 +1 − 1.
El teorema de Havel-Hakimi conduce a un algoritmo recursivo que permite decidir
si secuencia es gráfica.
Algoritmo de Havel-Hakimi:
Entrada: una secuencia de números enteros s : d1 , d2 , . . . , dn
Salida: dice si la secuencia es gráfica.
Algoritmo:

Si existe di > n − 1, entonces la secuencia no es gráfica, fin.


mientras no haya ningún di < 0 y s no sea idénticamente 0.
Ordenar s en orden decreciente.
Eliminar d1 de s y restar 1 unidad a los d1 elementos siguientes.
finmientras
Si existe di < 0, entonces la secuencia no es gráfica, fin.
Si la secuencia resultante es la secuencia idénticamente 0, entonces s es una secuencia gráfica.

Ejemplo 101. La tabla siguiente muestra la simulación del algoritmo para la secuencia
s : 2, 2, 4, 3, 3, 2, 3, 5.
Grafos: Conceptos Básicos 86

Iteración Secuencia Operación


Inicialmente 2, 2, 4, 3, 3, 2, 3, 5 Secuencia inicial
5, 4, 3, 3, 3, 2, 2, 2 Ordenar secuencia
1 3, 2, 2, 2, 1, 2, 2 Primera subsecuencia
3, 2, 2, 2, 2, 2, 1 Ordenar subsecuencia
2 1, 1, 1, 2, 2, 1 Segunda subsecuencia
2, 2, 1, 1, 1, 1 Ordenar subsecuencias
3 1, 0, 1, 1, 1 Tercera subsecuencia
1, 1, 1, 1, 0 Ordenar subsecuencias
4 0, 1, 1, 0 Cuarta subsecuencia
1, 1, 0, 0 Ordenar subsecuencias
5 0, 0, 0 Quinta subsecuencia
Fin

Por lo tanto, la secuencia es gráfica. Un grafo que tiene esta secuencia de grados es,
c
a d

h e

b f
g

Ejercicio 75. Determina si las secuencias siguientes son gráficas.

1. s : 5, 5, 7, 6, 4, 2, 4, 5

2. s : 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8

3. s : 6, 6, 4, 4, 1, 4, 3

Solución:
1. Es una secuencia gráfica, aplicando el algoritmo de Havel-Hakimi obtenemos:
Grafos: Conceptos Básicos 87

Iteración Secuencia Operación


Inicialmente 5,5,7,6,4,2,4,5
7,6,5,5,5,4,4,2 Clasificación
1 5,4,4,4,3,3,1 Primera subsecuencia
2 3,3,3,2,2,1 Segunda subsecuencia
3 2,2,1,2,1 Tercera subsecuencia
2,2,2,1,1 Se intercalan subsecuencias
4 1,1,1,1 Cuarta subsecuencia
5 0,1,1 Quinta subsecuencia
1,1,0 Se intercalan subsecuencias
6 0,0 Sexta subsecuencia
7 0 Séptima subsecuencia
Fin

2. No es gráfica ya que tiene tres números impares.

3. No una secuencia gráfica. Al plicar el algoritmo de Havel-Hakimi obtenemos:


6, 6, 4, 4, 1, 4, 3
6, 6, 4, 4, 4, 3, 1
5, 3, 3, 3, 2, 0
2, 2, 2, 1, −1

Ejercicio 76. Pon como ejemplo dos grafos con estructuras diferentes tengan la misma
secuencia de grados.

Solución: La secuencia 2, 2, 2, 2, 2, 2 corresponde a un ciclo C6 y también al grafo compuesto


por dos copias del ciclo C3 .

Ejercicio 77. Demuestra que la secuencia de números enteros 2, 2, 2, 2, 2, 2, 3, 1 es la


secuencia de grados de un grafo. Propón dos ejemplos diferentes de grafos que tengan
esta secuencia de grados.
Solución: Se aplicarı́a el algoritmo de Havel-Hakimi para demostrar que la secuencia es
gráfica. Dos posibles grafos que tienen esta secuencia de grados son:

Ejercicio 78. Considera la secuencia d − 2, d − 2, d − 1, d − 1, d − 1, d − 1, d + 2, donde


d es un número entero ¿Para qué valores de d la secuencia es gráfica?
Grafos: Conceptos Básicos 88

Solución: Como el grado de los vértices no puede ser negativo, se ha de cumplir d ≥ 2,


además, como la secuencia tiene 7 números, se ha de cumplir d + 2 ≤ 6. Entonces d ∈ {2, 3, 4}.
Para d = 2, la secuencia 0, 0, 1, 1, 1, 1, 4 es gráfica ya que al aplicar el algoritmo de Havel-
Hakimi se obtiene la secuencia 0, 0, 0, 0, 0, 0.
Para d = 3 la secuencia es 1, 1, 2, 2, 2, 2, 5, que no es gráfica por tener un número impar de
números impares.
Finalmente, para d = 4 la secuencia es 2, 2, 3, 3, 3, 3, 6 y al aplicar el algoritmo de Havel-
Hakimi se obtiene:
6, 3, 3, 3, 3, 2, 2
2, 2, 2, 2, 1, 1
1, 1, 2, 1, 1
2, 1, 1, 1, 1
0, 0, 1, 1
1, 1, 0, 0
0, 0, 0
Por lo tanto, la secuencia es gráfica.

Ejercicio 79. Estudiar si pueden haber grafos con las secuencias de grados siguientes:

1. 3, 3, 3, 3, 3, 4, 4

2. 6, 3, 3, 2, 2, 2

3. 4, 4, 3, 2, 1
Solución:
1. No, porque contradice el corolario de la fórmula de los grados.

2. No, porque no cumple la relación 0 ≤ g(v) ≤ n − 1.

3. No, aplicando el algoritmo de Havel-Hakimi.

Ejercicio 80. ¿Para qué valores de d, entero no negativo, la secuencia

d, d + 1, d + 2, . . . , d + n − 1

es gráfica?

Solución: Como la secuencia tiene n números y el grado máximo es menor o igual a n − 1,


la única posibilidad es d = 0 y la secuencia es 0, 1, 2, . . . , n − 1. Ahora bien, para n ≥ 2 no
puede haber un vértice de grado 0 y otro de grado n − 1. Por lo tanto, la secuencia no puede
ser gráfica, excepto en el caso n = 1 que corresponderı́a al grafo trivial.
Grafos: Conceptos Básicos 89

5.6. Grafos isomorfos


En esta sección consideramos el problema de decidir cuando dos grafos son estruc-
turalmente equivalentes, esto es, cuando ellos tienen los mismos patrones de conexión.
Si dos grafos tiene orden pequeño y están dados por su representación gráfica, en ocasio-
nes es fácil decidir si ambos constituyen representaciones diferentes de un mismo grafo.
Aunque, en general, no existe un algoritmo práctico que permita decidir si dos grafos
del mismo orden tiene la misma estructura o no. Dicho problema de decisión es conocido
como “graph-isomorphism problem.”
Ejemplo 102. Consideremos los siguientes grafos.
1 4 1 4 1 4

2 3 2 3 2 3
G1 G2 G3

Todos ellos tienen el mismo conjunto de vértices V = {1, 2, 3, 4} y, además, los


conjuntos de aristas son E1 {{1, 2}, {2, 3}, {3, 4}}, E2 = {{1, 2}, {1, 4}, {3, 4}}, E3 =
{{1, 2}, {2, 3}, {1, 4}}. Estos grafos son diferentes puesto que lo son los respectivos con-
juntos de aristas. Aún ası́, los tres tiene la misma estructura.
Aun cuando la estructura de dos grafos sea la misma, el etiquetado puede no ser
irrelevante; puede ser clave para ciertos modelos y aplicaciones. Por ejemplo, si un grafo
es el modelo para un proyecto de comunicaciones y los vértices del grafo son pobla-
ciones concretas, entonces es de mucha importancia práctica saber qué vértices quedan
conectados entre sı́.
Ejemplo 103. Aunque los grafos de la siguiente figura tienen el mismo orden, la misma
medida y ambos son 3-regulares, no tienen la misma estructura. Es fácil comprobar que
el de la izquierda tiene triángulos mientras el de la derecha no tiene.

c b b0 c0

d a a0 d0

e f f0 e0

Mediante la siguiente definición formalizaremos cuando dos grafos son estructural-


mente equivalentes.
Grafos: Conceptos Básicos 90

Definición 21. Sean G1 = (V1 , E1 ) y G2 = (V2 , E2 ) dos grafos.

G1 y G2 son idénticos si y sólo si V1 = V2 y E1 = E2 .

G1 y G2 son isomorfos (se denota G1 ∼


= G2 ) si y sólo si existe una biyección

ϕ : V1 → V2

que conserva las adyacencias y las no adyacencias, es decir,

u ∼ v ⇔ ϕ(u) ∼ ϕ(v).

En este caso, se dice que ϕ es un isomorfismo de grafos.

En general, la búsqueda a fuerza bruta de todos los posibles isomorfismos entre dos
grafos es inviable. Para dos grafos de orden n hay n! aplicaciones biyectivas entre los
conjuntos de vértices. Por consiguiente, es necesario identificar algunos “parámetros”de
los grafos que, en algunos casos, nos permitan descartar la existencia de isomorfismo.
Dichos parámetros o propiedades se denominan invariantes.

Definición 22. Un invariante de grafo es una propiedad del grafo que se conserva
por isomorfismos.

Como el número de vértices, el número de aristas y la secuencia de grados son


los mismos para cualquier par de grafos isomorfos, estos son invariantes de grafos. Por
consiguiente, podemos establecer algunas condiciones necesarias de isomorfismo.

Observación 29. Si existe un isomorfismo ϕ : V1 → V2 de los grafos G1 = (V1 , E1 ) y


G2 = (V2 , E2 ), entonces:

(1) G1 y G2 tienen el mismo orden.

(2) G1 y G2 tienen la misma medida.

(3) para todo x ∈ V1 se cumple que δ(x) = δ(ϕ(x)).

Estas condiciones permiten en muchos casos asegurar que dos grafos no son isomor-
fos. Ahora bien, según pudimos comprobar en el Ejemplo 103, estas condiciones no son
suficientes para que dos grafos sean isomorfos. En dicho ejemplo el invariante utilizado
para descartar el isomorfismo fue el número de triángulos del grafos.
A medida que vayamos incorporando nuevos conceptos y estudiando nuevas propie-
dades de los grafos, iremos incorporando nuevos invariantes que en la práctica son de
utilidad para descartar el isomorfismo de grafos.
El siguiente ejercicio nos muestra un ejemplo de isomorfismo de grafos.

Ejercicio 81. Determina si los grafos representados en la figura son isomorfos.


Grafos: Conceptos Básicos 91
1 5

h g
2 6

d c
a b 3 7

e f 4 8

Solución: La respuesta es afirmativa y el isomorfismo es:

a → 1, b→5
c → 2, d→6
h → 3, e→7
f → 4, g→8

Ejercicio 82. Determina si los siguientes grafos son isomorfos.

b0 c0
b d

a0 d0
c f

a e f0 e0

Solución: Los grafos son isomorfos y el isomorfismo es:

a → a0 , d → d0
b → b0 , e → e0
c → c0 , f → f 0

Nótese que ambos grafos son isomorfos al grafo bipartito completo K3,3 .

5.7. Multigrafos, pseudografos, hipergrafos y digra-


fos
Definición 23. Un multigrafo G = (V, E) es una par ordenado donde V es un conjunto
finito no vacı́o y E es un multiconjunto de pares no ordenados {u, v} de elementos de V
con u 6= v. En otras palabras, un multigrafo es un grafo que admite aristas múltiples.
Grafos: Conceptos Básicos 92

a d

Ejemplo 104. En el siguiente multigrafo hay dos aristas conectando los vértices a y b,
y dos aristas conectando los vértices a y c. Este multigrafo pudiera servir de modelo de
una red de carreteras donde hay dos carreteras diferentes que conectan el pueblo a con el
pueblo b y otras dos que conectan a con c. En este caso G = (V, E) donde V = {a, b, c, d}
y E = {ab, ab, ac, ac, ad, bd, cd}.
Definición 24. Un pseudografo G = (V, E) es un par ordenado donde V es un conjunto
finito no vacı́o y E es un multiconjunto de pares no ordenados {u, v} de elementos de V .
Notese que un pseudografo es un multigrafo que admite aristas del tipo {u, u} co-
nectando un vértice consigo mismo (bucles o lazos), posiblemente de forma múltiple,
y también aristas múltiples entre pares de vértices.
b

a d

Ejemplo 105. Un ejemplo de bucle o lazo es la arista {d, d} del pseudografo de la figura
anterior. Los grados de los vértices se cuentan según la definición original; de ahı́ que
para cada bucle se incrementa en 2 el grado del vértice. En este caso el grado del vértice
d es δ(d) = 5.
Definición 25. Un hipergrafo G = (V, E) es una par ordenado donde V es un con-
junto finito no vacı́o y los elementos de E son subconjuntos no vacı́os de V llamados
hiperaristas.
Ejemplo 106. En el siguiente ejemplo de hipergrafo cada nodo es un estudiante y las
hiperaristas son los grupos de estudiantes que eligen cursar una determinada asignatura.
Grafos: Conceptos Básicos 93

Los grafos simples son los que corresponden a la definición original, por contraposi-
ción con estas nuevas extensiones.
Hay aplicaciones en las cuales las situaciones no se describen correctamente si no
se asignan orientaciones o sentidos de recorrido a las aristas del grafo; esto da lugar a
grafos orientados, también denominados dirigidos o digrafos.
Definición 26. Un digrafo G = (V, E) es una par ordenado donde V es un conjunto
finito no vacı́o y E ⊆ V × V . Es decir, las aristas son pares ordenados de elementos de
V llamados arcos.
Ejemplo 107. El conjunto de arcos del siguiente digrafo es:
E = {(c, b), (b, a), (a, d), (d, c), (d, e), (e, f ), (f, a), (f, b), (c, e)}.

c b

d a

e f

En un digrafo G = (V, E) un arco (u, u) se denomina bucle orientado. Además, dado


un arco a = (u, v), el vértice u se denomina origen y v se denomina extremo. De forma
análoga al caso de grafos, el orden del digrafo es el número de vértices y la medida es
el número de arcos.
Para cada vértice v ∈ V del digrafo se define g + (v), grado de salida, como el
número de arcos que tienen el vértice v como origen; o, dicho de otro modo, el cardinal
del conjunto {u ∈ V : (v, u) ∈ E}.
Análogamente, el grado de entrada g − (v) es el número de arcos cuyo extremo es
el vértice v o, de manera equivalente, el cardinal del conjunto {u ∈ V : (u, v) ∈ E}.
Dado el digrafo G = (V, E), se define el grafo subyacente (V, E 0 ) de manera que
{u, v} ∈ E 0 si y sólo si (u, v) ∈ E o (v, u) ∈ E.
Se pueden considerar también combinaciones de los conceptos anteriores e hı́bridos,
en los cuales por ejemplo no todas las aristas sean orientadas.
Ejercicio 83. Plantea una versión para digrafos de la fórmula de los grados en términos
de los grados de entrada y de salida de los vértices.
Solución: La medida m de un digrafo G = (V, E) se calcula mediante la siguiente fórmula:
X X
2m = g + (v) + g − (v),
v∈V v∈V

o también, X X
m= g + (v) = g − (v).
v∈V v∈V
Grafos: Conceptos Básicos 94

5.8. Representación matricial de grafos. Listas de


adyacencias
Ni la representación abstracta ni la representación gráfica de un grafo en el plano
son apropiadas para describir un grafo, si se quiere manipular mediante un programa
informático. Necesitamos proponer métodos alternativos para la descripción y el alma-
cenamiento. En primer lugar, siempre es necesario etiquetar los vértices. A continuación,
se pueden construir matrices asociadas al grafo, o bien la lista de adyacencias.

Matriz de adyacencia
Definición 27 (Matriz de adyacencia de un grafo). Sea G = (V, E) un grafo y sea
V = {v1 , v2 , ..., vn }. Se define la matriz de adyacencia de G como A = (aij ) donde

1 si vi ∼ vj ;
aij =
0 en caso contrario.

Ejemplo 108. La matriz de adyacencias del grafo


1 2

5 4

será la siguiente matriz cuadrada de orden 5 × 5:

 
0 1 0 0 1
1 0 1 1 1
 
0
A= 1 0 1 0
0 1 1 0 1
1 1 0 1 0

Nótese que la matriz de adyacencia es simétrica y si sumamos los elementos de una


determinada fila obtenemos el grado del vértice correspondiente a esa fila. Ası́ mismo, si
sumamos todos los elementos de la matriz obtenemos el doble del número de aristas. Más
adelante veremos que la matriz de adyacencia nos permite obtener información valiosa
sobre la estructura del grafo aplicando métodos del álgebre lineal.
En el caso de multigrafos, pseudografos y digrafos, se debe tener en cuenta que:

1. Los 0 de la diagonal podrı́an ser 1 si hubiera lazos.

2. La matriz podrı́a contener valores mayores que uno si hubiera aristas múltiples.
Grafos: Conceptos Básicos 95

3. La matriz podrı́a no ser simétrica en el caso de digrafos.

A continuación establecemos la definición de matriz de adyacencia de un digrafo.

Definición 28 (Matriz de adyacencia de un digrafo). Sea G = (V, E) un digrafo y sea


V = {v1 , v2 , ..., vn }. Se define la matriz de adyacencias de G como A = (aij ) donde

1 si (vi , vj ) ∈ E;
aij =
0 en caso contrario.

Ejemplo 109. La matriz de adyacencia del digrafo del Ejemplo 107 es


 
0 0 0 1 0 0
1 0 0 0 0 0
 
0 1 0 0 1 0
A= 0 0 1 0 1 .
 0
0 0 0 0 0 1
1 1 0 0 0 0

En este caso los vértices están ordenados alfabéticamente de modo que la fila superior
de la matriz corresponde al vértice a.

En el caso de digrafos la suma de los elementos de una determinada fila de la matriz


nos da el grado de salida del correspondiente vértice, mientras la suma de todos los
elementos de la matriz nos da la medida del digrafo.
Una de las ventajas de la matriz de adyacencias es la simplicidad de la estructura
de datos para el almacenamiento, puesto que se puede almacenar en una tabla (array)
bidimensional.
Para un grafo de orden n serı́a, [1 . . . n, 1 . . . n] entero
De las caracterı́sticas de esta estructura de almacenamiento se pueden deducir las
propiedades siguientes:

1. Es una estructura muy fácil de manipular y el tiempo necesario para acceder a


cada posición es constante.
La desventaja principal de la matriz de adyacencias es el espacio ocupado de forma
innecesaria. El espacio necesario para almacenar un grafo de orden n es proporcio-
nal a n2 . Como el número de aristas es, como máximo, 12 n(n − 1), siempre habrá
ceros en la matriz y se tendrà espacio de almacenamiento ocupado innecesariamen-
te.

2. Si el grafo no es dirigido, la matriz será simétrica y todavı́a se tendrà más espacio


ocupado innecesariamente. En estos casos se puede utilizar una matriz de adya-
cencias triangular para almacenar el grafo con un ahorro del 50 % en el espacio
ocupado.
Grafos: Conceptos Básicos 96

Definición 29 (Matriz de adyacencia de un hipergrafo). Sea H = (V, E) un hipergrafo


y sea V = {v1 , v2 , ..., vn }. Se define la matriz de adyacencias de H como A = (aij )
donde el elemento aij es el número de hiperaristas de H que contienen a vi y vj a la vez.
Ejemplo 110. Sea H = (V, E) el hipergrafo definido de la siguiente forma: V =
{1, 2, 3, 4, 5, 6} y E = {A1 , A2 , A3 }, donde A1 = {1, 2, 3}, A2 = {2, 3, 4, 5} y A3 =
{1, 5, 6}.
En este caso la matriz de adyacencia es
 
0 1 1 0 1 1
1 0 2 1 1 0 
 
1 2 0 1 1 0 
A= 0 1 1 0 1 0. ,

 
1 1 1 1 0 1 
1 0 0 0 1 0

donde la i-ésima fila ( columna) de la matriz corresponde al i-ésimo vértice del hipergrafo.

Matriz de incidencia y matriz laplaciana


Definición 30 (Matriz de incidencia de un digrafo). Sea A = (V, E) un digrafo donde
V = {v1 , v2 , ..., vn } y E = {e1 , e2 , ..., em }. Se define la matriz de incidencia de G como
la matriz IG = (Iij ) donde

 −1 si vi es el origen de ej ;
Iij = 1 si vi es el extremo de ej ;
0 en caso contrario.

Las filas de IG corresponden a los vértices de G y las columnas corresponden a los


arcos.
Definición 31 (Matriz laplaciana de un grafo). Sea A = (V, E) un grafo donde V =
{v1 , v2 , ..., vn }. Se define la matriz laplaciana de G como la matriz L = D − A, donde
A es la matriz de adyacencia de G y D = diag(δ1 , δ2 , ..., δn ) es la matriz diagonal cuyos
elementos de la diagonal son los grados de los vértices. donde G.
Ejemplo 111. La matriz de adyacencias del grafo del Ejemplo 108 es la siguiente matriz
cuadrada de orden 5 × 5:

 
2 −1 0 0 −1
−1 4 −1 −1 −1
 
0
L= −1 2 −1 0 

0 −1 −1 3 −1
−1 −1 0 −1 3
Grafos: Conceptos Básicos 97

Aunque las matrices de adyacencia y laplaciana de un grafo parezcan contener la


misma información sobre el grafo, hay algunas propiedades de los grafos que sólo se
deducen a partir de una de estas matrices.
Una orientación de las aristas de un grafo G es la asignación de una dirección a cada
una de las aristas de G. Por consiguiente, si damos una orientación a un grafo obtenemos
un digrafo.
Teorema 30. Dada una orientación a las aristas de un grafo G, sea IG la matriz de
incidencia de G. Entonces la matriz laplaciana de G cumple,

L = IG IGt .

Demostración. El resultado se obtiene directamente del producto de las matrices IG IGt .



Xm  δi si i = j;
(IG IGt )ij = Iil Ijl = −1 si vi vj es una arista de G;
0 en caso contrario.

l=1

Lista de adyacencias
Para evitar el principal inconveniente de la matriz de adyacencia (el espacio ocupado
de manera innecesaria) se puede optar por almacenar el grafo en forma de lista de
adyacencias.
Dado el grafo G = (V, E), se define la lista de adyacencias de un grafo simple
como una lista de vértices adyacentes a un vértice dado.
Ejemplo 112. Para el grafo,
1 2

5 4

la lista de adyacencias será

1 : 2, 5
2 : 1, 3, 4, 5
3 : 2, 4
4 : 2, 3, 5
5 : 1, 2, 4

Como en la matriz de adyacencia, la representación depende de la ordenación concre-


ta de los vértices. Además, también se puede generalizar esta estructura para multigrafos,
pseudografos y grafos orientados.
Grafos: Conceptos Básicos 98

Ejercicio 84. Considera la representación en matriz y lista de adyacencias de los grafos


siguientes.

Determina el espacio de memoria ocupado en cada caso.


Solución: El primer grafo es el grafo de Petersen que tiene orden 10 y medida 15. En la
representación en matriz de adyacencias ocuparı́a 102 = 100 unidades de memoria. La lista de
adyacencias ocuparı́a 10 + 2 · 15 = 40 unidades de memoria.
El segundo grafo es un grafo dirigido de orden 7 y medida 12. En la representación en
matriz de adyacencias ocuparı́a 72 = 49 unidades de memoria. La lista de adyacencias ocuparı́a
7 + 12 = 19 unidades de memoria.

Ejercicio 85. Dependiendo de la medida m de un grafo de orden n puede ser más


eficiente utilizar la representación en matriz de adyacencias que la representación en
lista de adyacencias. Calcular, en función de n y m, cuándo es más eficiente utilizar un
tipo de representación u otro.
Solución: La matriz de adyacencias necesita n2 unidades de memoria. La lista de adyacencias
n + 2m (si no se tiene en cuenta el espacio necesario para almacenar los enlaces). Por lo tanto,
2
será mejor usar la lista si n + 2m < n2 o m < n 2−n .
2
Se observa que n 2−n es el número de aristas del grafo completo de n vértices. Esto demues-
tra que la lista de adyacencias siempre ocupa menos memoria que la matriz de adyacencias,
excepto cuando el grafo es completo, caso en el que tienen la misma ocupación de memoria.
Capı́tulo 6

Operaciones con Grafos

Los grafos son estructuras combinatorias básicas y, como ocurre en otras disciplinas
de la matemática, las subestructuras y las operaciones básicas con las estructuras ele-
mentales juegan un papel fundamental tanto desde el punto de vista teórico, como por
sus aplicaciones prácticas. En esta sección hacemos una breve introducción a las opera-
ciones con grafos que nos permitirán obtener grafos cuya estructura puede ser bastante
compleja a partir de grafos elementales. Para profundizar en el estudio de productos en
grafos recomendamos el siguiente libro: [2, 3].

6.1. Operaciones elementales


Dado un grafo G = (V, E) se pueden hacer operaciones diversas: Eliminar un
vértice u ∈ V . Ası́ se obtiene el grafo G0 = G − u, que es el grafo (V 0 , E 0 ), donde
V 0 = V \{u} y E 0 es el conjunto de aristas de G no incidentes con u. Esta operación se
puede generalizar a un conjunto W ⊂ V . Esto es,

G0 = G − W = (V \W, {{a, b} ∈ E | a, b 6∈ W }).

Evidentemente, esta operación sólo tiene sentido si el grafo no es trivial.

Eliminar una arista a ∈ E. Ası́ se obtiene un grafo, con los mismos vértices, definido
por G0 = G − a = (V, E\{a}); la operación se puede generalizar trivialmente a un
subconjunto de aristas B ⊂ E, en cuyo caso G − B = (V, E\B).

Añadir una arista {u, v}, siendo u y v dos vértices no adyacentes. Ası́ se obtiene el
grafo G0 = (V, E ∪ {{u, v}}). Este nuevo grafo se puede representar por G + uv. El
proceso se puede generalizar a conjuntos de más de una arista.
La condición de no adyacencia de los vértices es fundamental, puesto que de lo
contrario se crearı́a una arista múltiple y, por lo tanto, no se estarı́a en el dominio de los
grafos simples, tal y como se ha definido.

99
Operaciones con Grafos 100

Ejemplo 113. Sobre el primer grafo se efectúan operaciones de eliminación de vértices


y aristas, y de adición de aristas. El cuarto grafo es el resultado de eliminar del original
el vértice 2; el segundo grafo resulta de eliminar la arista {1, 2} y el tercer grafo se genera
con la adición de la nueva arista {3, 4}.
1 4
3 6

2 5

Contraer una arista a = {u, v}. En este caso se elimina la arista a, se identifican en
un único nuevo vértice w los dos vértices extremos u, v, que desaparecen y, finalmente,
el vértice w hereda exclusivamente las adyacencias de los vértices u, v.
La operación de contracción se puede aplicar a todo un conjunto de aristas.
Ejemplo 114. La siguiente figura muestra el resultado de hacer la contracción de una
arista del grafo de la izquierda

Ejemplo 115. En la siguiente figura se presenta el grafo de Petersen. Si se contraen las


aristas {1, 6}, {2, 7}, {3, 8}, {4, 9} y {5, 10}, se obtiene el grafo completo K5 .
1

6
2 7 10 5

8 9

3 4

Subdivisión elemental de una arista a = {u, v}. En este caso se inserta un vértice
de grado 2 en la arista a. Es decir, dado w 6∈ V , se realizan las operaciones siguientes:
eliminación de la arista a, adición del nuevo vértice w y adición de las nuevas aristas
{u, w} y {w, v}.
Ejemplo 116. La figura muestra el resultado hacer una subdivisión elemental en una
arista del grafo K3,3 .
Operaciones con Grafos 101

6.2. Subgrafos
Definición 32. Un grafo H = (V 0 , E 0 ) es un subgrafo del grafo G = (V, E) si V 0 ⊂ V
y E 0 ⊂ E.

Con la notación de antes, si dos vértices de H no son adyacentes en G, tampoco lo


son en H, pero es posible que dos vértices de H sean adyacentes en G, y no lo sean en
H.

Dado un grafo G = (V, E), se considera un subconjunto S ⊂ V ; se define el


subgrafo generado o inducido por S en G como el grafo hSi = (S, E 0 ), de tal
manera que {u, v} ∈ E 0 ⇔ {u, v} ∈ E y u, v ∈ S. Ası́, el conjunto de las aristas de
hSi son las que, siendo de G, conectan vértices de S.

Sean G = (V, E) y H = (V 0 , E 0 ) dos grafos; se dice que H es subgrafo generador


o de expansión de G si V 0 = V y E 0 ⊂ E.

El grado de un vértice u relativo a un subgrafo H se denota por δH (u).

Ejemplo 117. Considerar el grafo representado en la figura:


1

2 5

3 4

Un ejemplo de subgrafo puede ser el siguiente: H = (V 0 , E 0 ), donde V 0 = {1, 2, 4, 5}


y E 0 = {{2, 4}, {4, 5}}. Nótese que δG (4) = 4 y, en cambio, δH (4) = 2.
Un subgrafo generador serı́a, por ejemplo, H = (V 0 , E 0 ), donde V 0 = {1, 2, 3, 4, 5} y
E 0 = {{1, 2}, {1, 5}, {1, 4}, {3, 4}}.
El subgrafo inducido por el conjunto {3, 4, 5} es isomorfo a C3 , el subgrafo inducido
por {1, 2, 5} es isomorfo a P3 y el subgrafo inducido por {2, 5} es isomorfo a N2 .

6.3. Complemento
Definición 33. Dado el grafo G = (V, E), se define el complementario o el comple-
mento de este grafo como el grafo, Gc , que se construye sobre el mismo conjunto de
vértices, de modo que dos vértices son adyacentes en Gc si y sólo si no lo son en G.

Naturalmente, se cumple que el complemento del complemento es el original:

(Gc )c = G.
Operaciones con Grafos 102

Ejemplo 118. La figura siguiente muestra el grafo C5 y su complemento, que vuelve a


ser C5 .

Ejemplo 119. (Kn )c = Nn y (Nn )c = Kn .


Ejemplo 120. La figura siguiente muestra que el camino de orden 4 también es auto-
complementario: (P4 )c ∼
= P4

Ejemplo 121. Un grafo G que es isomorfo a su complemento: G ∼


= Gc .
a c e d c b

b d a e

Observación 31. Sea G = (V, E) un grafo de orden n. Para todo vértice v ∈ V se


cumple
δGc (v) = n − 1 − δG (v).
Observación 32. Nótese que dos grafos son isomorfos si y sólo si lo son los comple-
mentos respectivos. Es decir,

G∼
= H ←→ Gc ∼
= H c.

Ejercicio 86. Determina una fórmula para calcular la medida de Gc en función del
orden y la medida de G.
Solución: El orden de Gc coincide con el orden de G y la medida es
 
c n(G)
m(G ) = − m(G).
2

Ejercicio 87. Determina la medida del complemento de Pn y del complemento de Cn .


n
− (n − 1) = 12 (n − 1)(n − 2) y la medida

Solución: La medida del complemento de Pn es 2
n
− n = 12 n(n − 3).

del complemento de Cn es 2
Operaciones con Grafos 103

Ejercicio 88. Si G = (V, E) es un grafo de orden n = 6, demuestra que G o su


complemento Gc contiene algún triángulo.

Solución: Sea α uno de los seis vértices de G. Distribuimos los cinco vértices restantes en
dos “cajas”de este modo: en la caja 1 ponemos los adyacentes a α, y en la caja 2 los que no
son adyacentes a α. Dado que 5 > 2 · 2, podemos afirmar que en una de las cajas hay por lo
menos tres vértices. Supongamos que en la caja 1 se encuentran los vértices β, γ, δ. Si dos
de ellos, digamos β y γ, son adyacentes, entonces α, β, γ forman un triángulo. Si ningún par
de vértices entre β, γ, δ son adyacentes, entonces β, γ, δ están mutuamente conectados en el
complemento (forman un triángulo en Gc ). Un razonamiento análogo se puede realizar si es la
caja 2 la que contiene tres (o más) vértices.

6.4. Grafo Lı́nea


Definición 34. El grafo lı́nia de un grafo G = (V, E) es un grafo L(G) = (E, E 0 ) tal
que los vértices de L(G) son las aristas de G y dos vértices son adyacentes en L(G) si y
sólo si las aristas correspondientes tienen un vértice en común.

Ejemplo 122. L(K1,r ) = Kr , L(Pn ) = Pn−1 y L(Cn ) = Cn . El grafo lı́nea de K4 es


L(K4 ) = K6 − F , es decir, L(K4 ) es el grafo que se obtiene al suprimir una adyacencia
a cada vértice del grafo completo K6 . En este caso F denota un “emparejamiento”de
vértices y al restarlo indicamos que hemos borrado las correspondientes aristas formadas
por las parejas de vértices.

Si a = {u, v} es una arista de G, entonces el grado de a en L(G) es δ(a) = δ(u) +


δ(v) − 2. Ası́, si G es regular no nulo, entonces L(G) es regular. El recı́proco no es cierto.
Por ejemplo, L(K1,5 ) es 4-regular mientras K1,5 no es regular.

Ejercicio 89. Determina un fórmula para la medida de L(G) en función de los grados
de G.
Solución: Para calcular la medida de L(G) es suficiente observar que dos aristas de G son
adyacentes en L(G) sı́ y sólo si son incidentes a un mismo vértice de G. Por lo tanto la medida
de L(G) se puede calcular a partir de la secuencia de grados de G:
  X δ(v)(δ(v) − 1)
X δ(v)
m(L(G)) = = .
2 2
v∈V (G):δ(v)≥2 v∈V (G)
Operaciones con Grafos 104

Ejercicio 90. Sea G el grafo de la figura.


f h

d c
g e

a b

(a) Representa gráficamente el grafo lı́nea de G, denotado por L(G).

(b) Calcula el número de aristas del grafo complemento de L(G).

Solución:
(a) El grafo lı́nea de G es:

f
h
d c

g e

a b

8
(b) m((L(G))c ) =

2 − m(L(G)) = 28 − 17 = 11.

6.5. Unión de grafos


Definición 35. La unión de dos grafos G1 = (V1 , E1 ), G2 = (V2 , E2 ), donde V1 ∩V2 = ∅,
es el grafo
G1 ∪ G2 = (V1 ∪ V2 , E1 ∪ E2 ).

Ejemplo 123. (Kr ∪ Ks )c = Kr,s .

Ejemplo 124. El grafo de la siguiente figura se puede expresar como G = C5 ∪R8 ∪K1,9 .
Operaciones con Grafos 105

6.6. Suma de grafos


Definición 36. Sean G1 = (V1 , E1 ) y G2 = (V2 , E2 ) dos grafos tales que V1 ∩ V2 = ∅. La
suma G1 + G2 es el grafo que tiene los vértices y las aristas de los grafos originales, más
las aristas que conecten todos los vértices del primero con todos los vértices del segundo:

G1 + G2 = (V1 ∪ V2 , (E1 ∪ E2 ∪ {{u, v} | u ∈ V1 , v ∈ V2 })).

Ejemplo 125. Los siguientes grafos se obtienen como suma de grafos conocidos.

Kr+s = Kr + Ks .

Kr,s = Nr + Ns

Ejercicio 91. Determina una fórmula para la medida de G + H.


Solución: El grafo G + H se obtiene tomando una copia del grafo G y una del grafo H y
luego uniendo cada vértice de G con todos los de H. Por lo tanto, la medida de G + H es

m(G + H) = m(G) + m(H) + n(G) · n(H).

Ejercicio 92. Determina una fórmula para la medida de (G + H)c .


Solución: La medida del complemento de G + H es
 
c n(G + H)
m((G + H) ) = − m(G + H)
2
 
n(G) + n(H)
= − m(G) − m(H) − n(G) · n(H).
2

Ejercicio 93. Expresa el grafo de la figura mediante operaciones de grafos.

Solución: G = K1 + (K2 ∪ K1 ) = (P3 ∪ K1 )c .


Operaciones con Grafos 106

6.7. Producto cartesiano


Definición 37. Dados los grafos G1 = (V1 , E1 ), G2 = (V2 , E2 ), se define el producto
cartesiano G1 G2 = (V1 × V2 , E) de manera que los vértices (u1 , v1 ), (u2 , v2 ) son
adyacentes si, y sólo si, se cumple alguna de las condiciones siguientes:

1. u1 = u2 y v1 ∼ v2 , o

2. u1 ∼ u2 y v1 = v2

Ejemplo 126. Los compuestos iónicos en estado sólido forman estructuras reticulares
cristalinas. Los dos factores principales que determinan la forma de la red cristalina son
las cargas relativas de los iones y sus tamaños relativos. La siguiente figura muestra la
red cristalina del NaCl. Esta representación corresponde al grafo P3 P3 P3 .
Na

Cl

Para imaginar o representar gráficamente el producto cartesiano GH podemos


pensar que por cada vértice de H ponemos una copia del grafo G y cada vértice de la
i-ésima copia de G será adyacente a su gemelo en la j-ésima copia de G si y sólo si i y
j son adyacentes en H.

Ejemplo 127. En esta figura se muestra un ejemplo de producto cartesiano donde los
vértices de GH se han denotado por xy en lugar de (x, y).

d f
e
c 4

b G
1 2 3

a H
Operaciones con Grafos 107

d4 f4

d1 d2 d3 e4 f1 f2 f3

c4 e1 e2 e3

c1 c2 c3

b4

b1 b2 b3 GH

a4

a1 a2 a3

Ejemplo 128. La siguiente figura muestra los grafos C5 K2 y K1,3 P3 .

El producto cartesiano es “conmutativo”, en el siguiente sentido.

Proposición 33. Para todo par de grafos G y H se cumple

GH ∼
= HG.

Demostración. La aplicación biyectiva ψ : V (GH) −→ V (HG) definida por ψ(x, y) =


(y, x) es un isomorfismo de grafos. Para comprobarlo tomamos dos vértices (a, b) y (u, v)
adyacentes en GH. Tenemos dos posibilidades:
(1) a = u y b adyacente a v en H.
(2) a adyacente a u en G y b = v.
En ambos casos los vértices ψ(a, b) = (b, a) y ψ(u, v) = (v, u) son adyacentes en HG.

Proposición 34. El producto cartesiano es asociativo.


Operaciones con Grafos 108

Demostración. Para demostrar que los grafos (G1 G2 )G3 y G1 (G2 G3 ) son isomor-
fos, probaremos que la aplicación biyectiva
ψ : V ((G1 G2 )G3 ) −→ V (G1 (G2 G3 ))
definida por
ψ((u1 , u2 ), u3 ) = (u1 , (u2 , u3 ))
es un isomorfismo de grafos. Sólo tenemos que probar que si x, y ∈ V ((G1 G2 )G3 ) son
adyacentes, entonces ψ(x) y ψ(y) son adyacentes en G1 (G2 G3 ).
Sea x = ((u1 , u2 ), u3 ) y sea y = (v1 , v2 ), v3 ). Tenemos dos posibilidades,
(1) (u1 , u2 ) = (v1 , v2 ) o u3 es adyacente a v3 en G3 .
(2) (u1 , u2 ) y (v1 , v2 ) son adyacentes en G1 G2 y u3 = v3 .
En el caso (1) se obtiene que u1 = v1 y (u2 , u3 ) es adyacente a (v2 , v3 ) en G2 G3 . Por lo
tanto, ψ(x) = (u1 , (u2 , u3 )) y ψ(y) = (v1 , (v2 , v3 )) son adyacentes en G1 (G2 G3 ).
En el caso (2) tenemos dos posibilidades.
(2.1) u1 = v1 , u2 es adyacente a v2 en G2 y u3 = v3 .
(2.2) u1 y v1 son adyacentes en G1 , u2 = v2 y u3 = v3 .
El subcaso (2.1) nos conduce a que u1 = v1 y los vértices (u2 , u3 ) y (v2 , v3 ) son adyacentes
en G2 G3 , mientras el subcaso (2.2) nos lleva a que (u2 , u3 ) = (v2 , v3 ) y los vértices
u1 y v1 son adyacentes en G1 . Por lo tanto, el caso (2) también nos conduce a que
ψ(x) = (u1 , (u2 , u3 )) y ψ(y) = (v1 , (v2 , v3 )) son adyacentes en G1 (G2 G3 ).
Observación 35. Dado un vértice v de un grafo G, denotaremos el grado de v en G
por δG (v). De esta forma, el grado de un vértice (a, b) en G1 G2 es
δG1 G2 (a, b) = δG1 (a) + δG2 (b).
.
En consecuencia, un grafo producto cartesiano es regular si y sólo si los grafos fac-
tores son regulares.
Ejercicio 94. Determina una fórmula para el orden y la medida de G1 G2 .
Solución: Sea Gi = (Vi , Ei ), i ∈ {1, 2}. El orden de G1 G2 es n(G1 G2 ) = |V1 × V2 | =
n(G1 ) · n(G2 ) y la medida de G1 G2 se calcula por la fórmula de los grados:
X
2m(G1 G2 ) = (δG1 (a) + δG2 (b))
(a,b)∈V1 ×V2
 
X X
=  (δG1 (a) + δG2 (b))
a∈V1 b∈V2
X
= (n(G2 ) · δG1 (a) + 2m(G2 ))
a∈V1
=2n(G2 ) · m(G1 ) + 2m(G2 ) · n(G1 ).

Por lo tanto, m(G1 G2 ) = n(G1 ) · m(G2 ) + m(G1 ) · n(G2 ).


Operaciones con Grafos 109

Definición 38. La familia de los hipercubos Qk se define por recurrencia:


• Qk = Qk−1 K2 , k ≥ 2.

• Q 1 = K2 .
El hipercubo Qk también es denominado k-cubo o hipercubo de dimension k. Una
definición alternativa de Qk es la siguiente: el conjunto de vértices de Qk es el con-
junto de palabras binarias de longitud k y dos vértices son adyacentes si y sólo si las
correspondientes palabras binarias sólo difieren en una letra.
Ejercicio 95. Calcula el orden y la medida del hipercubo Qk .
Solución: El orden de los hipercubos es n = 2k y el grado de cada vértice es δ = k. Ası́, la

medida de Qk es m = 2 = k2k−1 .

Ejercicio 96. Calcula la medida del complemento de Q3 P4 .


Solución: La medida de (Q3 P4 )c es
 
c 32
m ((Q3 P4 ) ) = − m(Q3 P4 ) = 496 − 72 = 424.
2

Ejercicio 97. Sean G un grafo δ-regular y sea H = (GK2 )C4 .

(1) Calcula el grado de los vértices de H.

(2) Sabiendo que δ = 3 y que la medida de H es 192, calcula el orden de G.

(3) Con los datos del apartado anterior, calcula la medida del complemento de H.

Solución:
(1) El grafo H es regular de grado δ + 3.

(2) Sea n el orden de G. Como G es 3-regular, su medida es m = 3n 2 . Ası́, la medida de H es


192 = 4(3n + n) + 8n = 24n. Por lo tanto, el orden de G es n = 8.

(3) La medida del complemento de H es 8n 64


 
2 − 192 = 2 − 192 = 1824.

Proposición 36. Si G y H son grafos bipartitos, entonces GH es bipartito.


Demostración. Sea G = (V1 ∪ V2 , E) y H = (V10 ∪ V20 , E 0 ). Es suficiente observas que en
GH los subgrafos hV1 × V10 ∪ V2 × V20 i y hV1 × V20 ∪ V2 × V10 i son nulos y que las aristas
de GH van del conjunto V1 × V10 ∪ V2 × V20 al conjunto V1 × V20 ∪ V2 × V10 .
En la Sección 8 veremos que el recı́proco de la proposición anterior también se
cumple.
Corolario 37. Todo hipercubo es bipartito.
Operaciones con Grafos 110

Ejercicio 98. Expresa el grafo C4 mediante operaciones de grafos.


Solución: C4 = N2 + N2 = (K2 ∪ K2 )c = (N2 )c (N2 )c = K2 K2 .
Ejercicio 99. Sea G un grafo no trivial de orden n(G), medida m(G) y grado máximo
∆(G) ≥ 2. Sea G1 = G y Gk = Gk−1 K2 , k ≥ 2.
(a) Calcula el orden del grafo lı́nea de Gk .
(b) Un clique de un grafo H es un subgrafo de H que es isomorfo a un grafo completo.
El “clique number”de H, denotado por ω(H), es el máximo número de vértices de
un clique de H. Determina w(L(Gk )).
(c) El ı́ndice de Randić R(H) de un grafo H = (V, E) fue definido en 1975 como
X 1
R(H) = p .
vi ,vj ∈E
δ(vi )δ(vj )
Este invariante de un grafo, algunas veces llamado ı́ndice de conectividad, ha sido
exitosamente relacionado con varias propiedades fı́sicas, quı́micas y farmacológicas
de moléculas orgánicas. Además, este ı́ndice topológico se ha convertido en uno de
los más populares descriptores moleculares.
Asumiendo que G = Kr,s , determina la fórmula para R(Gk ) en función de r y s.
Solución:
(a) El orden del grafo lı́nea de Gk coincide con el número de aristas de Gk . Esto es,
n(L(Gk )) = m(Gk ) = 2m(Gk−1 ) + n(Gk−1 ) (6.1)
Tenemos,
m(G2 ) = 2m(G) + n(G)
m(G3 ) = 2m(G2 ) + n(G2 )
= 2(2m(G) + n(G)) + 2n(G)
= 22 m(G) + 2 · 2n(G)
m(G4 ) = 2m(G3 ) + n(G3 )
= 2(22 m(G) + 2 · 2n(G)) + 22 n(G)
= 23 m(G) + 3 · 22 n(G)
..
.
m(Gk ) = 2k−1 m(G) + (k − 1)2k−2 n(G).
Es sencillo probar por inducción que esta formula es correcta. Como ya tenemos probado
que el inicio se cumple, supongamos que la formula es cierto para un k ≥ 3 arbitrario.
Usando (6.1) y la hipótesis tenemos
m(Gk+1 ) = 2(2k−1 m(G) + (k − 1)2k−2 n(G)) + 2k−2 n(G) = 2k m(G) + k2k−1 n(G)).
Por lo tanto, la fórmula es correcta.
Operaciones con Grafos 111

(b) En primer lugar, L(K3 ) = K3 . De ahı́ que si G = K3 , entonces w(L(G)) = 3. Por otro
lado, si G 6= K3 , entonces todo clique del grafo L(G) se obtiene a partir de un conjunto de
aristas incidentes a un mismo vértice de G, excepto los triángulos de G que se transforman
en triángulos en L(G). De ahı́ que, si G es libre de triángulos, entonces w(L(G)) = ∆(G)
y, si G tiene triángulos, entonces w(L(G)) = máx{∆(G), 3}.
Sea k ≥ 2. Como el producto por K2 no crea nuevos triángulos, el valor de w(L(Gk ))
coincide con el grado máximo de Gk . Por lo tanto, w(L(Gk )) = ∆(G) + k − 1.

(c) En primer lugar, en Kr,s hay rs aristas y los extremos de cada una de ellas tienen grado r
y s.
En G2 = Kr,s K2 hay 2rs + r + s aristas. De ellas hay 2rs cuyos vértices tiene grados r + 1
y s + 1. Además, hay r aristas cuyos vértices tienen ambos grados s + 1 y hay s aristas
cuyos vértices tienen ambos grados r + 1
En G3 = G2 K2 hay 22 rs + 2 · 2r + 2 · 2s aristas. De ellas hay 22 rs cuyos vértices tiene
grados r + 2 y s + 2. Además, hay 2 · 2r aristas cuyos vértices tienen ambos grados s + 2
y hay 2 · 2s aristas cuyos vértices tienen ambos grados r + 2.
En G4 = G3 K2 hay 23 rs + 3 · 22 r + 3 · 22 s aristas. De ellas hay 23 rs cuyos vértices tiene
grados r + 3 y s + 3. Además, hay 3 · 22 r aristas cuyos vértices tienen ambos grados s + 3
y hay 3 · 22 s aristas cuyos vértices tienen ambos grados r + 3.
..
.
En general, en Gk = Gk−1 K2 hay 2k−1 rs + (k − 1) · 2k−2 r + (k − 1) · 2k−2 s aristas. De ellas
hay 2k−1 rs cuyos vértices tiene grados r + k − 1 y s + k − 1. Además, hay (k − 1) · 2k−2 r
aristas cuyos vértices tienen ambos grados s + k − 1 y hay (k − 1) · 2k−2 s aristas cuyos
vértices tienen ambos grados r + k − 1.
Ası́,

2k−1 rs (k − 1) · 2k−2 r (k − 1) · 2k−2 s


R(Gk ) = p + + .
(r + k − 1)(s + k − 1) s+k−1 r+k−1

6.8. Producto fuerte


Definición 39. Dados los grafos G1 = (V1 , E1 ), G2 = (V2 , E2 ), se define el producto
fuerte G1 G2 = (V1 ×V2 , E) de manera que los vértices (u1 , v1 ), (u2 , v2 ) son adyacentes
si, y sólo si, se cumple alguna de las condiciones siguientes:

1. u1 = u2 y v1 ∼ v2

2. u1 ∼ u2 y v1 = v2

3. u1 ∼ u2 y v1 ∼ v2

Ejemplo 129. La siguiente figura muestra los grafos C5  K2 y K1,3  P3 .


Operaciones con Grafos 112

Ejemplo 130. En general, para grafos completos se tiene Kr  Ks = Krs .

De la definición del producto fuerte de dos grafos se deduce que G1 G2 siempre es
un subgrafo de G1  G2 , el orden de G1  G2 es n(G1  G2 ) = n(G1 ) · n(G2 ) y el grado
de un vértice (a, b) en G1  G2 es

δG1 G2 (a, b) = δG1 (a) + δG2 (b) + δG1 (a) · δG2 (b).

Por lo tanto, el producto fuerte de grafos regulares es un grafo regular.

Ejercicio 100. Determina una fórmula para la medida de G1  G2 .


Solución: Aplicando la fórmula de los grados obtenemos la medida de G1  G2 :
X
2m(G1  G2 ) = δG1 G2 (a, b)
(a,b)∈V1 ×V2
X X
= (δG1 (a) + δG2 (b) + δG1 (a) · δG2 (b))
a∈V1 b∈V2
X
= (n(G2 )δG1 (a) + 2m(G2 ) + 2δG1 (a)m(G2 ))
a∈V1
= 2n(G2 ) · m(G1 ) + 2m(G2 ) · n(G1 ) + 4m(G1 ) · m(G2 ).

Por lo tanto, la medida de G1  G2 es

m(G1  G2 ) = n(G2 ) · m(G1 ) + m(G2 ) · n(G1 ) + 2m(G1 ) · m(G2 ).

Observación 38. Nótese, que el producto fuerte es “conmutativo”, en el siguiente sen-


tido:
GH ∼ = H  G.
Además, el producto fuerte es asociativo.

La demostración de esta observación se deja como ejercicio.

Ejercicio 101. Calcula el orden y la medida de G.

(1) G = [(K2,3 ∪ K3,3 )c (P3  K6 )] + K2,5

(2) G = [(K3 + Q3 )  (Q3 K3,3 )]c


Operaciones con Grafos 113

Solución: De la definición de G se deduce lo siguiente.


(1) El orden es n(G) = n((K2,3 ∪ K3,3 )c (T3  K6 )) + 7 = (11 · 18) + 7 = 198 + 7 = 205 y la
medida es
m(G) =m ((K2,3 ∪ K3,3 )c ) n(P3  K6 ) + n ((K2,3 ∪ K3,3 )c ) m(P3  K6 ) + 10 + 198 · 7
=(40 · 18 + 11 · 117) + 10 + 198 · 7
=3403.

(2) El orden es n(G) = n(K3 + Q3 )n(Q3 K3,3 ) = 11 · 48 = 528 y la medida es


 
528
m(G) = − m((K3 + Q3 )  (Q3 K3,3 ))
2
 
528
= − (m(K3 + Q3 )n(Q3 K3,3 ) + n(K3 + Q3 )m(Q3 K3,3 ) + 2m(K3 + Q3 )m(Q3 K3,3 ))
2
 
528
= − (39 · 48 + 11 · 144 + 2 · 39 · 144)
2
= 124440.

6.9. Producto corona


Definición 40. Sean G y H dos grafos. El producto corona G H se define a partir
de G y H tomando una copia de G y n(G) copias de H, y uniendo (con una arista) cada
vértice de la i-ésima copia de H con el i-ésimo vértice de G.
Nótese que el producto corona no es conmutativo y que K1 H = K1 + H.
Ejemplo 131. La siguiente figura muestra los grafos corona P4 C3 y C3 P4 .

Ejercicio 102. Determina una fórmula para el orden y la media de G H.


Solución: El orden de G H es
n(G H) = n(G) + n(G)n(H) = n(G)(1 + n(H))
y la medida es
m(G H) = m(G) + n(G)m(H) + n(G)n(H).
Operaciones con Grafos 114

Ejercicio 103. Calcula el orden y la medida de G = (C8 N6 )  (C7 )c .

Solución: El orden es n(G) = n(C8 N6 ) · 7 = (8 + 8 · 6) · 7 = 392 y la medida es


m(G) = 56 · 14 + 56 · 7 = 1176.
Capı́tulo 7

Recorridos y conectividad

Diversas aplicaciones de los grafos conducen a problemas donde es necesario esta-


blecer formas de recorrer o explorar los grafos a través de sus nodos y aristas. Ejemplos
sencillos son las redes de comunicación. En esta sección introducimos algunos conceptos
básicos y presentamos algunos algoritmos de exploración de redes que nos permitirán
sentar las bases para posteriormente estudiar problemas relacionados con el concepto de
distancia.

7.1. Conceptos y resultados básicos


Definición 41. Un recorrido (walk) en un grafo G = (V, E) es una secuencia de
vértices v1 , v2 , . . . , vk con la propiedad de que {vi , vi+1 } ∈ E. Un recorrido de extremos
v1 , vk se denomina v1 − vk recorrido o, también, recorrido entre v1 y vk .
En ocasiones, si no hay lugar a confusión, los recorridos v1 , v2 , . . . , vk serán denotados
por v1 v2 . . . vk , sin el uso de comas.
Definición 42. Si G = (V, E) es un digrafo, un recorrido orientado o dirigido es
una secuencia de vértices w1 , w2 , . . . , wk con la propiedad de que (wi , wi+1 ) ∈ E, para
todo i ∈ {1, ..., k − 1}.
En un multigrafo es posible pasar de un vértice a otro adyacente por más de
una arista; por ello, es necesario indicar un recorrido como una secuencia de aristas,
a1 , a2 , . . . , ak−1 , ak , de manera que dos aristas consecutivas en la secuencia tienen que
compartir un extremo.
Definición 43.
Un u − v recorrido es cerrado si los extremos coinciden, es decir, si u = v; en caso
contrario se dice que es abierto.
La longitud de un recorrido R, `(R), es el número de aristas que lo componen.
Se cuentan también las que pueda tener repetidas.

115
Recorridos y Conectividad 116

Un recorrido trivial o de longitud 0 es el formado por un único vértice.

Ejemplo 132. Considera el grafo de la figura.


a c e

b d

Un recorrido de longitud 4 es a, b, c, d, b.
Un recorrido cerrado de longitud 6 es a, b, c, d, e, c, a y otro de longitud 3 es a, b, c, a.
Ejemplo 133. En el grafo G = C3 ∪ P5 no existe ningún recorrido posible entre los
vértices C3 y los de P5 ; los vértices en cuestión no son mutuamente accesibles en el
grafo.
Definición 44. Un recorrido es un itinerario si todas las aristas son diferentes. Se
pueden destacar los siguientes tipos de itinerario:

Un camino (path), si no se repiten vértices.

Un circuito, si es cerrado.

Un ciclo es un circuito (cerrado) que, eliminando el primer vértice, también es


un camino (no repite vértices). Los grafos que no contienen ciclos se denominan
acı́clicos.

Ejemplo 134. Considera el grafo de la derecha en la figura del Ejemplo 132.


Camino: a, b, c, d.
Ciclo: b, c, d, b.
Circuito: a, b, c, d, e, c, a.
Proposición 39. Dados dos vértices diferentes u, v de un grafo G = (V, E), todo u − v
recorrido contiene un u−v camino, es decir, un recorrido entre los vértices sin repetición
de vértices.
Demostración. Sea R un u−v recorrido del grafo G. Ya que u y v son diferentes, tenemos
que R es abierto, y sea por ejemplo R : u = w0 w1 , . . . , wk = v, pudiendo contener vértices
repetidos. Si no hay ninguno repetido, hemos llegado al resultado, puesto que R cumple
la condición requerida. Suponemos, por lo tanto, que hay algún vértice repetido, y sean
i < j tales que wi = wj ; entonces se suprimen los vértices wi wi+1 , . . . , wj−1 , y resulta un
nuevo u − v recorrido R1 de longitud estrictamente inferior. Si R1 es un camino, se ha
acabado; de lo contrario, el proceso continúa y necesariamente se llega a la conclusión
indicada, puesto que la longitud inicial es finita.
Proposición 40. Si en un grafo G = (V, E) hay dos recorridos diferentes que conectan
un par de vértices, entonces el grafo contiene algún ciclo.
Recorridos y Conectividad 117

Demostración. Consideremos dos u − v recorridos diferentes: R1 : u = w1 w2 . . . wp = v


y R2 : u = t1 t2 . . . tq = v. Informalmente, los recorridos pueden ir compartiendo vérti-
ces hasta llegar al primer vértice a partir del cual se separan, es decir, empiezan a ser
diferentes; sea, por lo tanto, i el primer ı́ndice para el cual wi 6= ti . Tarde o temprano
los recorridos tienen que confluir, finalmente, en el vértice terminal común, que es v,
y esto lo harán en el mismo vértice o antes; pero, en todo caso, a partir de un cierto
lugar en lo sucesivo, los dos recorridos vuelven a compartir vértices (y aristas). Ahora
bien, en un cierto vértice posterior a la bifurcación anterior tienen que volver a coin-
cidir por primera vez; sean, pues, j, k mı́nimos tales que i < j ≤ p, i < k ≤ q y
wj = tk . Entonces de acuerdo a la Proposición 39, el recorrido wi−1 wi wi+1 . . . wj con-
tiene un camino wi−1 w10 , ..., wp0 0 −1 wj y el recorrido tk−1 tk−2 . . . ti wi−1 contiene un camino
tk−1 t01 . . . t0q0 −1 wi−1 . Por lo tanto, el recorrido wi−1 w10 , ..., wp0 0 −1 wj tk−1 t01 . . . t0q0 −1 wi−1 es un
ciclo.

Teorema 41. Si todos los vértices de un grafo G = (V, E) son de grado superior o igual
a 2, entonces el grafo contiene algún ciclo.

Demostración. Sea u1 , u2 , ..., uk un camino de longitud máxima en G. Como uk tiene


grado mayor o igual que 2, existe al menos un vértice a 6= uk−1 que es adyacente a uk .
Por la maximalidad de la longitud del camino seleccionado, se cumple que a = ui para
algún i ∈ {1, ..., k − 2}. Hemos obtenido el ciclo, ui , ui+1 , ..., uk ui .

Ejercicio 104. Determina si las siguientes afirmaciones son ciertas o falsas.

1. Todo grafo acı́clico sin vértices aislados contiene vértices de grado 1.

2. No existen grafos acı́clico tal que su complementario también sea acı́clico.

3. Si en un grafo de orden n el grado máximo de los vértices es menor que n − 2,


entonces el grafo complementario contiene al menos un ciclo.
Solución:
1. Cierto. Si no tuviera ningún vértice de grado 1 entonces todos los vértices tendrı́an grado
mayor o igual a 2 y según el Teorema 41 tendrı́a que haber algún ciclo.

2. Falso. Por ejemplo, P3 y su complementario K1 ∪ K2 son acı́clicos.

3. Cierto. Si Gc es el grafo complementario, entonces δGc (v) = n − 1 − δG (v) ≥ 2 para todo


v ∈ V y, por el Teorema 41, G contiene algún ciclo.

Teorema 42. Sean vi y vj vértices de un grafo G. Sea A la matriz de adyacencia de G.


Entonces el número de recorridos de longitud k en G, de vi a vj , es el elemento de la
posición (i, j) de Ak .
Recorridos y Conectividad 118

Demostración. El resultado es cierto para k = 1, ya que A1 = A(G). Supongamos que


el resultado es cierto para k = N . Sean vh y vj vértices adyacentes, entonces
 el número
N
de recorridos de longitud N + 1 de vi a vj y que contienen a vh es A ih · ahj . Por eso,
el número de recorridos de longitud N + 1 de vi a vj es
X n
X
AN AN · ahj = AN +1
  
ih
· ahj = ih ij
.
vh ∼vj h=1

El resultado general se obtiene por inducción.


Ejercicio 105. ¿Qué información sobre el grafo nos brinda la traza de A2 ?.
Solución: En la diagonal de A2 están los grados de los vértices del grafo. Por lo tanto, de
acuerdo a la fórmula de los grados, la medida del grafo es
1
m = T r(A2 ).
2

7.2. Grafos conexos. Componentes conexas


Definición 45. Un grafo G = (V, E) es conexo si para cada par de vértices u y v de G
existe un u − v camino.
Ejemplo 135. Los siguientes grafos son conexos: Kn , Pn , Kr,s , Cn , Rn . Los siguientes
grafos no son conexos: Kn ∪ Kr,s , (P3 + C4 )c , Nn (n ≥ 2).
Proposición 43. Para todo par de grafos G y H, el grafo G + H es conexo.
Demostración. Sean u, v ∈ V (G + H). Si u ∈ V (G) y v ∈ V (H), entonces u y v son
adyacentes en G + H. Si x, y ∈ V (G), entonce para cualquier vértice w ∈ V (H), tenemos
que xwy es un camino en G + H. De forma análoga se observa que si x, y ∈ V (H),
entonces hay un x − y camino en G + H. Por lo tanto, G + H es conexo.
Proposición 44. G H es conexo si y sólo si G es conexo.
Demostración. Sea V = {v1 , ..., vn } el conjunto de vértices de G y sea Hi = (Vi , Ei )
la i-ésima copia de H en G H. Por consiguiente, para cada i ∈ {1, ..., n}, todos los
vértices de Hi son adyacentes a vi .
(Necesidad) Sea G H conexo. En este caso, para todo a ∈ Vi y b ∈ Vj , i 6= j, existe
un a − b camino avi ...vj b en G H. De ahı́ que para todo par de vértices vi , vj ∈ V existe
un vi − vj camino en G. Por la tanto, G es conexo.
(Suficiencia) Sea G conexo y sea a ∈ Vi y b ∈ Vj , i 6= j. Como existe un vi − vj
camino vi ...vj en G, también existe un a − b camino avi ...vj b en G H. Además, si i = j,
entonces avi b es un camino en G H. Por la tanto, G H es conexo.
Proposición 45. GH es conexo si y sólo si G y H son conexos.
Recorridos y Conectividad 119

Demostración. (Necesidad) Sea GH conexo y sean a, u ∈ V (G) y b, v ∈ V (H). Como


GH es conexo, existe un camino Q de (a, b) a (u, v). Por lo tanto, la proyección PG (Q)
de los vértices pertenecientes a Q sobre el conjunto de vértices de G es un recorrido de
a a u. Entonces, por la Proposición 39, existe un a − u camino en G. De forma análoga
se prueba que existe un b − v camino en H. Por lo tanto, G y H son conexos.
(Suficiencia) Sean G y H dos grafos conexos y sean (a, b), (u, v) ∈ V (GH). Por
la conectividad de G y H, existe un camino aa1 a2 ...ak u de a a u en G y un camino
bb1 b2 ...bl v de b a v en H. Entonces (a, b)(a1 , b)...(ak , b)(u, b)(u, b1 )...(u, bl )(u, v) es un
camino de (a, b) a (u, v) en GH. Por lo tanto, GH es conexo.
El siguiente resultado es una consecuencia directa de la proposición anterior. Para
demostrarlo sólo es necesario observar que GH es conexo si y sólo si lo es G  H.
Corolario 46. G  H es conexo si y sólo si G y H son conexos.
Proposición 47. Si G es conexo, entonces L(G) es conexo.
Demostración. Sean a = {ui , vi } y b = {uj , vj } dos aristas de G. Como G es conexo, en
G existe un ui − uj camino y un ui − vj camino. De ahı́ que en L(G) existe un a − b
camino. Por lo tanto, L(G) es conexo.
Nótese que el recı́proco de la proposición anterior no se cumple. Por ejemplo, L(K4 ∪
N5 ) = L(K4 ) es conexo, mientras K4 ∪ N5 no lo es.
Cuando un grafo G no sea conexo, se deberán determinar aquellos subgrafos de G
que son conexos y que son maximales respeto a esta propiedad.
Definición 46. En el conjunto de vértices V de un grafo G = (V, E) se define la siguiente
relación:
∀ u, v ∈ V, uRG v ⇔ existe un u − v camino de G.
Proposición 48. Para todo grafo G no trivial, la relación RG es una relación de equi-
valencia.
En consecuencia, se establece una partición de V = V1 ∪ . . . ∪ Vk donde los vértices
de una misma clase son mutuamente accesibles por algún camino y vértices de clases
diferentes son inaccesibles.
Definición 47. Las componentes conexas de un grafo G son los subgrafos Gi = hVi i
generados por cada una de las clases de equivalencia de G respecto a la relación RG .
Ası́, todo grafo se puede expresar como unión de sus componentes conexas:

G = G1 ∪ . . . ∪ Gk

Por la propia definición, toda componente conexa de un grafo G es un grafo conexo.


Ası́, un grafo es conexo si y sólo si tiene una única componente conexa.
Comparando el orden y la medida de un grafo con los órdenes y las medidas de sus
componentes conexas se obtiene la relación siguiente:
Recorridos y Conectividad 120

Observación 49. Si un grafo es de orden n y medida m, con k componentes conexas,


de órdenes y medidas respectivas ni , mi (i = 1, . . . , k), entonces:
k
X k
X
n= ni , m= mi .
i=1 i=1

Ejercicio 106. Todos los grafos con secuencia de grados 4, 4, 3, 3, 3, 3, 3, 3 son conexos.
Solución: Supongamos que existe algún grafo G no conexo con esta secuencia de grados.
Nótese que G tiene orden n = 8. Como hay vértices de grado 4, alguna componente conexa
Gi tendrá orden ni ≥ 5 y como el grado mı́nimo es 3, cualquier otra componente conexa Gj
tendrá orden nj ≥ 4. Ası́, n ≥ ni + nj ≥ 9 > 8 = n, lo que es una contradicción. El siguiente
resultado establece la medida mı́nima de un grafo conexo.
Proposición 50. Si G es un grafo conexo de orden n y medida m, entonces

m ≥ n − 1.

Demostración. Procedemos por inducción respecto al orden n del grafo. Si n = 1, en-


tonces el resultado es inmediato.
Supongamos que la propiedad es cierta para todo grafo conexo de orden n − 1 ≥ 1.
Sea G = (V, E) un grafo conexo de orden n y medida m.
En caso de que G tenga un vértice v de grado 1, entonces el grafo G0 = G − v es
un grafo conexo de orden n − 1 y medida m − 1. Aplicando la hipótesis de inducción al
grafo G0 se tiene que m − 1 ≥ n − 2, de donde resulta que m ≥ n − 1, como se querı́a
probar.
Si todos los vértices de G tienen grado mayor o igual que 2 , entonces se aplica la
fórmula de los grados, X
2m = δ(v) ≥ 2n
v∈V

y, por lo tanto, m ≥ n > n − 1.


Como consecuencia directa de este resultado se obtiene el siguiente corolario.
Proposición 51. Si G es un grafo que tiene orden n, medida m y k componentes
conexas, entonces
m ≥ n − k.
Ejercicio 107. Demuestra que ningún grafo conexo tiene la secuencia de grados 3, 3, 2, 1,
1, 1, 1, 1, 1.
Solución: En primer lugar se puede verificar, si se utiliza el algoritmo de Havel-Hakimi, que
la secuencia 3, 3, 2, 1, 1, 1, 1, 1, 1 es gráfica. Sea G un grafo con esta secuencia de grados.
Como G tiene orden n = 9, si fuese conexo tendrı́a medida m ≥ 8. Pero, por la fórmula
de los grados, m = 12 (3 + 3 + 2 + 1 + 1 + 1 + 1 + 1 + 1) = 7. Por lo tanto, G no es conexo.
Recorridos y Conectividad 121

7.3. Algoritmos de exploración de grafos


Para determinar las propiedades de un grafo, a menudo es necesario explorar cada
uno de los vértices y de las aristas del grafo en un orden determinado. Desde un punto
de vista algorı́tmico hay básicamente dos procedimientos para hacerlo: el algoritmo
de búsqueda primeramente en profundidad (DFS o Depth First Search) y el
algoritmo de búsqueda primeramente en anchura (BFS o Breadth First Search).

Algoritmo DFS
El algoritmo DFS inicia la exploración del grafo a partir de un vértice prefijado y
a continuación explora todos los demás a través de las aristas, sin repetición, de una
manera determinada. Esencialmente, se trata de avanzar lo más profundamente posible,
sin explorar todas las posibilidades que se dan a partir del vértice inicial; de este modo,
del vértice inicial se pasa a un vértice adyacente no visitado, de éste a un tercero aún no
visitado, y ası́ sucesivamente. Si se llega a un vértice desde el cual no se puede seguir,
es necesario volver atrás y eliminarlo. Este proceso se repite hasta eliminar el vértice
inicial, donde se habrá acabado la exploración. Como cabe esperar, el algoritmo DFS se
puede completar con acciones adicionales y formular nuevas variantes.

Formulación del algoritmo DFS


Estructuras necesarias para la formulación del algoritmo:

Un grafo G = (V, E) representado mediante una lista de adyacencias.

Un conjunto P de los vértices que se han visitado, en el orden en que se ha hecho,


que permita dar marcha atrás. La estructura de datos adecuada es la de una pila
con las operaciones habituales: apilar(P, v), desapilar(P ), cima(P ).

Una tabla de vértices (estado) que registra los vértices que se van visitando.

Una lista R que contiene los vértices visitados hasta el momento (y que finalmente
coincidirá con el conjunto de todos los vértices).

Cuando sea posible visitar más de un vértice, se escogerá el de menor ı́ndice de


acuerdo a la ordenación de los vértices disponibles.
La pila P se inicializa con el vértice de inicio y se van apilando los vértices visitados.
Cuando se llega a un vértice desde el que no se puede continuar, se van desapilando
vértices hasta encontrar uno a partir del cual se puede volver a avanzar, reiniciando ası́
el proceso. El proceso finaliza cuando la pila se queda vacı́a.
Recorridos y Conectividad 122

Algoritmo DFS
Entrada: G(V, E), v ∈ V
Salida: R, vértices visitados

Algoritmo DFS(G, v)
Inicio
P ←∅
R ← [v]
para w ∈ V
estado [w] ← 0
finpara
estado [v] ← 1
apilar (P, v)
mientras P 6= ∅
w ← cima (P )
si w es adyacente a u con estado [u] = 0
entonces apilar (P, u)
estado [u] ← 1
añadir (R, u)
sino desapilar (P )
finsi
finmientras
retorno (R)
fin
Al aplicar el algoritmo DFS cada vértice se visita dos veces, una cuando se añade
a la pila y otra cuando se elimina. Además, cuando se accede a un vértice de la pila, se
analizan todos sus adyacentes para buscar los vértices aún no visitados. Por lo tanto, si
el grafo G tiene orden n y medida m, el número total de operaciones será proporcional
a 2n + 2m y, en consecuencia, el algoritmo tendrá una complejidad O(n + m).

Ejemplo 136. Considera el grafo representado en la figura.

h g

d c

a b

e f
Recorridos y Conectividad 123

Esta tabla registra el funcionamiento del algoritmo de exploración en profundidad


(DFS) para este grafo, con vértice de inicio v = a.

P Vértice añadido Vértice eliminado R


a a - [a]
ab b - [a, b]
abc c - [a, b, c]
abcd d - [a, b, c, d]
abc - d [a, b, c, d]
abcg g - [a, b, c, d, g]
abcgf f - [a, b, c, d, g, f ]
abcgf e e - [a, b, c, d, g, f, e]
abcgf eh h - [a, b, c, d, g, f, e, h]
abcgf e - h [a, b, c, d, g, f, e, h]
abcgf - e [a, b, c, d, g, f, e, h]
abcg - f [a, b, c, d, g, f, e, h]
abc - g [a, b, c, d, g, f, e, h]
ab - c [a, b, c, d, g, f, e, h]
a - b [a, b, c, d, g, f, e, h]
∅ - a [a, b, c, d, g, f, e, h]

Ejercicio 108. Determina la lista de los vértices visitados por el algoritmos DFS en el
grafo de la figura empezando por el vértice 6.

3
4 7

1 6

2 5

Solución: La lista de vértices visitados es R = [6, 3, 1, 2, 5, 4, 7].


Ejercicio 109. Encontrar la lista de los vértices visitados por el algoritmo DFS en el
siguiente grafo empezando por el vértice 1.

1 2

3 4 5

6 7
Recorridos y Conectividad 124

Solución: La lista de vértices visitados es R = [1, 2, 4, 3, 6, 7, 5].

Ejercicio 110. Utilizar el algoritmo DFS para obtener las aristas visitadas en el grafo del
Ejercicio 108 empezando por el vértice 1. Construir también la tabla de funcionamiento
del algoritmo con el encabezamiento siguiente:

P Arista añadida S

Solución: La tabla de funcionamiento del algoritmo será:

P Arista añadida S
1 - ∅
12 {1, 2} [{1, 2}]
125 {2, 5} [{1, 2}, {2, 5}]
1256 {5, 6} [{1, 2}, {2, 5}, {5, 6}]
12563 {6, 3} [{1, 2}, {2, 5}, {5, 6}, {6, 3}]
1256 - [{1, 2}, {2, 5}, {5, 6}, {6, 3}]
12567 {6, 7} [{1, 2}, {2, 5}, {5, 6}, {6, 3}, {6, 7}]
1256 - [{1, 2}, {2, 5}, {5, 6}, {6, 3}, {6, 7}]
125 - [{1, 2}, {2, 5}, {5, 6}, {6, 3}, {6, 7}]
12 - [{1, 2}, {2, 5}, {5, 6}, {6, 3}, {6, 7}]
1 - [{1, 2}, {2, 5}, {5, 6}, {6, 3}, {6, 7}]
14 {1, 4} [{1, 2}, {2, 5}, {5, 6}, {6, 3}, {6, 7}, {1, 4}]
1 - [{1, 2}, {2, 5}, {5, 6}, {6, 3}, {6, 7}, {1, 4}]
∅ - [{1, 2}, {2, 5}, {5, 6}, {6, 3}, {6, 7}, {1, 4}]

Algoritmo BFS
El algoritmo BFS es similar al DFS, con la diferencia importante de que a partir
del vértice inicial, primero se hace una visita sistemática a todos sus vértices adyacentes
que todavı́a no han sido visitados, escogidos por el orden de etiquetación de los vértices.
La formulación del algoritmo básico se puede completar con acciones adicionales
para formular nuevas variantes.

Formulación del algoritmo BFS


Estructuras necesarias para la formulación del algoritmo:

Un grafo G = (V, E) representado mediante una lista de adyacencias.

Un conjunto Q de los vértices que se han visitado, en el orden en que se ha hecho.


La estructura de datos adecuada es la de una cola con las operaciones habituales:
añadir(Q, v), eliminar(Q), primero(Q).

Una tabla de vértices (estado) que registra los vértices que se van visitando.
Recorridos y Conectividad 125

Una lista R que contiene los vértices visitados hasta el momento (y que finalmente
coincidirá con el conjunto de todos los vértices).

Cuando es posible visitar más de un vértice, se escoge siempre el de ı́ndice mı́nimo


en la ordenación de los vértices disponibles, según la ordenación general de los vértices
del grafo.
La cola Q se inicia con el vértice de partida y los vértices que son visitados se van
añadiendo a la cola. Cuando se han visitado todos los vértices adyacentes al de partida,
se elimina de la cola y se continúa con el vértice siguiente de la misma. El proceso finaliza
cuando la cola está vacı́a.

Algoritmo BFS
Entrada: G(V, E), v ∈ V
Salida: R, vértices visitados

Algoritmo BFS(G, v)
inicio
Q←∅
R ← [v]
para w ∈ V
estado [w] ← 0
finpara
estado [v] ← 1
añadir (Q, v)
mientras Q 6= ∅
w ← primero (Q)
para u adyacente a w
si estado [u] = 0
entonces añadir (Q, u)
estado [u] ← 1
añadir (R, u)
finsi
finpara
eliminar (Q)
finmientras
retorno (R)
fin
Nótese que cada vértice se añade a la cola una vez. Además, cuando se accede a
un vértice de la cola, se analiza su lista de adyacencias para buscar los vértices aún no
visitados. En total, se habrán analizado 2m aristas, siendo m la medida del grafo. Ası́,
el algoritmo tendrá una complejidad O(n + m).
Recorridos y Conectividad 126

Ejemplo 137. Considera el grafo representado en la figura.

h g

d c

a b

e f

Esta tabla registra el funcionamiento del algoritmo de exploración en anchura (BFS)


para este grafo, con vértice de inicio v = a.

Q Vértice añadido Vértice eliminado R


a a - [a]
ab b - [a, b]
abd d - [a, b, d]
abde e - [a, b, d, e]
bde - a [a, b, d, e]
bdec c - [a, b, d, e, c]
bdecf f - [a, b, d, e, c, f ]
decf - b [a, b, d, e, c, f ]
ecf - d [a, b, d, e, c, f ]
ecf h h - [a, b, d, e, c, f, h]
cf h - e [a, b, d, e, c, f, h]
cf hg g - [a, b, d, e, c, f, h, g]
f hg - c [a, b, d, e, c, f, h, g]
hg - f [a, b, d, e, c, f, h, g]
g - h [a, b, d, e, c, f, h, g]
∅ - g [a, b, d, e, c, f, h, g]

Ejercicio 111. Aplica el algoritmo BFS al grafo representado en la figura partiendo del
vértice v = 1.
Recorridos y Conectividad 127

3
4 7

1 6

2 5

Solución: Esta tabla registra el funcionamiento del algoritmo de exploración en anchura


(BFS) para este grafo, con vértice de inicio v = 1.

Q Vértice añadido Vértice eliminado R


1 1 - [1]
12 2 - [1,2]
123 3 - [1,2,3]
1234 4 - [1,2,3,4]
234 - 1 [1,2,3,4]
2345 5 - [1,2,3,4,5]
345 - 2 [1,2,3,4,5]
3456 6 - [1,2,3,4,5,6]
456 - 3 [1,2,3,4,5,6]
56 - 4 [1,2,3,4,5,6]
6 - 5 [1,2,3,4,5,6]
67 7 - [1,2,3,4,5,6,7]
7 - 6 [1,2,3,4,5,6,7]
∅ - 7 [1,2,3,4,5,6,7]

Ejercicio 112. Encontrar la lista de los vértices visitados por el algoritmo BFS en el
grafo del Ejercicio 111 (página 126) empezando por el vértice 6.

Solución: La lista de vértices visitados es R = [6, 3, 5, 7, 1, 2, 4].

Ejercicio 113. Encontrar la lista de los vértices visitados por el algoritmo BFS en el
grafo empezando por el vértice 1.

1 2

3 4 5

6 7

Solución: La lista de vértices visitados es R = [1, 2, 3, 4, 5, 6, 7].


Recorridos y Conectividad 128

Ejercicio 114. Usa el algoritmo BFS para obtener las aristas visitadas en el grafo del
Ejercicio 111. Construir también la tabla de funcionamiento del algoritmo con la cabecera
siguiente:

Q Arista añadida S

Solución: La tabla de funcionamiento del algoritmo será:

P Arista añadida S
1 - ∅
12 {1, 2} [{1, 2}]
123 {1, 3} [{1, 2}, {1, 3}]
1234 {1, 4} [{1, 2}, {1, 3}, {1, 4}]
234 - [{1, 2}, {1, 3}, {1, 4}]
2345 {2, 5} [{1, 2}, {1, 3}, {1, 4}, {2, 5}]
345 - [{1, 2}, {1, 3}, {1, 4}, {2, 5}]
3456 {3, 6} [{1, 2}, {1, 3}, {1, 4}, {2, 5}, {3, 6}]
456 - [{1, 2}, {1, 3}, {1, 4}, {2, 5}, {3, 6}]
56 - [{1, 2}, {1, 3}, {1, 4}, {2, 5}, {3, 6}]
6 - [{1, 2}, {1, 3}, {1, 4}, {2, 5}, {3, 6}]
67 {6, 7} [{1, 2}, {1, 3}, {1, 4}, {2, 5}, {3, 6}, {6, 7}]
7 - [{1, 2}, {1, 3}, {1, 4}, {2, 5}, {3, 6}, {6, 7}]
∅ - [{1, 2}, {1, 3}, {1, 4}, {2, 5}, {3, 6}, {6, 7}]

Test de Conexión
Para comprobar si un grafo G = (V, E) es conexo se puede utilizar, por ejemplo, el
algoritmo DFS. Teniendo en cuenta que el algoritmo DFS devuelve la lista R de todos
los vértices accesibles a partir de un vértice v fijado. Si la lista contiene todos los vértices
del grafo, entonces el grafo será conexo. De lo contrario, será no conexo.
Entrada: G(V, E), v ∈ V
Salida: CIERTO si G es conexo. FALSO en caso contrario
algoritmo TestConexión (G, v)
inicio
conexo ← CIERTO
R ← DFS(G, v)
Si |R| =6 |V |
entonces conexo ← FALSO
finsi
retorno (conexo)
fin
Nótese que el algoritmo BFS también se puede utilizar como test de conexión.
Recorridos y Conectividad 129

Ejercicio 115. Aplica un test de conexión para comprobar si es conexo el grafo G


definido por la siguiente matriz de adyacencia.
 
0 1 1 0 1
 1 0 1 1 0 
 
B=  1 1 0 1 1 

 0 1 1 0 0 
1 0 1 0 0

Solución: Suponiendo que los vértices del grafo forman el conjunto V = {a, b, c, d, e}, se
aplica el algoritmo DFS:

P Vértice añadido Vértice eliminado R


a a - [a]
ab b - [a,b]
abc c - [a,b,c]
abcd d - [a,b,c,d]
abc - d [a,b,c,d]
abce e - [a,b,c,d,e]
abc - e [a,b,c,d,e]
ab - c [a,b,c,d,e]
a - b [a,b,c,d,e]
∅ - a [a,b,c,d,e]

Del test se deduce que el grafo es conexo.


Recorridos y Conectividad 130

7.4. Árbol generador


Definición 48. Un árbol, T , es un grafo que cumple que entre dos vértices cualesquiera
hay un único camino que los conecta.
Es evidente que un árbol no puede contener ciclos.
Definición 49. Un árbol generador de un grafo es un subgrafo generador que tiene
estructura de árbol. Los árboles generadores también se denominan árboles de expan-
sión (spanning tree).
Ejemplo 138. El grafo de la derecha es un árbol generador del 3-cubo representado a
la izquierda.

h f h f

d c d c

a b a b

e g e g

En el caso de grafos conexos, los algoritmos de exploración BFS y DFS nos permiten
obtener árboles generadores.
Ejercicio 116. Aplica los algoritmo DFS y BFS para determinar dos árboles generadores
del 3-cubo del Ejemplo 138.
Solución:

h f h f

d c d c

a b a b

e g e g

El árbol generador de la izquierda se obtiene al aplicar el algoritmo DFS y el de la derecha


al aplicar el algoritmo BFS. En ambos casos se ha partido del vértice a.
Recorridos y Conectividad 131

Ejercicio 117. Sea G = C4 N1 .

(a) Representa gráficamente el grafo lı́nea de G.

(b) Aplica un algoritmo para determinar un árbol generador de L(G), partiendo de un


vértice de grado 2.
Solución:
(a) El grafo L(G) es
2

6 7

1 3

5 8

(b) Al aplicar el algoritmo BFS a L(G), partiendo del vértice 1, se obtiene el árbol formado
por las aristas {1, 5}, {1, 6}, {5, 4}, {5, 8}, {6, 2}, {6, 7} y {8, 3}.

Ejercicio 118. Sea V (P3 ) = {1, 2, 3} y sea V (K2 ) = {a, b}. Sabiendo que el vértice
central de P3 se denota por 2, determina el árbol generador que se obtiene al aplicar el
algoritmo BFS al grafo P3 K2 partiendo del vértice 2a.
Solución: La siguiente figura muestra el grafo P3 P2 a la izquierda. A la derecha está el
árbol generador obtenido al aplicar el algoritmo BFS partiendo del vértice 2a.

1b 2b 3b 1b 2b 3b

1a 2a 3a 1a 2a 3a
Recorridos y Conectividad 132

Ejercicio 119. Determina los arboles generadores que se obtienen al aplicar los algo-
ritmos DFS y BFS al grafo de la figura partiendo del vértice v = 7.

13 14 15 16

9 10 11 12

5 6 7 8

1 2 3 4

Solución: La siguiente figura muestra los arboles generadores obtenidos al aplicar el algoritmo
DFS y BFS (partiendo del vértice 7), respectivamente.

13 14 15 16 13 14 15 16

9 10 11 12 9 10 11 12

5 6 7 8 5 6 7 8

1 2 3 4 1 2 3 4
Capı́tulo 8

Distancias en grafos

En diversos problemas de navegación en redes aparece el problema de encontrar


una ruta crı́tica entre dos nodos de la red. En esta sección estudiaremos este problema
y, para ello, definimos el concepto de distancia entre dos vértices de un grafo conexo y
damos algunos resultados básicos relacionados con este concepto. Finalmente, se resuelve
el problema general de encontrar la distancia entre un vértice y el resto de los vértices
del grafo, y un camino que logre esta distancia, mediante los algoritmos de Dijkstra y
Floyd.

8.1. Conceptos y resultados básicos


Definición 50. Dado un grafo conexo G = (V, E), la distancia entre dos vértices
u, v ∈ V es la mı́nima de las longitudes de los caminos que conectan u y v:

dG (u, v) = mı́n{`(C) | C es un u − v camino}

En el caso no conexo, la distancia entre dos vértices de una misma componente


conexa se define como en el caso anterior. En el caso de vértices mutuamente inaccesibles,
se asigna el valor convencional ∞.
Cuando quede claro en que grafo se calcula la distancia entre dos vértices u y v
escribiremos simplemente d(u, v), en lugar de dG (u, v).
Nótese que para todo grafo conexo G = (V, E) se cumple que (V, dG ) es un espacio
métrico. Esto es, la distancia dG : V × V −→ N satisface las propiedades generales de
una métrica para todo u, v, w ∈ V (G):
(i) d(u, v) ≥ 0 y d(u, v) = 0 si y sólo si u = v;

(ii) d(u, v) = d(v, u);

(iii) d(u, v) ≤ d(u, w) + d(w, v) (desigualdad triangular).


Definición 51. Sea G = (V, E) un grafo conexo y sea v ∈ V .

133
Distancias en Grafos 134

La excentricidad de v es (v) = máx{dG (u, v)}.


u∈V

El radio de G es r(G) = mı́n{(v)}.


u∈V

El diámetro de G es D(G) = máx{(v)}.


u∈V

Ejemplo 139. Consideremos el grafo G de la siguiente figura.


En este caso tenemos:
d(a, h) = d(a, c) = d(a, f ) = d(a, i) = 2,

d(a, g) = d(a, j) = 3,

(a) = 3 = D(G),

(b) = r(G) = 2.

h f i

d c

a b

e g j

Ejercicio 120. Determina el diámetro de los siguientes grafos: Kn , Kr,s , Cn , Pn .


n n−1
Solución: D(Kn ) = 1, D(Kr,s ) = 2, D(Pn ) = n − 1, D(Cn ) = si n es par y D(Cn ) =
2 2
si n es impar.

Proposición 52. Para todo grafo G no conexo se cumple que Gc es conexo y D(Gc ) ≤ 2.
Demostración. Sean G1 , G2 , ..., Gk las componentes conexas de G y sean x ∈ V (Gi ),
y ∈ V (Gj ) con i 6= j. Entonces para todo vértice z 6∈ V (Gi ) tenemos dGc (x, z) = 1 y
para todo z 6∈ V (Gj ) tenemos dGc (y, z) = 1. Ası́, x es adyacente a y en Gc y todos los
vértices de Gc que no sean adyacentes a x también serán adyacentes a y. Por lo tanto,
Gc es conexo y D(Gc ) ≤ 2.
Ejercicio 121. Sea G = (V, E) un grafo de orden n tal que para todo par de vértices
u, v ∈ V se cumple δ(u)+δ(v) ≥ n−1. Prueba que G es conexo. Obtén una cota superior
para el diámetro de G.
Distancias en Grafos 135

Solución: Si n = 2, δ(u) + δ(v) ≥ 1, entonces G no es trivial y, por tanto, es isomorfo a K2 .


Supongamos que n > 2. Si dos vértices no adyacentes, u, v ∈ V , no tienen ningún vecino en
común, entonces δ(u) + δ(v) ≤ n − 2, lo que contradice que δ(u) + δ(v) ≥ n − 1. Por lo tanto,
todo par de vértices no adyacentes tienen por lo menos un vecino en común. Ası́, el grafo G es
conexo y D(G) ≤ 2.

Proposición 53. Sea G un grafo.

(a) Si D(G) ≥ 4, entonces D(Gc ) = 2.

(b) Si D(G) = 3, entonces 2 ≤ D(Gc ) ≤ 3.

Demostración. Sean G = (V, E). Para u ∈ V , denotamos por NG [u] la vecindad cerrada
de u en el grafo G y por NG (u) la vecindad abierta. Esto es, NG [u] = {w ∈ V : dG (w, u) ≤
1} y NG (u) = {w ∈ V : dG (w, u) = 1}.
Nótese que, si D(G) ≥ 4 o D(G) = 3, entonces G no es un grafo nulo y, por lo tanto,
G no es un grafo completo. De ahı́ que D(Gc ) 6= 1.
c

(a) Sean x, y ∈ V y D(G) ≥ 4. Probaremos que dGc (x, y) ≤ 2. En primer lugar, si


dG (x, y) > 1, entonces dGc (x, y) = 1. Por eso en lo adelante asumimos que x e y son
adyacentes en G.
Sean u, v ∈ V tales que dG (u, v) = D(G). Como dG (u, v) ≥ 4 y x e y son adyacentes,
si x ∈ NG [u] o y ∈ NG [u], entonces x, y ∈ NGc (v) y por eso dGc (x, y) = 2. Por otro
lado, si x 6∈ NG [u] y y 6∈ NG [u], entonces x, y ∈ NGc (u), de ahı́ que dGc (x, y) = 2.
Por lo tanto, podemos concluir que Gc es conexo y D(Gc ) = 2.

(b) Sean u, v ∈ V tales que dG (u, v) = D(G) = 3. En primer lugar, dGc (u, v) = 1.
En segundo lugar, si x ∈ NG [u], entonces x ∈ NGc (v) y si x 6∈ NG [u], entonces
x ∈ NGc (u). De ahı́ que Gc es conexo y D(Gc ) ≤ 3.

Proposición 54. Para todo grafo conexo G y todo grafo H se cumple D(G H) =
D(G) + 2.

Demostración. Sea V = {v1 , ..., vn } el conjunto de vértices de G y sea Hi = (Vi , Ei )


la i-ésima copia de H en G H. Por consiguiente, para cada i ∈ {1, ..., n}, todos los
vértices de Hi son adyacentes a vi .
En primer lugar, para todo a ∈ Vi y b ∈ Vj se cumple que

dG H (a, b) = dG H (a, vi ) + dG H (vi , vj ) + dG H (vj , b) = 1 + dG (vi , vj ) + 1.

En segundo lugar, los vértices más alejados en G H han de estar en alguna copia de
H. De ahı́ que D(G H) = D(G) + 2.
Distancias en Grafos 136

Proposición 55. Sean G y H dos grafos conexos. Para todo (u, v), (x, y) ∈ V (GH)
se cumple
dGH ((u, v), (x, y)) = dG (u, x) + dH (v, y).

Demostración. Teniendo en cuenta la desigualdad triangular y que Ghvi ∼


= G y hxiH ∼
=
H, obtenemos

dGH ((u, v), (x, y)) ≤ dGH ((u, v), (x, v)) + dGH ((x, v), (x, y))
≤ dGhvi ((u, v), (x, v)) + dhxiH ((x, v), (x, y))
= dG (u, x) + dH (v, y).

Recı́procamente, cada arista de un camino mı́nimo Q de (u, v) a (x, y) o bien corresponde


a una arista en la proyección de Q sobre G y a un nodo en la proyección de Q sobre
H, o bien corresponde a una arista en la proyección de Q sobre H y a un nodo en la
proyección de Q sobre G. Por lo tanto,

dG (u, x) + dH (v, y) ≤ |E(PG (Q))| + |E(PH (Q))|


= |E(Q)|
= dGH ((u, v), (x, y)).

Corolario 56. Para todo par de grafos conexos G y H se cumple

D(GH) = D(G) + D(H).

Ejercicio 122. Sea G = C4 N1 . Calcula el diámetro de GL(G).

Solución: D(GL(G)) = D(G) + D(L(G)) = 4 + 3 = 7.

Ejercicio 123. Dado el grafo G = Pr Ps :

(a) Calcula el orden, la medida y el diámetro de G.

(b) Sean u y v dos vértices de G tales que la distancia entre ellos coincide con el diámetro
de G. Calcula el número de caminos de longitud mı́nima para ir de u a v.

Solución:
(a) El orden de G es rs, la medida es r(s − 1) + s(r − 1) y el diámetro es r + s − 2.

(b) Supongamos que dibujamos el grafo G de modo que las copias de Pr quedan en vertical y
las de Ps en horizontal. Para ir de la esquina inferior izquierda hasta la superior derecha
debemos dar r + s − 2 pasos de los cuales r − 1 son en vertical y s − 1 son enhorizontal. Ası́,
(r+s−2)!
el número de formas de elegir los pasos verticales (horizontales) es r+s−2
r−1 = (r−1)!(s−1)! .
Distancias en Grafos 137

Proposición 57. Sean G y H dos grafos conexos. Para todo (u1 , u2 ), (v1 , v2 ) ∈ V (GH)
se cumple
dGH ((u1 , u2 ), (v1 , v2 )) = máx{dG (u1 , v1 ), dH (u2 , v2 )}.

Demostración. Sean (u1 , u2 ) y (v1 , v2 ) dos vértices de G  H. Sean u1 = a0 a1 ...ak = v1


y u2 = x0 x1 ...xl = v2 caminos de longitud mı́nima de u1 a v1 en G y de u2 a v2 en
H, respectivamente. Asumimos, sin perdida de generalidad, que dH (u2 , v2 ) = l ≤ k =
dG (u1 , v1 ) = máx{dG (u, x), dH (v, y)}. Entonces (a0 , x0 ), ..., (al , xl )(al+1 , xl )...(ak , xl )) es
un camino de (u1 , u2 ) a (v1 , v2 ) y, por consiguiente,

dGH ((u1 , u2 ), (v1 , v2 )) ≤ máx{dG (u1 , v1 ), dH (u2 , v2 )}.

Recı́procamente, sea Q un camino mı́nimo de (u1 , u2 ) a (v1 , v2 ) en G  H. Entonces


cada aristas de Q se proyecta como una arista en G o en H. De ahı́ que dG (u1 , v1 ) ≤
|E(PG (Q))| ≤ |E(Q)| y dH (u2 , v2 )} ≤ |E(PH (Q))| ≤ |E(Q)|. Por lo tanto,

máx{dG (u1 , v1 ), dH (u2 , v2 )} ≤ |E(Q)| = dGH ((u1 , u2 ), (v1 , v2 )).

Corolario 58. Para todo par de grafos conexos G y H se cumple

D(G  H) = máx{D(G), D(H)}.

Ejercicio 124. Sean G y H dos grafos conexos de orden mayor o igual que 2. Calcula
el diámetro de los siguientes grafos:

(a) (G H)(H G)

(b) (G H)  (H G)

(c) (G H)G

(d) (G H)  G
Solución:

(a) D ((G H)(H G)) = D(G H) + D(H G) = D(G) + D(H) + 4.

(b) D ((G H)  (H G)) = máx{D(G H), D(H G)} = máx{D(G) + 2, D(H) + 2}.

(c) D ((G H)G) = 2D(G) + 2.

(d) D ((G H)  G) = D(G) + 2.

Definición 52. El centro de un grafo G es el conjunto

C(G) = {v ∈ V (G) : (v) = r(G)}.


Distancias en Grafos 138

Teorema 59. El centro de un árbol está formado por un solo vértice o por un par de
vértices adyacentes.

Demostración. Sea T un árbol. El resultado es cierto para T = K1 y T = K2 . Suponga-


mos que el orden de T es mayor o igual que 3. Naturalmente, si (v) = dT (u, v), entonces
δ(u) = 1. De ahı́ que si T 0 es el árbol que se obtiene eliminando de T los vértices de
grado uno, entonces los vértices de excentricidad mı́nima en T son los mismos que tienen
excentricidad mı́nima en T 0 . Ası́, C(T ) = C(T 0 ). Entonces, como el orden de T es finito,
siguiendo este proceso de eliminación de vértices de grado uno obtenemos un subárbol
de T que es K1 o K2 . Por lo tanto, el centro de T está formado por un solo vértice o por
un par de vértices adyacentes.

Ejercicio 125. Pon tres ejemplos de grafos G = (V, E) tales que C(G) = V .

Solución: Tomamos como ejemplos los grafos completos, G = Kn , los hipercubos G = Qk y


los grafos bipartitos completos G = Kr,s con r, s ≥ 2.

Proposición 60. Para todo grafo conexo G y todo grafo H se cumple C(G H) = C(G).

Demostración. Como antes, sea V = {v1 , ..., vn } el conjunto de vértices de G y sea


Hi = (Vi , Ei ) la i-ésima copia de H en G H. Por consiguiente, para cada i ∈ {1, ..., n},
todos los vértices de Hi son adyacentes a vi .
Sabemos que para todo a ∈ Vi y b ∈ Vj se cumple que

dG H (a, b) = dG H (a, vi ) + dG H (vi , vj ) + dG H (vj , b) = 1 + dG (vi , vj ) + 1.

Para obtener el resultado es suficiente observar que para todo vi ∈ V se cumple que
G H (vi ) = G (vi ) + 1 y para todo ui ∈ Vi se cumple G H (ui ) = G (vi ) + 2. De ahı́ que
C(G H) = C(G).

8.2. Distancias y grafos bipartitos


A partir de la longitud de los ciclos es posible una caracterización de los grafos
bipartitos.

Teorema 61. Un grafo es bipartito si y sólo si no tiene ciclos de longitud impar.

Demostración. Si G es bipartito, entonces cada ciclo v1 , v2 , v3 , ..., vk , v1 tiene todos los


vértices de subı́ndice impar en uno de los conjuntos de la bipartición y los vértices de
subı́ndice par en el otro conjunto. Por lo tanto, la longitud k es par.
Ahora nuestra hipótesis es que G no tiene ciclos de longitud impar. Consideremos,
sin perder generalidad, que G es conexo (si G no es conexo, analizamos cada componente
por separado). Para u0 ∈ V definimos los conjuntos

V1 = {u0 } ∪ {v ∈ V | d(u0 , v) es par}, V2 = V − V1 .


Distancias en Grafos 139

Estos conjuntos determinan una partición del conjunto de vértices del grafo.
Sea a = {u, v} ∈ E y supongamos que u, v ∈ V1 o u, v ∈ V2 . Sean R1 un u0 − u
camino de longitud mı́nima y R2 un u0 − v camino de longitud mı́nima, los dos de
longitudes pares o impares, por definición de V1 y V2 . Recorriendo los caminos anteriores
desde el inicio u0 , se alcanzará un vértice w0 que es el último que comparten los caminos
R1 y R2 . Para los subcaminos S1 : w0 − u sobre R1 y S2 : w0 − v sobre R2 se cumple
`(R1 ) = d(u0 , w0 ) + `(S1 ) y `(R2 ) = d(u0 , w0 ) + `(S2 ). De ahı́ que `(S2 ) − `(S1 ) es par
y, en consecuencia, `(S1 ), `(S2 ) tienen que ser de la misma paridad. Ası́, con S1 , S2 y la
arista {u, v} formamos un ciclo de longitud `(S1 ) + 1 + `(S2 ) impar, lo que contradice la
hipótesis.

Corolario 62. Todos árbol es un grafo bipartito.

Ejercicio 126. Sea G un grafo. Prueba que GK2 es bipartito si y sólo si G es bipartito.
Solución: Tomamos V (K2 ) = {x, y} y V (G) = V . Por el Teorema 61 sabemos que un grafo
es bipartito si y sólo si no tiene ciclos de longitud impar. Primero asumiremos que GK2 es
bipartito. En tal caso GK2 no tiene ciclos de longitud impar y, en consecuencia, el subgrafo
de GK2 inducido por V × {x} no tiene ciclos de longitud impar. Como el subgrafo de GK2
inducido por V × {x}, es isomorfo a G, concluimos que G es bipartito.
Ahora asumiremos que G es bipartito. Etiquetaremos los vértices de G con ceros y unos
de modo que vértices adyacentes tengan etiquetas diferentes. Ahora etiquetaremos los vértices
de GK2 con ceros y unos de la siguiente forma. La etiqueta de los pares de la forma (v, x)
tendrán la misma etiqueta de v en G y los de la forma (v, y) tendrán etiqueta 1 si y sólo si
la etiqueta de v en G es 0. De esta forma, todo par de vértices adyacentes en GK2 tendrá
etiqueta diferentes. Por lo tanto, GK2 es bipartito.

Ejercicio 127. Sean G y H dos grafos. Determina una condición necesaria y suficiente
para que los siguientes grafos sean bipartitos.

(a) G H

(b) G + H

(c) GH

(d) G  H

Solución: Del Teorema 61 se derivan las siguientes consecuencias.


(a) G H es bipartito si y sólo si G es bipartito y H es nulo.

(b) G + H es bipartito si y sólo si G y H son nulos.

(c) GH es bipartito si y sólo si G y H son bipartitos.

(d) G  H es bipartito si y sólo si G es bipartito y H es nulo o viceversa.


Distancias en Grafos 140

8.3. El problema del camino mı́nimo


Consideremos una red de carreteras que conectan un conjunto de ciudades. El pro-
blema algorı́tmico más natural en este caso es encontrar una ruta de longitud mı́nima
entre un par de ciudades. El problema se resuelve considerando un grafo cuyos vértices
son las ciudades y cuyas aristas son los pares de ciudades con conexión directa por ca-
rretera. En este caso necesitamos usar un atributo adicional para las aristas; la distancia
en kilómetros entre las diferentes ciudades con conexión directa.
La distancia entre dos vértices en un grafo no ponderado se puede encontrar, de
manera eficiente, si se aplica el algoritmo de búsqueda primeramente en anchura (BFS
o Breadth First Search). Si el grafo es ponderado, entonces la distancia entre dos vértices
no se puede calcular directamente y hay que aplicar otros algoritmos.
El algoritmo de Dijkstra encuentra la distancia entre dos vértices construyendo
un árbol desde el vértice inicial u0 a cada uno de los otros vértices del grafo.
El algoritmo de Floyd encuentra la distancia entre todos los pares de vértices de
un grafo.
Definición 53. Un grafo ponderado es un par (G, w) donde G = (V, E) es un grafo
y w es una función w : E → R que asigna pesos a las aristas del grafo.
En una red de comunicaciones puede ser interesante la asignación a cada arista de
un peso indicativo del tiempo que cuesta recorrer la arista en cuestión, o los kilómetros,
o el coste económico correspondiente en otros aspectos que dependerán del problema y
del modelo que se haya construido. Normalmente los pesos son positivos o nulos, pero
también se pueden considerar situaciones en que sean negativos.
Definición 54. Dado un grafo ponderado (G, w) y un camino C : v0 , v1 , . . . , vk se define
el peso del camino C como
k
X
w(C) = w(vi−1 , vi ).
i=1

y la distancia entre dos vértices u, v ∈ G como

dG (u, v) = mı́n{w(C) : C es un u − v camino }.

Si el grafo G no es ponderado (o todos los pesos son iguales a 1), entonces esta
definición coincide con la que se ha dado anteriormente (Definición 50).
Como veremos más adelante, en el caso de vértices mutuamente inaccesibles asigna-
remos el valor convencional ∞ a su distancia.
El problema del camino mı́nimo admite diversas variantes que se pueden resolver
utilizando adaptaciones de los mismos algoritmos:

(1) Camino mı́nimo desde un vértice inicial (Single Source Shortest Path): dado (G, w)
y s ∈ V , buscar la d(s, v) para todo v ∈ V .
Distancias en Grafos 141

(2) Camino mı́nimo hasta un vértice destino (Single Destination Shortest Path): dado
(G, w) y t ∈ V , buscar la d(v, t) para todo v ∈ V .

(3) Camino mı́nimo entre una par de vértices (Single Pair Shortest Path): dado (G, w)
y s, t ∈ V , buscar la d(s, t).

(4) Camino mı́nimo entre todos los pares de vértices (All Pairs Shortest Path): dado
(G, w), buscar la d(u, v) para todo u, v ∈ V .

A continuación, estudiaremos los algoritmos especı́ficos para resolver las variantes


(1) y (4). La resolución de las variantes (2) y (3) quedan como ejercicio.

Algoritmo de Dijkstra
El algoritmo de Dijkstra se aplica sobre un grafo (o digrafo) ponderado y este calcula
la distancia desde un vértice inicial s al resto de vértices del grafo. A cada paso, se
etiquetarán los vértices con (dist(u), v) donde dist(u) es la distancia mı́nima actual del
vértices s al vértices u, y v es el predecesor de u en el camino mı́nimo que une s y u.
Estructuras necesarias para la formulación del algoritmo:
Un grafo ponderado (G, w) representado mediante una lista de adyacencias.

Un conjunto U de los vértices que se han visitado, en el orden en que se ha hecho.

Una tabla de distancias, dist(·), indexada por los vértices de G, que registra la
distancia del vértice inicial a los vértices que se van visitando.

Al final, la tabla dist(·) registra la distancia desde el vértice inicial al resto de


vértices.
Entrada: (G, w) de orden n y un vértice inicial s.
Salida: La distancia, dist(·), de s al resto de vértices.
algoritmo Dijkstra (G, s)
inicio
U ←∅
para v ∈ V \{s}
dist(v) ← ∞
Se etiqueta v con (dist(v), s)
finpara
dist(s) ← 0
Se etiqueta s con (dist(s), s)
para i ← 0 hasta ← n − 1
ui vértice que alcanza mı́n {dist(v)}
v∈V −U
U ← U ∪ {ui }
para v ∈ V − U adyacente a ui
Distancias en Grafos 142

si dist(ui ) + w(ui , v) < dist(v)


entonces dist(v) ← dist(ui ) +
w(ui , v)
Se etiqueta v con (dist(v), ui )
finsi
finpara
finpara
retorno (dist)
fin
Cuando es posible visitar más de un vértice, siempre se elige el de ı́ndice mı́nimo en
la ordenación de los vértices disponibles.
A cada paso se fija la distancia de uno de los vértices del grafo. Ası́, tras n pasos se
habrá calculado la distancia a todos los vértices del grafo.
El algoritmo se puede utilizar para obtener un camino de longitud mı́nima entre el
vértice inicial y cualquier otro vértice, puesto que después de aplicar el algoritmo, todo
vértice v tiene asociada una etiqueta (dist(v), ui ) indicativa de la distancia del vértice v
al vértice de partida, dist(v) = d(s, v), y del camino seguido para calcular la distancia.
Si v 6= s se obtiene un s − v camino de longitud mı́nima con s = q0 , q1 , . . . , qk = v, donde
los qi están etiquetados con (dist(qi ), qi−1 ) para i = 1, . . . , k.

Ejemplo 140. Considera el digrafo definido por el gráfico siguiente:


2
1 2
4 1 3 10
2 2
3 4 5
5 8 4 6
1
6 7

Haremos una simulación del algoritmo a través de una tabla donde las columnas corres-
ponden a los vértices del grafo. El inicio del algoritmo quedarı́a expresado de la siguiente
forma:

1 2 3 4 5 6 7
(0,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1)

En este caso, en la tabla del algoritmo de Dijkstra del digrafo se señala con un
asterisco el vértice que se visita. En los pares (dist(v), 1) tenemos

dist(v) = mı́n{dist(1) + w(1, v), dist(v)} = mı́n{0 + w(1, v), dist(v)} :

1 2 3 4 5 6 7
(0,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1)
(0,1)* (2,1) (∞,1) (1,1) (∞,1) (∞,1) (∞,1)
Distancias en Grafos 143

Para los vértices, v, no visitados tenemos mı́n{dist(v)} = 1, y este mı́nimo se alcanza


en el vértice 4. Por lo tanto, para cada v no visitado tenemos
dist(v) = mı́n{dist(4) + w(4, v), dist(v)} = mı́n{1 + w(4, v), dist(v)} :

1 2 3 4 5 6 7
(0,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1)
(0,1)* (2,1) (∞,1) (1,1) (∞,1) (∞,1) (∞,1)
(0,1) (2,1) (3,4) (1,1)* (3,4) (9,4) (5,4)

Ahora, para los vértices, v, no visitados tenemos mı́n{dist(v)} = 2, y este mı́nimo se


alcanza en el vértice 2. Por lo tanto, para cada v no visitado tenemos:
dist(v) = mı́n{dist(2) + w(2, v), dist(v)} = mı́n{2 + w(2, v), dist(v)}

1 2 3 4 5 6 7
(0,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1)
(0,1)* (2,1) (∞,1) (1,1) (∞,1) (∞,1) (∞,1)
(0,1) (2,1) (3,4) (1,1)* (3,4) (9,4) (5,4)
(0,1) (2,1)* (3,4) (1,1) (3,4) (9,4) (5,4)
Para los vértices, v, no visitados tenemos mı́n{dist(v)} = 3, y este mı́nimo se alcanza en
los vértices 3 y 5. Tomamos el vértice 3 porque seguimos el orden de las etiquetas. Por
lo tanto, para cada v no visitado tenemos:
dist(v) = mı́n{dist(3) + w(3, v), dist(v)} = mı́n{3 + w(3, v), dist(v)}.

1 2 3 4 5 6 7
(0,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1)
(0,1)* (2,1) (∞,1) (1,1) (∞,1) (∞,1) (∞,1)
(0,1) (2,1) (3,4) (1,1)* (3,4) (9,4) (5,4)
(0,1) (2,1)* (3,4) (1,1) (3,4) (9,4) (5,4)
(0,1) (2,1) (3,4)* (1,1) (3,4) (8,3) (5,4)
Ahora, para los vértices, v, no visitados tenemos mı́n{dist(v)} = 3, y este mı́nimo
se alcanza en el vértice 5. Por lo tanto, para cada v no visitado tenemos:
dist(v) = mı́n{dist(5) + w(5, v), dist(v)} = mı́n{3 + w(5, v), dist(v)}.

1 2 3 4 5 6 7
(0,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1)
(0,1)* (2,1) (∞,1) (1,1) (∞,1) (∞,1) (∞,1)
(0,1) (2,1) (3,4) (1,1)* (3,4) (9,4) (5,4)
(0,1) (2,1)* (3,4) (1,1) (3,4) (9,4) (5,4)
(0,1) (2,1) (3,4)* (1,1) (3,4) (8,3) (5,4)
(0,1) (2,1) (3,4) (1,1) (3,4)* (8,3) (5,4)
Distancias en Grafos 144

En este caso, para los vértices, v, no visitados tenemos mı́n{dist(v)} = 5, y este mı́nimo
se alcanza en el vértice 7. Por lo tanto, para cada v no visitado tenemos:
dist(v) = mı́n{dist(7) + w(7, v), dist(v)} = mı́n{5 + w(7, v), dist(v)}.
1 2 3 4 5 6 7
(0,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1)
(0,1)* (2,1) (∞,1) (1,1) (∞,1) (∞,1) (∞,1)
(0,1) (2,1) (3,4) (1,1)* (3,4) (9,4) (5,4)
(0,1) (2,1)* (3,4) (1,1) (3,4) (9,4) (5,4)
(0,1) (2,1) (3,4)* (1,1) (3,4) (8,3) (5,4)
(0,1) (2,1) (3,4) (1,1) (3,4)* (8,3) (5,4)
(0,1) (2,1) (3,4) (1,1) (3,4) (6,7) (5,4)*
Finalmente, el único vértice no visitado es el 6:
1 2 3 4 5 6 7
(0,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1) (∞,1)
(0,1)* (2,1) (∞,1) (1,1) (∞,1) (∞,1) (∞,1)
(0,1) (2,1) (3,4) (1,1)* (3,4) (9,4) (5,4)
(0,1) (2,1)* (3,4) (1,1) (3,4) (9,4) (5,4)
(0,1) (2,1) (3,4)* (1,1) (3,4) (8,3) (5,4)
(0,1) (2,1) (3,4) (1,1) (3,4)* (8,3) (5,4)
(0,1) (2,1) (3,4) (1,1) (3,4) (6,7) (5,4)*
(0,1) (2,1) (3,4) (1,1) (3,4) (6,7)* (5,4)
De la última fila de la tabla se deduce que la distancia del vértice 1 al resto de
vértices vale d(1, 1) = 0, d(1, 2) = 2, d(1, 3) = 3, d(1, 4) = 1, d(1, 5) = 3, d(1, 6) = 6,
d(1, 7) = 5.

Análisis del algoritmo de Dijkstra


Para analizar este algoritmo se dividirá en dos partes:
1. Se inicia una tabla de medida n con una complejidad O(n).
2. El bucle principal se ejecuta n veces. En el paso i-ésimo se calcula el mı́nimo de una
lista que contiene n − i elementos. Esto se puede hacer con n − i comparaciones.
En el bucle más interno se actualizan las etiquetas de los vértices adyacentes al
vértice analizado. El número máximo de vértices adyacentes que se acualizan en
el paso i-ésimo es n − i − 1.
Resumiendo, en el bucle principal se hacen
n−1
X n−1
X
(n − i) + (n − i − 1) = n2
i=0 i=0
Distancias en Grafos 145

operaciones elementales. Esto da una complejidad O(n2 ).

Todo el algoritmo tendrá una complejidad máx{O(n), O(n2 )} = O(n2 ), indepen-


dientemente del número de aristas del grafo.
Ejemplo 141. La siguiente matriz es la matriz de adyacencia de un grafo ponderado
de vértices A, B, C, D, E y F .
 
0 8 0 0 5 0
8 0 7 2 2 0
 
0 7 0 8 0 3
 
0 2 8 0 0 4
 
5 2 0 0 0 9
0 0 3 4 9 0
La siguiente tabla muestra la simulación del algoritmo partiendo del vértice A:
A B C D E F
(0,A) (∞,A) (∞,A) (∞,A) (∞,A) (∞,A)
(0,A)* (8,A) (∞,A) (∞,A) (5,A) (∞,A)
(0,A) (7,E) (∞,A) (∞,A) (5,A)* (14,E)
(0,A) (7,E)* (14,B) (9,B) (5,A) (14,E)
(0,A) (7,E) (14,B) (9,B)* (5,A) (13,D)
(0,A) (7,E) (14,B) (9,B) (5,A) (13,D)*
(0,A) (7,E) (14,B)* (9,B) (5,A) (13,D)
De la última fila de la tabla se deduce que la distancia del vértice A al resto de vértices
es: d(A, B) = 7 y se llega a través del vértice E; d(A, C) = 14 y un camı́no mı́nimo
es A, E, B, C; d(A, D) = 9 y un camino mı́nimo es A, E, B, D; d(A, E) = 5 y se llega
directamente desde E; d(A, F ) = 13 y un camı́no mı́nimo es A, E, B, D, F .
La simulación del algoritmo partiendo del vértice C se muestra en la siguiente tabla.
A B C D E F
(∞,C) (∞,C) (0,C) (∞,C) (∞,C) (∞,C)
(∞,C) (7,C) (0,C)* (8,C) (∞,C) (3,C)
(∞,C) (7,C) (0,C) (7,F) (12,F) (3,C)*
(15,B) (7,C)* (0,C) (7,F) (9,B) (3,C)
(15,B) (7,C) (0,C) (7,F)* (9,B) (3,C)
(14,E) (7,C) (0,C) (7,F) (9,B)* (3,C)
(14,E)* (7,C) (0,C) (7,F) (9,B) (3,C)
De la última fila de la tabla se deduce que la distancia del vértice C al resto de vértices
es: d(C, A) = 14 y un camino mı́nimo es C, B, E, A; d(C, B) = 7 y se llega directamente
desde C; d(C, D) = 7 y un camino mı́nimo es C, F, D; d(C, E) = 9 y un camino mı́nimo
es C, B, E; d(C, F ) = 3 y se llega directamente desde C.
Distancias en Grafos 146

Camino mı́nimo en un grafo no ponderado


Si el grafo es no ponderado (o todas las aristas tienen peso 1) entonces se puede
utilizar el algoritmo de exploración en anchura (BFS) para calcular la distancia entre un
vértice inicial y el resto de vértices del grafo.
Las estructuras de datos necesarios para formular el algoritmo son las mismas que
en el BFS si se añade una tabla dist(·) que almacena las distancias del vértice inicial al
resto de vértices.

Ejemplo 142. Se considera el grafo no ponderado representado en la figura.

3
4 7

1 6

2 5

La tabla registra el funcionamiento del algoritmo para este grafo, con vértice de
inicio s = 1.

Q Vértice añadido Vértice eliminado dist


1 1 - [0,∞,∞,∞,∞,∞,∞]
12 2 - [0,1,∞,∞,∞,∞,∞]
123 3 - [0,1,1,∞,∞,∞,∞]
1234 4 - [0,1,1,1,∞,∞,∞]
234 - 1 [0,1,1,1,∞,∞,∞]
2345 5 - [0,1,1,1,2,∞,∞]
345 - 2 [0,1,1,1,2,∞,∞]
3456 6 - [0,1,1,1,2,2,∞]
456 - 3 [0,1,1,1,2,2,∞]
56 - 4 [0,1,1,1,2,2,∞]
6 - 5 [0,1,1,1,2,2,∞]
67 7 - [0,1,1,1,2,2,3]
7 - 6 [0,1,1,1,2,2,3]
∅ - 7 [0,1,1,1,2,2,3]

Si se compara este algoritmo con el algoritmo de Dijkstra aplicado a un grafo no


ponderado, se puede observar que mientras Dijkstra tiene una complejidad O(n2 ), el BFS
tiene una complejidad O(n + m). Para grafos poco densos (pocas aristas), el algoritmo
BFS tiene un comportamiento más eficiente que el algoritmo de Dijkstra.
Distancias en Grafos 147

Algoritmo de Floyd
El problema de buscar los caminos mı́nimos entre todos los pares de vértices de un
grafo se puede resolver si se aplica n veces el algoritmo de Dijkstra:
Entrada : (G, w) de orden n
Salida: La distancia, d(·, ·), entre todos los pares de vértices que tendrı́a una com-
plejidad O(n3 ).
Otra alternativa es utilizar un algoritmo especı́fico, de comparable eficiencia al al-
goritmo de Dijkstra, pero con un comportamiento mejor para grafos densos. Es el algo-
ritmo de Floyd. El algoritmo de Floyd considera los vértices ordenados y, en el paso
k-ésimo, compara el peso del camino obtenido hasta el momento utilizando los k − 1
vértices anteriores, con el camino obtenido añadiendo el vértice k-ésimo. Se etiqueta-
ran los vértices V = {1, 2, 3, . . . , n} y se utilizará una matriz dij (1 ≤ i, j ≤ n) para
almacenar las distancias.
Entrada: (G, w) de orden n
Salida: La distancia, d(·, ·), entre todos los pares de vértices.
algoritmo Floyd (G)
inicio
para i ← 1 hasta n
para j ← 1 hasta n
si i = j entonces d0ij ← 0 finsi
si (i, j) ∈ E entonces d0ij ← w(i, j) finsi
si (i, j) 6∈ E entonces d0ij ← ∞ finsi
finpara
finpara
para k ← 1 hasta n
para i ← 1 hasta n
para j ← 1 hasta n
k−1 k−1
dkij ← mı́n(dij , dik + dk−1
kj )
finpara
finpara
finpara
retorno (dnij )
fin
Ejemplo 143. La siguiente matriz representa las distancias entre diferentes ciudades
que tienen conexión directa por carretera.
 
0 96 − 56 105
 96 0 − 157 − 
 
 − − 0 118 91
 

 
 56 157 118 0 − 
105 − 91 − 0
Distancias en Grafos 148

Si se aplica el algoritmo de Floyd al grafo correspondiente se obtiene la serie de


matrices bidimensionales:

∞ ∞
   
0 96 56 105 0 96 56 105
 96 0 ∞ 157 ∞   96 0 ∞ 152 201 
0  1 
d =  d =
 
 ∞ ∞ 0 118 91   ∞ ∞ 0 118 91 

 56 157 118 0 ∞   56 152 118 0 161 
105 ∞ 91 ∞ 0 105 201 91 161 0

Usando la primera fila y la primera columna de d0 hemos calculado la matriz d1 por


la fórmula d1ij = mı́n(d0ij , d0i1 + d01j ). Análogamente, usamos la segunda fila y la segunda
columna de d1 calculamos la matriz d2 por la fórmula d2ij = mı́n(d1ij , d1i2 + d12j ), y ası́
sucesivamente.

∞ ∞
   
0 96 56 105 0 96 56 105
 96 0 ∞ 152 201   96 0 ∞ 152 201 
d2 = 
 3 
 d =
 
 ∞ ∞ 0 118 91   ∞ ∞ 0 118 91 

 56 152 118 0 161   56 152 118 0 161 
105 201 91 161 0 105 201 91 161 0

   
0 96 174 56 105 0 96 174 56 105
 96 0 270 152 201   96 0 270 152 201 
4  5 
d =  d =
 
 174 270 0 118 91   174 270 0 118 91 

 56 152 118 0 161   56 152 118 0 161 
105 201 91 161 0 105 201 91 161 0

Ejemplo 144. Si aplicamos el algoritmo de Floyd al grafo ponderado del Ejemplo 141
se obtienen las siguientes matrices.
   
0 8 ∞ ∞ 5 ∞ 0 8 ∞ ∞ 5 ∞
 8 0 7 2 2 ∞  8 0 7 2 2 ∞
   
0
∞ 7 0 8 ∞ 3  1
∞ 7 0 8 ∞ 3 
d = ∞ 2 8 0 ∞ 4 
 d = ∞ 2 8 0 ∞ 4 

   
5 2 ∞ ∞ 0 9 5 2 ∞ ∞ 0 9
∞ ∞ 3 4 9 0 ∞ ∞ 3 4 9 0
Distancias en Grafos 149
   
0 8 15 10 5 ∞ 0 8 15 10 5 18
8
 0 7 2 2 ∞ 
 8 0 7 2 2 10
 
2
15 7 0 8 9 3 3
15 7 0 8 9 3 
d = 10
 d = 
 2 8 0 4 4 
10 2 8 0 4 4 
 
5 2 9 4 0 9 5 2 9 4 0 9
∞ ∞ 3 4 9 0 18 10 3 4 9 0
   
0 8 15 10 5 14 0 7 14 9 5 13
8 0 7 2 2 6 7 0 7 2 2 6
   
4
15 7 0 8 9 3 5
14 7 0 8 9 3
d =
10
 d = 
 2 8 0 4 4 
9
 2 8 0 4 4 
5 2 9 4 0 8 5 2 9 4 0 8
14 6 3 4 8 0 13 6 3 4 8 0
 
0 7 14 9 5 13
7 0 7 2 2 6
 
6
14 7 0 7 9 3
d =
9

 2 7 0 4 4 
5 2 9 4 0 8
13 6 3 4 8 0

Ası́, por ejemplo, la distancia de A a D es d(A, D) = 9 y la distancia de C a E es


d(C, E) = 9. Nótese que el diámetro del grafo ponderado es 14 y el radio es 7.

Análisis del algoritmo de Floyd


El algoritmo de Floyd es muy fácil de analizar. Básicamente tiene dos partes. La
iniciación de la matriz de distancias y el cálculo de las distancias.
La iniciación tiene una complejidad O(n2 ). El cálculo de las distancias tiene una
complejidad O(n3 ). Ası́, todo el algoritmo tendrá una complejidad O(n3 ), independien-
temente del número de aristas, y es comparable a la eficiencia del algoritmo de Dijkstra
aplicado n veces.

Ejercicio 128. La tabla siguiente representa la distancia entre varios aeropuertos unidos
por una lı́nea aérea.
A B C D E F G
A 0 5 3 2 - - -
B 5 0 2 - 3 - 1
C 3 2 0 7 7 - -
D 2 - 7 0 2 6 -
E - 3 7 2 0 1 1
F - - - 6 1 0 -
G - 1 - - 1 - 0
Distancias en Grafos 150

(a) ¿Cuál es la distancia mı́nima entre el aeropuerto A y el resto de aeropuertos?


(b) ¿Cuál es el número mı́nimo de transbordos de avión que habrá que hacer para ir del
aeropuerto A al resto de aeropuertos?
Solución:
(a) Se debe aplicar el algoritmo de Dijkstra sobre el grafo que se obtiene a partir de la tabla
de distancias:

A B C D E F G
(0,A) (∞,A) (∞,A) (∞,A) (∞,A) (∞,A) (∞,A)
(0,A)* (5,A) (3,A) (2,A) (∞,A) (∞,A) (∞,A)
(0,A) (5,A) (3,A) (2,A)* (4,D) (8,D) (∞,A)
(0,A) (5,A) (3,A)* (2,A) (4,D) (8,D) (∞,A)
(0,A) (5,A) (3,A) (2,A) (4,D)* (5,E) (5,E)
(0,A) (5,A)* (3,A) (2,A) (4,D) (5,E) (5,E)
(0,A) (5,A) (3,A) (2,A) (4,D) (5,E)* (5,E)
(0,A) (5,A) (3,A) (2,A) (4,D) (5,E) (5,E)*

La última fila de la tabla da las distancias mı́nimas entre el aeropuerto A y el resto de


aeropuertos.
(b) Se puede considerar el mismo grafo pero ahora sin pesos, es decir, sólo interesa saber el
número de aristas que unen el aeropuerto A con el resto de aeropuertos. En este caso, se
puede aplicar el algoritmo BFS para calcular distancias en el caso no ponderado:

Q Vértice añadido Vértice eliminado dist


A A - [0,∞,∞,∞,∞,∞,∞]
AB B - [0,1,∞,∞,∞,∞,∞]
ABC C - [0,1,1,∞,∞,∞,∞]
ABCD D - [0,1,1,1,∞,∞,∞]
BCD - A [0,1,1,1,∞,∞,∞]
BCDE E - [0,1,1,1,2,∞,∞]
BCDEG G - [0,1,1,1,2,2,∞]
CDEG - B [0,1,1,1,2,2,∞]
DEG - C [0,1,1,1,2,2,∞]
DEGF F - [0,1,1,1,2,2,2]
EFG - D [0,1,1,1,2,2,2]
FG - E [0,1,1,1,2,2,2]
G - F [0,1,1,1,2,2,2]
∅ - - [0,1,1,1,2,2,2]

La lista [0,1,1,1,2,2,2] da el número de transbordos que habrá que hacer para conectar el
aeropuerto A con el resto de aeropuertos.
Distancias en Grafos 151

Ejercicio 129. La tabla siguiente representa el tiempo necesario para conectar direc-
tamente varios nodos de una red. El sı́mbolo “-” significa que los dos nodos no son
accesibles directamente. Utilizando el algoritmo de Floyd, encontrar el tiempo mı́nimo
necesario para conectar dos a dos todos los pares de nodos de la red

1 2 3 4 5
1 0 3 8 - 4
2 - 0 - 1 7
3 - 4 0 - -
4 2 - 5 0 -
5 - - - 6 0

Solución: La tabla inicial para aplicar el algoritmo de Floyd es:


 
0 3 8 ∞ 4
 ∞ 0 ∞ 1 7 
0
 
d =
 ∞ 4 0 ∞ ∞ 

 2 ∞ 5 0 ∞ 
∞ ∞ ∞ 6 0

Después de aplicar el algoritmo se obtiene la tabla


 
0 3 8 4 4
 3 0 6 1 7 
d5 = 
 
 7 4 0 5 11 

 2 5 5 0 6 
8 11 11 6 0
donde el valor de la posición (i, j) representa el tiempo mı́nimo para conectar el nodo i con el
j.

Ejercicio 130. La tabla siguiente representa la distancia entre los nodos de una red.
A B C D E F G H
A 0 3 - - - 9 - 4
B 3 0 5 - 10 - - -
C - 5 0 2 - - - 18
D - - 2 0 7 - 16 -
E - 10 - 7 0 5 - -
F 9 - - - 5 0 2 -
G - - - 16 - 2 0 5
H 4 - 18 - - - 5 0

(a) Aplica un algoritmo para calcular la distancia de C a los demás nodos.

(b) Determina un camino mı́nimo para ir de C a cada uno de los nodos de la red.
Distancias en Grafos 152

Solución:

(a) Al aplicar el algoritmo de Dijkstra a partir del nodo C se obtiene la siguiente tabla:
A B C D E F G H
(∞,C) (∞,C) (0,C) (∞,C) (∞,C) (∞,C) (∞,C) (∞,C)
(∞,C) (5,C) (0,C)* (2,C) (∞,C) (∞,C) (∞,C) (18,C)
(∞,C) (5,C) (0,C) (2,C)* (9,D) (∞,C) (18,D) (18,C)
(8,B) (5,C)* (0,C) (2,C) (9,D) (∞,C) (18,D) (18,C)
(8,B)* (5,C) (0,C) (2,C) (9,D) (17,A) (18,D) (12,A)
(8,B) (5,C) (0,C) (2,C) (9,D)* (14,E) (18,D) (12,A)
(8,B) (5,C) (0,C) (2,C) (9,D) (14,E) (17,H) (12,A)*
(8,B) (5,C) (0,C) (2,C) (9,D) (14,E)* (16,F) (12,A)
(8,B) (5,C) (0,C) (2,C) (9,D) (14,E) (16,F)* (12,A)
La distancia del nodo C a los demás nodos aparece en la última fila de la tabla.

(b) Los caminos son C − B, C − D, C − B − A, C − B − A − H, C − D − E, C − D − E − F ,


C − D − E − F − G.

Ejercicio 131. Considera una red ponderada formada por los nodos del conjunto {0, 1, 2, 3, 4, 5, 6}.
Al aplicar el algoritmo de Dijkstra a partir del nodo 0 se obtiene la siguiente tabla:
0 1 2 3 4 5 6
(0,0) (∞,0) (∞,0) (∞,0) (∞,0) (∞,0) (∞,0)
(0,0)* (8,0) (12,0) (9,0) (∞,0) (∞,0) (∞,0)
(0,0) (8,0)* (12,0) (9,0) (∞,0) (17,1) (∞,0)
(0,0) (8,0) (11,3) (9,0)* (21,3) (16,3) (∞,0)
(0,0) (8,0) (11,3)* (9,0) (21,3) (16,3) (19,2)
(0,0) (8,0) (11,3) (9,0) (21,3) (16,3)* (19,2)
(0,0) (8,0) (11,3) (9,0) (21,3) (16,3) (19,2)*
(0,0) (8,0) (11,3) (9,0) (21,3)* (16,3) (19,2)

(a) Determina el peso de las aristas {3, 4}, {3, 5} y {2, 6}

(b) Determina tres caminos diferentes para ir del vértice 0 al vértice 4 y calcula la
longitud de cada uno de ellos.
Solución:
(a) El peso de las aristas {3, 4}, {3, 5} y {2, 6} es 12, 7 y 8, respectivamente.

(b) Los caminos son: 0 − 3 − 4, de longitud 21, 0 − 1 − 5 − 3 − 4, de longitud 36, y 0 − 2 − 3 − 4,


de longitud 26.

Ejercicio 132. Esta tabla registra el funcionamiento del algoritmo de exploración en


anchura (BFS) para un grafo conexo G, con vértice de inicio v = 1.
Distancias en Grafos 153

Q Vértice añadido Vértice eliminado R


1 1 - [1]
14 4 - [1,4]
4 - 1 [1,4]
42 2 - [1,4,2]
425 5 - [1,4,2,5]
25 - 4 [1,4,2,5]
253 3 - [1,4,2,5,3]
53 - 2 [1,4,2,5,3]
3 - 5 [1,4,2,5,3]
∅ - 3 [1,4,2,5,3]

Determina un árbol generador de G.

Solución: Las aristas del árbol generador de G son {1, 4}, {4, 5}, {4, 2} y {2, 3}.

Ejercicio 133. Para resolver el problema del camino mı́nimo entre dos vértices de una
red, modelada por un grafo ponderado G de orden 7, hemos aplicado el algoritmo de
Dijkstra comenzando por el vértice a. Como resultado hemos obtenido la siguiente tabla.

a b c d e f g
(0, a) (∞, a) (∞, a) (∞, a) (∞, a) (∞, a) (∞, a)
(0, a)∗ (4, a) (3, a) (∞, a) (∞, a) (∞, a) (∞, a)
(0, a) (4, a) (3, a)∗ (9, c) (8, c) (∞, a) (∞, a)
(0, a) (4, a)∗ (3, a) (9, c) (5, b) (10, b) (∞, a)
(0, a) (4, a) (3, a) (9, c) (5, b)∗ (10, b) (15, e)
(0, a) (4, a) (3, a) (9, c)∗ (5, b) (10, b) (15, e)
(0, a) (4, a) (3, a) (9, c) (5, b) (10, b)∗ (12, f )
(0, a) (4, a) (3, a) (9, c) (5, b) (10, b) (12, f )∗

Sabiendo que la arista del grafo ponderado K2 se denota por {x, y} y tiene peso
igual a 5, determina la distancia mı́nima que puede recorrer un robot que se mueve por
la red ponderada GK2 desde el nodo (a, x) hasta el nodo (g, y). Determina, además, un
ciclo de longitud mı́nima entre todos los ciclos de G2 = GK2 que contienen los vértices
(a, x) y (g, y).
Solución: Según la tabla, en el grafo G la ruta mas corta de a hasta g es a − b − f − g. Por
lo tanto, en GK2 una ruta de coste mı́nimo de (a, x) hasta (g, y) es (a, x) − (b, x) − (f, x) −
(g, x) − (g, y). Otra ruta es (a, x) − (a, y) − (b, y) − (f, y) − (g, y). Como ambas rutas tienen
longitud mı́nima y sólo comparten el vértice inicial y final, el ciclo buscado es:
(a, x) − (b, x) − (f, x) − (g, x) − (g, y) − (f, y) − (b, y) − (a, y) − (a, x)
La distancia de (a, x) a (g, y) es igual a dG (a, g) + dK2 (x, y) = 12 + 5 = 17.

Ejercicio 134. Considera el grafo G de la figura.


Distancias en Grafos 154
4 9

5
8

2 3

6 7

(a) Aplica el algoritmo BFS para determinar un árbol generador de G. En la tabla del
algoritmo sólo considera 3 columnas: una para los vértices visitados que refleje la
estructura de datos Q, una para las aristas añadidas, y otra con la lista de aristas
incluidas, que al final contendrá las aristas del árbol generador.

(b) Calcula el mı́nimo número de aristas que debemos eliminar de (GP3 )c para obtener
un subgrafo conexo que contenga un solo ciclo.

(c) Determina el diámetro de H = (GP5 ) (K100,23 + P99 ).

(d) ¿Cuántas aristas debemos eliminar de G  K5 para obtener un subgrafo de medida


igual a 5m(G)?

(e) Determina si la siguiente afirmación es cierta o falsa. Existe un grafo cuya secuencia
de grados es 6,3,3,3,3,3,3,3,3, pero no es subgrafo de G.

(f) Determina el máximo valor de n tal que el grafo lı́nea de G tiene un subgrafo isomorfo
a Kn .

(g) ¿Qué aristas eliminarı́as de G para obtener un grafo bipartito del mismo orden de
G?

Solución:
(a) La siguiente tabla muestra los pasos del algoritmo BFS para determinar el árbol generador
de G.
Distancias en Grafos 155

Q Aristas añadidas A(T )


1 - ∅
12 {1, 2} {{1, 2}}
123 {1, 3} {{1, 2}, {1, 3}}
1234 {1, 4} {{1, 2}, {1, 3}, {1, 4}}
12345 {1, 5} {{1, 2}, {1, 3}, {1, 4}, {1, 5}}
123458 {1, 8} {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}}
1234589 {1, 9} {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}}
234589 - {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}}
2345896 {2, 6} {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}, {2, 6}}
23458967 {2, 7} {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}, {2, 6}, {2, 7}}
3458967 - {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}, {2, 6}, {2, 7}}
458967 - {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}, {2, 6}, {2, 7}}
58967 - {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}, {2, 6}, {2, 7}}
8967 - {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}, {2, 6}, {2, 7}}
967 - {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}, {2, 6}, {2, 7}}
67 - {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}, {2, 6}, {2, 7}}
7 - {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}, {2, 6}, {2, 7}}
∅ - {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 8}, {1, 9}, {2, 6}, {2, 7}}

(b) La medida de GP3 es m(GP3 ) = 3m(G) + 2n(G) = 3 · 18 + 2 · 9 = 72, de ahı́ que la


medida del complementario es 27 c
2 − 72 = 279. Todo árbol generador de (GP3 ) tiene 26
aristas, ası́ que podemos eliminar 279 − 27 = 252 aristas.

(c) El diámetro de H es D(H) = D(GP5 ) + 2 = D(G) + 6 = 8.

(d) Debemos eliminar 2m(G)m(K5 ) + n(G)m(K5 ) = 2 · 18 · 10 + 9 · 10 = 450 aristas.

(e) Cierto. Al aplicar el algoritmo de Havel-Hakimi comprobamos que la secuencia es gráfica:


6,3,3,3,3,3,3,3,3
2,2,2,2,2,2,3,3
3,3,2,2,2,2,2,2
2,1,1,2,2,2,2
2,2,2,2,2,1,1
1,1,2,2,1,1
2,2,1,1,1,1
1,0,1,1,1
Esta última secuencia es gráfica, corresponde a K2 ∪K2 ∪K1 . Para ver que no hay subgrafos
de G con la secuencia de grados del enunciado, tomamos un vértice de grado 6, que por
simetrı́a puede ser el 1. Lo demás vértices del subgrafo deben tener grado 3, pero esto
es imposible ya que a los vértices 2 y 3 sólo le podemos eliminar una arista, la 2 − 3, si
borramos otra arista incidente a 2 o a 3, entonces obtenemos vértices de grado 2, lo que
es una contradicción.
Distancias en Grafos 156

(f) El valor de n es 6, el grado máximo de G. Nótese que las aristas incidentes a un vértice v
de G determinan un subgrafo de L(G) isomorfo a Kδ(v) .

(g) Debemos eliminar todos los ciclos de longitud impar. Por ejemplo, podemos eliminar las
aristas 2 − 3, 6 − 7, 1 − 5, 2 − 4, 1 − 8 y 3 − 9.

Ejercicio 135. Considerar una red de transporte definida por el grafo siguiente:

0 7

2 4 6 4

5 1
1 2 3

4 3
1
4 5

2 5 4

8 6

Suponiendo que el peso de cada arista representa la distancia entre puntos de la red,
aplica un algoritmo para determinar la distancia mı́nima entre el punto 0 y los demás
puntos de la red. Determina, además, los caminos mı́nimos a recorrer.
Solución: La tabla siguiente muestra los pasos del algoritmo de Dijkstra:
0 1 2 3 4 5 6 7 8
(0,0) (∞,0) (∞,0) (∞,0) (∞,0) (∞,0) (∞,0) (∞,0) (∞,0)
(0,0)∗ (2,0) (4,0) (6,0) (∞,0) (∞,0) (∞,0) (∞,0) (∞,0)
(0,0) (2,0)∗ (4,0) (6,0) (∞,0) (∞,0) (∞,0) (∞,0) (∞,0)
(0,0) (2,0) (4,0)∗ (5,2) (8,2) (∞,0) (∞,0) (∞,0) (∞,0)
(0,0) (2,0) (4,0) (5,2)∗ (8,2) (8,3) (∞,0) (9,3) (∞,0)
(0,0) (2,0) (4,0) (5,2) (8,2)∗ (8,3) (13,4) (9,3) (10,4)
(0,0) (2,0) (4,0) (5,2) (8,2) (8,3)∗ (12,5) (9,3) (10,4)
(0,0) (2,0) (4,0) (5,2) (8,2) (8,3) (12,5) (9,3)∗ (10,4)
(0,0) (2,0) (4,0) (5,2) (8,2) (8,3) (12,5) (9,3) (10,4)∗
(0,0) (2,0) (4,0) (5,2) (8,2) (8,3) (12,5)∗ (9,3) (10,4)

La distancia del punto 0 a los demás puntos está en la última fila de la tabla. Los caminos
mı́nimos son: 0 − 1, 0 − 2, 0 − 2 − 3, 0 − 2 − 3 − 7, 0 − 2 − 4, 0 − 2 − 4 − 8, 0 − 2 − 3 − 5,
0−2−3−5−6
Distancias en Grafos 157

Ejercicio 136. Determina la longitud de la ruta más larga entre todas las rutas de
longitud mı́nima de GK2 . Se sabe que en un paso intermedio del algoritmo de Floyd
(aplicado al grafo G) hemos obtenido la matriz
 
0 4 3 9 5 10 15
 4 0 4 5 1 6 11 
 
 3 4 0 6 5 10 12 
 
d5 = 
 9 5 6 0 4 4 6 .

 5 1 5 4 0 6 10 
 
 10 6 10 4 6 0 2 
15 11 12 6 10 2 0

Considera que la arista del grafo ponderado K2 se denota por {x, y} y tiene peso igual
a 5.

Solución: Se trata de determinar el diámetro del grafo ponderado GK2 . Continuando el


algoritmo de Floyd aplicado al grafo G se obtienen las siguientes matrices:
   
0 4 3 9 5 10 12 0 4 3 9 5 10 12

 4 0 4 5 1 6 8  

 4 0 4 5 1 6 8  

 3 4 0 6 5 10 12 


 3 4 0 6 5 10 12 

6
d = 9 5 6 0 4 4 6  7
d = 9 5 6 0 4 4 6 
   

 5 1 5 4 0 6 8  

 5 1 5 4 0 6 8  
 10 6 10 4 6 0 2   10 6 10 4 6 0 2 
12 8 12 6 8 2 0 12 8 12 6 8 2 0
De la última matriz deducimos que el diámetro de G es 12. Por lo tanto, el diámetro de
GK2 es D(GK2 ) = D(G) + 5 = 17.

Ejercicio 137. La siguiente matriz es la matriz de adyacencia de un grafo pondera-


do G cuyos vértices están etiquetados en orden alfabético partiendo del vértice A que
corresponde a la fila 1 y columna 1.
 
0 3 7 12 0 0
 3 0 2 0 3 0 
 
 7 2 0 7 0 4 
 12 0 7 0 0 2  .
 
 
 0 3 0 0 0 3 
0 0 4 2 3 0

(a) Aplica el algoritmo de Dijkstra partiendo del vértice A y determina un camino de


longitud mı́nima para ir del vértice A al vértice D.

(b) Aplica el algoritmo de Floyd para determinar la distancia entre cualquier par de
nodos de la red.
Distancias en Grafos 158

(c) Determina la excentricidad de cada vértice y determina, además, el radio y el diáme-


tro de la red.

(d) Determina el diámetro del grafo ponderado GH, donde H es un camino ponderado
de orden 4 cuyas aristas tienen peso 3.

Solución:

(a) La tabla siguiente muestra los pasos del algoritmo de Dijkstra:

A B C D E F
(0,A) (∞,A) (∞,A) (∞,A) (∞,A) (∞,A)
(0,A)∗ (3,A) (7,A) (12,A) (∞,A) (∞, A)
(0,A) (3,A)∗ (5,B) (12,A) (6,B) (∞,A)
(0,A) (3,A) (5,B)∗ (12,A) (6,B) (9,C)
(0,A) (3,A) (5,B) (12,A) (6,B)∗ (9,C)
(0,A) (3,A) (5,B) (11,F) (6,B) (9,C)∗
(0,A) (3,A) (5,B) (11,F)∗ (6,B) (9,C)

La distancia de A a D es 11 y el camino mı́nimo es A − B − C − F − D el peso de los


tramos es 3, 2, 4 y 2, respectivamente.

(b) Al aplicar el algoritmo de Floyd se obtiene la matriz


 
0 3 5 11 6 9

 3 0 2 8 3 6 
6
 5 2 0 6 5 4 
d = .

 11 8 6 0 5 2 
 6 3 5 5 0 3 
9 6 4 2 3 0

(c) Las excentricidades son: ε(A) = 11, ε(B) = 8, ε(C) = 6, ε(D) = 11, ε(E) = 6, ε(F ) = 9.
El radio de la red es r(G) = 6 y el diámetro es D(G) = 11.

(d) D(GH) = D(G) + D(H) = 11 + 9 = 20.


Capı́tulo 9

Árboles

9.1. Árboles: conceptos básicos


De acuerdo con la Definición 48, un árbol es un grafo conexo sin ciclos. Si eliminamos
la condición de conectividad, obtenemos un bosque, es decir, un bosque es un grafo
acı́clico.

Teorema 63. Si T = (V, E) es un grafo de orden n y medida m, entonces las propiedades


siguientes son equivalentes:

1. T es un árbol.

2. Entre cada par de vértices de T existe un único camino.

3. T es conexo y m = n − 1.

4. T es acı́clico y m = n − 1.

Demostración. 1) ⇔ 2) Si T es un árbol, entonces entre cada pareja de vértices hay


un camino. Puesto que T no contiene ningún ciclo, este camino tiene que ser único, ya
que si hubiera dos caminos diferentes C1 y C2 entre u y v entonces el recorrido C1 ∪ C2
serı́a cerrado y, por lo tanto, contendrı́a un ciclo. Recı́procamente, si entre cada pareja
de vértices de T existe un único camino, T es conexo y no contiene ciclos.
1) ⇔ 3) T es conexo por la propia definición de árbol. Demostraremos por inducción
que
m = n − 1. Para n = 1 el resultado es trivialmente cierto. Supongamos el resultado
cierto para todo árbol de orden k < n y vamos a demostrarlo para n. Sea T un árbol
de orden n y sea e = {u, v} una arista de T . Puesto que ya hemos probado que 1) ⇔
2) podemos afirmar que esta arista es el único camino que une los vértices u y v; y, por
lo tanto, el grafo T − e está formado exactamente por dos componentes conexas Tu , que
contiene u, y Tv , que contiene v. Cada una de estas componentes conexas es un árbol, ya
que es un subgrafo de T . Puesto que su orden es menor o igual que n, podemos aplicar

159
Árboles 160

la hipótesis de inducción a Tu y a Tv : m(Tu ) = n(Tu ) − 1 y m(Tv ) = n(Tv ) − 1. Por lo


tanto,
m = m(Tu ) + m(Tv ) + 1 = n(Tu ) − 1 + n(Tv ) − 1 + 1 = n − 1.
Recı́procamente, es necesario demostrar que si T es un grafo conexo de orden n y medida
n − 1 entonces T es acı́clico. Ya sabemos que un grafo conexo de orden n debe tener
un mı́nimo de n − 1 aristas. Si contuviera un ciclo, eliminando una arista del ciclo,
continuarı́a siendo conexo pero tendrı́a medida n − 2, que no es posible.
1) ⇔ 4) La implicación 1) ⇒ 4) se deduce directamente de la definición de árbol
y de la equivalencia anterior. Recı́procamente, debemos demostrar que si T es un grafo
acı́clico de orden n y medida n − 1 entonces T es conexo. Sean T1 , . . . , Tk (k ≥ 1) las
componentes conexas de T . Puesto que cada Ti no contiene ciclos y es conexo, será un
árbol y n(Ti ) = m(Ti ) − 1. Por lo tanto,
k
X k
X
n−1=m= m(Ti ) = (n(Ti ) − 1) = n − k
i=1 i=1

de esta última igualdad se deduce que k = 1 y, por lo tanto, T es conexo.

Definición 55. Una hoja de un árbol es un vértice de grado 1.

Proposición 64. Todo árbol con un mı́nimo de dos vértices tiene un mı́nimo de dos
hojas.

Demostración. Sea T = (V, E) un árbol de orden n y sea H el conjunto de las hojas.


Puesto que |E| = n − 1, por la fórmula de los grados tenemos:
X X X
2(n − 1) = 2|E| = δ(v) = δ(v) + δ(v) =
v∈V v∈H v6∈H
X X X
= 1+ δ(v) ≥ |H| + 2 = |H| + 2(n − |H|)
v∈H v6∈H v6∈H

Ası́, de la desigualdad anterior se deriva |H| ≥ 2.

Ejercicio 138. Demuestra que un bosque de orden n formado por k árboles tiene medida
n − k.
Solución: En efecto, el bosque G = (V, E) será reunión de las componentes conexas T1 , . . . , Tk
(k ≥ 1), que también son árboles. A cada una de ellas se les puede aplicar el resultado
m(Ti ) = n(Ti ) − 1 y, por lo tanto, podemos escribir
k k k
!
X X X
|E| = m(Ti ) = (n(Ti ) − 1) = n(Ti ) − k = n − k.
i=1 i=1 i=1

Ejercicio 139. Calcula el número de hojas de un árbol que tiene un vértice de grado 3,
tres vértices de grado 2 y el resto vértices de grado 1.
Árboles 161

Solución: Recordemos que si T = (V, E) es un árbol, entonces m = n − 1, siendo n el orden


y m la medida de T . Si x es el número de hojas, se cumple n = x + 3 + 1, y si se aplica la
fórmula de los grados se tiene:
X
x+3·2+3= δ(v) = 2(n − 1) = 2(x + 3 + 1 − 1) = 2x + 6,
v∈V

ası́, x = 3. La secuencia de grados es 3, 2, 2, 2, 1, 1, 1.

Ejemplo 145. Sea T = (V, E) un árbol de orden n = 9, que tiene tres vértices de grado
3, ¿cuál es la secuencia completa de grados?
Solución: Supongamos que V = {v1 , . . . , v9 } y que xi = δ(vi ), i = 1, . . . , 9 son los grados de
los vértices del árbol. La secuencia de grados es x1 , x2 , x3 , x4 , x5 , x6 , 3, 3, 3.
Por la fórmula de los grados tenemos,
X
16 = 2(n − 1) = 2|E| = δ(v) = x1 + x2 + x3 + x4 + x5 + x6 + 3 + 3 + 3
v∈V

De ahı́ que x1 + x2 + x3 + x4 + x5 + x6 = 7. Puesto que un árbol es conexo, no puede haber


vértices de grado 0, de donde resulta que x1 , x2 , x3 , x4 , x5 , x6 ≥ 1 y, en consecuencia, el valor
de estas incógnitas tiene que ser 1, excepto una que tiene que ser 2.
Por lo tanto, la secuencia completa es 3, 3, 3, 2, 1, 1, 1, 1, 1.

Ejercicio 140. Sea T = (V, E) un árbol de orden n ≥ 2.


X
(a) Prueba que el número de vértices de grado 1 es 2 + (δ(v) − 2)
δ(v)≥3

(b) Si todos los vértices de T que no son de grado 1 son de grado 4. Prueba que el
número de vértices de grado 1 es 2x4 + 2, siendo x4 el número de vértices de grado
4.
Solución:
(a) Sea x1 el número de hojas de T , x2 el número de vértices de grado 2, y sea x3 el número
de vértice de grado mayor o igual que 3. Según la fórmula de los grados tenemos,
X
2m = δ(v)
v∈V
X
2(n − 1) = δ(v)
v∈V
X
2(x1 + x2 + x3 − 1) =x1 + 2x2 + δ(v)
δ(v)≥3
X
x1 =2 − 2x3 + δ(v)
δ(v)≥3
X
x1 =2 + (δ(v) − 2).
δ(v)≥3
Árboles 162

(b) Como antes, sea x1 el número de hojas de T . Según la fórmula de los grados 2(n − 1) =
x1 + 4x. Como n = x1 + x4 , obtenemos x1 = 2x4 + 2.

Ejercicio 141. Considera un grafo conexo G de medida 20 que tiene un vértice de grado
5, tres vértices de grado 4, dos de grado 3, dos de grado 2 y los demás vértices tienen
grado 1.

(a) Calcula el orden de G.

(b) Calcula el número de ciclos de G.

(c) ¿Es G bipartito? Justifica tu respuesta.

(d) Calcula la medida del complementario de G.

Solución:
(a) Sea x el número de vértices de grado 1 de G. El orden de G es n = 1 + 3 + 2 + 2 + x.
Aplicando la fórmula de los grados tenemos
1·5+3·4+2·3+2·2+x·1
20 = .
2
De ahı́ que x = 13 y n = 21.

(b) G es conexo y tiene medida m = n − 1. Por consiguiente, G es un árbol, no tiene ciclos.

(c) G es bipartito ya que es un árbol.


21

(d) La medida del complementario de G es 2 − 20 = 190.

9.2. Árbol generador minimal


Definición 56. Dado un grafo ponderado
P (G, w) y un árbol generador T de G definimos
el peso del árbol T como w(T ) = e∈E(T ) w(e). Un árbol generador minimal de G
es un árbol generador T de G de peso w(T ) mı́nimo.
Si G no es conexo, entonces podemos hablar del bosque generador minimal de
G como aquel que tiene peso mı́nimo entre todos los bosques generadores de G.

Algoritmo de Kruskal
Para construir el árbol generador minimal se empieza con un “árbol vacı́o”; durante
todo el proceso un subgrafo se incrementa con nuevas aristas de la manera siguiente:
en cada etapa del proceso se añade una arista que no forme ciclo con las escogidas
previamente. Para garantizar la minimalidad, se elige, de entre las posibles, la arista de
peso mı́nimo (no necesariamente adyacente a alguna arista previamente incorporada).
El proceso acaba cuando se han incorporado n − 1 aristas.
Árboles 163

Formulación del algoritmo de Kruskal


Entrada: un grafo ponderado conexo (G, w) de orden n.
Salida: un árbol generador minimal T de G.
Algoritmo:
inicio
k ← 1, T = (V, E 0 ), E 0 = ∅
mientras k ≤ n − 1
Elegir la arista e ∈ E de peso mı́nimo, no escogida anteriormente
de manera que el subgrafo T = (V, E 0 ∪ e) sea acı́clico.
Añadir e a E 0 .
k ←k+1
finmientras
retorno(T )
fin.

Implementación del algoritmo de Kruskal


Para implementar el algoritmo de Kruskal se necesita mantener una lista ordenada
por el peso de las aristas del grafo y una estructura que permita comprobar, de manera
eficiente, que no se forman ciclos.
Intuitivamente, el algoritmo mantiene un bosque. En un principio, existen |V | árboles
de un solo vértice. Cuando añadimos una arista se combinan dos árboles en uno. Cuando
acaba el algoritmo sólo existe un árbol, el árbol generador minimal.
Estructuras necesarias para la implementación del algoritmo:
Un grafo ponderado y conexo (G, w) representado mediante una lista de adyacen-
cias.
Una lista de aristas, X, ordenada según su peso.
Una estructura denominada unión-búsqueda de conjuntos. En principio, cada
vértice forma un conjunto (que sólo contiene este vértice). Cuando se analiza una
arista {u, v}, se efectúa una búsqueda para localizar el conjunto de u y el de v.
Si u y v están en el mismo conjunto, la arista no es aceptada porque u y v ya
están conectados y, añadiendo la arista {u, v}, formarı́a un ciclo. De lo contrario,
la arista es aceptada y se ejecuta la unión de los dos conjuntos que contienen u y
v para formar un nuevo árbol.
Ası́ las dos operaciones que se deben realizar son:
• búsqueda(U, u), devuelve el representante del árbol que contiene u.
• unión(U, x, y), unión de los árboles que tienen como representantes x, y para
formar un nuevo árbol.
Árboles 164

Un árbol T que contendrá el árbol generador minimal.

Entrada: (G, w) conexo y ponderado de orden n


Salida: T el árbol generador minimal de G
Algoritmo: Kruskal (G)
Inicio
U =estructura unión-búsqueda
X=lista de aristas ordenadas por peso en orden ascendente
T ← (V, E 0 ), E 0 ← ∅
k←1
i←1
mientras (k < n)
Sea {u, v} la arista X[i]
x ← búsqueda (U, u)
y ← búsqueda (U, v)
si (x 6= y)
E 0 ← E 0 ∪ {u, v}
k ←k+1
unión (U, x, y)
finsi
i←i+1
finmientras
retorno (T )
fin

Ejercicio 142. Aplica el algoritmo de Kruskal para encontrar el árbol generador minimal
del grafo de la figura:
2
1 2
4 1 3 10
2 2
3 4 5
5 8 4 6
1
6 7

Solución: En este caso sólo hace falta hacer una lista de las aristas de menos peso a más
peso (en caso de igualdad, se escriben primero las que están formadas por vértices de número
menor).
Árboles 165
Aristas Pesos
{1, 4} 1
{6, 7} 1
{1, 2} 2
{3, 4} 2
{4, 5} 2
{2, 4} 3
{1, 3} 4
{4, 7} 4
{3, 6} 5
{5, 7} 6
{4, 6} 8
{2, 5} 10

Tenemos que elegir las 6 primeras aristas (porque hay 7 vértices) que no formen ningún
ciclo. Las marcaremos con un asterisco; las aristas descartadas porque forman ciclo las marca-
remos en negrilla.

Aristas Pesos
{1, 4}∗ 1
{6, 7}∗ 1
{1, 2}∗ 2
{3, 4}∗ 2
{4, 5}∗ 2
{2, 4}
{1, 3}
{4, 7}∗ 4
{3, 6}
{5, 7}
{4, 6}
{2, 5}

Por lo tanto, el árbol generador minimal estará formado por las aristas: {1, 4}, {6, 7},
{1, 2}, {3, 4}, {4, 5}, {4, 7} con un peso total 12 .

Formulación del algoritmo de Prim


Entrada: un grafo ponderado conexo (G, w) de orden n.
Salida: un árbol generador minimal T de G.
Algoritmo:
inicio
k ← 1, T = (V, E 0 ), E 0 = ∅
mientras k ≤ n − 1
Elegir la arista a ∈ E de peso mı́nimo, no escogida anteriormente,
Árboles 166

adyacente a alguna arista de E 0 y


tal que el subgrafo T = (V, E 0 ∪ a) sea acı́clico.
Añadir a a E 0 .
k ←k+1
finmientras
retorno(T )
fin.

Implementación del algoritmo de Prim


El algoritmo de Prim construye el árbol generador haciendo crecer un solo árbol en
pasos sucesivos. Empieza escogiendo cualquier vértice como vértice inicial. En cada paso
añadimos la arista de peso mı́nimo que conecta un vértice del árbol con uno de fuera.
La implementación del algoritmo de Prim es esencialmente idéntica a la del algoritmo
de Dijkstra para encontrar la distancia entre dos vértices. Sólo se debe modificar la regla
de actualización.
Estructuras necesarias para la implementación del algoritmo:

Un grafo ponderado (G, w) representado mediante una lista de adyacencias.

Un conjunto U de los vértices que se han visitado, en el orden en que se ha hecho.

Una tabla de pesos, X(·), indexada por los vértices de G, que registra el peso de
la arista de peso mı́nimo que conecta un vértice v con un vértice ya visitado.

Al final, la tabla X(·) registra los pesos de las aristas que forman parte del árbol
generador minimal.

En cada paso se fija la etiqueta de uno de los vértices del grafo. Ası́, tras n pasos
habremos calculado el árbol generador minimal.
Algoritmo de Prim
Entrada (G, w) de orden n
T , el árbol generador minimal de G
algoritmo Prim(G)
inicio
Seleccionamos un vértice inicial u0 ∈ V
U ←∅
para v ∈ V \{u0 }
X(v) ← ∞
Etiquetamos v con (X(v), u0 )
finpara
X(u0 ) ← 0
Etiquetamos u0 con (0, u0 )
Árboles 167

T ← (V, E 0 ), E 0 ← ∅
para i ← 1 hasta n
ui vértice que alcanza el mı́n{X(v) | v ∈ V − U }
U ← U ∪ {ui }
E 0 ← E 0 ∪ {x, ui } /*donde (X(ui ), x) es la etiqueta de ui */
para v ∈ V − U adyacente a ui
si w(ui , v) < X(v)
entonces X(v) ← w(ui , v)
Etiquetamos v con (X(v), ui )
finsi
finpara
finpara
retorno (T )
fin

Ejercicio 143. Aplica el algoritmo de Prim para determinar el árbol generador minimal
del grafo
4
G B
8 2 6 9
2 2
F A C
9 8 7 9
2
E D

Solución: Si se elige como vértice inicial el vértice B, se obtiene la siguiente tabla:


A B C D E F G
(∞,B) (0,B) (∞,B) (∞,B) (∞,B) (∞,B) (∞,B)
(6,B) (0,B)* (9,B) (∞,B) (∞,B) (∞,B) (4,B)
(2,G) (0,B) (9,B) (∞,B) (∞,B) (8,G) (4,B)*
(2,G)* (0,B) (2,A) (7,A) (8,A) (2,A) (4,B)
(2,G) (0,B) (2,A)* (7,A) (8,A) (2,A) (4,B)
(2,G) (0,B) (2,A) (7,A) (8,A) (2,A)* (4,B)
(2,G) (0,B) (2,A) (7,A)* (2,D) (2,A) (4,B)
(2,G) (0,B) (2,A) (7,A) (2,D)* (2,A) (4,B)

Expresamos el árbol generador en el siguiente formato: arista=peso:


{G, A} = 2, {A, C} = 2, {A, D} = 7, {D, E} = 2, {A, F } = 2 y {B, G} = 4. Por lo tanto, el
árbol generador tiene peso 17.

Ejercicio 144. Aplica el algoritmo de Prim, partiendo del vértice B, al grafo ponderado
de vértices A, B, C, D, E, y F , cuya matriz de adyacencias es
Árboles 168
 
0 8 4 0 2 0
8 0 3 0 6 0
 
4 3 0 7 0 6
 
0 0 7 0 9 3
 
2 6 0 9 0 4
0 0 6 3 4 0
Solución: La siguiente tabla muestra los pasos del algoritmo.
A B C D E F
(∞,B) (0,B) (∞,B) (∞,B) (∞,B) (∞,B)
(8,B) (0,B)* (3,B) (∞,B) (6,B) (∞,B)
(4,C) (0,B) (3,B)* (7,C) (6,B) (6,C)
(4,C)* (0,B) (3,B) (7,C) (2,A) (6,C)
(4,C) (0,B) (3,B) (7,C) (2,A)* (4,E)
(4,C) (0,B) (3,B) (3,F) (2,A) (4,E)*
(4,C) (0,B) (3,B) (3,F)* (2,A) (4,E)

Expresamos el árbol generador en el siguiente formato: arista=peso:


{C, A} = 4, {B, C} = 3, {F, D} = 3, {A, E} = 2, {E, F } = 4. Por lo tanto, el árbol generador
tiene peso 16.

Ejercicio 145. Aplica el algoritmo de Prim, partiendo del vértice A, al grafo ponderado
de vértices A, B, C, D, E, y F , cuya matriz de adyacencias es
 
0 8 0 0 5 0
8 0 7 2 2 0
 
0 7 0 8 0 3
 
0 2 8 0 0 4
 
5 2 0 0 0 9
0 0 3 4 9 0
Solución: La siguiente tabla muestra los pasos del algoritmo.
A B C D E F
(0,A) (∞,A) (∞,A) (∞,A) (∞,A) (∞,A)
(0,A)* (8,A) (∞,A) (∞,A) (5,A) (∞,A)
(0,A) (2,E) (∞,A) (∞,A) (5,A)* (9,E)
(0,A) (2,E)* (7,B) (2,B) (5,A) (9,E)
(0,A) (2,E) (7,B) (2,B)* (5,A) (4,D)
(0,A) (2,E) (3,F) (2,B) (5,A) (4,D)*
(0,A) (2,E) (3,F)* (2,B) (5,A) (4,D)

Expresamos el árbol generador en el siguiente formato: arista=peso:


{E, B} = 2, {F, C} = 3, {B, D} = 2, {A, E} = 5, {D, F } = 4. Por lo tanto, el árbol generador
tiene peso 16.
Árboles 169

9.3. Exploración de árboles binarios


Definición 57. Sea T = (V, E) un árbol.

T es un árbol con raı́z si uno de sus vértices ha sido designado como la raı́z.

El nivel de un vértice de un árbol con raı́z es la longitud del único camino que va
desde la raı́z hasta él. El nivel de la raı́z es 0.

Todo vértice de un árbol con raı́z que no es una hoja es un vértice interno.

Si en un árbol con raı́z v es el vértice que precede inmediatamente a w en el camino


de la raı́z hasta w, entonces v es el padre de w y w es un hijo o descendiente
de v.

Un árbol m-ario es un árbol con raı́z en el que cada vértice interno tiene a lo sumo
m descendientes. Un árbol 2-ario se suele llamar árbol binario.

Un árbol m-ario completo es un árbol m-ario en el que cada vértice interno tiene
m descendientes y todas las hojas tienen el mismo nivel.

Ejemplo 146. El árbol de la figura es un árbol binario.

2 3

4 5 6 7

8 9 10 11

La raı́z es el vértice etiquetado con un 1. La raı́z tiene dos hijos con etiquetas 2 y
3, que son raı́ces de dos subárboles:

2 3

4 5 6 7

8 9 10 11

De manera recursiva también podrı́amos considerar los subárboles de raı́z 4, 5, 6,...

Ejercicio 146. Dado un árbol m-ario completo T de orden 2396745, calcula el valor de
m sabiendo que T tiene 2097152 hojas.
Árboles 170

Solución: Sea r el nivel de las hojas de T . El orden de T es


mr+1 − 1
1 + m + m2 + m3 + · · · + mr = = 2396745.
m−1
De ahı́ que mr+1 = 2396745m − 2396744 y dividiendo por m se obtiene
2396744
mr = 2396745 − .
m
Como el número de hojas de T es mr = 2097152, al sustituir se obtiene m = 8.
En el caso concreto de los árboles binarios, hay tres formas básicas de explorar todos
sus vértices: los denominados recorrido en preorden, recorrido en inorden y recorrido en
postorden. Los tres recorridos se distinguen básicamente en la forma como se exploran
los dos hijos de cada vértice. Antes de estudiarlos se tiene que introducir la notación
siguiente: T es el árbol binario de raı́z r, T1 y T2 son los subárboles de raı́ces v1 y v2
inducidos por los hijos de la raı́z r. Dichos recorridos se definen de manera recursiva de
la siguiente forma.
Recorrido en preorden de T :
1. Explorar la raı́z r.
2. Explorar el subárbol T1 en preorden.
3. Explorar el subárbol T2 en preorden.
Recorrido en inorden de T :
1. Explorar el subárbol T1 en inorden.
2. Explorar la raı́z r.
3. Explorar el subárbol T2 en inorden.
Recorrido en postorden de T :
1. Explorar el subárbol T1 en postorden.
2. Explorar el subárbol T2 en postorden.
3. Explorar la raı́z r.
Ejercicio 147. Determina los diferentes recorridos del árbol

2 3

4 5 6 7

8 9 10 11
Árboles 171

Solución: Los recorridos son:

Preorden: 1, 2, 4, 5, 8, 9, 3, 6, 7, 10, 11;

Inorden: 4, 2, 8, 5, 9, 1, 6, 3, 10, 7, 11;

Postorden: 4, 8, 9, 5, 2, 6, 10, 11, 7, 3, 1.

Ejercicio 148. Encontrar los recorridos en preorden, inorden y postorden del árbol de
la expresión aritmética (a + b ∗ c)/(d + eˆf ).
Solución: El árbol de la expresión es

+ +

a * d ∧

b c e f

Los tres recorridos son:

Preorden: / + a ∗ b c + d ˆ e f .

Inorden: a + b ∗ c / d + e ˆ f

Postorden: a b c ∗ + d e f ˆ + /

Para las expresiones aritméticas el recorrido en preorden da lugar a un tipo de repre-


sentación de la expresión denominado notación prefija (o notación polaca, introducida
por el lógico Jan Lukasiewicz). El recorrido en inorden da lugar a la notación infija (que
coincide con la convencional sin paréntesis). Finalmente, el recorrido en postorden da
lugar a la notación postfija (o también polaca inversa).
Las notaciones prefija y postfija son especialmente adecuadas para evaluar expre-
siones aritméticas. Los compiladores son los encargados de transformar las expresiones
convencionales a la notación prefija o postfija, según los casos. También se encargan
de evaluar de manera eficiente las expresiones a partir de estas representaciones con la
ayuda de una pila.

Ejercicio 149. Representa la expresión aritmética g/((a + (b × c)) − d) mediante un


árbol binario. Determina los recorridos en preorden y postorden del árbol binario.

Solución: El árbol binario de la expresión aritmética es


Árboles 172

g -

+ d

a x

b c

Recorrido en preorden: / g − + a × b c d.
Recorrido en postorden: g a b c × + d − /.
Ejercicio 150. Determina los recorridos en preorden, inorden y postorden del árbol de
la expresión aritmética que corresponde al número de palabras de longitud máxima r,
sobre un alfabeto de n elementos.
Solución: El número de palabras de longitud máxima r, sobre un alfabeto de n elementos
nr+1 −1
es n−1 . Los recorridos son:
Preorden: / − ∧ n + r 1 1 − n 1
Inorden: n ∧ r + 1 − 1 / n − 1
Postorden: n r 1 + ∧ 1 − n 1 − /
Ejercicio 151. Determina los recorridos en preorden, inorden y postorden del árbol de
la expresión aritmética (a+b/c)∗(d∗ (e+f)+g).
Solución: Los recorridos son:
Preorden, ∗ + a / b c + ∗ d + e f g
Inorden, a + b / c ∗ d ∗ e + f + g
Postorden, a b c / + d e f + ∗ g + ∗
Ejercicio 152. Etiqueta los vértices del siguiente árbol de modo que el recorrido en
preorden sea MATEMATICA DISCRETA.
Árboles 173

Solución: La disposición de las etiquetas en en el árbol es:

A D

T I I R

E M C A S C E A

A T T

Ejercicio 153. Determina la frase que se obtiene al recorrer el siguiente árbol en postor-
den.

D R

S N A I

V O E O E M E A

V I I M E N L F O D U N R D

Solución: La frase es: VIVIMOS EN EL FONDO DE UN MAR DE AIRE.


Capı́tulo 10

Grafos eulerianos y grafos


hamiltonianos

En este capı́tulo estudiaremos dos problemas clásicos de exploración de grafos:

Recorrer todas las aristas del grafo retornando al vértice de partida sin haber
repetido aristas (circuito euleriano).

Recorrer todos los vértices del grafo retornando al vértice de partida sin haber
repetido vértices (ciclo hamiltoniano).

10.1. Grafos eulerianos


En el siglo XVIII la antigua ciudad de Königsberg (en Prusia oriental) estaba
dividida en cuatro zonas por el rı́o Pregel. Siete puentes comunicaban estas zonas tal y
como muestra el gráfico siguiente:

Ciudad de Königsberg

174
Grafos eulerianos y grafos hamiltonianos 175

Uno de los entretenimientos de los ciudadanos de Königsberg consistı́a en buscar un


recorrido que atravesara cada puente una vez, volviendo a su punto exacto de partida.
En términos de grafos este entretenimiento es equivalente a buscar un recorrido que pase
por cada arista del multigrafo G exactamente una vez.
A

B D

Leonard Euler probó que no existı́a un recorrido que cumpliera estas condiciones y
caracterizó los grafos (multigrafos) que sı́ lo contienen: éstos son los grafos eulerianos.

Definición 58. En un grafo (multigrafo) G = (V, E)

Un circuito euleriano es un circuito que pasa por todas las aristas del grafo. Si
un grafo admite un circuito de estas caracterı́sticas, se denomina grafo euleriano.

Un recorrido euleriano es un recorrido abierto que contiene todas las aristas del
grafo sin repetición. Si un grafo admite un recorrido de estas caracterı́sticas, se
denomina grafo semieuleriano.

Teorema 65. Un grafo es euleriano si y sólo si todos los vértices tienen grado par.

Demostración.

1. Supongamos que el grafo es euleriano y probemos que el grado de todo vértice es


par. Sea Q un circuito euleriano que, en la medida que contiene todas las aristas,
pasa por todos los vértices; sea v un vértice cualquiera, que tiene que pertenecer
a Q, y que eventualmente puede estar repetido. Cada aparición del vértice en
el circuito contribuye en dos unidades al grado del vértice (tenemos que contar
la arista por la que “llegamos”, que se utiliza por primera vez puesto que no se
pueden repetir aristas, y tenemos que “salir” por una arista aún no utilizada); la
contribución es de dos unidades porque las aristas adyacentes que figuran en la
secuencia no han estado utilizadas anteriormente; si k es el número de apariciones
del vértice, entonces el grado es g(v) = 2k, es decir, par.

2. Supongamos que el grado de todo vértice es par y vamos a probar que el grafo es
euleriano. Tenemos que encontrar un circuito euleriano en el grafo G.
Seleccionamos un vértice arbitrario v y formamos un circuito Q que se inicia en v
tal como se indica a continuación. Si empezamos por v, cada vez que se alcanza
Grafos eulerianos y grafos hamiltonianos 176

un vértice se selecciona una arista que sea incidente y que no haya sido utilizada
anteriormente; continuamos con el otro vértice extremo. Puesto que el grado es par,
en cada vértice disponemos de una arista de salida para cada arista de llegada; la
única excepción a esta regla es la del vértice inicial v, donde se ha utilizado una
arista de salida sin haber utilizado ninguna de entrada y, por lo tanto, si se llega
a un vértice que ya no tiene más aristas con las que continuar el recorrido Q, este
vértice es el inicial v.
Cuando esto pasa hay dos posibilidades. Una es que Q ya contenga todas las
aristas del grafo, en cuyo caso ya hemos acabado y éste es el circuito euleriano
que querı́amos construir. La otra posibilidad es que no contenga todas las aristas.
En este caso hemos construido un circuito en el grafo y entonces, por conexión,
algún vértice del circuito es incidente con alguna otra arista no incluida en Q;
este vértice se puede utilizar como punto de partida para la construcción de un
nuevo circuito Q0 que no contiene aristas de Q y que devuelve al vértice de partida,
puesto que en G − Q cada vértice es todavı́a de grado par. La unión Q ∪ Q0 es un
circuito; si contiene todas las aristas, hemos acabado. De lo contrario, se repite el
proceso hasta obtener un circuito euleriano (el proceso acaba debido a que el grafo
es finito).

Ejemplo 147. La primera figura corresponde a un grafo euleriano y la segunda a un


grafo semieuleriano.

Corolario 66. Un grafo es semieuleriano si y sólo si tiene exactamente dos vértices de


grado impar.

Demostración. Si G contiene un recorrido euleriano u − v entonces el grado de todos


los vértices de G diferentes de u y v será un número par (con el mismo razonamiento
utilizado para los circuitos eulerianos) y el grado de u y v será impar.
Si G contiene exactamente dos vértices u y v de grado impar, entonces el multigrafo
G + uv es conexo y tiene todos los vértices de grado par. Por lo tanto, si aplicamos el
teorema anterior, G + uv contiene un circuito euleriano C. Si eliminamos de este circuito
C la arista {u, v} obtendremos un u − v recorrido euleriano en el grafo G.

Teorema 67. Un grafo conexo no trivial G es euleriano si y sólo si el conjunto de


aristas puede ser particionado en ciclos.
Grafos eulerianos y grafos hamiltonianos 177

Demostración. Sea G euleriano. Como G es no trivial, cada vértice tiene grado par
mayor o igual que 2, por lo que G contiene algún ciclo C. Al borrar todas las aristas
de C, se obtiene un subgrafo G1 de G que no tiene vértices de grado impar. Si G1 es
nulo, entonces el conjunto de aristas de G forma el ciclo C. Si G1 no es nulo, entonces
aplicando el razonamiento de antes obtenemos un ciclo C1 , y borrando las aristas de C1
obtenemos un subgrafo G2 de G1 que no tiene vértices de grado impar. Continuando
este proceso hasta obtener un grafo Gk nulo, se obtienen una partición de las aristas de
G en ciclos.
Supongamos ahora que conjunto de aristas de G puede ser particionado en ciclos.
Sea C un ciclo de la partición. Si G ∼= C, entonces G es euleriano. En caso contrario,
tomamos un ciclo C1 que tenga un vértice v1 en común con C. El recorrido que parte de
v1 , recorre C y luego recorre C1 es un circuito que contiene todas las aristas de C y C1 .
Continuando este proceso obtenemos un circuito euleriano de G.
El algoritmo resultante del teorema anterior (primeramente atribuido a Hierholzer,
1873) construye un circuito euleriano a partir de la concatenación de circuitos disjuntos,
es decir, sin aristas en común.

Formulación del algoritmo de Hierholzer


Entrada: un grafo conexo y euleriano G = (V, A) de orden n y un vértice inicial
s ∈ V.
Salida: un circuito euleriano C de G representado como una lista de vértices.
Algoritmo CircuitoEuleriano (G, s)
Inicio
C ← {s}
Mientras A 6= ∅
v ← VérticeGradoPositivo(G, C)
C 0 ← Circuito(G, v)
C ← Concatenar(C, C 0 , v)
G ← G − C0
Finmientras
Retorno (C)
fin
En el algoritmo se han utilizado las siguientes funciones:

VérticeGradoPositivo(G, C) devuelve el primer vértice de C que tiene grado posi-


tivo en el grafo G.
Circuito(G, v) devuelve un circuito C 0 construido en el grafo G a partir del vértice
v.
Concatenar (C, C 0 , v) devuelve el circuito que se obtiene de sustituir la primera
aparición del vértice v en el circuito C por la totalidad del circuito C 0 .
Grafos eulerianos y grafos hamiltonianos 178

La instrucción G ← G − C 0 elimina de G las aristas del circuito C 0 .

Simulación del algoritmo de Hierholzer


Ejercicio 154. Considera el grafo euleriano definido por el gráfico siguiente:
D

E F G C

J H

I
A B

Solución: Al aplicar el algoritmo de Hierholzer obtenemos la siguiente tabla:

Iteración v C0 C
0 A {A}
1 A {A, B, I, A} {A, B, I, A}
2 A {A, E, J, A} {A, E, J, A, B, I, A}
3 B {B, C, H, B} {A, E, J, A, B, C, H, B, I, A}
4 C {C, D, G, C} {A, E, J, A, B, C, D, G, C, H, B, I, A}
5 D {D, E, F, D} {A, E, J, A, B, C, D, E, F, D, G, C, H, B, I, A}
6 F {F, G, H, I, J, F } {A, E, J, A, B, C, D, E, F, G, H, I, J, F, D, G, C, H, B, I, A}
Ası́, el circuito euleriano obtenido es

C = {A, E, J, A, B, C, D, E, F, G, H, I, J, F, D, G, C, H, B, I, A}.

Ejercicio 155. Aplica el algoritmo de Hierholzer para determinar un circuito euleriano


del grafo de la figura.
b a c

f d

Solución: Al aplicar el algoritmo de Hierholzer obtenemos la siguiente tabla:


Grafos eulerianos y grafos hamiltonianos 179

Iteración v C0 C
0 a {a}
1 a {a, b, f, a} {a, b, f, a}
2 a {a, c, d, a} {a, c, d, a, b, f, a}
3 d {d, e, f, d} {a, c, d, e, f, d, a, b, f, a}
Ası́, el circuito euleriano obtenido es {a, c, d, e, f, d, a, b, f, a}

Análisis del algoritmo de Hierholzer


En el algoritmo de Hierholzer se pueden distinguir las siguientes operaciones:

1. Elegir un vértice v de grado positivo en la lista C. Ésta es una operación lineal en


la medida de C. C contendrá, como máximo, n vértices diferentes. Por lo tanto,
será una operación de complejidad O(n).
2. Construir un circuito C 0 en G a partir del vértice v. Ésta es un operación que
depende del número de aristas elegidas. En el peor de los casos serán tantas como
la medida m del grafo. Será, pues, una función de complejidad O(m).
3. Concatenar los circuitos C y C 0 . Ésta es una operación lineal en la medida de C,
es decir , de complejidad O(n).
4. Eliminar de G las aristas del circuito C 0 . Trivialmente, es una operación que, en el
peor de los casos, tendrá una complejidad O(m).

Resumiendo, puesto que el grafo es conexo se puede concluir que la complejidad de


todo el algoritmo será

máx{O(n), O(m), O(n), O(m)} = O(m).

10.2. Grafos hamiltonianos


El origen de los grafos hamiltonianos está en el juego de Hamilton, en el que se
debe hallar un recorrido cerrado sin repetición de vértices, a través de las aristas de un
dodecaedro regular. Otros problemas como el del tablero de ajedrez, el del viajante de
comercio y el del robot de soldadura controlado por ordenador han motivado el estudio
de estos grafos.
Definición 59. En un grafo G = (V, A)
Un recorrido es un camino hamiltoniano si pasa por todos los vértices sin repe-
tición.
Un ciclo hamiltoniano es un ciclo que pasa por todos los vértices del grafo. Si el
grafo admite un ciclo de estas caracterı́sticas, se denomina grafo hamiltoniano.
Grafos eulerianos y grafos hamiltonianos 180

Estas definiciones sólo tienen sentido en el caso de un grafo conexo; en caso contrario,
se aplican a cada una de las componentes conexas.
El matemático W.R. Hamilton inventó en 1856 un juego denominado “The trave-
ller’s dodecahedron”, que consistı́a en un dodecaedro cuyos vértices representaban las
principales ciudades del mundo de aquella época; se tenı́a que encontrar un recorrido
cerrado a lo largo de las aristas del poliedro que pasara por todos los vértices sin repe-
tición.

Se puede considerar un modelo en términos de teorı́a de grafos para este entrete-


nimiento. Como se ve en la siguiente figura, los vértices del grafo corresponden a los
vértices del dodecaedro y las aristas del grafo corresponden a las aristas del poliedro. En
este caso, se trata de buscar un recorrido cerrado sobre el grafo que pase por todos los
vértices exactamente una vez.

En este caso, el problema tiene solución como se puede ver en el siguiente gráfico.

A diferencia de los grafos eulerianos no existe condición necesaria y suficiente para


que un grafo sea hamiltoniano. Existen condiciones necesarias de hamiltonicidad y exis-
ten también, independientemente, condiciones suficientes. Algunas de éstas condiciones
tienen poca aplicabilidad práctica.
Grafos eulerianos y grafos hamiltonianos 181

Definición 60. Un grafo G = (V, A) es 2-conexo si cada par de vértices u y v de G


está conectada por un mı́nimo de dos caminos disjuntos, es decir, dos caminos que los
únicos vértices que tienen en común son los extremos u y v.

Teorema 68. Si G = (V, A) es un grafo hamiltoniano entonces se cumplen las siguientes


propiedades:

(a) G es conexo y todos sus vértices tienen grado mayor o igual que 2.

(b) G es 2-conexo.

(c) Para todo S ⊂ V , S 6= ∅ se verifica c(G − S) ≤ |S| donde c(G − S) representa


el número de componentes conexas del grafo obtenido de G después de eliminar los
vértices (y las aristas incidentes) de S.

(d) Si G es (V1 , V2 )-bipartito entonces |V1 | = |V2 |.

Demostración. Si G es hamiltoniano, entonces se pueden disponer todos los vértices de


G formando un ciclo C : v1 , v2 , . . . , vn , v1 . Ası́ cada vértice vi se conecta, al menos, con
vi−1 y vi+1 . Por lo tanto, g(vi ) ≥ 2.
Del mismo modo, entre vi y vj (i < j) habrá, al menos, dos caminos disjuntos: el
camino vi , vi+1 , . . . , vj y el camino vj , vj+1 , . . . , vn , v1 , . . . , vi . Por lo tanto, será 2-conexo.
Si en un ciclo se eliminan r vértices, entonces se producirán como máximo r com-
ponentes conexas. Por lo tanto, para que un grafo sea hamiltoniano, siempre que se
eliminen un conjunto de vértices S el número de componentes conexas producidas no
puede superar el cardinal de S.
La última condición es consecuencia de la distribución de los vértices del grafo G
en un ciclo. Necesariamente los vértices tienen que pertenecer alternativamente a V1 y a
V2 . Y esto implica que |V1 | = |V2 |.

Ejercicio 156. Estudiar si el grafo siguiente es euleriano; analizar también si es hamil-


toniano.

Solución: El grafo es euleriano porque todos los vértices tienen grado par. En cambio, no
es hamiltoniano. Si se considera el conjunto S formado por los cuatro vértices situados en los
puntos medios de los cuatro lados, entonces |S| = 4, mientras que c(G−S) = 5 en contradicción
con la condición 3 del teorema anterior.

Ejercicio 157. Determina cuáles de los siguientes grafos son hamiltonianos y cuáles son
eulerianos.
Grafos eulerianos y grafos hamiltonianos 182

(a) G = Kn (n ≥ 3)

(b) G = N1 + (K4 ∪ K4 )

(c) G = (Kn ∪ Km )c
Solución: Eulerianos:

(a) Kn (n ≥ 3) es conexo y para n impar es euleriano ya que el grado, n-1, es par.

(b) G = N1 + (K4 ∪ K4 ) es euleriano porque es conexo y todos los vértices tienen grado par:
hay un vértice de grado 8 y los demás tienen grado 4.

(c) Nótese que G = (Kn ∪ Km )c = Kn,m (es un grafo bipartito completo). G es euleriano si y
sólo si n y m son números pares.

Hamiltonianos:

(a) Denotemos los vértices de Kn por v1 , v2 , ..., vn . Para ver que G = Kn es hamiltoniano es
suficiente considerar el ciclo v1 − v2 − · · · − vn − v1 . Otra forma de ver que es hamiltoniano
es la siguiente. El grado de los vértices es n − 1 ≥ n2 .

(b) G = N1 + (K4 ∪ K4 ) no es hamiltoniano, ya que eliminando el vértice de articulación, el


de N1 , se obtienen dos componentes conexas.

(c) G = (Kn ∪ Km )c = Kn,m . Si n 6= m, por el Teorema 68 (d) concluimos que G no es


hamiltoniano. En el caso m = n ≤ 1, G no tiene ciclos y, por lo tanto, no es hamiltoniano.
En en el caso m = n ≥ 2, denotando los vértices de una copia de Kn por v1 , v2 , ..., vn y los
de la otra copia por u1 , u2 , ..., un vemos que un ciclo hamiltoniano es v1 − u1 − v2 − u2 · · · −
vn − un − v1 .

Ejercicio 158. Sea G = C4 P2 . ¿Es GP2 euleriano? ¿y el complementario?


Solución: GP2 euleriano por ser 4-regular. El complementario es 11-regular, por lo tanto,
no es euleriano.

Ejercicio 159. Considera el grafo G = C3 C3


(a) Representa gráficamente el grafo G.

(b) ¿Es euleriano el complementario de G?

(c) Sin hacer cálculos, explica que relación hay entre la medida de G y la medida de su
complementario.

(d) ¿Es bipartito el complementario de G?


Solución:
(a) La representación de G = C3 C3 es la siguiente:
Grafos eulerianos y grafos hamiltonianos 183

a1 b1

c1
a3 a2
b3 b2

c3 c2

(b) El complementario de G es euleriano por ser regular de grado 4.

(c) G y su complementario tienen la misma medida ya que ambos son regulares de grado 4.

(d) El complementario de G no es bipartito ya que tiene ciclos de longitud impar. Por ejemplo,
los vértices 1b, 2a y 3c forman un ciclo de longitud 3 en el complementario de G.

Ejercicio 160. Sea G un grafo hamiltoniano. Dada la secuencia de grafos G0 = G, G1 =


GK2 , ..., Gr = G K2 K2  · · · K2 . Demuestra que para todo entero no negativo r,
| {z }
r
el grafo Gr es hamiltoniano.
Solución: Aplicaremos el método de inducción.
Inicio: G0 = G es hamiltoniano.
Hipótesis: supongamos que Gr es hamiltoniano.
Sea v1 , v2 , ...vn , v1 un ciclo hamiltoniano de Gr y sean a y b los vértices de K2 . Un ciclo
hamiltoniano de Gr K2 es (v1 , a), (v2 , a), ...(vn , a), (vn , b), (vn−1 , b), ..., (v1 , b), (v1 , a). Por tanto,
Gr+1 = Gr K2 también es hamiltoniano.

Ejercicio 161. Considera el grafo G de la figura y responde razonadamente:

H G

E F

D C

A B L K

I J

(a) ¿Es euleriano el grafo G? En caso afirmativo, construye un circuito euleriano con
ayuda del algoritmo correspondiente.

(b) ¿Es G hamiltoniano?

(c) Expresa el grafo G como un producto de grafos conocidos.


Grafos eulerianos y grafos hamiltonianos 184

Solución:
(a) Sı́, ya que todos los vértices tienen grado par. Al aplicar el algoritmo de Hierholzer obte-
nemos la siguiente tabla:

Iteració v C0 C
0 A {A}
1 A {A, B, C, D, A} {A, B, C, D, A}
2 A {A, E, F, G, H, D, L, H, E, I, A} {A, E, F, G, H, D, L, H, E, I, A, B, C, D, A}
{A, E, F, G, H, D, L, H, E, I, A, B,
3 B {B, F, J, B}
F, J, B, C, D, A}
{A, E, F, G, H, D, L, H, E, I, A, B,
4 C {C, G, K, C}
F, J, B, C, G, K, C, D, A}
{A, E, F, G, H, D, L, H, E, I, J, K, L,
5 I {I, J, K, L, I}
I, A, B, F, J, B, C, G, K, C, D, A}

Ası́, el circuito euleriano obtenido es

C = {A, E, F, G, H, D, L, H, E, I, J, K, L, I, A, B, F, J, B, C, G, K, C, D, A}.

(b) G es hamiltoniano. Un ciclo hamiltoniano es A, B, C, G, F, E, I, J, K, L, H, D, A.

(c) G = C4 C3 .
Capı́tulo 11

Grafos planares

La teorı́a de grafos planares se remonta a la época de Euler que en 1752 introdujo la


conocida fórmula que relaciona el número de aristas de un poliedro convexo con el número
de caras y el número de vértices. Este tema permaneció prácticamente sin desarrollarse
hasta 1930 que el matemático polaco Kazimierz Kuratowski le diera un considerable
avance al encontrar una caracterización de los grafos planares. Precisamente la fórmula
de Euler y el teorema de Kuratowski son los principales resultados de este capı́tulo
en el que, además, analizamos varios ejemplos y consecuencias de estos dos resultados
fundamentales.

11.1. Grafos planos y planares. Fórmula de Euler


Definición 61. Un grafo es planar si se puede representar en el plano sin que se crucen
las aristas. Ası́ mismo, se denomina grafo plano a una representación de un grafo en el
plano de modo que no se crucen las aristas.

En algunos problemas de ingenierı́a es necesario diseñar redes de interconexión de


modo que el grafo subyacente sea plano. Por poner un ejemplo bastante conocido, des-
tacamos el caso de los circuitos electrónicos integrados. Otro ejemplo de grafos planares
son los denominados Fullerenos. Dichos grafos son el modelo matemático de la familia
de compuestos quı́micos llamados fullerenos.
Un caso particular de fullereno conocido es el que se asocia al balón de fútbol (ver
Figura 11.2). Este fullereno es conocido como buckminsterfullereno y la fórmula del
compuesto quı́mico asociado es C60 : se trata de un fullereno formado por 60 átomos de
carbono, en el que ninguno de los pentágonos que lo componen comparten una “arista”.
La estructura de este fullereno está formada por 20 hexágonos y 12 pentágonos. El
nombre de buckminsterfullereno viene del arquietecto Richard Buckminster Fuller con
motivo de la similitud de la molécula con una de sus construcciones.
A continuación analizaremos algunas de las propiedades matemáticas de los grafos
planares. Para ello, definiremos algunos conceptos.

185
Grafos Planares 186

Figura 11.1: Ejemplos de fullerenos.

Figura 11.2: Buckminsterfullereno.

Definición 62. Se denomina cara a cada una de las regiones del plano determinadas
por un grafo plano, ası́ mismo, se denomina cara exterior a la región no acotada.
Ejemplo 148. El 3-cubo Q3 = K2 K2 K2 es un grafo planar de 6 caras. El grado1 de
cada una de las caras es 4. Una representación plana del cubo es la siguiente.

C2

C1 C5 C3 C6

C4

Ejemplo 149. El grafo de la siguiente figura tiene 3 caras: dos caras interiores de grado
3 y la cara exterior que tiene grado 5.
Ejemplo 150. Todo árbol es planar y tiene una sola cara, la exterior.
Teorema 69. (Fórmula de Euler2 ) Para toda representación plana de un grafo planar
1
El grado de una cara es el número de aristas que la determinan.
2
Esta fórmula también fue descubierta de manera independiente por René Descartes (1596-1650), y
por eso en ocasiones se le llama fórmula de Euler-Descartes. Además, en topologı́a es conocida como la
fórmula de Euler-Poincaré.
Grafos Planares 187

C3

C1 C2

conexo de c caras, n vértices y m aristas se cumple

n + c = m + 2.

Demostración. Inducción respecto a m. Si m = 1, entonces el grafo es isomorfo al grafo


completo K2 . En este caso n = 2 y c = 1, se cumple.
Supongamos que el resultado es cierto para un grafo planar conexo de medida m
arbitraria. Es decir, para G se cumple n + c = m + 2.
Hay dos formas de obtener un grafo planar conexo G0 de medida m+1 a partir de G.
Caso 1. Añadimos una arista incidente a un único vértice de G, con lo que es necesario
añadir un vértice a G. Para G0 tenemos n0 = n + 1, m0 = m + 1 y c0 = c, por lo tanto, a
partir de la hipótesis de inducción (n + c = m + 2) se obtiene n0 + c0 = m0 + 2.
Caso 2. Añadimos una arista incidente a dos vértices de G, y de esta forma una cara
queda dividida en dos. Ası́, para G0 se tiene n0 = n, m0 = m + 1 y c0 = c + 1. Como
antes, a partir de la hipótesis de inducción se obtiene n0 + c0 = m0 + 2.

Ejemplo 151. El buckminsterfullereno, representado en la Figura 11.2, tiene orden


n = 60 y c = 32 caras (20 hexágonos y 12 pentágonos) por lo tanto, de acuerdo con la
fórmula de Euler, el número de aristas es m = 90.

Ejemplo 152. La secuencia de grados de un grafo planar conexo G es 6, 5, 5, 5, 4, 4, 4, 4, 3,


3, 3, 3, 3, 3, 3, 2, 2, 2, 2. Sabiendo que una cara de G es un ciclo de 14 vértices y que las
demás caras son triángulos y cuadrados, vamos a determinar el número de triángulos y de
cuadrados de G: El orden del grafo es n = 19 y la medida es m = 1·6+3·5+4·4+7·3+4·2
2
= 33.
Según la fórmula de Euler (m + 2 = n + c) se deduce que el grafo tiene c = 16 ca-
ras. Sean X3 y X4 , respectivamente, el número de triángulos y cuadrados del grafo:
X3 +X4 +1 = 16. Como cada arista está en dos caras, tenemos 3X3 +4X4 +14 = 2m = 66.
De ahı́ que al resolver el sistema

X3 + X4 = 15
3X3 + 4X4 = 52,

se obtiene X3 = 8 y X4 = 7.

Nótese que para el caso de árboles ya conocı́amos la fórmula de Euler: m = n − 1. El


siguiente resultado, que presentamos aquı́ como una consecuencia del teorema anterior,
en realidad es una generalización de la fórmula de Euler al caso de grafos disconexos.
Grafos Planares 188

Corolario 70. Para toda representación plana de un grafo planar de c caras, n vértices,
m aristas y k componentes conexas se cumple

n + c = m + k + 1.

Demostración. Si G es un grafo planar disconexo, la fórmula de Euler no es válida. Si G


tiene k componentes conexas, entonces es necesario agregar k −1 aristas para conectarlas
entre si y de esta forma obtener un grafo planar conexo G0 que tiene el mismo número
de caras que G. Por lo que al aplicar la fórmula de Euler a G0 se obtiene n0 + c0 = m0 + 2.
Como c0 = c, n0 = n y m0 = m + k − 1, obtenemos n + c = m + k + 1.
Otra importante consecuencia de la fórmula de Euler es la siguiente condición nece-
saria para la planaridad de un grafo en función del orden y la medida.

Proposición 71. Para todo grafo planar de cuello3 g, orden n, medida m y k compo-
nentes conexas se cumple
g
m≤ (n − k − 1).
g−2
Demostración. Como cada cara tiene al menos g aristas y cada arista está, a lo sumo,
en dos caras, tenemos cg ≤ 2m. Sustituyendo c ≤ 2m
g
en la fórmula de Euler para grafos
planares de k componentes conexas (Corolario 70) se obtiene el resultado.

Corolario 72. Para todo grafo planar G de orden n ≥ 3 se cumple

m ≤ 3n − 6.

Además, si G es libre de triángulos, entonces

m ≤ 2n − 4.

Demostración. Si G es un bosque formado por k árboles, entonces el número de aristas


es m = n − k y n − k ≤ 2(n − 2) ≤ 3(n − 2) para n ≥ 3. Por lo tanto, el resultado se
cumple. Si G no es un bosque, entonces el resultado se deduce de la Proposición 71.
A continuación veremos dos ejemplos importantes de aplicación del resultado ante-
rior.

Ejemplo 153. Demostremos que el grafo completo K5 no es planar.


Si K5 fuese planar, se tendrı́a que cumplir que m ≤ 3n − 6, pero sabemos que
m = 52 = 10 > 9 = 3n − 6. Por lo tanto, K5 no es planar.
Grafos Planares 189

G = K5

G = K3,3

Ejemplo 154. Supongamos que en un pequeño poblado hay tres casas y tres pozos.
Todos los vecinos de las casas tienen el derecho de utilizar los tres pozos. Como no se
llevan bien en absoluto, no quieren cruzarse jamás. ¿Es posible trazar los nueve caminos
que juntan las tres casas con los tres pozos sin que haya cruces?
El problema se reduce a averiguar si el grafo bipartito completo K3,3 es planar.
Como K3,3 es bipartito, es libre de triángulos, por lo tanto, si fuese planar, se tendrı́a
que cumplir m ≤ 2n − 4, pero sabemos que m = 9 > 8 = 2n − 4. Por lo tanto, es
imposible trazar los nueve caminos que juntan las tres casas con los tres pozos sin que
haya cruces.

11.2. Caracterización de los grafos planares. Teore-


ma de Kuratowski
Definición 63. Se produce una subdivisión elemental de un grafo simple G cuando
se elimina una arista {x, y} de G y luego se añaden las aristas {x, v} y {v, y} al grafo
G − {x, y}.
Ejemplo 155. En la siguiente figura, el grafo G2 se obtiene mediante una subdivisión
elemental de G1 , y G3 se obtiene mediante una subdivisión elemental de G2 .

G1 G2 G3

3
El cuello de un grafo G es el mı́nimo de las longitudes de los ciclos de G
Grafos Planares 190

Definición 64. Dos grafos G1 y G2 son homeomorfos si se cumple alguna de las


siguientes condiciones:
• Son isomorfos.

• Ambos pueden obtenerse mediante una serie de subdivisiones elementales de un


mismo grafo.
Usando la definición de grafos homeomorfos en 1930 el matemático polaco Kazimierz
Kuratowski estableció la siguiente caracterización de los grafos planares.
Teorema 73. (Teorema de Kuratowski) Un grafo es planar si y sólo si no contiene
subgrafos homeomorfos a K5 o K3,3 .
Omitiremos la demostración de el resultado anterior que ocuparı́a varias páginas.
Remitimos a los interesados en una demostración detallada al libro [1]. Como ejemplos
de aplicación de este resultado recomendamos los ejercicios 162, 167, 168 y 174.

11.3. Ejercicios
Ejercicio 162. Estudia la planaridad de los siguientes grafos.
(a) K4 K2

(b) Q3 + K1
Solución: (a) El grafo de la siguiente figura es subgrafo de K4 K2 y es homeomorfo a K5 .
Por lo tanto, K4 K2 no es planar.

(b) El grafo de la siguiente figura es subgrafo de Q3 + K1 y es homeomorfo a K5 . Por lo tanto,


Q3 + K1 no es planar.

Ejercicio 163. Sea G un grafo 3-regular planar conexo de orden 20. Determina en
cuántas regiones queda dividido el plano al hacer una representación plana de G. ¿Y si
el grafo tiene 3 componentes conexas?
Grafos Planares 191

3×20
Solución: G tiene m = = 30 aristas. Aplicando la fórmula de Euler concluimos que G
2
tiene c = m + 2 − n = 30 + 2 − 20 = 12 caras. Si el grafo tiene 3 componentes conexas, según
el Corolario 70 tenemos c = m + k + 1 − n = 30 + 3 + 1 − 20 = 14.

Ejercicio 164. Sea G un grafo planar conexo de orden n y medida m. Calcula los valores
de n y m si se sabe que G tiene 6 caras, un vértice de grado 5, un vértice de grado 3,
tres vértices de grado 2, dos vértices de grado 1 y los demás tienen grado 4.

Solución: Según la fórmula de Euler: m + 2 = n + c. De ahı́ que m = n + 4. Por otro lado,


al aplicar la fórmula de los grados obtenemos m = 2n − 6. Por lo tanto, n = 10 y m = 14.

Ejercicio 165. Prueba que todo grafo planar tiene al menos un vértice de grado menor
o igual que 5.

Solución: Supongamos que todos los vértices tienen grado mayor o igual que 6. En ese caso
6n
el número de aristas del grafo está acotado por m ≥ 2 = 3n. Además, según el Corolario 72,
m ≤ 3n − 6, de ahı́ que 0 ≤ −6, una contradicción.

Ejercicio 166. Prueba que para todo grafo planar conexo cuyas caras son ciclos de
longitud g, se cumple
g
m= (n − 2).
g−2
Solución: Como cada cara tiene g aristas y cada arista está en dos caras, tenemos cg = 2m.
2m
Sustituyendo c = g en la fórmula de Euler se obtiene el resultado.

Ejercicio 167. Determina si el complementario del grafo de la figura es planar.

Solución: Los vértices de grado 1 serán todos adyacentes entre si en el complementario de


G. Entonces, Gc contiene un subgrafo isomorfo a K6 , por el teorema de Kuratowski concluimos
que Gc no es planar.

Ejercicio 168. Estudia la planaridad del complementario de G = K3 P4 .

Solución: Sea X el conjunto de vertices pertenecientes a las copias de K3 correspondientes


a las hojas del camino P4 . En Gc el subgrafo inducido por los vértices de X es isomorfo a K3,3 .
Ası́, por el teorema de Kuratowski concluimos que Gc no es planar.

Ejercicio 169. Determina para qué valores de k los hipercubos Qk son grafos planares.
Grafos Planares 192

Solución: Sabemos que Q2 ∼


= C4 y que Q3 (cubo estándar) son planares. Si Qk fuera planar
para k ≥ 4, se tendrı́a que cumplir m ≤ 2(n − 2), ya que los hipercubos son libres de triángulos.
Como n = 2k y m = k2k−1 , obtenemos k2k−1 ≤ 2(2k −2). Pero nótese que para k ≥ 4 se obtiene
k2k−1 ≥ 4 · 2k−1 = 2k+1 > 2k+1 − 4, lo que es una contradicción. Por lo tanto, para k ≥ 4, los
hipercubos no son planares.

Ejercicio 170. Sea G un grafo planar conexo con igual número de caras que de vértices.
Existen representaciones planas de G donde todas las caras son triángulos o cuadrados
de modo que el número de triángulos y cuadrados difiere en uno. Calcula el orden de G.
Solución: Por la fórmula de Euler obtenemos que m = 2n − 2. Por otro lado, como cada
arista interviene en dos caras, se pueden dar dos posibilidades 4 n−1 n+1
2 + 3 2 = 2m o bien
n−1 n+1
3 2 + 4 2 = 2m. Por lo tanto, n = 9 o n = 7.

Ejercicio 171. Muestra que K4,5 tiene un subgrafo homeomorfo a K5 .


Solución: A la izquierda de la figura se muestra el grafo K4,5 y a la derecha se muestra un
subgrafo de este que es homeomorfo a K5 . Los vértices de grado 2 indican las subdivisiones
elementales.

Ejercicio 172. Se sabe que un grafo 3-regular, planar y conexo tiene c caras y todas
ellas son hexágonos o pentágonos. Calcula el número de hexágonos y de pentágonos.
3n
Solución: La medida del grafo es m = 2 .
Según la fórmula de Euler, m+2 = n+c, se deduce
1
que el grafo tiene c = 2n + 2 caras. Sean X5 y X6 , respectivamente, el número de pentágonos
y hexágonos del grafo:
1
X5 + X6 = c = n + 2.
2
Como cada arista está en dos caras, tenemos

5X5 + 6X6 = 2m = 3n.


n−20
Resolviendo estas ecuaciones obtenemos X5 = 12 y X6 = 2 .

Ejercicio 173. La secuencia de grados de un grafo planar conexo G es 4, 4, 4, 4, 3, 3, 3, 3,


3, 3, 3, 3. Sabiendo que una cara de G es un ciclo de 8 vértices y que las demás caras son
triángulos y cuadrados, determina el número de triángulos y de cuadrados de G.
Grafos Planares 193

4·4+3·8
Solución: La medida del grafo es m = 2= 20. Según la fórmula de Euler se deduce
que el grafo tiene c = 10 caras. Sean X3 y X4 ,
respectivamente, el número de triángulos y
cuadrados del grafo. Entonces tenemos que X3 + X4 + 1 = 10 y, como cada arista está en dos
caras, tenemos 3X3 + 4X4 + 8 = 2m = 40. De ahı́ que al resolver el sistema

X3 + X4 = 9
3X3 + 4X4 = 32,

se obtiene X3 = 4 y X4 = 5.

Ejercicio 174. Determina si el grafo lı́nea del grafo G representado en la siguiente figura
es planar.

f
h
d c

g e

a b

Solución: Como el grafo G tiene vértices de grado 5, el grafo L(G) tiene subgrafos isomorfos
a K5 . Por lo tanto, por el Teorema de Kuratowski podemos concluir que el grafo L(G) no es
planar.

Ejercicio 175. Prueba que si G es un grafo planar de orden n > 10, entonces Gc no es
planar.
Solución: Para todo grafo planar G de orden n,

m(G) ≤ 3n − 6. (11.1)

La medida de Gc es
n(n − 1)
m(Gc ) = − m(G). (11.2)
2
De ahı́ que si Gc es planar, entonces

n(n − 1)
− m(G) ≤ 3n − 6. (11.3)
2
Sumando las ecuaciones(11.1) y (11.3) obtenemos

n(n − 1) ≤ 4(3n − 6),

lo que implica que n ≤ 10. Por lo tanto, si n ≥ 11, entonces Gc no es planar.


Grafos Planares 194

Ejercicio 176. Sea G un grafo planar conexo de orden n = 15. Sabiendo que dos caras
de G son triángulos y las demás son cuadrados, calcula el número de aristas de GC4 .
Solución: La medida de GC4 es 15 · 4 + 4m, donde m es la medida de G. Sea x el número
de cuadrados de G. De la fórmula de Euler (m + 2 = n + c) se deduce que m − x = 15. Como
cada arista está en la frontera de dos caras, 6 + 4x = 2m. Entonces resolviendo el sistema

m − x = 15
m − 2x = 3,

obtenemos x = 12 y m = 27. Por lo tanto la medida de GC4 es 168.


Capı́tulo 12

Coloración de Vértices

12.1. Introducción y resultados básicos


El primer problema de coloración de grafos que se conoce fue planteado en Londres
en 1852 por Francis Guthrie, alumno del matemático Augustus de Morgan. Guthrie
observó que era posible didujar un mapa de inglaterra con cuatro colores de modo
que a paı́ses con frontera común le correspondieran colores diferentes. La pregunta que
formuló Guthrie a su profesor fue si con cuatro colores serı́a suficiente para dibujar
todas las posibles particiones del plano en regiones de modo que a regiones vecinas le
correspondan colores diferentes. Este problema se mantuvo abierto hasta 1976, cuando
Wolfgang Haken and Kenneth Apple respondieron afirmativamente a la pregunta con la
demostración del famoso teorema de los cuatro colores.
Supongamos que tenemos el siguiente “mapa”donde las regiones representan paı́ses.

El problema de colorear las regiones de modo que dos paı́ses de frontera común tenga
colores diferentes se puede trasladar a un problema de coloración de los vértices de un
grafo de modo que vértices adyacentes tengan diferente color.
Definición 65. Una vértice-coloración de un grafo G = (V, A) es una función f : V → N
con la propiedad de que f (u) 6= f (v) siempre que {u, v} ∈ A. Sea F(G) el conjunto de

195
Coloración de Vértices 196

vértice-coloraciones de G. El número cromático de G se define como


χ(G) = mı́n |Im(f )|,
f ∈F (G)

donde Im(f ) denota el conjunto imagen de f .


En otras palabras, el número cromático es el mı́nimo número de colores necesarios
para dibujar los vértices de un grafo de modo que vértices adyacentes tengan colores
diferentes. El siguiente resultado se deduce directamente de la definición de número
cromático.
Proposición 74. Sea G un grafo de orden n. Entonces las siguientes afirmaciones se
cumplen.
(a) χ(G) = 1 si y sólo si G es nulo.
(b) χ(G) = 2 si y sólo si G es bipartito y no nulo.
(c) χ(G) = n si y sólo si G ∼
= Kn .
Corolario 75. Para todo grafo no bipartito de orden n ≥ 2 se cumple que
χ(G) ≥ 3.
Definición 66. Sean G y H dos grafos. Una aplicación f : V (G) −→ V (H) es un
homomorfismo si para cada par de vértices x, y ∈ V (G) adyacentes en G se cumple que
f (x) y f (y) son adyacentes en H.
Todo isomorfismo de grafos es un homomorfismo. Sin embargo, hay muchos homo-
morfismos que no son isomorfismos, como se muestra en el siguiente ejemplo.
Ejemplo 156. Si G = (V1 ∪ V2 , E) es un grafo bipartito, entonces la aplicación f :
V1 ∪ V2 −→ V (K2 ) que envı́a a todos los vértices pertenecientes a Vi al vértice i es un
homomorfismo de G en K2 .
Teorema 76. El número cromático de un grafo G es el menor entero r tal que existe
un homomorfismo de G en Kr .
Demostración. Supongamos que f es un homomorfismo del grafo G al grafo H. Para
todo y ∈ V (H) definimos
f −1 (y) = {x ∈ V (G) : f (x) = y}.
Nótese que, si f −1 (y) 6= ∅, entonces el conjunto f −1 (y) es independiente1 . Ası́, si hay r
elementos y ∈ V (H) tales que f −1 (y) 6= ∅, entonces esos r conjuntos determinan una
vértice-coloración de G compuesta por r clases de color y, por lo tanto, χ(G) ≤ r.
Ahora bien, si χ(G) = r, entonces la función que transforma a cada vértice en su
color es un homomorfismo de G en Kr .
1
El subgrafo inducido por f −1 (y) es nulo.
Coloración de Vértices 197

Como todo homomorfismo de grafos ha de transformar un subgrafo completo en un


subgrafo completo del mismo orden, se obtiene el siguiente corolario.
Corolario 77. Si un grafo G contiene un subgrafo isomorfo a Kr , entonces

χ(G) ≥ r.

Ejemplo 157. El etiquetado de los vértices del grafo G de la figura muestra que χ(G) ≤
4. Por otra parte, según el Corolario 77 se cumple que χ(G) ≥ 4. Por lo tanto, podemos
concluir que χ(G) = 4.

c
d
d c

b a

a b

Proposición 78. Para todo grafo G de medida m,


χ(G)(χ(G) − 1)
m≥ .
2
Demostración. Por cada par de colores que componen una vértice-coloración de cardinal
mı́nimo existe al menos una arista del grafo, por lo tanto, el número de aristas está
 χ(G)(χ(G)−1)
χ(G)
acotado inferiormente por 2 = 2
.
En algunos casos de grafos compuestos podemos dar el número cromático del grafo
resultante a partir de los grafos que lo originan. Veamos, por ejemplo, la suma de grafos.
Como en la suma de grafos G1 + G2 cada vértice de G1 es adyacente a todos los vértices
de G2 , tenemos que en toda vértice-coloración de G1 + G2 cada vértice de G2 ha de ser
coloreado de un color diferente a todos los colores usados en los vértices de G1 . Por lo
tanto, se cumple el siguiente resultado.
Proposición 79. Para todo par de grafos G1 y G2 ,

χ(G1 + G2 ) = χ(G1 ) + χ(G2 ).

Ejemplo 158. ¿Podemos afirmar que χ(P3 + (C3 C4 )) ≥ 5?


Solución: Sı́, es suficiente observar que
χ(P3 + (C3 C4 )) = χ(P3 ) + χ(C3 C4 ) = 2 + χ(C3 C4 )

y como C3 C4 contiene triángulos, χ(C3 C4 ) ≥ 3.


Coloración de Vértices 198

Teorema 80 (Teorema de los cuatro colores: K. Appel y W. Haken, 1976).


Para todo grafo planar G se cumple

χ(G) ≤ 4.

Destacamos algunos datos que dan una idea de la dificultad de la prueba del teorema
de los cuatro colores:
1852: Francis Guthrie planteó el problema.
1878: Arthur Cayley publicó el enunciado de la conjetura.
1879: Sir Alfred Bray Kempe publicó su demostración.
1890: Percy Heawood descubrió un error insalvable en la prueba dada por Kempe.
1976: Ken Appel y Wolfgang Haken demostraron el teorema con ayuda de un
ordenador: 50 dı́as de cálculo, diferenciando más de 1900 configuraciones distintas.
1996: Robertson, Sanders, Seymour y Thomas obtuvieron una demostración más
corta.

12.2. Polinomio cromático


Definición 67. Dado un grafo G, denotaremos por PG (x) el número de vértice-coloraciones
de G que usan a lo sumo x colores. A PG (x) se le conoce con el nombre de polinomio
cromático de G.
El nombre “polinomio cromático”se justifica por la siguiente proposición.
Proposición 81. Para todo grafo G de orden n se cumple que PG (x) es un polinomio
de grado n.
Demostración. Para toda coloración de los vértices de G, las clases de color no vacı́as
forman una partición de V (G) en conjuntos independientes.
Podemos contar todas las coloraciones correspondientes a cada una de las particiones
y, de esta forma, calcular el número total de coloraciones. Como V (G) es un conjunto
finito, tiene un número finito de particiones, por eso es suficiente probar que el número
de coloraciones asociadas a una determinada partición es un polinomio de variable x.
Fijemos una partición de V (G) en p partes, cada una de las cuales es un conjunto de
vértices independientes. Asumiendo que cada parte tiene un color diferente, podemos
colorear la primera parte con x colores, la segunda con x − 1 colores, etc. En total
hay x(x − 1) · · · (x − p + 1) coloraciones diferentes asociadas a esta partición, que es
evidentemente un polinomio de variable x.
Finalmente, ninguna partición tiene más de n partes y hay sólo una partición de
V (G) en n partes. Para esta partición, el número de coloraciones es un polinomio de
Coloración de Vértices 199

grado n, mientras para cada una de las restantes particiones el polinomio tiene grado
menor que n. La suma de esos polinomios es un polinomio de grado n.

Proposición 82. El polinomio cromático de todo árbol T de orden n es

PT (x) = x(x − 1)n−1 .

Demostración. Usaremos el método de inducción. El resultado resulta obvio para n = 1


y n = 2. Supongamos que el polinomio cromático de todo árbol de orden n − 1 es
x(x − 1)n−2 . Sea v una hoja de T y sea u el vértice de T adyacente a v. Por hipótesis,
el polinomio cromático de T 0 = T − {v} (árbol que se obtiene al eliminar v en T ) es
PT 0 (x) = x(x − 1)n−2 . En cada vértice-coloración de T , al vértice v le podemos asignar
cualquiera de los colores diferentes del color de u. Ası́, el vértice v puede ser coloreado
de x − 1 formas. Por lo tanto, PT (x) = (x − 1)PT 0 (x) = x(x − 1)n−1 .

Proposición 83. El polinomio cromático de todo ciclo de orden n ≥ 3 es

PCn (x) = (x − 1)n + (−1)n (x − 1).

Demostración. Aplicamos el método de inducción. Como C3 = K3 , tenemos PC3 (x) =


x(x − 1)(x − 2) = (x − 1)3 − (x − 1). Supongamos que el resultado se cumple para n − 1,
con n ≥ 4. Sea G0 = Cn el ciclo que se obtiene al unir con una arista los extremos del
camino Pn y sea G00 = Cn−1 el ciclo que se obtiene al identificar los extremos de Pn .
Según la Proposición 85 tenemos

PCn (x) = PPn (x) − PCn−1 (x) = x(x − 1)n−1 − PCn−1 (x).

Por hipótesis de inducción tenemos PCn−1 (x) = (x − 1)n−1 + (−1)n−1 (x − 1), de ahı́ que

PCn (x) = x(x − 1)n−1 − (x − 1)n−1 − (−1)n−1 (x − 1) = (x − 1)n + (−1)n (x − 1).

Para todo grafo completo de orden n se cumple que en todas las vértice-coloraciones
intervienen n colores y, por lo tanto, PKn (x) = V (x, n); es el número de variaciones de
x elementos tomados de n en n. De ahı́ se deduce el siguiente resultado.

Proposición 84. Para todo grafo completo de orden n se cumple,

PKn (x) = x(x − 1)(x − 2) · · · (x − n + 1).

Por otro lado, si G no es un grafo completo, entonces el problema de colorear G se


puede reducir a colorear dos grafos G0 y G00 obtenidos a partir de G de la siguiente forma.
Sean u y v dos vértices no adyacentes de G. Sea G0 el grafo obtenido añadiendo a G la
arista {u, v}, y sea G00 el grafo simple obtenido identificando los vértices u y v. Ası́, en G00
no están los vértices u y v y en su lugar hay un nuevo vértice uv que es adyacente a los
Coloración de Vértices 200

vecinos de u y a los vecinos de v. De esta forma, las vértice-coloraciones de G donde u y


v tienen diferente color están en correspondencia uno a uno con las vértice-coloraciones
de G0 . De forma similar, las vértice-coloraciones de G donde u y v tienen el mismo color
están en correspondencia uno a uno con las vértice-coloraciones de G00 . Por lo tanto se
obtiene el siguiente resultado:
Proposición 85. Para todo grafo G ∼
6 = Kn ,

PG (x) = PG0 (x) + PG00 (x).

Por definición, χ(G) es el menor número entero positivo x que cumple PG (x) ≥ 1.
Por consiguiente se obtiene la siguiente consecuencia.
Corolario 86. Para todo grafo G ∼
6 = Kn ,

χ(G) = mı́n{χ(G0 ), χ(G00 )}.

Ejemplo 159. Como ejemplo de aplicación del algoritmo para calcular el polinomio
cromático consideremos el grafo G de la siguiente figura.

u u uv

v v
G G0 G00

En este caso tenemos PG (x) = PG0 (x) + PG00 (x), además, PG0 (x) = PK4 (x) + PK3 (x). Por
lo tanto,

PG (x) = PG0 (x) + PG00 (x)


= PK4 (x) + 2PK3 (x)
= x(x − 1)(x − 2)(x − 3) + 2x(x − 1)(x − 2)
= x(x − 1)2 (x − 2).

Aunque hemos utilizado el grafo G de la figura anterior para ilustrar de una forma
sencilla el algoritmo para determinar el polinomio cromático de un grafo, en un caso
tan simple como este se puede calcular el polinomio directamente. El vértice de grado
3 puede ser coloreado de x formas diferentes y, una vez coloreado este, tenemos x − 1
posibilidades para el vértice u y x−1 posibilidades para el vértice de grado 1. Ası́ mismo,
una vez coloreados estos tres vértices tenemos x − 2 posibilidades para colorear el otro
vértice de grado 2. De ahı́ que PG (x) = x(x − 1)2 (x − 2).
Definición 68. Definimos la vecindad de un vértice u de un grafo G = (V, A) como
N (u) = {v ∈ V : v ∼ u}. Es decir, el grado de u es δ(u) = |N (u)|.
Coloración de Vértices 201

Si un grafo G contiene un vértice u tal que el subgrafo inducido por N (u) es completo,
entonces en toda vértice-coloración de G, el color de u es diferente de los δ(u) colores
utilizados para colorear los vecinos de u. Ası́, en toda coloración de los vecinos de u, a
partir de x colores, hay x − δ(u) posibilidades para elegir el color de u. Por lo tanto, se
cumple el siguiente resultado.
Proposición 87. Si el subgrafo inducido por N (u) es completo, entonces el polinomio
cromático de G se calcula como
PG (x) = PG−{u} (x)(x − δ(u)),
donde G − {u} es el subgrafo de G que se obtiene eliminando el vértice u.
Ejemplo 160. Calcula el polinomio cromático del grafo G de la figura.
4 5

3 1

Partimos del grafo completo de vértices {1, 2, 5}, cuyo polinomio cromático ya conoce-
mos: PK3 (x) = x(x − 1)(x − 2), luego consideramos el grafo G1 que se obtiene al agregar
el vértice 3 al triángulo de antes de modo que 2 y 3 son adyacentes en G1 . En este caso
PG1 (x) = PK3 (x)(x − 1) = x(x − 1)2 (x − 2).
Entonces, como los vecinos del vértice 4 son adyacentes entre si en G, tenemos que el
polinomio cromático de G es
PG (x) = PG1 (x)(x − 2) = x(x − 1)2 (x − 2)2 .
Proposición 88. Sea G = (V, E) un grafo y sean r un número entero positivo. Si existen
dos subgrafos de G, G1 = (V1 , E1 ) y G2 = (V2 , E2 ), tales que V = V1 ∪ V2 , hV1 ∩ V2 i ∼
= Kr
y ninguna arista de G conecta V1 − (V1 ∩ V2 ) con V2 − (V1 ∩ V2 ), entonces
PG1 (x)PG2 (x)
PG (x) = .
PKr (x)
Demostración. Como G contiene a hV1 ∩V2 i ∼ = Kr como subgrafo, G no tiene coloraciones
de vértices con menos de r colores y por eso PKr (x) es un factor de PG (x). Para todo
x ≥ r, el número de formas de extender las coloraciones de hV1 ∩ V2 i a los restantes
vértices del grafo G, usando como máximo x colores, es PPKG (x) y, de igual forma, el
r (x)
número de formas de extender las coloraciones de hV1 ∩ V2 i a los restantes vértices del
P (x)
grafo Gi es PKGi (x) , i ∈ {1, 2}.
r
Como no hay aristas que conecten vértices pertenecientes a V1 −(V1 ∩V2 ) con vértices
pertenecientes a V2 − (V1 ∩ V2 ), las extensiones de las coloraciones de hV1 ∩ V2 i a G1 y
P (x) P (x)
G2 son independientes. Por lo tanto, PPKG (x)
(x)
= PKG1 (x) PKG2 (x) .
r r r
Coloración de Vértices 202

Ejemplo 161. Aplicaremos la Proposición 88 para calcular el polinomio cromático de


los siguientes grafos.

(a) G = K1 + P3 .

(b) G = K1 + (K2 ∪ K2 ).
PK3 (x)PK3 (x)
En el primer caso tenemos PK1 +P3 (x) = PK2 (x)
= x(x − 1)(x − 2)2 , mientras en
PK3 (x)PK3 (x)
el segundo caso PK1 +(K2 ∪K2 (x) = PK1 (x)
= x(x − 1)2 (x − 2)2 .

Proposición 89. Para todo grafo G y todo número entero no negativo r, el polinomio
cromático del grafo Kr + G es

PKr +G (x) = PKr (x)PG (x − r).

Demostración. Podemos colorear el vértice de K1 de x maneras diferentes y, una vez co-


loreado este, tenemos x−1 colores para colorear los vértices de G, de ahı́ que PK1 +G (x) =
xPG (x−1). Como K2 +G = K1 +(K1 +G), aplicando el razonamiento anterior se deduce
que PK2 +G (x) = xPK1 +G (x − 1) = x(x − 1)PG (x − 2). Continuando con este proceso se
obtiene que PKr +G (x) = x(x − 1) . . . (x − r + 1)PG (x − r) = PKr (x)PG (x − r).
En la unión disjunta de grafos G1 ∪G2 toda vértice-coloración de G1 es independiente
de las vértice-coloraciones de G2 , y viceversa. Por lo tanto, podemos enunciar la siguiente
proposición.

Proposición 90. El polinomio cromático de la unión disjunta de dos grafos G1 y G2 es

PG1 ∪G2 (x) = PG1 (x)PG2 (x).

En el siguiente ejemplo aplicaremos las Proposiciones 89 y 90.

Ejemplo 162. El polinomio cromático de K2 + (Cn ∪ Cn ) es

PK2 +(Cn ∪Cn ) (x) = PK2 (x)PCn (x − 2)PCn (x − 2)


= x(x − 1) ((x − 3)n + (−1)n (x − 3))2 .

12.3. Ejercicios
Ejercicio 177. En un curso de verano se han programado 9 conferencias, v1 , v2 , ..., v9 , de
una hora cada una. El comité organizador dispone de aulas suficientes para hacer confe-
rencias simultáneas. Al pedir a los participantes que seleccionen las conferencias que les
interesan, se han obtenido las siguientes solicitudes {v1 , v2 , v3 }, {v1 , v4 , v5 }, {v3 , v4 , v7 },
{v4 , v5 , v8 }, {v2 , v5 , v9 } y {v2 , v3 , v6 }.
Coloración de Vértices 203

(a) Calcula el mı́nimo número de horas necesarias para distribuir las conferencias de
modo que todos los participantes puedan asistir a todas las conferencias que les
interesan.
(b) Calcula el número de aulas necesarias para impartir las conferencias en el mı́nimo
número de horas de modo que todos los participantes puedan asistir a todas las
conferencias que les interesan.
(c) Supongamos ahora que disponemos de x horas para hacer las conferencias y queremos
hacer un horario de conferencias para entregarlo a los estudiantes. ¿Cuántos horarios
diferentes podemos hacer de modo que cada estudiante pueda asistir a todas las
conferencias que le interesan?

Solución:
(a) Podemos representar esta situación mediante el grafo G de la figura.

v9

v5 v2
v1
v8 v6

v4 v3

v7

Los vértices corresponden a las 9 conferencias y las aristas a los posibles conflictos. Entonces
se trata de buscar el número cromático de G que es χ(G) = 3. Ası́, en tres horas se pueden
impartir todas las conferencias.

(b) Nótese que en todas las vértice-coloraciones de G con tres colores el vértice central tendrá
el mismo color que los vértices de grado dos. Por lo tanto, son necesarias 5 aulas.

(c) En este caso se trata de calcular el polinomio cromático de G, PG (x). Sea G1 el grafo que
se obtiene al suprimir los vértices de grado 2 en G. Como G1 ∼= K1 + C4 , de acuerdo con
la Proposición 89 el polinomio cromático de G1 es

PG1 (x) = x((x − 2)4 + (x − 2)) = x(x − 1)(x − 2)(x2 − 5x + 7).

Por otro lado, en toda vértice-coloración de G, los vértices de grado dos se pueden colorear
de x − 2 colores. Por lo tanto,

PG (x) = PG1 (x)(x − 2)4 = x(x − 1)(x − 2)5 (x2 − 5x + 7).

Ejercicio 178. Considera el grafo G de la siguiente figura.


Coloración de Vértices 204

6 5 4

1 2 3

(a) Determina de cuántas formas podemos colorear los vértices de G con los colores del
conjunto {a, b, c, d, e} de modo que a vértices adyacentes le correspondan colores
diferentes.

(b) Calcula el número cromático de G + Q3 , donde Q3 denota el cubo estándar.

Solución:
(a) El número de formas de etiquetar los vértices de G con etiquetas de conjunto de cardinal
x, de modo que a vértices adyacentes le correspondan etiquetas diferentes, coincide con el
polinomio cromático de G. Para calcular dicho polinomio, partimos del grafo completo de
vértices 2, 3, 5, cuyo polinomio es x(x − 1)(x − 2 y luego aplicamos la Proposición 87. De
ahı́ que PG (x) = x(x − 1)2 (x − 2)3 . Para un conjunto de cardinal 5 tenemos P (5) = 2160.

(b) χ(G + Q3 ) = χ(G) + χ(Q3 ) = 5.

Ejercicio 179. Determina el polinomio cromático del grafo de la figura.

1 7 8

3 5 6 9

2 4

Solución: Sea T el árbol de la figura:

3 5 6 9

2 4

El polinomio cromático de T es PT (x) = x(x − 1)6 y el polinomio cromático de G es


PG (x) = PT (x)(x − 2)2 = x(x − 1)6 (x − 2)2

Ejercicio 180. Calcula el polinomio cromático del grafo G de la figura.


Solución: Consideremos el grafo de la figura:
Coloración de Vértices 205

e f g

a b c

e f

a b c
G1

El polinomio cromático de G1 es

PG1 (x) = PC4 (x)(x − 2) = x(x − 1)(x2 − 3x + 3)(x − 2),

de ahı́ que el polinomio cromático de G es

PG (x) = PG1 (x)(x − 3) = x(x − 1)(x − 2)(x − 3)(x2 − 3x + 3).

Ejercicio 181. Calcula el polinomio cromático del grafo G de la figura.

e f g h

a b c d

Solución: Consideremos los siguientes subgrafos de G:

e f g f g e

a b c b c a
G1 G2

El polinomio cromático de estos grafos es

PG1 (x) = PG2 (x) = x(x − 1)(x2 − 3x + 3)(x − 2)(x − 3),

de ahı́ que el polinomio cromático de G es

PG1 (x)PG2 (x)


PG (x) = = x(x − 1)(x − 2)(x − 3)(x2 − 3x + 3)2 .
PK4 (x)

Ejercicio 182. Calcula el polinomio cromático del grafo G de la figura.


Solución: Consideremos los siguientes subgrafos de G:
Coloración de Vértices 206

l c b i h k

d e f g j

l c b i h k

a a

d e f g j
G1 G2

El polinomio cromático de estos grafos es:

PG1 (x) = PC5 (x)(x − 1) = x(x − 1)2 (x − 2)(x2 − 2x + 2),

PG2 (x) = PC5 (x)(x − 1)2 = x(x − 1)3 (x − 2)(x2 − 2x + 2),


de ahı́ que el polinomio cromático de G es

PG1 (x)PG2 (x)


PG (x) = = x(x − 1)5 (x − 2)2 (x2 − 2x + 2)2 .
PK1 (x)

Ejercicio 183. Calcula el polinomio cromático del grafo G de la figura.

e
f g h
i
b c d j
a

Solución: Consideremos los siguientes subgrafos de G:

e
f g f g h
i
b c b c d j
a

G1 G2
Coloración de Vértices 207

El polinomio cromático de estos grafos es:

PG1 (x) = PC5 (x)(x − 2)(x − 3) = x(x − 1)(x − 2)2 (x − 3)(x2 − 2x + 2),

PG2 (x) = PC4 (x)(x − 1)(x − 2)(x − 3) = x(x − 1)2 (x − 2)(x − 3)(x2 − 3x + 3),
de ahı́ que el polinomio cromático de G es

PG1 (x)PG2 (x)


PG (x) = = x(x − 1)2 (x − 2)2 (x − 3)(x2 − 2x + 2)(x2 − 3x + 3).
PK4 (x)

Ejercicio 184. Calcula el polinomio cromático del grafo G de la figura.

e
f g h
j i
b c d
a

Solución: Consideremos los siguientes subgrafos de G:

e
f f g h
j i
b b c d
a

G1 G2

El polinomio cromático de estos grafos es:

PG1 (x) = PC5 (x)(x − 1) = x(x − 1)2 (x − 2)(x2 − 2x + 2),

PG2 (x) = PC4 (x)(x − 2)(x − 3) = x(x − 1)(x − 2)(x − 3)(x2 − 3x + 3),
de ahı́ que el polinomio cromático de G es

PG1 (x)PG2 (x)


PG (x) = = x(x − 1)2 (x − 2)2 (x − 3)(x2 − 2x + 2)(x2 − 3x + 3).
PK2 (x)

Ejercicio 185. Determina el polinomio cromático del siguiente grafo:

h d
c
i g f e
b
j a
Coloración de Vértices 208

Solución: Consideremos los siguientes subgrafos de G:

h d
c
i g f f e
b
j a

G1 G2

Entonces tenemos

PG1 (x) = PC4 (x)(x − 1) = x(x − 1)2 (x2 − 3x + 3),

PG2 (x) = PC5 (x)(x − 1) = x(x − 1)2 (x − 2)(x2 − 2x + 2),


y por eso el polinomio cromático de G es

PG1 (x)PG2 (x)


PG (x) = = x(x − 1)4 (x − 2)(x2 − 3x + 3)(x2 − 2x + 2).
PK1 (x)

Ejercicio 186. Dos grafos son cromáticamente equivalentes si tienen el mismo polinomio
cromático. Un grafo unicı́clico es un grafo conexo que contiene un único ciclo. Determina
que grafos unicı́clicos del mismo orden son cromáticamente equivalentes.

Solución: Sea G un grafo unicı́clico de orden n cuyo ciclo tiene longitud k. El polinomio
cromático de Ck es PCk (x) = (x − 1)k + (−1)k (x − 1). De ahı́ que el polinomio cromático
de G es
PG (x) = PCk (x)(x − 1)n−k = (x − 1)n + (−1)k (x − 1)n−k+1 .
Por lo tanto, dos grados unicı́clicos del mismo orden son cromáticamente equivalentes si
y sólo si sus ciclos tiene la misma longitud.
Bibliografı́a

[1] J. L. Gross, J. Yellen, Graph theory and its applications. 2nd ed., Chapman &
Hall/CRC, Boca Raton, FL, 2006.

[2] R. Hammack, W. Imrich and S. Klavžar, Handbook of product graphs. CRC


Press,Boca Raton, FL, 2011.

[3] W. Imrich and S. Klavžar, Product graphs, structure and recognition, Wiley, 2000.

209

También podría gustarte