Vous êtes sur la page 1sur 21

Chapitre 8

Fonctions génératrices

397
Plan

1. Définitions et opérations élémentaires

2. Applications
Résolution de récurrences
Dénombrements

Lectures conseillées :
I MCS, Chapitre 15
I R. Sedgewick et P. Flagolet, Analysis of Algorithms, Addison-Wesley, 1995.
http://aofa.cs.princeton.edu/.
I Cours “Analyse de structures de données et d’algorithmes” de C. Lavault
http://lipn.univ-paris13.fr/~lavault/Polys/Polymath.pdf

398
Introduction

Les fonctions génératrices forment un lien entre l’analyse mathématique


des fonctions à valeurs réelles, et les problèmes portant sur les séquences.

Motivation : Utiliser les fonctions génératrices pour résoudre des


récurrences et des problèmes de dénombrement d’ensembles.

Notation : Dans ce chapitre, on dénotera les séquences en utilisant les


symboles h. . .i.

399
Définition

Définition : La fonction génératrice ordinaire correspondant à la séquence


infinie hg0 , g1 , g2 , g3 , . . .i est la série formelle
1
X
G (x) = g0 + g1 x + g2 x 2 + g3 x 3 + · · · = gn x n .
n=0

Notations :
I hg0 , g1 , g2 , g3 , . . .i ! g0 + g1 x + g2 x 2 + g3 x 3 + · · ·
I [x n ]G (x) est le coefficient de x n dans la séquence générée par G (x).

Remarque : Les fonctions génératrices ne seront que très rarement


évaluées. Dans ce chapitre, les questions de convergence n’ont donc en
général pas d’importance.

400
Exemples :

I h0, 0, 0, 0, . . .i ! 0 + 0x + 0x 2 + 0x 3 + · · · = 0
I h1, 0, 0, 0, . . .i ! 1 + 0x + 0x 2 + 0x 3 + · · · = 1
I h3, 2, 1, 0, . . .i ! 3 + 2x + 1x 2 + 0x 3 + · · · = 3 + 2x + x 2

401
1
X
2 3 1
Rappel : 1 + z + z + z + · · · = zn = .
1 z
n=0

On a donc :
1
X 1
I h1, 1, 1, 1, . . .i ! xn =
1 x
n=0
1
! 1
!
X X
I h1, 1, 1, 1, . . .i ! x 2n x 2n+1 =
! n=0
! n=0
X1 1
X 1 x 1
x 2n x x 2n = =
1 x2 1+x
n=0 n=0
1
X
2 3 1
I h1, a, a , a , . . .i ! (ax)n =
1 ax
n=0
X1
1
I h1, 0, 1, 0, 1, 0, . . .i ! x 2n =
1 x2
n=0

402
Multiplication par une constante

Propriété : Si hf0 , f1 , f2 , . . .i ! F (x), alors

hcf0 , cf1 , cf2 , . . .i ! c · F (x).

Démonstration :
1
X
hcf0 , cf1 , cf2 , . . .i ! cfn x n
n=0
X1
= c fn x n = c · F (x)
n=0

403
Addition
Propriété : Si

hf0 , f1 , f2 , . . .i ! F (x) et hg0 , g1 , g2 , . . .i ! G (x),

alors hf0 + g0 , f1 + g1 , f2 + g2 , . . .i ! F (x) + G (x).

Démonstration :
1
X
hf0 + g0 , f1 + g1 , f2 + g2 , . . .i ! (fn + gn )x n
n=0
1
! 1
!
X X
= fn x n + gn x n
n=0 n=0
= F (x) + G (x)

404
Exemples

I Multiplication par une constante :


1
h1, 0, 1, 0, 1, 0, . . .i ! 1 + x2 + x4 + x6 + . . . =
1 x2
En multipliant la fonction génératrice par 2 :
2
h2, 0, 2, 0, 2, 0, . . .i ! 2 + 2x 2 + 2x 4 + 2x 6 + . . . =
1 x2
I Addition :
1
h 1, 1, 1, 1, 1, 1, ... i ! 1 x
1
+ h 1, -1, 1, -1, 1, -1, ... i ! 1+x
1 1
h 2, 0, 2, 0, 2, 0, ... i ! 1 x + 1+x
2
= 1 x2

405
Décalage vers la droite

Propriété : Si hf0 , f1 , f2 , . . .i ! F (x), alors

h0, 0, . . . , 0, f0 , f1 , f2 , . . .i ! x k · F (x).
| {z }
k zéros

Démonstration :
k zéros 1
z }| { X
h0, 0, . . . , 0, f0 , f1 , f2 , . . .i ! fn x n+k
n=0
1
X
= xk fn x n = x k F (x)
n=0

406
Dérivation et intégration

Propriété : Si hf0 , f1 , f2 , . . .i ! F (x), alors hf1 , 2f2 , 3f3 , . . .i ! F 0 (x).

Démonstration :
1
X 1
d X n d
hf1 , 2f2 , 3f3 , . . .i ! nfn x n 1
= fn x = F (x)
n=1
dx n=0 dx

Propriété : Si hf0 , f1 , f2 , . . .i ! F (x), alors


Rx
h0, f0 , f21 , f32 , . . . , fnn , . . .i ! 0
F (t)dt.

(Dérivation = multiplication par l’index et décalage vers la gauche


Intégration = division par l’index et décalage vers la droite)

407
Application

Exercice : Trouver une fonction génératrice pour la séquence


h0, 1, 4, 9, 16, . . .i.

1
Réponse : Soit F (x) = . On a successivement
1 x
I h1, 1, 1, 1, . . .i ! F (x)
I h1, 2, 3, 4, . . .i ! F 0 (x)
I h0, 1, 2, 3, . . .i ! x · F 0 (x)
I h1, 4, 9, 16, . . .i ! (x · F 0 (x))0
I h0, 1, 4, 9, 16, . . .i ! x · (x · F 0 (x))0 .

x · (1 + x)
En développant, on obtient h0, 1, 4, 9, 16, . . .i ! .
(1 x)3

408
Produit

Propriété :
Si ha0 , a1 , a2 , . . .i ! A(x) et hb0 , b1 , b2 , . . .i ! B(x), alors

hc0 , c1 , c2 , . . .i ! A(x) · B(x),

où
cn = a0 bn + a1 bn 1 + a2 bn 2 + . . . + an b0 .

409
1
X 1
X
n
Démonstration : Soient A(x) = an x et B(x) = bn x n , on a
n=0 n=0

1
X
C (x) = A(x) · B(x) = cn x n .
n=0

Coefficients cn :

b0 x 0 b1 x 1 b2 x 2 b3 x 3 · · ·
a0 x0 a0 b0 x a0 b1 x a0 b2 x a0 b3 x 3 · · ·
0 1 2

a1 x 1 a1 b0 x 1 a1 b1 x 2 a1 b2 x 3 ···
a2 x 2 a2 b0 x 2 a2 b1 x 3 ···
a3 x 3 a3 b0 x 3 ···
..
. ···

(hc0 , c1 , c2 , . . .i est appelée la convolution des séquences ha0 , a1 , a2 , . . .i


et hb0 , b1 , b2 , . . .i)

410
Sommes partielles
Propriété : Si ha0 , a1 , a2 , . . .i ! A(x), alors

X n
A(x)
hs0 , s1 , s2 , . . .i ! où sn = ai pour n 0.
1 x
i=0

Démonstration : On a :
1
h1, 1, 1, . . .i ! .
1 x
Par la règle du produit, le nième terme de A(x)/(1 x) est donné par :
n
X
a0 · 1 + a1 · 1 + a2 · 1 + . . . + an · 1 = ai .
i=0

411
Exemple : somme des carrés

n
X
Supposons qu’on veuille calculer sn = i 2 (voir chapitre 5).
i=0
On sait que (cf. transp. 408) :

x · (1 + x)
h0, 1, 4, 9, 16, . . .i !
(1 x)3

Par la propriété précédente :

x · (1 + x)
hs0 , s1 , s2 , s3 , . . .i !
(1 x)4
x·(1+x)
sn est donc le coefficient de x n dans (1 x)4
.

412
Extraction des coefficients

Propriété (séries de Taylor) : Si F (x) est la fonction génératrice pour la


séquence
hf0 , f1 , f2 , . . .i,
alors
F (n) (0)
f0 = F (0), fn = pour n 1
n!

Démonstration :
Directe en dérivant F (x) = f0 + f1 x + f2 x 2 + . . ..

Exemple :
1 F (n) (x) n! F (n) (0) n!
I F (x) = ) = ) = =1
1 x n! n!(1 x)n+1 n! n!(1 0)n+1
F ( n)(0) 1
I F (x) = e x ) n! = n!

413
Exemple : somme des carrés
I Calculons le nième terme de
x(1 + x) x x2
F (x) = = + .
(1 x)4 (1 x)4 (1 x)4
I Par les propriétés d’addition et de décalage vers la droite, le
coefficient de x n dans F (x) est donc le coefficient de x n 1 dans
1
(1 x)4
et le coefficient de x n 2 dans (1 1x)4 .
I Soit G (x) = 1/(1 x)4 ,

(n + 3)! G (n) (0) (n + 3)(n + 2)(n + 1)


G (n) (x) = n+4
) =
6(1 x) n! 6
I Finalement :
n
X (n + 2)(n + 1)n (n + 1)n(n 1) (2n + 1)(n + 1)n
i2 = + =
6 6 6
i=0

414
Formule de Newton généralisée
Soit la fonction génératrice F (x) = (1 + x)↵ , avec ↵ > 0. On a :
F (n) (x) = ↵(↵ 1)(↵ 2) . . . (↵ k + 1)(1 + x)↵ k
,
dont on déduit :
1
X
(1 + x) = ↵
C↵n x n
n=0
où Qk 1
i=0 (↵ i)
C↵n = .
n!
Dans le cas où ↵ = k est un entier, on retrouve la formule du binôme de
Newton :
Xk
k
(1 + x) = Ckn x n ,
n=0
k!
avec Ckn = (k n)!n! . En d’autres mots :

hCk0 , Ck1 , Ck2 , . . . , Ckk , 0, 0, 0, . . .i ! (1 + x)k


. 415
Synthèse : fonctions génératrices usuelles

1
X X xn
(1 + x)↵ = C↵n x n exp(x) =
n=0 n=0
n!
1
X 1
1 n 1 X
n n
= x = x
1 x n=0
1 x n=0
1
X 1
x x2 X
= nx n = Cn2 x n
(1 x)2 n=0
(1 x)3 n=2
1
X 1
1 n x mX
= Cn+↵ xn = Cnm x n
(1 x)↵+1 n=0
(1 x)m+1 n=m
X1 1
X
( 1)n+1 n 1 xn
ln(1 + x) = x ln( )=
n=1
n! 1 x n
n=1

Exercice : prouvez les

416
Synthèse : opérations entre fonctions génératrices
Soit U(x), V (x), et W (x) des fonctions génératrices avec [x n ]U(x) = un ,
[x n ]V (x) = vn et [x n ]W (x) = wn .

wn = ↵un + vn , W (x) = ↵U(x) + V (x)


Xn
wn = un k vk , W (x) = U(x)V (x)
k=0
vn = un k , V (x) = x k U(x)
vn = un un 1 et vo = 0 , V (x) = (1 x)U(x)
X n
U(x)
vn = uk , V (x) =
1 x
k=0
d
vn = (n + 1)un+1 , V (x) =U(x)
dx
Z x
un 1
vn = et v0 = 0 , V (x) = U(t)dt
n 0

Exercice : prouvez les


417