Vous êtes sur la page 1sur 41

Elementos de combinatoria.

Alfredo Garcı́a Olaverri

1
1 Combinatoria elemental.

1.1 Permutaciones y combinaciones.


Los problemas básicos de Combinatoria tratan sobre el número de formas de seleccionar
objetos de un conjunto, bien siguiendo ciertas reglas para hacer la selección, bien de forma
que los objetos seleccionados cumplan ciertas propiedades. Comencemos con el problema
más simple, nos dan un conjunto S con n elementos y queremos seleccionar r de esos n
elementos. Hay dos cuestiones básicas:

1) Calcular de cuantas formas diferentes podemos seleccionar r objetos de un conjunto


S con n objetos.

2) Calcular cuantas selecciones distintas de r objetos podemos obtener de ese conjunto


S.

Ası́, si S = {a, b, c, d}, y quiero seleccionar 2 elementos, formas distintas de hacer


la selección hay 4 × 3 = 12 formas, pero selecciones distintas, (es decir subconjuntos
de S con dos elementos) hay 6. Cuando resolvemos el problema 1) decimos también
que buscamos subconjuntos ordenados con r elementos (ó secuencias de longitud r),
y para el caso 2) que buscamos subconjuntos no ordenados. Notar que no estamos
interesados en cuáles son esos subconjuntos (ordenados ó no ordenados) , sino en conocer
su número, aunque ciertamente, una forma de calcular ese número de subconjuntos es
generarlos todos. Para el conjunto S = {a, b, c, d} dado, si r = 2, los 12 subconjuntos
ordenados (secuencias) son: {ab, ac, ad, ba, bc, bd, ca, cb, cd, da, db, dc} y los 6 subconjuntos
(no ordenados) son {{a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}}
Más generalmente podemos suponer que S es un multiset, es decir un conjunto que
puede contener elementos repetidos, por ejemplo el multiset

S = {a, a, a, a, b, b, b, c, d, d}

(abreviadamente S = {4∗a, 3∗b, 1∗c, 2 ∗d}), e igualmente podemos plantear las cuestiones

1’) Calcular cuantas secuencias (ó submultisets ordenados) con r elementos contiene S.

2’) Calcular cuantos submultisets (no ordenados) con r elementos contiene S.

Claramente la respuesta de 1’) y 2’) va a depender no sólo de r y del número de


elementos de S, sino también del número k de elementos distintos que contiene S, y del
número de veces n1 , n2 , . . . , nk que cada elemento aparece repetido en S. En el multiset
anterior, k = 4, n1 = 4, n2 = 3, n3 = 1, n4 = 2. Siempre ha de ser ni > 0 y n1 + n2 + . . . +
nk = n. Para este ejemplo, si r = 2 la respuesta a 1’) es 15 y a 2’) es 9. Las 15 secuencias
de longitud 2 son {aa, ab, ac, ad, ba, bb, bc, bd, ca, cb, cd, da, db, dc, dd} y los 9 submultisets
son {{a, a}, {a, b}, {a, c}, {a, d}, {b, b}, {b, c}, {b, d}, {c, d}, {d, d}}

Hay un caso especial de multiset S en el que los cálculos son más sencillos: cuando S
contiene n elementos distintos, pero contiene un número infinito de copias de cada elemento,
no existiendo por tanto lı́mite al número de veces que un mismo objeto es seleccionado.
Decimos entonces que seleccionamos r objetos de un conjunto de n pero permitiendo un
número arbitrario de repeticiones de cualquier objeto. Las cuestiones 1) y 2) quedan:

2
1∞ ) Calcular de cuantas formas diferentes podemos seleccionar r elementos de un
conjunto S con n elementos permitiendo repeticiones arbitrarias de elementos.

2∞ ) Calcular cuantas selecciones con repetición distintas, constando de r elementos,


podemos obtener de un conjunto S con n elementos.

El siguiente teorema da fórmulas explı́citas sobre como se resuelven algunos de estos 6


problemas citados.

Teorema 1.1 i) La solución a la cuestión 1) (variaciones de n elementos tomados de r


en r) es el número
V (n, r) = n(n − 1) . . . (n − r + 1)
En el caso particular de r = n el número es

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

y decimos que es el número de permutaciones de un conjunto con n elementos.


ii) La solución de la cuestión 2) (combinaciones de n elementos tomados de r en r) es
 
n n(n − 1) . . . (n − r + 1)
C(n, r) = =
r r(r − 1) . . . 1

iii) La solución de 1∞ ) (variaciones con repetición) es

V ∞ (n, r) = nr

iv) La solución de 2∞ ) (combinaciones con repetición) es


 
n+r−1
C ∞ (n, r) =
n−1

v) La solución de 1’) cuando el multiset S consta de k elementos distintos, cada uno


repetido n1 , n2 , . . . , nk veces, para el caso particular de r = n = ki=1 ni es
P

n!
n1 ! . . . nk !

Dems. i) Supongamos 1 ≤ r ≤ n. Hay n posibles elecciones para el primer elemento de


la secuencia, por tanto V (n, 1) = n. Una vez elegido el primer elemento, quedan n − 1
elementos de S y de entre ellos hemos de elegir secuencias de longitud r − 1, por tanto

V (n, r) = nV (n − 1, r − 1)

Repitiendo el mismo razonamiento para V (n − 1, r − 1), V (n − 2, r − 2) . . . obtenemos

V (n, r) = n(n − 1) . . . V (n − (r − 1), 1) = n(n − 1) . . . (n − r + 1)

ii) Si generamos los C(n, r) subconjuntos no ordenados de S, y ordenamos los elemen-


tos de cada subconjunto en las r! formas posibles, obtendremos los V (n, r) subconjuntos
ordenados de S. Por lo tanto
C(n, r)r! = V (n, r)

3
iii) Como en el caso i) hay n elecciones para el primer elemento de la secuencia, asi
V ∞ (n, 1) = n, pero ahora una vez elegido el primer elemento, hemos de elegir secuencias
de longitud r − 1 de entre n elementos, por tanto

V ∞ (n, r) = nV ∞ (n, r − 1) = . . . = n · n · . . . · V ∞ (n, 1) = nr

v) Suponemos que S es un multiset con k elementos distintos a1 , . . . , ak , dónde el


elemento a1 aparece n1 > 0 veces, a2 aparece n2 > 0 veces,.... Por tanto S contiene
n = n1 + n2 + . . . + nk elementos, y queremos calcular el número de formas distintas
de ordenar estos n elementos, ó dicho de otra forma, el número de secuencias e1 e2 . . . en
dónde cada ei es un elemento de S y cada elemento ai aparece exactamente ni veces en
esa secuencia. Observar que a1 aparecerá en n1 posiciones, y por tanto puede aparecer en
C(n, n1 ) posiciones distintas. Una vez colocados los elementos a1 en la secuencia, podemos
colocar los elementos a2 en las n − n1 posiciones que quedan, por tanto podemos colocarlos
de C(n−n1 , n2 ) formas distintas. Igualmente, despues de colocados los a1 y a2 los elementos
a3 pueden colocarse de C(n − n1 − n2 , n3 ) formas distintas y ası́ sucesivamente. Por tanto
el número buscado es
n!
C(n, n1 )C(n − n1 , n2 ) . . . C(n − n1 − n2 − . . . − nk−1 , nk ) =
n1 ! . . . nk !
Notar que para k = 2, el resultado anterior da el número combinatorio n1n+n 2

1
, es
decir el número de subconjuntos de tamaño n1 de un conjunto de n elementos coincide
con el número de secuencias de longitud n, formadas usando sólo dos sı́mbolos, digamos
los sı́mbolos ◦ y |, y donde el sı́mbolo ◦ aparece exactamente n1 veces. Podı́amos haber
demostrado directamente que estas dos cantidades coinciden, y es que efectivamente, para
especificar una secuencia de n = n1 + n2 sı́mbolos, n1 de los cuales son ◦ y los otros n2 son
|, basta especificar un subconjunto de n1 elementos del conjunto {1, 2, . . . , n}, que indicará
en que posiciones de la secuencia hay ◦ (en las otras posiciones habrá |) y viceversa.
iv) Este resultado es más interesante. Consideremos un multiset formado por r sı́mbolos
◦ y n − 1 sı́mbolos |, y un conjunto S de n elementos a1 , . . . , an . Hay una correspondencia
biyectiva entre las secuencias de r sı́mbolos ◦ y n − 1 sı́mbolos | y los multisets de tamaño
r obtenidos de S: A cada secuencia s , si son s1 , . . . , sn−1 las posiciones donde aparece
el sı́mbolo |, le asignemos el submultiset S 0 tal que el elemento ai (i = 1, . . . , n) aparece
repetido en S 0 exactamente ri = si − si−1 − 1 veces (tomando s0 = 0, sn = r). Por ejemplo,
si n = 4,r = 7 a la secuencia
| ◦ | ◦ ◦| ◦ ◦ ◦ ◦
le corresponde el multiset no ordenado

{0 ∗ a1 , 1 ∗ a2 , 2 ∗ a3 , 4 ∗ a4 } = {a2 , a3 , a3 , a4 , a4 , a4 , a4 }

Claramente esta aplicación es inyectiva, a secuencias distintas corresponden multisets dis-


tintos, y suprayectiva, el multiset r1 ∗ a1 , r2 ∗ a2 , . . . , rk ∗ ak se obtiene de la secuencia
formada por r1 ◦ seguidos de un |, después r2 ◦ y un |,..., finalmente rk ◦.
Por tanto hay tantos
 multisets de tamaño r como secuencias, y este número, según el
apartado v), es n+r−1
n−1 .
2
Deatacamos las siguientes observaciones sobre el teorema anterior:
1.- Si S contiene n elementos y r es un entero 1 ≤ r ≤ n, el apartado i) nos dice que el
número de subconjuntos ordenados es V (n, r) = n(n−1) . . . (n−r+1). Notar que si r es un

4
entero mayor que n la fórmula anterior nos da el valor 0 (e igualmente C(n, r) = V (n, r)/r!
vale 0) lo cual también coincide con el número de subconjuntos ordenados que tenemos de
ese tamaño, esto es, ninguno.
Por otra parte, el conjunto ∅ siempre es un subconjunto de S, y aunque no tiene sentido
ordenar sus elementos, vamos a definir por convenio que

V (n, 0) = 1

de esta forma V (0, 0) = 0! = 1 y C(n, 0) = n0 = V (n, 0)/0! = 1, y por tanto C(n, 0) nos


da también el número de subconjuntos de tamaño 0 de S.


En general dado un entero r ≥ 0, podemos definir el polinomio V (x, r) como

x(x − 1) . . . (x − r + 1), si r > 0
V (x, r) =
1, si r = 0

Este polinomio evaluado en un entero n > 0 nos da el número de subconjuntos ordenados


de tamaño r que contiene un conjunto con n elementos. Igualmente, podemos definir el
polinomio  
x
C(x, r) = = V (x, r)/r!
r
Este polinomio (como el anterior de grado r), cuando se evalúa en un entero n ≥ 0, da el
número de subconjuntos de tamaño r que contiene un conjunto con n elementos.
Finalmente el polinomio de grado r
 r
x , si r > 0
V ∞ (x, r) =
1, si r = 0

evaluado en un entero n > 0 da las secuencias de longitud r que pueden formarse usando
n elementos (sı́mbolos) distintos.
2.- Hay varias formulaciones alternativas del resultado iv), por ejemplo, también nos
da el número de formas distintas de repartir r monedas idénticas, digamos de 1e , entre
n personas. Un reparto en que a la persona i le asignamos ri monedas, (1 ≤ i ≤ n y
r1 + . . . + rn = r) equivale a dar un multiset de personas en el que la persona i aparece
exactamente ri veces y viceversa. Tradicionalmente, en combinatoria, usamos bolas en
lugar de monedas y urnas ó cajas en lugar de personas, y ası́, r+n−1
n−1 da el número de
formas de colocar r bolas indistinguibles en n cajas numeradas de 1 a n.
También r+n−1
n−1 es el número de soluciones enteras, ordenadas y ≥ 0, de la ecuación

x1 + . . . + xn = r

Por ejemplo, si r = 7 y n = 4, una solución es x1 = 3, x2 = 2, x3 = 0, x4 = 2, que


corresponde al multiset {3 ∗ a1 , 2 ∗ a2 , 2 ∗ a4 } (uno de los submultisets de tamaño 7 de
S = {a1 , a2 , a3 , a4 }). En cambio la solución, x1 = 0, x2 = 2, x3 = 2, x4 = 3 es distinta y
corresponde al multiset {2 ∗ a2 , 2 ∗ a3 , 3 ∗ a4 }.
Si buscásemos número de soluciones de esta ecuación con cota inferior para las xi
distinta de cero, por ejemplo xi ≥ bi (bi un entero sin restricción de signo) haciendo el
cambio, yi = xi − bP i , ese número de soluciones serı́an las mismas que las de la ecuación
y1 + . . . + yn = r − bi , es decir el número
 P 
n + r − bi − 1
n−1

5
r−1 
En particular si todos los bi son 1, obtenemos el número n−1 , ó dicho de otra forma: el
número de formas de repartir r caramelos idénticos entre n niños de forma que cada niño
r−1 
reciba al menos un caramelo es n−1 .

El número de soluciones enteras de la anterior ecuación x1 + . . . + xn = r cuando los xi


además de ser ≥ 0 tienen una cota superior xi ≤ ni , es la solución del problema 2’), que
veremos en siguientes secciones como se puede resolver.

Para esta misma ecuación, x1 + . . . + xn = r, si consideramos que dos soluciones son


idénticas cuando sólo difieren en el orden de las variables, el hallar todas las soluciones
distintas es un problema bastante diferente e interesante. Por ejemplo si n = 4 y r = 7,
ahora la solución x1 = 0, x2 = 1, x3 = 2, x4 = 4 la consideramos idéntica de la solución
x1 = 4, x2 = 2, x3 = 1, x4 = 0. El número que buscamos ahora es cuantas soluciones enteras
tiene x1 + x2 + x3 + x4 = 7 con la condición 0 ≤ x1 ≤ x2 ≤ x3 ≤ x4 , o lo que es lo mismo,
sumando 1 a todas las variables, cuantas soluciones enteras tiene x1 + x2 + x3 + x4 = 11
con la condición 1 ≤ x1 ≤ x2 ≤ x3 ≤ x4 . Para n y r ≥ n ≥ 1 enteros arbitrarios, al número
de soluciones enteras de

x1 + . . . xn = r ∧ 1 ≤ x1 ≤ . . . ≤ xn

se le denomina número de particionesP de r en n sumandos (ó en n partes), y suele


denotarse por pn (r). La cantidad p(r) = rn=1 pn (r) se llama número de particiones de
r. Claramente este número, p(r), coincide con el número de soluciones de x1 + . . . + xr = r
con la condición 0 ≤ x1 ≤ . . . ≤ xr . Por ejemplo, si r = 5, las particiones de 5, es decir las
formas distintas de expresar 5 como suma de enteros son

{(5), (1, 4), (2, 3), (1, 1, 3), (1, 2, 2), (1, 1, 1, 2), (1, 1, 1, 1, 1)}

por tanto p1 (5) = 1, p2 (5) = 2, p3 (5) = 2, p4 (5) = 1, p5 (5) = 1, y en total p(5) = 7.

Finalmente notar que el número de particiones de un entero, p(r), es también el número


de soluciones de
y1 + 2y2 + . . . + ryr = r
con yi ≥ 0, 1 ≤ i ≤ r, ya que cada partición viene especificada por cuantas veces usamos
el sumando 1(y1 veces), el sumando 2(y2 veces),. . ., el sumando r(yr veces).

1.2 Coeficientes binomiales.


Los números  
n n(n − 1) . . . (n − r + 1)
C(n, r) = =
r r(r − 1) . . . 1
suelen denominarse coeficientes binomiales.
Hay muchas propiedades, relaciones e identidades entre los números combinatorios nr .


Estas relaciones pueden probarse, o bien utilizando la fórmula de cálculo anterior, o bien
por argumentos combinatorios. Por ejemplo, veamos una demostración combinatoria de
que
r     
X a b a+b
=
i r−i r
i=0

6
para enteros a > 0, b > 0, 0 ≤ r ≤ a + b. Esta identidad se suele llamar identidad de
Vandermonde. En particular si a = b = r, la fórmula dice que
 2  2  2  
r r r 2r
+ + ... + =
0 1 r r
Un demostración es la siguiente: Supongamos que  tenemos a + b bolas numeradas
1, . . . , a, a + 1, . . . , a + b. Podemos seleccionar a+br subconjuntos de r bolas, pero  cada
a
subconjunto constará de i bolas de las a primeras que pueden seleccionarse de i formas
distintas (max(0,
b
 r − b) ≤ i ≤ min(a, r)) y r − i de las últimas b bolas, que pueden selec-
cionarse de r−i formas distintas. Sumando entre los posibles valores de i, y notando que
si i < r − b es r−i = 0, y sı́ i > a es ai = 0, obtenemos la identidad buscada.
b
 

También puede demostrarse el anterior resultado por inducción, o por métodos analı́ti-
cos, pero generalmente una demostración combinatoria es preferida, pues establece el
porqué dos cantidades son iguales. Muchas veces además las demostraciones combina-
torias pueden implicar resultados análiticos no evidentes. En el ejemplo que nos ocupa,
nos gustarı́a saber si la identidad anterior puede extenderse a números P4 (complejos en gen-
3.9 5.1  9
eral) arbitrarios, es decir si podemos por ejemplo asegurar que i=0 i 4−i = 4 .
Podemos demostrar que esto es cierto de la siguiente forma: Sean r ≥ 0 y b ≥ 0 enteros
dados y consideremos los polinomios P1 (x) = ri=0 xi r−i
 b 
y P2 (x) = x+b
P 
r . Estos dos
polinomios tienen el mismo grado, r, y su diferencia d(x) = P1 (x) − P2 (x) es por tanto un
polinomio de grado ≤ r, que además vale 0 si x coincide con un entero a, es decir para
x = 1, 2, 3, . . .. Como un polinomio de grado r > 0 tiene a lo más r raices, se deduce que
d(x) es el polinomio nulo, esto es P1 (x) = P2 (x).
De la misma forma Pr fijados r ≥ 0 entero y x número arbitrario, consideremos los poli-
x y  x+y 
nomios Q1 (y) = i=0 i r−i y Q2 (y) = r . Por el apartado anterior, estos dos
polinomios de grado r coinciden para los valores enteros y = 1, 2, . . ., y por tanto son
idénticos. Hemos extendido por tanto la validez de la identidad de Vandermonde para el
caso de a y b números complejos arbitrarios (pero r ha de ser entero y ≥ 0).

Hay cientos de identidades entre números combinatorios, las siguientes son todas fácil-
mente demostrables:  
n n!
= (1)
r r!(n − r)!
válida si r ≥ 0 entero y n ≥ r entero.
   
n n
= (2)
r n−r
válida si r ≥ 0 entero y n ≥ r entero.
   
n n n−1
= (3)
r r r−1
válida si r > 0 entero.
     
n n−1 n−1
= + (4)
r r r−1
válida si r ≥ 0 entero.
   
−n n+r−1
= (−1)r (5)
r r

7
válida si r ≥ 0 entero.
       
n n+1 n+r n+r+1
+ + ... + = (6)
0 1 r r
válida si r ≥ 0 entero.
       
r r+1 n n+1
+ + ... + = (7)
r r r r+1
válida si n ≥ r ≥ 0 enteros.
La más famosa fórmula es sin embargo el siguiente resultado conocido como Teorema
binomial.

Teorema 1.2 Para cualquier entero n ≥ 0 y números arbitrarios (reales o complejos) x, y


es
∞  
n
X n r n−r
(x + y) = x y
r=0
r

Dems. Notar que si r > n es nr = 0 y por tanto en el sumatorio sólo nos interesan los


sumandos con 0 ≤ r ≤ n, es decir tenemos una suma finita.


La demostración es por inducción sobre n. Queremos ver que cuando  desarrollamos
(x + y)n como suma de potencias de x e y, el coeficiente de xr y n−r es nr . Para n = 0 la
identidad es cierta y supongamos que es cierta para el valor n − 1. Como
n−1
X 
n n−1 n − 1 r n−r−1
(x + y) = (x + y) (x + y) = ( x y )(x + y)
r
r=0

n−1 n−1
el coeficiente de xr y n−r al hacer este último producto será r + r−1 lo cual coincide
con nr .

2

Para el caso particular de x = 1 el teorema del binomio queda en


∞  
n
X n r
(1 + y) = y (8)
r
r=0

Veremos más adelante que si |y| < 1 esta última fórmula es válida cuando n es un número
real arbitrario. Pero notar que en este caso, la parte derecha de la fórmula (6) es una serie
infinita, pues si n no es entero nr no es 0 para r > n, y por tanto la suma se extiende a
todo entero r ≥ 0.
Si n es entero ≥ 0 con los mismos razonamientos utilizados en el teorema previo, puede
verse que la fórmula del binomio es válida si y es un elemento de un anillo con unidad 1.
En particular es válida para matrices cuadradas Y , tomando la identidad I en lugar de 1
y con la suma y producto usuales entre matrices.

Como hemos señalado

V (x, r) = x(x − 1) . . . (x − r + 1)

es un polinomio de grado r, y claramente tiene coeficientes enteros. Los coeficientes de


esos polinomios (salvo el signo) se denominan números de Stirling de primera clase.

8
Concretamente, denotaremos por S1 (r, i) al coeficiente de xi en V (x, r) multiplicado por
(−1)r−i . Asi por ejemplo, como

V (x, 5) = x5 − 10x4 + 35x3 − 50x2 + 24x

los valores de S1 (5, i) para i = 0, . . . , 5 son 0, 24, 50, 35, 10, 1. Notar que, de acuerdo con
la definición, S1 (r, i) = 0 si i > r. Además, puesto que V (x, 0) = 1, es S1 (0, 0) = 1, pero
S1 (r, 0) = 0 si r > 0.

De la misma forma podemos expresar el polinomio xr como combinación lineal de los


polinomios V (x, r), V (x, r − 1), . . . , V (x, 1), V (x, 0). Los coeficientes de esas combinaciones
lineales se llaman números de Stirling de segunda clase. Concretamente S2 (r, i) es
el número por el que hay que multiplicar a V (x, i) para que la suma de esas cantidades
desde i = 0 hasta i = r nos dé xr . Asi por ejemplo, puesto que

x5 = V (x, 5) + 10V (x, 4) + 25V (x, 3) + 15V (x, 2) + V (x, 1)

tenemos que los números S2 (5, i) para i = 0, . . . , 5 son 0, 1, 15, 25, 10, 1. De nuevo ha de
ser S2 (r, i) = 0 si i > r; S2 (r, 0) = 0 si r > 0 y S2 (0, 0) = 1. Además podemos comprobar
que si r ≥ 1 S2 (r, 1) = S2 (r, r) = 1

Teorema 1.3 Los números de Stirling de primera clase cumplen, si 1 ≤ i ≤ r − 1, la


identidad

S1 (r, i) = S1 (r − 1, i − 1) + (r − 1)S1 (r − 1, i)
De la misma forma los números de Stirling de la segunda clase, si 1 ≤ i ≤ r − 1, verifican
la identidad
S2 (r, i) = S2 (r − 1, i − 1) + iS2 (r − 1, i)

Dems. Como

V (x, r) = x(x − 1) . . . (x − ((r − 1) − 1))(x − (r − 1)) = V (x, r − 1)(x − (r − 1))

el coeficiente de xi en ese producto, será el coeficiente de xi−1 en V (x, r − 1) que es


S1 (r − 1, i − 1)(−1)(r−1−(i−1)) multiplicado por 1 más el coeficiente de xi también en
V (x, r − 1), que es S1 (r − 1, i)(−1)(r−1−i) , multiplicado por −(r − 1). De ahı́ obtenemos
la primera identidad.

Igualmente, puesto que


r
X
xr = S2 (r, i)V (x, i)
i=0
y
r−1
X
r−1
x = S2 (r − 1, i)V (x, i)
i=0

como xr = x × xr−1 tenemos que


r−1
X
r
x = S2 (r − 1, i)(x − i + i)V (x, i) =
i=0

9
r−1
X r−1
X
S2 (r − 1, i)V (x, i)(x − i)) + iS2 (r − 1, i)V (x, i) =
i=0 i=0
r−1
X r−1
X
S2 (r − 1, i)V (x, i + 1) + iS2 (r − 1, i)V (x, i)
i=0 i=1

Si ahora reemplazamos i en el primer sumatorio por i − 1, será


r
X r−1
X
r
x = S2 (r − 1, i − 1)V (x, i) + iS2 (r − 1, i)V (x, i) =
i=1 i=1

r
X
(S2 (r − 1, i − 1) + iS2 (r − 1, i))V (x, i)
i=1
r
Pr Como esta última forma de expresar x debe coincidir con la dada inicialmente
i=0 S2 (r, i)V (x, i), obtenemos la fórmula del enunciado. 2

1.3 Relaciones de recurrencia.


Nos gustarı́a cuando contamos ciertas clases de objetos, si hay f (n) de ellos, encontrar una
fórmula cerrada que nos diese el valor exacto de f (n). Asi el apartado ii) del teorema 1 nos
dice que la cantidad C(n, r) es nr = n(n−1)...(n−r+1)

r(r−1)...1 . Esta fórmula explı́cita nos permite
calcular C(n, r) de forma eficiente, aunque no nos informa  mucho sobre cuanto de grande
es C(n, r), por ejemplo cuanto es aproximadamente 2n n ?. Una fórmula será mejor que
otra si nos permite realizar el cálculo de un valor concreto de forma más eficiente, o si nos
permite dar una idea de cual es aproximadamente su valor. Por ejemplo para el número
de subconjuntos de S con ≤ r elementos C(n, ≤ r), una fórmula obvia es
r  
X n
C(n, ≤ r) =
i
i=0

Sin embargo la fórmula


n
2n−1

r+1
C(n, ≤ r) ≈ n

n/2

puede ser preferible en muchos casos.

En combinatoria, en muchos casos es fácil obtener fórmulas de recurrencia para f (n),


es decir expresar el valor de f (n) en función de valores f (j) previamente calculados, dando
ası́ un método de cálculo de f (n) para todo n. Ası́ por ejemplo, las identidades dadas en el
teorema 1.3, en realidad son fórmula de recurrencia que nos permiten obtener los números
de Stirling S1 (r, i), S2 (r, i) en función de otros números de Stirling previamente calculados.
Las fórmulas de recurrencia también pueden ser utilizadas para ver que dos cantidades son
iguales. Veamos algunos ejemplos de uso de recurrencias.

Ejemplo 1.- Supongamos que S es el conjunto S = {1, 2, . . . , n}. Queremos calcular el


número de subconjuntos de S que no contengan dos números consecutivos. En particular
el conjunto ∅ siempre es uno de ellos. Llamemos Fn a ese número. Claramente F1 = 2,
F2 = 3, F3 = 5, .... Incluso podemos suponer F0 = 1. ¿Pero cuánto es F10 ó F1000 ?. Una
forma de calcular esos números es la siguiente: De los subconjuntos que buscamos, algunos

10
contendrán el número n y otros no. Los que no contienen a n han de ser subconjuntos de
{1, 2, . . . , n−1}, y sin contener números seguidos, luego hay exactamente Fn−1 de ellos. Por
otra parte, los subconjuntos que sı́ contienen a n, como no puede haber números seguidos,
no pueden contener tampoco al número n − 1, luego al n le acompañan subconjuntos de
{1, 2, . . . , n − 2} sin números consecutivos y hay Fn−2 de ellos. Por tanto Fn verifica la
fórmula de recurrencia
Fn = Fn−1 + Fn−2
válida para cualquier n ≥ 2. Dados los valores iniciales F0 = 1, F1 = 2, podemos ver la
fórmula de recurrencia anterior como un método de cálculo de Fn para todos los valores de
n, cada Fn obtenido sumando los dos valores anteriores. Los primeros valores de Fn son

n 0 1 2 3 4 5 6 7 8 9 10 11
Fn 1 2 3 5 8 13 21 34 55 89 144 233
Notar sin embargo que esta fórmula de cálculo nos dice muy poco sobre como crece
la función Fn , de que orden de magnitud son esos números. Claramente Fn ≤ 2n , pues
subconjuntos hay 2n y Fn cuenta sólo algunos de ellos, pero a partir de un cierto n ¿será
menor que 2n /10, o menor que 2n/2 ?. Resolveremos esas cuestiones cunado veamos fun-
ciones generatrices.

n
Ejemplo 2.- Habı́amos visto que los coeficientes binomiales r , si r>0, verificaban la
propiedad      
n n−1 n−1
= + (9)
r r r−1
Podemos interpretar esta igualdad como una identidad entre números combinatorios, ó
como una fórmula de recurrencia para el cálculo de los coeficientes binomiales. De hecho
la fórmula dice que para calcular C(n, r) el número de subconjuntos de tamaño r > 0 de
un conjunto de n elementos, nos basta conocer el número de subconjuntos de tamaños r
y r − 1 de un conjunto con n1 elementos. A su vez los subconjuntos de un conjunto de
n − 1 elementos se conocerán a partir de los de uno de n − 2 elementos y ası́ sucesivamente.
En particular, si conocemos el número de subconjuntos de tamaño r del conjunto ∅, un
conjunto con 0 elementos, y conocemos también el número de subconjuntos de tamaño
0 para cualquier n, podemos calcular todos los números C(n, r) simplemente haciendo
sumas. Como claramente, C(0, 0) = 1, (subconjuntos de tamaño 0 del ∅), C(0, r) = 0,
si r > 0, y C(n, 0) = 1, (pues un conjunto con n elementos tiene un subconjunto con 0
elementos), tenemos un método de calcular C(n, r). Mirando los valores de C(n, r) como
una tabla de números, dónde conocemos los valores de la fila 0 y los de la columna 0,
podemos ir calculando todas las filas de esa tabla. Para rellenar la entrada de la fila n
columna r, simplemente ponemos en esa casilla el resultado de sumar el número de encima
con su predecesor en esa fila de arriba.
Los primeros valores obtenidos son

11
n\r 0 1 2 3 4 5 6 7 8
0 1 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0
2 1 2 1 0 0 0 0 0 0
3 1 3 3 1 0 0 0 0 0
4 1 4 6 4 1 0 0 0 0
5 1 5 10 10 5 1 0 0 0
6 1 6 15 20 15 6 1 0 0
7 1 7 21 35 35 21 7 1 0
8 1 8 28 56 70 56 28 8 1
De la misma forma para los números de Stirling de la primera clase tenı́amos la iden-
tidad
S1 (r, i) = S1 (r − 1, i − 1) + (r − 1)S1 (r − 1, i)
si i > 0. De nuevo podemos mirar esa identidad como una fórmula de recurrencia en dos
variables. Para calcular una tabla con los valores S1 (r, i), la fórmula nos dice que podemos
calcular los datos de la fila r a partir de los datos de la fila r − 1 (excepto el dato S1 (r, 0)).
Como sabemos que S1 (0, 0) = 1, pero S1 (r, 0) = 0 si r > 0, ya conocemos la columna 0.
Como además S1 (r, i) = 0 si i > r también la fila 0. Luego podemos calcular todas las
entradas S1 (r, i). Ahora pondremos en cada casilla el resultado de: multiplicar el número
de encima por su ı́ndice de fila más número predecesor en esa fila de arriba).
Los primeros valores obtenidos son
r\i 0 1 2 3 4 5 6 7 8
0 1 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0
2 0 1 1 0 0 0 0 0 0
3 0 2 3 1 0 0 0 0 0
4 0 6 11 6 1 0 0 0 0
5 0 24 50 35 10 1 0 0 0
6 0 120 274 225 85 15 1 0 0
7 0 720 1764 1624 735 175 21 1 0
8 0 5040 13068 131132 6769 1960 322 28 1
Finalmente, de nuevo la fórmula
S2 (r, i) = S2 (r − 1, i − 1) + iS2 (r − 1, i)
junto con los valores iniciales S2 (0, 0) = 1, S2 (r, 0) = 0 si r > 0, y S2 (0, i) = 0 si i > 0,
permite calcular todos los valores de S2 (r, i). Los primeros valores obtenidos son

r\i 0 1 2 3 4 5 6 7 8
0 1 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0
2 0 1 1 0 0 0 0 0 0
3 0 1 3 1 0 0 0 0 0
4 0 1 7 6 1 0 0 0 0
5 0 1 15 25 10 1 0 0 0
6 0 1 31 90 65 15 1 0 0
7 0 1 63 301 350 140 21 1 0
8 0 1 127 966 1701 1050 266 28 1

12
Ejemplo 3.- Supongamos que S es un multiset con elementos a1 , . . . , ak repetidos
n1 , . . . , nk veces respectivamente. El problema 2’) de la primera P sección era hallar una
fórmula para el número de submultisets de tamaño r. Sea n = ki=1 ni . Notar que si
r = 0 sólo hay un submultiset, lo mismo que si r = n. Igualmente si r > n no puede
haber ninguno. Denotemos por C 0 (r, k) el número de submultisets de tamaño r. En cada
submultiset S 0 , el elemento ak puede aparecer 0, 1, . . . , min(r, nk ) veces, y si aparece i veces
el resto de S 0 es un submultiset de S − nk · ak , por tanto hay C 0 (r − i, k − 1) posibilidades
para ese subconjunto. Por tanto para todo k > 1
min(r,nk )
X
0
C (r, k) = C 0 (r − i, k − 1)
i=0

Como C 0 (r, 1) = 1 si 0 ≤ r ≤ n1 y 0 en los demás casos, la fórmula anterior permite


obtener todos los valores C 0 (r, i) cuando i varı́a de 1 a k y r de 0 a n.

Ası́, para el multiset S = {a, a, a, a, b, b, b, c, d, d}


Los valores obtenidos son

k\r 0 1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 0 0 0 0 0 0
2 1 2 3 4 4 3 2 1 0 0 0
3 1 3 5 7 8 7 5 3 1 0 0
4 1 4 9 15 20 22 20 15 9 4 1

Ejemplo 4.- De la misma forma podemos resolver el problema 1’). Si denotamos por
V 0 (r, k) el número de submultisets ordenados de tamaño r del multiset S, de nuevo ak
puede aparecer  en cada submultiset 0, 1, . . . , min(r, nk ) veces, y si aparece i veces puede
hacerlo en ri posiciones. Por tanto para todo k > 0

min(r,nk )  
0
X r
V (r, k) = V 0 (r − i, k − 1)
i
i=0

De nuevo los valores iniciales son V 0 (r, 1) = 1 si r ≤ n1 . Para el multiset S anterior


obtenemos la tabla:

k\r 0 1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 0 0 0 0 0 0
2 1 2 4 8 15 25 35 35 0 0 0
3 1 3 8 20 47 100 185 280 280 0 0
4 1 4 15 53 175 535 1490 3675 7700 12600 12600

Ejemplo 5.- Si deseamos dar una propina de 0.50 euros, y tenemos monedas de
1, 2, 5, 10, 20, 50 céntimos, calcular de cuantas formas distintas podemos hacerlo. Sea
P (r, k) el número de formas de dar una propina de valor r usando solamente los k primeros
tipos de monedas (en nuestro caso nos interesa P (50, 6)). Claramente el tipo k de moneda

13
puede usarse un máximo de br/v(k)c veces, siendo v(k) es el valor de la moneda de tipo
k, y por tanto
br/v(k)c
X
P (r, k) = P (r − v(k)i, k − 1)
i=0

De nuevo el valor P (r, 1) es inmediato, vale 0 si r no es múltiplo de v(1) y 1 en caso


contrario.
Usando este método de cálculo obtenemos P (50, 6) = 451.

Aunque el método anterior, dado k y los valores v(1), . . . , v(k), permite calcular P (r, k),
no nos dice nada sobre el tamaño de P (r, k) cuando r tiende a infinito. ¿Crece esa cantidad
exponencialmente?, ¿cuantas cifras tiene para los valores v(k) dados anteriormente P (r, 6)
si r es por ejemplo del orden de 108 ?. Resolveremos estas cuestiones cuando veamos
funciones generatrices.

Ejemplo 6.-Sea ahora S = {a1 , . . . , ar } un conjunto de r elementos. ¿ Cuantas rela-


ciones de equivalencia distintas se pueden definir en S? Como una partición de S define
una relación de equivalencia, el problema es equivalente a contar el número de formas
distintas de particionar un conjunto con r elementos. Denotemos por S2∗ (r, i) al número de
particiones de S en i clases. Claramente, S2∗ (r, 1) = 1, S2∗ (r, r) = 1 y S2∗ (r, i) = 0, si i > r o
i = 0. Podemos contar las particiones de S2∗ (r, i) de la siguiente forma: Sea C1 , . . . , Ci una
partición de S − ar . Según añadamos ar a C1 , o a C2 , . . . o a Ci obtendremos particiones
distintas de S en i clases distintas, pero donde la clase donde esta ar tiene más de un
elemento, por tanto hay iS2∗ (r − 1, i) de tales particiones. Falta añadir las particiones de S
en las que ar está solo en su clase, que serán S2∗ (r − 1, i − 1). Por tanto, para 1 ≤ i ≤ r − 1,
S2∗ (r, i) cumple la recurrencia

S2∗ (r, i) = S2∗ (r − 1, i − 1) + iS2∗ (r − 1, i)

Vemos pues que S2∗ (r, i) y S2 (r, i) coinciden para r = 1 y obedecen la misma recurrencia,
luego son iguales.
El número total de particiones del conjunto S será por tanto
r
X
Br = S2 (r, i)
i=0

Los números Br se llaman números de Bell y satisfacen la siguiente recurrencia.

Teorema 1.4 Si r ≥ 1, entonces


     
r−1 r−1 r−1
Br = B0 + B1 + . . . + Br−1
0 1 r−1

Dems. En cualquier partición de S el elemento ar puede estar acompañado en su clase


por otros j elementos, donde j varı́a de 0 a r − 1. Hay pues r−1

j formas de elegir esos
elementos. Los restantes r − 1 − j elementos los podemos particionar en Br−1−j . Por tanto
r−1  
X r−1
Br = Br−1−j
j
j=0

14
identidad equivalente a la del enunciado. Para que sea válida hemos de suponer B0 = 1 y
0
0 = 1. 2

Ejemplo 7.- En la primera sección definimos pn (r) como el número de formas de


expresar un entero r > 0 como suma de n enteros no nulos crecientes. Por ejemplo
p3 (8) = 5, cardinal del conjunto {1 + 1 + 6, 1 + 2 + 5, 1 + 3 + 4, 2 + 2 + 4, 2 + 3 + 3}. Notar
que pn (r) vale 0 si n = 0 o n > r, y vale 1 si n = 1 o n = r. En los demás casos, 1 < n < r,
pn (r) cumple la relación:

pn (r) = pn−1 (r − 1) + pn (r − n)
ya que, o bien el primer sumando es 1, y el resto es una descomposición de r − 1 en n − 1
sumandos, o todos los sumandos son ≥ 2, y restando 1 a cada uno de los n sumandos
obtenemos una descomposición de r − n en n sumandos.
Esta fórmula de recurrencia permite calcular pn (r), y también el número de particiones
del entero r, p(r) = rn=1 pn (r). Sea ahora p0n (r) el número de formas de descomponer el
P
entero r en ≤ n sumandos. Claramente p0n (r) cumple la recurrencia
 0
 pn−1 (r) + p0n (r − n), si n < r
0
pn (r) = p0n−1 (r) + 1, si n = r
 0
pr (r), si n > r

Como p(r) = p0r (r) la fórmula anterior proporciona otro método para calcular el número
de particiones p(r) del entero r.

1.4 Número de aplicaciones ”distintas” entre conjuntos.


Supongamos que tenemos un conjunto R de r monedas, y un conjunto S de n bolsas y
queremos calcular el número de formas distintas de distribuir las monedas en las bolsas.
Un distribución viene especificada diciendo para cada moneda en qué bolsa la colocamos
y por tanto el problema es contar el número de aplicaciones de R en S. Sin embargo, si
las monedas son indistinguibles, distintas aplicaciones pueden considerarse idénticas. Por
ejemplo si R = {1, 2, 3, 4} y S = {a, b, c}, la aplicación f (1) = f (2) = a, f (3) = b, f (4) = c
y la aplicación g(1) = b, g(2) = c, g(3) = g(4) = a pueden considerarse idénticas, en ambos
casos la bolsa a recibe dos monedas y las bolsas b y c reciben una cada una, y puesto que las
monedas son idénticas, no podemos distinguir una distribución de la otra. Formalmente
diremos que dos aplicaciones f y g de R en S son equivalentes cuándo los elementos
de R son indistinguibles, si existe una biyección π de R en R tal que g(x) = f (π(x))
para todo elemento x de R. Ahora por aplicaciones ”distintas” entendemos aplicaciones
no equivalentes en la relación de equivalencia anterior, y contar el número de aplicaciones
”distintas” es contar el número de clases de equivalencia que tiene esa relación. Igualmente,
si las monedas son distinguibles, por ejemplo tienen distinto valor, pero las bolsas son
indistinguibles, la aplicación f anterior y la aplicación h dada por h(1) = h(2) = a, h(3) =
c, h(4) = b pueden considerarse idénticas, en ambos casos una bolsa contiene las monedas
1, 2, otra la moneda 3 y otra bolsa la moneda 4, (pero la aplicación g anterior ahora es
diferente!). Formalmente diremos que dos aplicaciones f y h de R en S son equivalentes
cuándo los elementos de S son indistinguibles, si existe una biyección σ de S en S tal
que h(x) = σ(f (x)) para todo elemento x de R. Contar ahora aplicaciones ”distintas” es
contar cuantas aplicaciones no equivalentes (con la nueva definición de equivalencia) hay.
Finalmente, si tanto las monedas como las bolsas son indistinguible, podemos considerar

15
las aplicaciones f, g y h anteriores como idénticas: Tendremos una bolsa con dos monedas,
y otras dos bolsas con una moneda. De nuevo, formalmente diremos que dos aplicaciones
f y g de R en S son equivalentes cuándo los elementos de R y los de S son indistinguibles,
si existen biyecciones π de R en R y σ de S en S tales que g(x) = σ(f (π(x)) para todo
elemento x de R.
Según los elementos de R y S sean distinguibles ó no, tenemos 4 formas de contar el
número de aplicaciones ”distintas” de R en S. Además de las aplicaciones generales de esos
4 tipos, vamos a contar cuantas aplicaciones inyectivas y cuantas suprayectivas tenemos
de cada tipo, es decir vamos a dar un total de 12 fórmulas.

Teorema 1.5 Sea R un conjunto con r elementos y S un conjunto con n elementos,


el número de aplicaciones ”distintas” (no equivalentes) de R en S viene dados por las
fórmulas:
Caso A.- Los elementos de R y los de S son distinguibles.
1.- Aplicaciones generales hay
nr
2.- Aplicaciones inyectivas hay

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

3.- Aplicaciones suprayectivas hay

n!S2 (r, n)

Caso B.- Los elementos de R son indistinguibles y los de S distinguibles.


1.- Aplicaciones generales hay  
r+n−1
n−1
2.- Aplicaciones inyectivas hay  
n
r
3.- Aplicaciones suprayectivas hay
 
n−1
r−1

Caso C.- Los elementos de R son distinguibles y los de S son indistinguibles.


1.- Aplicaciones generales hay

S2 (r, 1) + S2 (r, 2) + . . . + S2 (r, n)

2.- Aplicaciones inyectivas hay



0, si r > n
1, si r ≤ n

3.- Aplicaciones suprayectivas hay

S2 (r, n)

Caso D.- Los elementos de R son indistinguibles y los de S también.

16
1.- Aplicaciones generales hay

p1 (r) + p2 (r) + . . . + pn (r)

2.- Aplicaciones inyectivas hay



0, si r > n
1, si r ≤ n

3.- Aplicaciones suprayectivas hay

pn (r)

1.5 El principio de inclusión-exclusión. Aplicaciones.


Uno de los métodos de contar objetos más útiles es el conocido como principio de
inclusión-exclusión, que es una extensión de la siguiente idea: Si queremos contar cuan-
tos elementos del conjunto S no están ni en el subconjunto A ni en el subconjunto B la
respuesta no es |S| − |A| − |B| por que los elementos de A ∩ B se restarı́an dos veces, la
respuesta correcta es |S| − |A| − |B| + |A ∩ B|. El siguiente teorema generaliza esta idea.

Teorema 1.6 Sea S un conjunto con n elementos y E1 , . . . , Er subconjuntos de S (no


T Para cualquier subconjunto M de {1,P
necesariamente distintos). . . . , r} sea n(M ) el número
de elementos de S en i∈M Ei , y para 1 ≤ j ≤ r sea nj = |M |=j n(M ). Entonces el
número de elementos de S que no está en ninguno de los subconjuntos Ei es

n − n1 + n2 − n3 + . . . + (−1)r nr

Dems.
Veámoslo por inducción sobre n, el número de elementos de S. Supongamos n = 1 y
que el elemento a1 de S aparece en k ≤ r de los subconjuntos Ei . Entonces, nj = 0 si
j > k y nj = kj en los demás casos. Por tanto la expresión n − n1 + n2 − n3 + . . . + (−1)r nr


vale 1 si k = 0 y vale
       
k k k k k
− + − . . . + (−1) = (1 − 1)k = 0
0 1 2 k
si k ≥ 1. Lo cual coincide con el número de elementos de S − ∪ri=1 Ei en ambos casos.
Supongamos ahora S = {a1 , . . . , an } con n > 1 elementos y E1 , . . . , Er subconjuntos
de S. Sea S 0 =S − an , e igualmente Ei0 = Ei − an . Por inducción el número de elementos
de {a1 , . . . , an−1 } que no están en algún Ei0 es

n − 1 − n01 + n02 − n03 + . . . + (−1)r n0r

Por tanto el número de elementos de S que no están en algún Ei será la cantidad anterior,
si an pertenece a k > 0 de los Ei , y la cantidad anterior +1, si an no pertenece a ningún
Ei . Debemos ver que en ambos casos esas cantidades coinciden con n − n1 + n2 − n3 +
. . . + (−1)r nr .
Por otra parte, como n(M ) = | i∈M Ei | y n0 (M ) = | i∈M Ei0 |, es n(M ) = n0 (M ) + 1
T T
si an ∈ Ei , ∀i ∈ M , y n(M ) = n0 (M ) en los demás casos. Por tanto, si an pertenece a
k > 0 subconjuntos Ei , es nj = n0j si j > k y nj = n0j + kj si j ≤ k. Asi pues, la expresión
n − n1 + n2 − n3 + . . . + (−1)r nr vale lo mismo que n − 1 − n01 + n02 − n03 + . . . + (−1)r n0r +

17
k
− k1 + k2 − . . . + (−1)k kk = n − 1 − n01 + n02 − n03 + . . . + (−1)r n0r si k > 0. Y vale
  
0
n − n01 + n02 − n03 + . . . + (−1)r n0r = 1 + n − 1 − n01 + n02 − n03 + . . . + (−1)r n0r si k = 0, como
querı́amos probar. 2
El cálculo de los números nj se simplifica mucho si para todos los subconjuntos M de
cardinal j la cantidad n(M ) es la misma, entonces
 
r
nj = n({1, . . . , j})
j
Aplicación 1.- La fórmula anterior puede ser usada como un método alternativo
para resolver el problema 2’), dado un multiset S0 formado por los elementos a1 , . . . , ak
repetidos n1 , . . . , nk veces
Pk respectivamente, determinar cuantos submultisets de tamaño r
puede tener. Sea n = i=1 ni . Notar que si r = 0 sólo hay un submultiset, lo mismo que
si r = n. Igualmente si r > n no puede haber ninguno. También, si algún ni es mayor
que r, al sustituirlo por r el número de submultisets de tamaño r no cambia, por tanto
supondremos 1 ≤ ni ≤ r ≤ n. Ahora sea S el conjunto de submultisets de tamaño r
cuando permitimos un número arbitrario de repeticiones, sabemos que ha de ser
 
∞ k+r−1
|S| = C (k, r) =
k−1
Y sea Ei para i = 1, . . . , k el número de estos submultisets conteniendo > ni veces el
elemento ai . Estamos ahora en condiciones de usar el principio de inclusión-exclusión,
pues buscamos elementos de S queTno estén en ninguno de los Ei . Si es M el subconjunto
de ı́ndices i1 , . . . , ij , el cardinal de jh=1 Eih es el número de combinaciones con repetición
tales que aih aparece al menos nih + 1 veces para h = 1, . . . , j. Esta cantidad ya la
calculamos en la sección 1 y es

r − j − jh=1 nih + k − 1
   P 
r − (ni1 + 1) − (ni2 + 1) − . . . − (nij + 1) + k − 1
=
k−1 k−1

Ejemplo. Supongamos que queremos calcular cuantos submultisets de tamaño 6 pode-


mos obtener del multiset formado por las letras de MATEMATICAS. Aqui S0 consta de
los elementos A, M, T, E, I, C, S repetidos 3, 2, 2, 1, 1, 1, 1 veces respectivamente, k = 7,
6+7−1 12

n = 11, y el cardinal de S es 7−1 = 6 . Para subconjuntos de un ı́ndice tendremos
   
2+6 8
n({1}) = =
6 6
 
9
n({2}) = n({3}) =
6
 
10
n({4}) = n({5}) = n({6}) = n({7}) =
6
Por tanto n1 = 1036. Igualmente aunque subconjuntos con dos ı́ndices hay 72 en realidad


distintos son sólo los casos  


5
n({1, 2}) = =0
6
que sucede dos veces.  
6
n({1, 4}) =
6

18
que sucede 8 veces.  
6
n({2, 3}) =
6
que aparece una vez.  
7
n({2, 4}) =
6
que aparece 8 veces. Y finalmente
 
8
n({4, 5}) =
6
que aparece 6 veces. Por tanto n2 = 229.
7

Aunque subconjuntos con más de tres ı́ndices hay 3 , sólo n(M ) es no nulo para los
4

3 conjuntos de ı́ndices equivalentes a {4, 5, 6}, y es
 
6
n({4, 5, 6}) =
6
Por tanto n3 = 4. Para todos los demás subconjuntos M de > 3 ı́ndices es n(M ) = 0, y
por tanto los demás ni son 0. Por tanto, el número de submultisets de tamaño 6 buscado
es  
12
− 1036 + 229 − 4 = 113
6

En general, el número de subconjuntos de ı́ndices M es 2k y por tanto el método


parece inviable si k es grande. Pero en muchos casos el método es eficiente, por ejemplo si
n1 = n2 = . . . = nk = n/k, entonces el número nj es
  
k r − j − j(n/k) + k − 1
j k−1
y el problema 2’) es rápidamente resuelto.

Aplicación 2.- Sea R un conjunto con r elementos y S un conjuntos con n elementos.


Sabemos que el número de aplicaciones suprayectivas de R en S es
n!S2 (r, n)
Vamos a llamar S2s (r, n) a ese número de aplicaciones y veamos otra forma de calcularlo.
Claramente, S2s (r, n) = 0 si r < n y es n! si r = n. Usemos inclusión-exclusión para
calcular S2s (r, n) en los demás casos. Sea F el conjunto de aplicaciones de R en S, que
tendrá por tanto un total de nr elementos. Y sea Ei el conjunto de aplicaciones en las que
el elemento ai ∈ S no es imagen de ningún elemento de R. Buscamos pues aplicaciones
de F que no estén en ningún Ei . Ahora T para cualquier subconjunto M de j ı́ndices de
1, 2, . . . n, el número de aplicaciones en i∈M Ei es (n − j)r , por tanto los números nm son:
 
n
nm = (n − j)r
j
y por tanto tenemos
n   n  
j n (n−j) n
X X
S2s (r, n) = (−1) r
(n − j) = (−1) jr
j j
j=0 j=0

19
Por tanto, tenemos la siguiente fórmula para los números de Stirling de la segunda clase
n  
1 X n r
S2 (r, n) = (−1)(n−j) j
n! j
j=0

Aplicación 3.- Veamos otra aplicación del principio de inclusión-exclusión. Sea dn el


número de permutaciones π de 1, 2, . . . n tales que π(i) 6= i para todo i. Sea S = Sn el con-
junto de todas las permutaciones de 1, 2, . . . , n, y sea Ei el subconjunto de permutaciones
tales que π(i) = i. Queremos contar las permutaciones de Sn que no están en ningún
Ei . Sabemos que |Sn | = n!. Igualmente, para cualquier subconjunto M de 1, . . . , r con
cardinal j, el número de permutaciones n(M ) es (n − j)!. Por tanto
n n
(−1)j
 
X n X
dn = (−1)j (n − j)! = n!
j j!
j=0 j=0

Para valores grandes de n, la anterior fórmula nos dice que

dn ≈ n!e−1

También a partir de la fórmula para dn es fácil ver que cumple la ecuación de recurrencia

dn = ndn−1 + (−1)n

Aplicación 4.- Sea n = pa11 pa22 . . . par r un entero positivo. La función de Euler φ(n)
denota el número de enteros k, 1 ≤ k ≤ n, primos con n, es decir el m.c.d. (n, k) = 1.
Sea S = {1, 2, . . . , n} y Ei el subconjunto de enteros de S divisibles por pi . De nuevo φ(n)
cuenta los elementos de S que no están en ningún Ei . Si es M el subconjunto de ı́ndices
i1 , . . . , ij entonces con nuestra notación
n
n(M ) =
p i1 . . . p ij

y por tanto
r r
X n X n Y 1
φ(n) = n − + − . . . = n (1 − )
pi pi pj pi
i=1 1≤i<j≤r i=1

El siguiente teorema se usa frecuentemente

Teorema 1.7 X
φ(d) = n
d|n

Dems. Para cada m ∈ {1, . . . , n} se cumple (m, n)|n. Si es d un divisor cualquiera de n,


el número de enteros m tales que (m, n) = d, es decir m = m1 d, n = n1 d y (m1 , n1 ) = 1
será φ(n1 ) = φ(n/d).
P Sumando para todos los posibles valores de d hemos de obtener n,
por tanto n = d|n φ(n/d) equivalente al enunciado. 2

Fórmula de inversión de Möbius.

20
Definición 1 Definimos la función de Möbius como la aplicación µ que asigna a cada
entero n el valor µ(n) = 1 si n es el producto de un número par de primos distintos ó
n = 1, el valor µ(n) = −1 si n es el producto de un número impar de primos distintos, y
µ(n) = 0 en los demás casos, es decir cuando n es divisible por el cuadrado de un número
primo.

Teorema 1.8 Para todo n > 1, X


µ(d) = 0
d|n

P
Dems. Notar que suponemos µ(1) = 1 y por tanto para n = 1, d|n µ(n) = 1. Si
n = p1 p2 . . . pr r , divisores d de n que sean producto de i factores primos hay ri , por
a1 a2 a

tanto
r  
X X r
µ(d) = (−1)i = (1 − 1)r = 0
i
d|n i=0

Estamos ya en condiciones de enunciar la llamada fórmula de inversión de Möbius.

Teorema 1.9 Sean f (n) y g(n) funciones definidas para cada entero n > 0 y verificando
X
f (n) = g(d)
d|n

Entonces es X n
g(n) = µ(d)f ( )
d
d|n

Dems. X n X n
µ(d)f ( ) = µ( )f (d) =
d d
d|n d|n
X n X X
µ( ) g(d0 ) = µ(m)g(d0 ) =
d 0
d|n d |d m|n∧d0 |(n/m)
X X X
g(d0 )µ(m) = g(d0 ) µ(m)
d0 |n∧m|(n/d0 ) d0 |n m|(n/d0 )

Pero la última suma de la última igualdad vale 0, excepto en el caso de d0 = n (asi m = 1)


en el que vale 1, produciendo el resultado deseado. 2

1.6 Número de caminos de un grafo.


Un resultado clásico de teorı́a de grafos es el siguiente:

Teorema 1.10 Sea A(G) la matriz de adyacencia del grafo (o multigrafo) dirigido G =
(V, A), con vértices 1, 2, . . . , n. El número de caminos dirigidos desde i hasta j usando
exactamente l arcos, es el elemento de la fila i, columna j, de la matriz A(G)l .

Para el caso de multigrafos no dirigidos el teorema anterior queda en:

21
Teorema 1.11 Sea A(G) la matriz de adyacencia del grafo (o multigrafo) no dirigido
G = (V, E), con vértices 1, 2, . . . , n. Para cualquier entero l ≥ 1 el elemento de fila i,
columna j de A(G)l es el número de itinerarios de i a j de longitud l.

Recordemos que si G = (V, E) es un multigrafo no dirigido finito, con n vértices


etiquetados 1, . . . , n, y m ejes e1 , . . . , em , la matriz de adyacencia de G se define como la
n × n matriz A = A(G) que tiene como elemento aij el número de veces que (i, j) es eje
de G. Por tanto para grafos no dirigidos esta matriz de adyacencia, A(G), es una matriz
simétrica y real, con valores propios reales y cuya traza es el número de bucles de G. A
los valores propios de A(G) los llamaremos valores propios de G, y los denotaremos por
λ1 , . . . , λn .
Igualmente en el multigrafo no dirigido G = (V, E), un itinerario de longitud l desde
i a j es una secuencia (i1 , e1 , i2 , e2 , . . . , il , el , il+1 ) tal que: Cada ih es un elemento de V ,
cada eh es un elemento de E con extremos ih y ih+1 , y además i = i1 , j = il+1 .

Recordemos que cualquier n × n matriz simétrica real A tiene n vectores propios lin-
ealmente independientes, que pueden tomarse ortonormales (es decir, ortogonales y con
norma 1). Sean u1 , . . . , un vectores propios (reales y ortonormales) correspondientes a los
valores propios λ1 , . . . , λn de A. Consideraremos cada ui como un vector columna n × 1,
uti será el vector fila traspuesto, y v t u es el producto escalar del vector v por el vector
u. Sea U la matriz cuyas columnas son los vectores u1 , . . . , un . Sabemos que esta matriz
es ortonormal, y su inversa U −1 = U t tiene como filas los vectores ut1 , . . . , utn . También
sabemos que U diagonaliza A, es decir:

U −1 AU = diag(λ1 , . . . , λn )

donde diag(λ1 , . . . , λn ) representa la matriz diagonal con entrada λ1 , . . . , λn .

Corolario 1 Sean λ1 , . . . , λn los valores propios de A(G) y i, j dos vértices cualesquiera


de V . Entonces existen números reales c1 , . . . , cn tales que

(A(G)l )ij = c1 λl1 + . . . + cn λln

De hecho, si U = (urs ) es uma matriz real ortonormal tal que U −1 A(G)U =


diag(λ1 , . . . , λn ) entonces
ck = uik ujk

Dems. Tenemos que


U −1 Al U = diag(λl1 , . . . , λln )
y por consiguiente
Al = U diag(λl1 , . . . , λln )U −1
Usando que U −1 = U t obtenemos que
X
(Al )ij = uik λlk ujk
k

como querı́amos probar. 2

Para poder usar el corolario anterior debemos ser capaces de hallar los valores propios
de A(G), y la matriz U de vectores propios. Hay sin embargo un caso especialmente

22
interesante en el que no es necesario este último cálculo, y es cuando queremos calcular
todos los itinerarios cerrados , itinerarios dónde el vértice inicial coincide con el final, de
longitud l. Este número será
n
X
(A(G)l )ii = tr(A(G)l )
i=1

donde tr denota la traza (suma de los elementos diagonales). Como la traza de una matriz
es la suma de sus valores propios, hemos demostrado el siguiente corolario:

Corolario 2 Supongamos que A(G) tiene valores propios λ1 , . . . , λn . Entonces el número


de itinerarios cerrados de G de longitud l es

λl1 + . . . + λln

Veamos una aplicación de los resultados anteriores para el grafo completo Kn .

Teorema 1.12 Los valores propios del grafo Kn son −1 con multiplicidad n − 1 y n − 1
con multiplicidad 1.

Dems. Sea J la n×n matriz con todos sus elementos iguales a 1. Como su rango es 1, tiene
el valor propio 0 con multiplicidad n − 1, y como su traza es n, el valor propio restante
vale n.
Trivialmente, si la matriz M tiene valores propios λ1 , . . . , λn , la matriz M + cI (con I
la matriz identidad) tiene valores propios λ1 + c, . . . , λn + c. Por tanto como A(Kn ) = J − I
tenemos el resultado. 2

Corolario 3 El número de itinerarios cerrados en Kn de longitud l desde un vértice i a


si mismo viene dado por
1
(A(Kn )l )ii = ((n − 1)l + (−1)l (n − 1))
n
Notar que este es también el número de secuencias i1 , . . . , in de números en el rango
1, 2, . . . , n comenzando en i, terminando en il 6= i y sin tener dos términos consecutivos
iguales.

Dems. El número total de itinerarios cerrrados de longitud l será (n − 1)l + (−1)l (n − 1).
Pero como todos los vértices son equivalentes, los que empiezen en i, serán 1/n veces la
cantidad anterior. 2

Corolario 4 El número total de itinerarios en Kn de longitud l comenzando en i y ter-


minando en j viene dado por
1
(A(Kn )l )ij = ((n − 1)l − (−1)l )
n
Y el número total de itinerarios en Kn de longitud l es
n X
X n
(A(Kn )l )ij = n(n − 1)l
i=1 j=1

23
Dems. Notar que para k > 0 es J k = nk−1 J, y que por el teorema binomial (para matrices)
l  
l
X
l−k l
(J − I) = (−1) Jk
k
k=0

tomando J 0 = I para que la fórmula sea válida. Por consiguiente


l  
l
X
l−k l k−1
(J − I) = (−1) n J + (−1)l I
k
k=1

Por tanto, de nuevo por el teorema binomial aplicado a números


1
(J − I)l = ((n − 1)l J − (−1)l J) + (−1)l I
n
1 (−1)l
= (n − 1)l J + (nI − j)
n n
Tomando la entrada (i, j) con i 6= j de esa matriz A(G)l obtenemos la primera parte
del corolario. La segunda parte se obtiene al sumar todos esos valores junto con los n
valores (A(G)l )ii dados en el lema previo. 2

Veamos otra aplicación de este método. Deseamos calcular el número de secuencias


a1 . . . an , tales que ai es 1, 2, ó 3, pero donde no permitimos que aparezcan ni 11, ni 23,
ni 32. Denotemos por f (n) este número y sea G el grafo no dirigido G = (V, E) con
V = {1, 2, 3} y donde existen todos los ejes (i, j) excepto el (1, 1) y el (2, 3). Claramente
ese número de secuencias f (n) es el número de itinerarios de longitud n en el grafo no
dirigido G. La matriz de adyacencia de G es

 
0 1 1
 1 1 0 
1 0 1

y sus valores propios son −1, 1, 2. Por tanto sabemos que

f (n) = c1 (−1)n + c2 1n + c3 2n

con c1 , c2 , c3 constantes. Podrı́amos calcular c1 , c2 , c3 desde los vectores propios de la matriz


de adyacencia, pero como esa fórmula es válida para todo n, y el número de itinerarios
para n = 0, 1, 2 es respectivamente 3, 6, 12, deducimos que c1 = c2 = 0 y c3 = 3 y por tanto

f (n) = 3 · 2n

El método puede extenderse de forma similar a grafos dirigidos, pero ahora los valores
propios de G pueden ser complejos. Por ejemplo, si en el ejemplo anterior no estuviese
permitida la secuencia 23 pero si la 32, deberı́amos haber tomado G como un grafo dirigido
con todos los arcos excepto el (1, 1) y el (2, 3), y calcular valores propios de la matriz de
adyacencia (no simétrica) de este grafo dirigido.

24
2 Funciones generatrices.

La mayorı́a de los problemas de contar que hemos visto dependen de uno o varios parámet-
ros. Por ejemplo el número de subconjuntos de tamaño r de un conjunto de n elementos
n
es r . En general no estamos interesados en problemas particulares, es decir en calcular
un valor concreto para un cierto n y un cierto r sino en una ”fórmula” general, es decir en
n
todos los valores posibles r , y en las propiedades de esta familia de números.
En esta sección vamos a considerar sólo problemas cuya solución dependa de un
parámetro n. Por ejemplo el número de permutaciones de un conjunto de n elementos, o el
número de soluciones ordenadas enteras y ≥ 0 de x1 +. . . , xn = n. Para estos problemas no
estamos interesados en una solución particular, sino en todas, es decir para el problema de
las permutaciones estamos interesados en la secuencia infinita < 0!, 1!, 2!, 3!, . . . > y para el
problema del número de soluciones ordenadas (suponiendo que si n = 0 hay 0 soluciones)
en la secuencia < 0, 1, 3, 10, . . . >. En general estamos interesados en propiedades o en la
descripción de una secuencia infinita de números < f0 , f1 , . . . , fn , . . . > y en general supon-
dremos que estos números fn son complejos, (aunque en los problemas combinatorios las
secuencias que aparecen son casi siempre de números enteros). Notar que una secuencia
infinita de números complejos < f0 , f1 , . . . , fn , . . . > puede considerarse que es una apli-
cación f : N → C, pero usualmente denotamos por fn a la imagen del número n (en lugar
de f (n)), y fn será el término n-ésimo de la secuencia f . Para definir muchas secuencias
simplemente diremos cual es (o como se calcula) su término n-ésimo. Notar que si f y g
son aplicaciones de N → C, están bien definidas las aplicaciones f + g, su término n-ésimo
es fn + gn , y s · f , su término n-ésimo siendo s · fn , con s un complejo arbitario. Podemos
facilmente comprobar que el conjunto de aplicaciones de N → C con estas operaciones es
un espacio vectorial sobre el cuerpo de los números complejos.
Dada una secuencia infinita de números < f0 , f1 , . . . , fn , . . . > que podemos suponer
complejos, su función generatriz F (z), se define como la serie infinita

f0 + f1 z + . . . + fn z n + . . .
La función generatriz puede interpretarse de dos formas distintas: como una expresión
algebraica, es decir otra forma de escribir la secuencia infinita < f0 , f1 , . . . , fn , . . . > pero
cuya manipulación formal nos puede permitir descubrir identidades o encontrar fórmulas
para secuencias, ó puede interpretarse como una suma infinita (una serie) para cada valor
de z. En este último caso, si es D el conjunto de valores z para los que esa serie converge,
la función generatriz puede mirarse como una función F (z) de D en C, que a cada z ∈
D le asigna el valor de esa suma infinita. Esta función F (z) es siempre infinitamente
diferenciable, y si sabemos encontrar una fórmula explı́cita para ella, no sólo podemos
mediante la fórmula de Taylor determinar los coeficientes fn , es decir ha de ser

F (n) (0)
fn =
n!
sino que adicionalmente, podemos conocer mucho sobre el comportamiento y el orden de
magnitud de esos coeficientes.
Los siguientes teoremas sobre series de potencias y funciones analı́ticas son útiles para
conocer aproximadamente ese orden de magnitud de los coeficientes.
n.
P
Teorema 2.1 Sea F (z) = n≥0 fn z Existe un número real R, 0 ≤ R ≤ ∞, llamado

25
radio de convergencia de la serie, tal que la serie converge ∀z 3 |z| < R y diverge ∀z 3
|z| > R. Además se verifica lim supn→∞ |fn |1/n = 1/R (entendiendo 1/0 = ∞ y 1/∞ = 0).
Además la función F (z) es analı́tica en su disco de convergencia ({z ∈ C 3 |z| < R})
y debe tener al menos una singularidad en la frontera de ese disco ({z 3 |z| = R}).

fn z n es la
P
Teorema 2.2 Recı́procamente, supongamos que la función generatriz de
función F (z) y que F (z) es analı́tica en alguna región conteniendo el origen. Sea z0 la sin-
gularidad de menor módulo de F (z), entonces lim sup |fn |1/n = 1/|z0 |. Equivalentemente,
dado  > 0, existe un entero N () tal que, fn < (1/|z0 |+)n , ∀n > N () y fn > |1/|z0 |−|n
para infinitos valores de n.

fn z n puede también mirarse como un


P
Como señalabamos la función generatriz
objeto algebraico, como otra forma de nombrar a la secuencia infinita de números
< f0 , f1 , . . . , fn , . . . >. Más formalmente, una serie de potencias formal es una ex-
presión de la forma
f0 + f1 z + f2 z 2 + . . . + fn z n + . . .
Los números fn se denominan los coeficientes de la serie, < f0 , f1 , . . . , fn , . . . > es la
secuencia de coeficientes, y dos series son iguales si tienen la misma secuencia de coefi-
cientes.
Podemos mirar las series formales como una extensión de los polinomios, y definir las
mismas operaciones que en polinomios, sumas,Pproductos, derivadas,...
Concretamente, si F (z) es la serie formal n fn z n y P G(z) es la serie formal n gn z n ,
P
entonces por αF (z) + βG(z) indicamos la serie formal n (αfn + βgn )z n . El elemento
neutro de la operación suma, la serie con todos los coeficientes nulos, < 0, 0, . . . >, se
denota por 0, y la opuesta de F (z) por −F (z).P Pn
Por F (z)G(z) indicamos la serie formal n
x hn z donde hn = k=0 fk gn−k . Esta
operación producto tiene un elemento neutro, la serie con coeficientes < 1, 0, 0, . . . >
denotada por 1. Algunas series formales F (z), tienen recı́proco respecto a esta operación
producto, es decir diremos que la serie H(z) es la recı́proca de F (z) si su producto es la
serie 1, y escribiremos que H(z) = 1/F (z).

Teorema 2.3 La serie formal n fn z n tiene recı́proco, 1/F (z), sı́ y sólo sı́, f0 6= 0
P

Dems. Si f0 = 0, al multiplicar la serie F (z) por una serie arbitraria n gn z n , el coeficiente


P
de z 0 en ese producto es f0 g0 = 0, por tanto no podemos obtenerP la serie 1.
Por el contrario si f0 6= 0, queremos ver que existe G(z) = n gn z n tal que F (z)G(z) =
1. Por tanto debe verificarse
f0 g0 = 1
luego g0 = 1/f0 , un número bien definido. Igualmente ha de ser

f0 g1 + f1 g0 = 0

luego g1 = (−1/f0 )(f1 g0 ). En general para el término n-ésimo ha de ser


n
X
fk gn−k = 0
k=0

luego
Xn
gn = (−1/f0 )( fk gn−k )
k=1

26
lo cual está bien definido pues ya hemos calculado los valores previos g0 , g1 , . . . , gn−1 . 2
Por la derivada F 0 (z) de una serie P
formal F (z) indicamos la serie formal con término
n-ésimo (n + 1)fRn+1 , es decir F (z) = n (n + 1)fn+1 z n .
0
z
Igualmente, 0 f (t)dt indica la serie de potencias formal con término n-ésimo fn−1 /n
(si n > 0 y con valor 0 si n = 0).
Normalmente una serie formal con un número finito de coeficientes no nulos se identifica
con un polinomio. Por ejemplo, escribiremos 2z − z 3 en lugar de 0 + 2z + 0z 2 − 1z 3 +
0z 4 + 0z 5 + . . .. De esta forma, podemos definir expresiones como z 2 F 0 (z)/G(z), que serı́a
la función generatriz correspondiente al producto de la secuencia z 2 , por la secuencia de
F 0 (z), por la secuencia recı́proca de G(z) (recı́proca respecto de la operación producto).
De esta forma, si tenemos fórmulas F (z) y G(z) para las funciones generatrices de fn
y gn , cualquier manipulación algebraica, como 3F (z)2 − 7G0 (z)G(z) es la fórmula de la
función generatriz de una expresión algebraica ligando los coeficientes fn y gn . En este
ejemplo, 3F (z)2 − 7G0 (z)G(z) serı́a la función generatriz de la secuencia de coeficientes
X X
hn = 3 fi fj − 7 (i + 1)gi+1 gj
i+j=n i+j=n

Ejemplo 1.-Multipliquemos la serie formal


X
αn z n
n≥0

por 1 − αz. Obtenemos que el coeficiente de z n en ese producto es 1 si n = 0 y 0 si n > 1.


Por tanto la función generatriz de fn = αn para cualquier complejo α es

X 1
αn z n =
1 − αz
n=0

Podemos interpretar esta igualdad de dos formas, una como P manipulación de series de
n n
potencias, que dice que el producto de la serie de potencias n≥0 α zP por la serie 1 − αz
nos da la serie 1. La otra interpretación es como series, cuando la serie n≥0 αn z n converja,
1
como 1 − αz es siempre convergente, nos dice que el valor de esa suma es 1−αz . Ahora
cuando la serie converge, tiene que hacerlo en el interior de un disco de radio R, y en la
frontera de ese disco la función que da la suma de la serie tiene que tener una singularidad.
1
Puesto que la función 1−αz sólo tiene una singularidad en z = 1/α, se deduce que R = 1/α,
y por tanto que esa serie converge si |z| < 1/α y diverge si |z| > 1/α.
1
Notar quePaunque la función 1−αz está definida para todo z 6= 1/α, su valor sólo
n n
coincide con n≥0 α z cuando esta serie es convergente.

Ejemplo 2.- Sabemos que X


ez = z n /n!
n≥0

Como trivialmente ez e−z = 1, debe ser


X X
( z n /n!)( (−1)n z n /n!) = 1
n≥0 n≥0

y por tanto para n ≥ 1, el coeficiente de z n ha de ser


X 1 (−1)j
=0
i! j!
i+j=n

27
o equivalentemente
n  
n n
X
(−1) =0
j
j=0

resultado que conocı́amos desde el teorema binomial.

2.1 Funciones generatrices exponenciales.


En algunos casos, sobre todo para secuencias < f0 , f1 , . . . , fn , . . . > de crecimiento muy
rápido en n, interesa definir la llamada función generatriz exponencial definida como
la serie

X zn
Fe (z) = fn
n!
n=0

o lo que es lo mismo, la función generatriz ordinaria correspondiente a la secuencia


f0 , f1 /1!, . . . , fn /n!, . . . >. Es fácil ver que las funciones generatrices exponenciales cumplen
la propiedad

X X n  zn
Fe (z)Ge (z) = ( fi gj )
n=0
i n!
i+j=n

e igualmente

X zn
Fe0 (z) = fn+1
n!
n=0

Veamos una aplicación de estas funciones generatrices. Denotemos por Be (z) la función
generatriz exponencial correspondiente a los números de Bell Bn . Como estos cumplen la
fórmula
n  
X n
Bn+1 = Bn−i
i
i=0

y la función generatriz exponencial de la secuencia < 1, 1, 1, . . . > es



X
z n /n! = ez
n=0

Be (z) debe cumplir la ecuación diferencial

Be0 (z) = ez Be (z)

o equivalentemente
(ln(Be (z))0 = ez
La solución de esta ecuación es
z +c)
Be (z) = e(e
con c una constante arbitraria. Como para z = 0, tiene que ser Be (0) = B0 = 1, el valor
correcto de c es −1 y por tanto
z
Be (z) = e(e −1)
Resumiendo, el número de Bell Bn coincide con el valor en z = 0 de la derivada n-ésima
z
de la función e(e −1) .

28
2.2 Funciones generatrices y ecuaciones de recurrencia
Las ecuaciones de recurrencia no sólo dan un método para calcular un término genérico
f (n) sino que generalmente proporcionan una ecuación (o sistema de ecuaciones) que debe
cumplir la función generatriz. Esto permite en muchos casos obtener una forma explı́cita
para la función generatriz.

Ejemplo 1.- Fijado x arbitrario sea


 
x x(x − 1) . . . (x − (n − 1))
fn = =
n 1 · 2...n

Por tanto fn cumple la recurrencia

x − (n − 1)
fn = fn−1
n
o bien
nfn = xfn−1 − (n − 1)fn−1
n 0
P
la cual es cierta para todo n > 0. Ahora si es F (z) = n≥0 fn z , ha de ser F (z) =
n−1 n−1
P
n>0 nfn z . Por tanto multiplicando la recurrencia por z obtenemos

nfn z n−1 = xfn−1 z n−1 − (n − 1)fn−1 z n−1

Sumando para todos los valores de n > 0 obtenemos

F 0 (z) = xF (z) − zF 0 (z)

Por tanto
x
F 0 (z)/F (z) =
1+z
Como la derivada de ln F (z) es F 0 (z)/F (z), y la de x ln(1 + z) + c es x/(1 + z) tiene que
ser F (z) = exp(x ln(1 + z) + c). Como F (0) = f0 = 1, la constante c es 0 y por tanto

F (z) = (1 + z)x

Hemos redescubierto por tanto el teorema binomial para exponentes x arbitrarios


X  x
z n = (1 + z)x
n
n

Notar sin embargo que (1 + z)x dará el valor de la serie n≥0 nx z n solamente cuando
P 

esta serie sea convergente, y a su vez para saber cuando esta serie es convergente, basta
ver dónde aparecen las singularidades de la función (1 + z)x . Esta función no tiene sin-
gularidades para valores de x enteros y ≥ 0, pues es un polinomio, y tiene una primera
singularidad en z = −1 para cualquier otro valor (real o complejo) de x. Por tanto la
fórmula
X x 
x
(1 + z) = zn
n
n

es válida para todo z si x es un entero positivo, y para todo z con |z| < 1 si x es cualquier
otro número real o complejo. (Si z es complejo, las funciones ln(1 + z) y (1 + z)x son

29
multivaluadas, y tendrı́amos que especificar que rama de valores se deben tomar para que
esa identidad permanezca válida).

Ejemplo 2.- Los números de Fibonacci se definen como f0 = 0, f1 = 1 y

fn = fn−1 + fn−2

para n ≥ 2 Por tanto


fn z n = fn−1 z n−1 z + fn−2 z n−2 z 2
Por tanto sumando para n ≥ 2 tenemos

F (z) − z = F (z)z + z 2 F (z)

y despejando
z
F (z) =
1 − z − z2
Esta función generatriz compleja es analı́tica alrededor del origen, y sus únicas singulari-
dades aparecen cuando el denominador
√ es 0. De los dos valores que hacen 0 el denominador
−1+ 5
el de menor módulo es z0 = 2 , por lo tanto sabemos que

p
n n 1+ 5 n
lim fn = (1/z0 ) = ( )
2

2.3 Funciones generatrices racionales.


La función anterior es un caso particular de las llamadas funciones generatrices racionales,
que son funciones que tienen la forma F (z) = P (z)Q(z)−1 con P (z) y Q(z) polinomios en
z. La principal propiedad de las funciones generatrices racionales desde el punto de vista
combinatorio viene dada en el siguiente teorema.

Teorema 2.4 Sea α1 , . . . , αd una secuencia de números complejos con d ≥ 1 , αd 6=


0, y sea Q(z) = 1 + α1 z + α2 z 2 + . . . αd z d . Supongamos P que las raı́ces de Q(z) = 0
son 1/γ1 , . . . , 1/γk con multiplicidades d1 , . . . , dk (por tanto ki=1 di = d). Las siguientes
condiciones sobre la secuencia fn (de números complejos) son equivalentes:
i) Para todo n ≥ 0,

fn+d + α1 fn+d−1 + α2 fn+d−2 + . . . + αd fn = 0

ii) Para todo n ≥ 0,


k
X
fn = pi (n)γin
i=1

donde pi (n) es un polinomio en n de grado menor que di .


iii) La funcion generatriz de fn es
X
fn z n = P (z)/Q(z)
n≥0

dónde P (z) es un polinomio de grado menor que d.

30
Antes de ver la demostración del teorema veamos su significado y sus implicaciones. La
condición i) es una ecuación de recurrencia, y nos expresa el término fn+d en función (de
hecho es una combinación lineal) de d valores anteriores

fn+d = −(α1 fn+d−1 + α2 fn+d−2 + . . . + αd fn )

Por tanto, conocidos d valores iniciales f0 , f1 , . . . , fd−1 podemos conocer fn para cualquier
valor n y distintos valores iniciales nos darán distintas secuencias. Denotemos por F1 al
conjunto de secuencias que cumplen esa recurrencia. Por otra parte ii) representa otra
familia de secuencias. Dados k polinomios pi (n), cada uno con grado menor que di , con-
sideramos la secuencia dada por
k
X
gn = pi (n)γin
i=1

Distintas elecciones de polinomios pi (n) darán distintas secuencias, y sea F2 esa familia de
secuencias. Finalmente, sea F3 la familia de secuencias cuya función generatriz es de la
forma
P (z)Q(z)−1
con P (z) un polinomio de grado ≤ d. Notar que Q(z) es una series de potencias y su
primer término (coeficiente de z 0 ) vale 1, por tanto existe serie formal recı́proca 1/Q(z),
y al multiplicar esta serie por distintos polinomios en n de grado < d, obtenemos una
familia de series formales, las secuencias de coeficientes de esas series formales forman F3 .
El teorema dice que estas tres familias de secuencias coinciden.
Notar además que decir que 1/γ1 , . . . , 1/γk son las raices de Q(z) = 0 con multiplici-
dades d1 , . . . , dk equivale a decir que
k
Y
Q(z) = (1 − γi z)di
i=1

(pues estos dos polinomios tienen el mismo grado, las mismas raices con la misma multi-
plicidad, y el mismo término independiente, luego son iguales).

Dems. Consideremos una secuencia < f0 , f1 , . . . , > como una aplicación f de N en C.


La familia F1 es por consiguiente la familia de aplicaciones de N en C que verifican i).
Podemos comprobar que esta familia es un subespacio vectorial complejo, esto es que si f
y g son dos funciones que verifican i), entonces αf + βg también verifica i) ∀α, β ∈ C. Una
aplicación de F1 viene especificada por d valores iniciales f0 , f1 , . . . , fd , que unı́vocamente
determinan el resto de coeficientes. Por tanto consideremos las aplicaciones e1 , e2 , . . . , ed
de la familia F1 que tienen como d valores iniciales: e1 los d números (1, 0, . . . , 0), e2 los
valores (0, 1, 0, . . . , 0), y asi sucesivamenta hasta ed los valores (0, . . . , 0, 1). Claramente
estas funciones de N → C son linealmente independientes, y además cualquier otra función
f ∈ F1 si sus d valores iniciales son f0 , f1 , . . . , fd−1 , verifica que f = f0 e1 +f1 e2 +. . .+fd−1 ed .
Resumiendo, F1 es un espacio vectorial de dimensión d y las funciones ei forman una base.
Igualmente, podemos comprobar que F2 = { Aplicaciones f : N → C verificando ii) }
es un espacio vectorial, y las d aplicaciones f (j,i) : N → C dadas por

(f (j,i))n = ni γj n

31
1 ≤ j ≤ k, 0 ≤ i ≤ dj generan todas las secuencias de F2 , por tanto la dimensión de F2 es
≤ d. Finalmente, para 0 ≤ i < d consideremos las d series formales
zi
H i (z) =
Q(z)
y sean f i las correspondientes secuencias de coeficientes de esas series. Es decir (f i )n es
el coeficiente de z n en la serie formal z i Q(z)−1 . Como las secuencias que son combinación
lineal de las f i tienen como función generatriz la misma combinación lineal de los H i (z),
deducimos que F3 es un espacio vectorial de dimensión d, y una base está dada por las
funciones (secuencias) f 0 , . . . , f d−1 .
Sea ahora f ∈ F3 . Por definición, se ha de verificar que Q(z)( n f (n)z n ) = P (z), es
P
decir
(1 + α1 z + α2 z 2 + . . . αd z d )(f0 + f1 z + . . . + fn z n + . . .) = P (z)
Como el coeficiente de z n+d en P (z) vale 0 para todo n, y el coeficiente de esa misma
potencia en el producto de la izquierda es fn+d + α1 fn+d−1 + α2 fn+d−2 + . . . + αd fn , y
estos dos coeficientes deben coincidir, se deduce que f ∈ F1 , es decir F3 ⊆ F1 y como son
espacios vectoriales de la misma dimensión F3 = F1 .
Consideremos ahora, dados j e i, 1 ≤ j ≤ k y 1 ≤ i ≤ dj , la función generatriz
1
H (i,j) (z) =
(1 − γj z)i

Multiplicando numerador y denominador por l6=j (1 − γl z)dl obtenemos una función gen-
Q
eratriz del tipo dado en iii), por tanto la secuencia de coeficientes de la función generatriz
H (i,j) (z) pertenece a F3 , y esto es cierto para cualquier j e i tales que 1 ≤ j ≤ k y
1 ≤ i ≤ dj . Llamemos h(ij) a la secuencia de coeficientes de la serie formal H (i,j) (z) y
veamos que estas d secuencias forman una base de F3 . Como sabemos que FP 3 tiene dimen-
sión d, nos basta ver que esas d secuencias son independientes, es decir que si βij h(ij) = 0
P 1
implica que βij = 0, o equivalentemente que si βij (1−γj z)i = 0, implica que βij = 0.
Supongamos que esto no es verdad, es decir que existen βij todos no nulos, tales que
X 1
βij =0
(1 − γj z)i
Para cada j sea d0j el máximo exponente de los polinomios denominadores de la forma
(1 − γj z)i que aparecen en la esa combinación lineal. Multiplicando esa combinación lineal
0
por 1≤j≤k (1 − γj z)dj obtendremos un polinomio en z expresado como sumandos de la
Q
forma
0 Y
βij (1 − γj z)i−dj
0
(1 − γl z)dl
l6=j

Evaluándo ese polinomio en z = 1/γj , todos los sumandos Q se hacen cero0 excepto
0
βd0j j l6=j (1 − γl /γj )dl . Como la suma tiene que dar cero y l6=j (1 − γl /γj )dl 6= 0, ha
Q

de ser βd0j j = 0 contra la hipótesis de todos los coeficientes βij no nulos. Con esto queda
probado que las d secuencias h(i,j) de coeficientes de las series formales (1−γ1j z)i forman
una base de F3 .
A su vez por la fórmula del binomio,
∞   ∞   ∞  
1 n −i i+n−1 n n X i+n−1 n n
X X
n n
= (−1) z γj = z γj = z γj
(1 − γj z)i n=0 n n=0
n n=0
i − 1

32
El coeficiente n-ésimo de esta serie de potencias es
 
(i,j) i+n−1 n
hn = γj
i−1

Observar que ese coeficiente n-ésimo es el producto de un polinomio de grado i−1 en n por
una potencia n-ésima de γj , y como i ≤ dj , esta secuencia de coeficientes h(i,j) pertenece
a F2 . Por tanto, F3 ⊆ F2 , como a su vez F3 tiene dimensión d y la de F2 es ≤ d se deduce
que la dimensión de F2 es d, y que F1 = F2 = F3 . 2

NOTAS.
1.- En la práctica, este teorema suele usarse para resolver recurrencias, es decir dada
una función de la cual conocemos su fórmula de recurrencia i), hallar una fórmula explı́cita
como ii) para conocer el término n-ésimo. Los valores 1/γ1 , . . . , 1/γk se llaman raı́ces
caracterı́sticas de la recurrencia, y a su vez son las raı́ces (cada γi con multiplicidad di ) del
polinomio
xd + α1xd−1 + α2 xd−2 + . . . + αd
que se denomina polinomio caracterı́stico de la ecuación de recurrencia. Notar que el
polinomio caracterı́stico no es Q(z), es z d Q(1/z).

2.- En la demostración anterior hemos visto que F2 tiene dimensión d, es decir que las
d secuencias
(f (j,i))n = ni γj n
1 ≤ j ≤ k, 0 ≤ i ≤ dj son linealmente independientes. Como consecuencia tenemos el
siguiente resultado

Corolario 5 Sea P1 (z), P2 (z), . . . , Ps (z) polinomios no nulos en z y γ1 , γ2 , . . . , γs comple-


jos distintos y no nulos cualesquiera. Igualmente sean Q1 (z), Q2 (z), . . . , Qt (z) polinomios
no nulos en z y δ1 , δ2 , . . . , δt complejos distintos y no nulos cualesquiera. Supongamos que
para todo n ≥ n0 , n0 ≥ 0 un entero dado, se verifica que
s
X t
X
Pi (n)γin = Qj (n)δjn
i=1 j=1

entonces s = t y se pueden reordenar los polinomios Qj (z) y los números δj de forma que
Pi (z) = Qi (z) y γi = δi para todo i, 1 ≤ i ≤ s.

Dems. Veámoslo primero para el caso n0 = 0.


Supongamos que en el conjunto de complejos γ1 , γ2 , . . . , γs , δ1 , δ2 , . . . , δt hay r números
distintos, llamemósles β1 , . . . , βr . Poniendo los términos de la derecha en la parte izquierda
de la igualdad anterior, obtendremos una expresión de la forma
r
X
Pi (n)βin = 0
i=1

Dónde Pi (n) es ó bien Pi (n), ó es Pi (n) − Qj (n) para algún j ó es −Qj (n) para algún j. En
cualquier caso Pi (n) es un polinomio en n, y por tanto en la parte izquierda tenemos una
expresión que consiste en combinaciones lineales de expresiones de la forma nk βin , y que
tiene que dar 0 para todo n. Como las secuencias nk βin son linealmente independientes,

33
todos los coeficientes han de ser 0, es decir todos los polinomios Pi (n) son el polinomio
nulo. Como Pi (n) y Qj (n) son por hipótesis no nulos, la única opción que nos queda, si ha
de verificarse la igualdad anterior, es que cada βi aparece en la izquierda con un polinomio
Pi y en la derecha con un polinomio Qj = Pi .
Si n0 > 0, sea n̄ = n − n0 . Sustituyendo n por n̄ + n0 , la igualdad anterior puede ahora
escribirse como
Xs t
X
Pi (n̄ + n0 )γin̄+n0 = Qj (n̄ + n0 )δjn̄+n0
i=1 j=1

Pero Pi (n̄ + n0 )γin0


y Qj (n̄ + n0 )δjn0
son polinomios en n̄, y por tanto tenemos una igualdad
como en el caso anterior en la variable n̄ y que debe verificarse para todo n̄ ≥ 0. 2
En particular también tenemos la siguiente consecuencia:
Si γ1 , . . . , γs , δ1 , . . . , δt son números complejos no nulos verificando que

γ1n + . . . + γsn = δ1n + . . . + δtn

para todo entero n ≥ n0 . Entonces s = t y los γi coinciden con los δi salvo el orden.

3.- A veces necesitaremos el siguiente resultado


Corolario 6 Sea fn una secuencia verificando cualquiera de las tres condiciones del teo-
rema anterior. Entonces son equivalentes:
i) P (z)/Q(z) son primos entre si, es decir no puede simplificarse la función generatriz.
ii) No existe un entero 0 ≤ c < d y complejos β1 , . . . , βc tales que para todo n ≥ 0,

fn+c + β1 fn+c−1 + β2 fn+c−2 + . . . + βc fn = 0

iii) El grado de cada Pi (n) es exactamente di − 1. (Entendemos que el grado del


polinomio nulo es −1).
Dems. Supongamos que fn tiene como función generatriz P (z)/Q(z) y esta expresión puede
simplificarse a P1 (z)/Q1 (z). Entonces Q1 (z) tendrá grado c menor que d, y por el teorema
previo fn cumplirá un recurrencia lineal de orden c. Recı́procamente, supongamos que fn
tiene como función generatriz a P (z)/Q(z) y cumple una recurrencia de orden c. De nuevo
por el teorema previo, también tiene una función generatriz de la forma P1 (z)/Q1 (z) dónde
Q1 (z) es de grado c y c < d, y que tiene que coincidir con P (z)/Q(z), es decir este último
cociente puede simplificarse. Esto demuestra que la condición i) y la ii) son equivalentes.
Igualmente, si fn tiene como función generatriz P (z)/Q(z) y esta expresión puede
simplificarse a P1 (z)/Q1 (z), al menos una de las raı́ces 1/γi de Q(z), tiene una multiplicidad
d0i < di en Q1 (z), y por el teorema previo, fn puede expresarse como combinación lineal
Pi (n)γin , con Pi de grado d0i , d0i < di . Notar que si di = 1, d0i = 0, es decir no aparece
término en γin ó, equivalentemente el polinomio Pi (n) es el polinomio nulo. Finalmente
supongamos que fn tiene como función generatriz P (z)/Q(z) y puede expresarse como
n y uno de los polinomios, el polinomio P (n), tiene grado d0 < d , por tanto
P
P
j j (n)γ j i i i
la suma de los grados de esos polinomios es un número d0 < d. De nuevo el teorema
previo dice que la función generatriz de fn es una función racional P1 (z)/Q1 (z) con Q1 (z)
teniendo grado d0 < d, y debe coincidir con P (z)/Q(z), luego este último cociente se puede
simplificar. 2
Aplicación 1.- Habı́amos definido los números de Fibonacci como f0 = 0, f1 = 1 y

fn = fn−1 + fn−2

34
para n ≥ 2. Efectivamente su función generatriz
1
F (z) =
1 − z − z2
es racional. Para encontrar fórmulas para fn necesitamos las inversas de las raı́ces de
1 − z − z 2 , es decir las raı́ces de
z2 − z − 1 = 0
Esta última ecuación se llama ecuación caracterı́stica de la recurrencia y sus raı́ces, los
valores γi , las raı́ces caracterı́sticas. En nuestro caso
√ √
1+ 5 1− 5
γ1 = , γ2 =
2 2
Por tanto
fn = c1 γ1n + c2 γ2n
pues ahora los polinomios pi (n) se reducen a constantes ya que di = 1.

Para hallar c1 y c2 , usamos las condiciones iniciales que definen fn , f0 = 0, f1 = 1, por


tanto
c1 + c2 = 0, c1 γ1 + c2 γ2 = 1
Esto produce para el n-ésimo número de Fibonacci la fórmula
√ √
1 1+ 5 n 1 1− 5 n
fn = √ ( ) −√ ( )
5 2 5 2
Notar que γ2 es negativo, con módulo < 1, por tanto el segundo sumando tiende a 0 si
n tiende a ∞. Esto implica que
fn ≈ c1 γ1n
como además los fn son enteros, fn tendrá que ser a partir de un cierto valor el entero
más próximo a esa cantidad, de hecho lo es siempre. No está claro sin embargo, que para
calcular exactamente fn para n grande, esta fórmula explı́cita sea mejor que la recurrencia
inicial, pues el cálculo de γ1n requiere el manejo de números irracionales.

Aplicación 2.- Queremos calcular fórmulas explicitas para la secuencia fn dada por
la ecuación de recurrencia

fn = 4fn−1 − 5fn−2 + 4fn−3 − 4fn−4

cuando los valores iniciales son

f0 = 0, f1 = 1, f2 = 2, f3 = 4

La fórmula de recurrencia nos permite calcular fn para cualquier valor de n, pero nos da
muy poca información sobre el valor asintótico, por ejemplo si n = 106 cuantas cifras tiene
fn ? Cuanto vale aproximadamente fn si n = 106 ? Los primeros valores de fn son:
n 0 1 2 3 4 5 6 7 8 9 10
fn 0 1 2 4 10 24 54 120 266 584 1270
La ecuación caracterı́stica es

z 4 − 4z 3 + 5z 2 − 4z + 4 = 0

35
Aunque es una ecuación de cuarto grado podemos comprobar que z 4 − 4z 3 + 5z 2 − 4z + 4 =
(z 2 + 1)(z − 2)2 , es decir las raı́ces caracterı́sticas son i y −i con multiplicidad 1 y la raı́z
2 con multiplicidad 2. Esto implica que existen números α1 , α2 , α3 y α4 tales que

fn = α1 (in ) + α2 (−i)n + (α3 + α4 n)2n

para todo n ≥ 0. Los coeficientes αi pueden ser números complejos. Para calcular esos co-
eficientes usamos las condiciones iniciales. Notar que distintas condiciones iniciales tienen
que dar distintos valores de los coeficientes puesto que las secuencias producidas siempre
serán distintas. En nuestro caso, para n = 0, 1, 2, 3, fn vale 0, 1, 2, 4, por lo tanto los valores
αi deben cumplir las cuatro ecuaciones:

(1) α1 + α2 + α3 = 0

(2) α1 i + α2 (−i) + (α3 + α4 )2 = 1

(3) α1 (−1) + α2 (+1) + (α3 + 2α4 )4 = 2

(4) α1 (−i) + α2 (+i) + (α3 + 3α4 )8 = 4

De dónde obtenemos

(1)+(3) 5α3 + 8α4 = 4

(2)+(5) 10α3 + 26α4 = 5

y por tanto que


α3 = 12/50, α4 = 1/10
Sustituyendo estos valores en (1) y (2) obtenemos las ecuaciones

(1’) α1 + α2 = −12/50

(2’) (α1 − α2 )i = 16/50


Y por tanto
α1 = −6/50 − 8i/50, α2 = −6/50 + 8i/50
La fórmula explı́cita para fn es por consiguiente

fn = (6/50 − 8i/50)in + (−6/50 + 8i/50)(−i)n + (12/50 + n/10)2n

Las siguientes observaciones son útiles en la práctica:


1.- El proceso de calcular los coeficientes αi a partir de las condiciones iniciales supone
resolver un sistema de ecuaciones lineales, posiblemente con coeficientes complejos. Siem-
pre, como consecuencia del Teorema previo, este sistema tiene solución y esa solución es
única.
2.- Es normal que en la formulación explı́cita de fn aparezcan complejos, irracionales ó
fracciones. Pero en los problemas combinatorios, cómo en este ejemplo, el resultado final
tiene que ser entero, es decir las partes complejas e irracionales deben cancelarse entre sı́,
y las partes racionales tienen que producir al sumarse valores enteros.
3.- La fórmula explı́cita es útil sobre todo para dar valores aproximados cuando n es
grande. En este ejemplo
fn ≈ n2n /10

36
Asi f1000000 ≈ 105 21000000 ≈ 10301034.995663 ≈ 9.900656 ∗ 10301034 es decir el número f1000000
es un entero de 301035 cifras, y sus 5 primeras cifras son 99006. Si hacemos la aproximación

fn ≈ (12/50 + n/10)2n

obtenemos que f1000000 ≈ 100000.24 ∗ 21000000 ≈ 10301034.99566398 ≈ 9.900679990854448 ∗


10301034 , ası́ las primeras 12 cifras de f1000000 son 990067999085 . . . y ası́ hasta 301035
cifras.
Finalmente decir que, puesto que los valores complejos han de cancelarse, pueden obten-
erse fórmulas sin coeficientes complejos, pero a costa de hacer un análisis de casos. En
nuestro ejemplo, observando los resultados de la fórmula explı́cita anterior según n sea par
o impar obtenemos
( n+2
6/25(−1) 2 + (12/50 + n/10)2n si n par
fn = n−1
8/25(−1) 2 + (12/50 + n/10)2n si n impar

Aplicación 3.- Habı́amos visto una fórmula de recurrencia que nos decı́a como calcular
el número de formas distintas de pagar una cantidad r de céntimos, usando monedas de
1, 2, 5, 10, 20, 50 céntimos, y habı́amos llamado P (r, 6) a esta cantidad. Veamos cual es
su función generatriz. Si sólo dispusiésemos de monedas de valor 1, entonces sólo hay
una forma de pagar, por tanto P (r, 1) vale siempre 1, y la función generatriz de P (r, 1),
1
llamémosle P1 (z) será 1−z . Si la primera moneda, hubiese tenido un valor v(1) ≥ 1,
podrı́amos pagar las cantidades v(1), 2v(1), 3v(1), . . . de una única forma, y no podrı́amos
pagar si r no es múltiplo de v(1). Ası́ si fuese v(1) = 3, la secuencia de posibles formas
de pago, llamemósle P v(1) (r, 1), serı́a 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, . . .. En este caso la función
generatriz de la secuencia es
v(1) 1
P1 (z) =
1 − z v(1)
Supongamos ahora que para pagar r disponemos solamente de las monedas de valor 1
y 2 (v(1) y v(2) en general). Para pagar una cantidad r, pagaremos una cantidad i usando
las monedas del primer tipo, y la cantidad restante, r − i, usando las del segundo tipo. Por
tanto el número de formas de pagar, P v(1),v(2) (r, 2), cumple la relación
r
X
P v(1),v(2) (r, 2) = P v(1)) (i, 1)P v(2) (r − i, 1)
i=0

y por tanto su función generatriz es


1 1
(1 − z v(1)) (1 − z v(2))

Que en nuestro caso es


1 1
=
(1 − z) (1 − z 2 )

Usando los mismos razonamientos, vemos que la función generatriz de P (r, 3) (con
nuestros valores de monedas) es
1 1 1
(1 − z) (1 − z ) (1 − z 5 )
2

37
e igualmente
1 1 1 1 1 1
P6 (z) =
(1 − z) (1 − z ) (1 − z ) (1 − z ) (1 − z ) (1 − z 50 )
2 5 10 20

Aunque la fórmula tenga un aspecto terrible, es una función generatriz racional, con
P (z) = 1, Q(z) un polinomio de grado 1 + 2 + 5 + 10 + 20 + 50 = 88 y con raı́ces
complejas (todas con módulo 1) conocidas. Esto, teóricamente permite dar una fórmula
explı́cita para P (6, r) para todo r, hallando los polinomios pi (r) que acompañan a cada
raı́z distinta. Pero notar que la raiz 1 es la que más veces se repite, exactamente 6 veces,
por tanto va acompañada de un polinomio de grado exactamente 5. Las demás raı́ces
tienen una multiplicidad estrictamente menor, por tanto P (6, r) asintóticamente es Θ(r 5 )
es decir del orden de una constante c por r 5 . De hecho, el siguiente Teorema de Schur
precisa cual es el valor de la constante c.
Teorema 2.5 El número de formas en que un entero n puede expresarse como combi-
nación lineal entera y nonegativa de k enteros 1 ≤ v(1) < v(2) < . . . < v(k) tales que su
m.c.d. sea 1, es ası́ntoticamente
nk−1
+ O(nk−2 )
(k − 1)!v(1)v(2) . . . v(k)
Dems. Como hemos señalado la función generatriz de ese número de formas, fn , es
1
F (z) =
(1 − z v(1) )(1 − z v(2) ) . . . (1 − z v(k) )
Además la raı́z 1 tiene multiplicidad k y cualquier otra raı́z es una raı́z de la unidad con
multiplicidad estrictamente menor que k (ya que el m.c.d. es 1), por lo tanto asintótica-
mente fn = cnk−1 con c una constante.
1
Por otra parte el cociente F (z) = (1−z v(1) )(1−z v(2) )...(1−z v(k) )
puede expresarse como
combinación lineal de las funciones racionales 1/(1 − z/wi )ki con wi las distintas raı́ces del
denominador y ki = 1, 2, . . . ,multiplicidad de wi , por tanto tenemos que
1
F (z) = =
(1 − z v(1) )(1 − z v(2) ) . . . (1
− z v(k) )
XX
a0 /(1 − z)k + a1 /(1 − z)k−1 + . . . + ak−1 /(1 − z) + 1/(1 − z/wi )ki
wi 6=1 ki

Multiplicando a izquierda y derecha por (1 − z)k , y haciendo tender z a 1, vemos que

(1 − z)k 1
a0 = lim v(1) v(2) v(k)
=
z→1 (1 − z )(1 − z ) . . . (1 − z ) v(1)v(2) . . . v(k)

El último lı́mite lo hemos calculado notando que (1 − z v(i)) /(1 − z) = 1 + z + . . . + z (v(i)−1) .


Finalmente, como el polo z = 1 es el de mayor multiplicidad de F (z), el valor de fn debe
aproximarse asintóticamente al coeficiente de z n en el desarrollo en seriede a0 /(1 − z)k .
Pero por el teorema binomial (1−z)−k = ∞ −k n ∞ n+k−1 n k−1 /(k−
P  P
n=0 n (−z) = n=0 k−1 z ≈ n
n
1)!z De dónde el enunciado. 2
En particular para nuestro ejemplo, la constante que acompaña a r 5 es
1
5!1 × 2 × 5 × 10 × 20 × 50

38
y por ejemplo el número de formas de pagar r = 108 es aproximadamente 8.3333333 × 1032

Supongamos ahora que para pagar r, disponemos de monedas de todos los posibles
valores, v(1) = 1, v(2) = 2, v(3) = 3, . . .. El número de formas distintas de pagar r,
coincide entonces con el número de particiones p(r) de r, y por tanto la función generatriz
de p(r), el número de particiones de r es
∞ ∞
X Y 1
P art(z) = p(r)z r =
(1 − z k )
r=0 k=1

2.4 Enumeración de árboles.


Recordemos que un árbol ordenado (T, v) es un árbol con raı́z en v donde los hijos de
cada nodo están ordenados, es decir si cambia ese orden, entendemos que los árboles son
distintos. Igualmente un bosque ordenado es un bosque (T1 , v1 ), . . . , (Tk , vk ) de árboles
ordenados, donde si cambiamos el orden de los árboles entendemos que se obtiene un
bosque distinto. Con nuestra definición, cada bosque y árbol es un grafo, que suponemos
consta de los n nodos de un conjunto V .

Un concepto estrechamente relacionado con árboles, es el de árbol binario. Podemos


definir un árbol binario como un árbol ordenado, donde cada nodo puede tener 0, 1, o 2
descendientes, pero cuando sólo tiene uno distinguimos el caso de si es descendiente por la
izquierda o por la derecha.

Hay una correspondencia biyectiva entre bosques ordenados y árboles binarios. Dado
el bosque ordenado F = {(T1 , v1 ), . . . , (Tk , vk )} le hacemos corresponder (recursivamente)
el árbol binario B(T1 , . . . , Tk ) dado por:
Si F es vacı́o, (k = 0 y F es una familia vacı́a de árboles), también B(F ) = ∅. Por
el contrario si k > 0, B(T1 , . . . , Tk ) tiene como raı́z v1 (la raı́z del primer árbol), como
subárbol izquierdo de la raı́z a B(T11 , . . . , T1m ), donde T11 , . . . , T1m son los subárboles
ordenados de v1 , y como subárbol derecho B(T2 , . . . , Tk ).

Recı́procamente, dado un árbol binario B con n nodos, podemos hacerle corresponder


un bosque ordenado etiquetado F (B) deshaciendo el proceso anterior:
Si B es vacı́o (n = 0), F (B) no tiene árboles. En caso contrario (n > 0), si es v1 la raı́z
de B, y B1 , B2 sus subárboles izquierdo y derecho, hacemos corresponder a B el bosque
F (B) = {(T1 , v1 ), F (B2 )}, dónde (T1 , v1 ) es el árbol con raı́z en v1 , y dónde los subárboles
ordenados de v1 son F (B1 ).

Notar que las transformaciones anteriores establecen una correspondencia biyectiva


entre árboles binarios tales que la raı́z no tiene subárbol derecho y árboles ordenados.

Teorema 2.6 Sea bn el número de árboles binarios sin etiquetar con n nodos. Entonces
bn satisface la relación de recurrencia

bn = b0 bn−1 + b1 bn−2 + . . . + bn−1 b0

para n ≥ 1. Además la función generatriz de bn es


1 √
B(z) = (1 − 1 − 4z)
2z

39
A A C M
G

B C F L
B E K P

D E F G I
D J

H I J K L M
H N O

N O P

Dems. Cuando hablamos de árboles sin etiquetar, consideramos dos árboles binarios idén-
ticos si su forma es la misma, o equivalentemente, todos los nodos tienen una misma
etiqueta (por ejemplo S = {1}). Claramente b0 = 1 y de la definición se deduce que para
n > 1 el número de formas distintas del árbol es el número de formas distintas del subárbol
izquierdo, que será bk si ese árbol consta de k nodos, multiplicado por el número de formas
distintas del subárbol derecho, bn−1−k , pues quedan n − 1 − k nodos. Como k puede variar
de 0 a n − 1 obtenemos la fórmula de recurrencia del enunciado.

Por otra parte si es X


B(z) = bn z n
n≥0
es

B(z)2 = b0 b0 + (b0 b1 + b1 b0 )z + . . . + (b0 bn−1 + b1 bn−2 + . . . + bn−1 b0 )z n−1 + . . .

= b1 + b2 z + . . . + bn z n−1 + . . .
Por tanto B(z) cumple la ecuación

zB(z)2 = B(z) − 1

De donde resolviendo esta ecuación cuadrática en z, y teniendo en cuenta que B(z) cuando
z = 0 coincide con b0 y b0 = 1, obtenemos la fórmula del enunciado para B(z). 2

La fórmula de recurrencia anterior permite calcular bn para todo n, asi los primeros
valores (hasta b10 ) son 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796.

Por otra parte la función generatriz tambiénP nos indica cual es el comportamiento
asintótico de los bn . Si suponemos que la serie n
n≥0 bn z es convergente para valores
pequeños de |z|, para esos valores esa suma debe dar B(z), la serie comenzará a ser diver-
gente cuando la función compleja B(z) presente alguna singularidad, en nuestro ejemplo la
primera singularidad aparece con |z| = 1/4. En particular esto implica que para cualquier
c > 4, 1/c < 1/4 y por tanto la serie bn c−n es convergente, por tanto bn < cn a partir de un
cierto n0 . Hay varios resultados de análisis complejo ( el principal el teorema de Darboux)
que permiten precisar mucho más el comportamiento asintótico del termino genérico fn de
una secuencia analizando las singularidades de su función generatriz F (z).

Sin embargo para este caso particular, tenemos otra fórmula para calcular y estimar
bn .

40
Teorema 2.7  
1 2n
bn =
n+1 n
Asintóticamente
4n
bn ≈ √ + O(4n n−5/2 )
n πn
Dems. Desarrollemos B(z) usando (teorema binomial) que
X 1/2
1/2
(1 − 4z) = (−4z)n
n
n≥0

Para n = 0 el sumando obtenido es 1, por tanto


X 1/2 X  1/2 
n+1 2n n−1
B(z) = (1/2)( (−1) 2 z = (−1)n 22n+1 z n
n n+1
n≥1 n≥0

Por otra parte  


1/2 (1/2)(−1/2)(−3/2) . . . (−(2n − 1)/2)
= =
n+1 (n + 1)!
(2n)!/(2n n!)
(−1)n
(n + 1)!2n+1
Sustituyendo y simplificando obtenemos la expresión del enunciado.
La fórmula asintótica para bn , se obtiene aplicando la conocida fórmula de Stirling
√ 1 1
n! ≈ nn e−n 2πn(1 + + + O(1/n3 ))
12n 288n2
2
1 2n

Los números bn = n+1 n , aparecen muy frecuentemente y se llaman números de
Catalan. Por ejemplo, tambien cuentan:
Número de triangulaciones distintas de un polı́gono convexo de n + 2 lados.
Formas de trazar n cuerdas disjuntas (sin compartir ningún punto), uniendo 2n puntos
dados de un cı́rculo.
Formas distintas de evaluar una expresión algebraı́ca x1 ? x2 ? . . . ? xn+1 suponiendo ?
una operación asociativa (equivalentemente, número de formas de poner paréntesis a una
expresión con n + 1 términos).
Número de formas de ir en el plano desde el punto (0, 0) hasta el (n, n) sin cruzar por
encima de la diagonal, y donde desde el punto (i, j) puede pasarse a (i, j + 1) o a (i + 1, j).
Número de formas de pasar en el primer cuadrante del plano desde el punto (0, 0) a
si mismo, dando n + 1 pasos y sin repetir ningún otro punto. Desde el punto (i, j) puede
pasarse a (i, j + 1), (i + 1, j), (i, j − 1), o (i − 1, j).
Número de secuencias de n 1’s y n -1’s tal que cada suma parcial nunca sea negativa.
Número de secuencias enteras 1 ≤ a1 ≤ . . . ≤ an verificando ai ≤ i.

41

Vous aimerez peut-être aussi