MATH-F-307 Math ematiques discr etes

publicité
MATH-F-307
Mathematiques discretes
Professeur :
Samuel Fiorini
Auteur :
Septembre a Decembre 2010
Jeremy Page
Remerciements
Je tiens a remercier tout particulierement Antoine Dewilde, Valerie Pirenne, Yves-Remi Van Eycke,
Sophie Vervier et Jeremy Vion pour leurs relectures attentives et leurs commentaires qui ont permis
de relever plusieurs erreurs et permettre ainsi l'amelioration de mes notes.
i
Table des matières
1 Comptage élémentaire
1
2 Récurrences
9
9
9
10
11
12
12
12
16
16
16
17
18
20
22
22
24
24
24
25
3 Fonctions génératrices
27
1.1
1.2
1.3
1.4
1.5
1.6
Principes de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Factorielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coecients binomiaux I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coecients binomiaux II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Coecients binomiaux III (applications) . . . . . . . . . . . . . . . . . . . . . . . . . .
Preuves bijectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6.1 Arbres etiquetes a n sommets . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6.2 Arbres binaires enracines et triangulations d'un polygone . . . . . . . . . . . .
2.1 Exemples recurrents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Nombres de regions delimitees par n droites dans le plan . . . . . . . . . . . .
2.1.2 Dallage d'un chemin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Tri fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Recurrences lineaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Recurrences lineaires du 1er ordre . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Recurrences lineaires homogenes a coecients constants . . . . . . . . . . . . .
2.2.3 Recurrences lineaires non-homogenes a coecients constants . . . . . . . . . .
2.3 Recurrences diviser pour regner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Recherche binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Solution exacte de la recurrence pour le tri fusion . . . . . . . . . . . . . . . .
2.3.3 Recurrences diviser pour regner generales . . . . . . . . . . . . . . . . . . . .
2.3.4 Application : complexite multiplication-matricielle . . . . . . . . . . . . . . . .
2.4 Autres types de recurrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Calcul d'une racine carree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.2 Fractions continuees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Plus d'applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 Probleme de la paire la plus proche . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2 Fermeture transitive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
Nombres de Catalan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Retour sur les nombres de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions generatrices ordinaires I . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions generatrices ordinaires II (recurrences lineaires) . . . . . . . . . . . . . . . .
Fonctions generatrices ordinaires III (applications) . . . . . . . . . . . . . . . . . . . .
3.5.1 Quicksort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.2 Rendre la monnaie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions generatrices exponentielles . . . . . . . . . . . . . . . . . . . . . . . . . . . .
La methode symbolique I (objets non etiquetes) . . . . . . . . . . . . . . . . . . . . .
La methode symbolique II (objets etiquetes) . . . . . . . . . . . . . . . . . . . . . . . .
Nombres de Bernouilli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii
1
1
3
4
6
6
6
7
27
29
30
33
33
33
36
37
37
38
40
TABLE DES MATIERES
iii
4 Comportements asymptotiques
43
5 Entropie
53
4.1 Nombres harmoniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Factorielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Formule de Wallis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Formule de Stirling (et de de Moivre) . . . . . . . . . . . . . . . . . . . . . . .
4.3 Formule d'Euler-Maclaurin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Utilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Application : approximation de ln(n!) . . . . . . . . . . . . . . . . . . . . . . .
4.4 Methodes analytiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Compression de donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2 Arbres de Human . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
44
45
47
47
48
49
50
53
54
54
55
Chapitre 1
Comptage élémentaire
1.1
Principes de base
Définition.
{ Deux ensembles ont la m^eme cardinalite (taille) s'il existe une bijection de l'un vers l'autre.
{ Un ensemble E a une cardinalite n (pour n 2 N) s'il est en bijection avec [n] := 1; 2; : : : ; n.
Remarque.
n=0
n=1
[n] = [0] = ;
[n] = 1
Ceci est note jE j = n, parfois #E = n. On dit alors que E est
Si A1; A2; : : : ; Ak sont des ensembles nis disjoints P
:k
{ jA1 [ A2 [ : : : [ Ak j = jA1j + jA2j + : : : + jAk j Q=k i=1 jAij
{ jA1 A2 : : : Ak j = jA1j jA2j : : : jAk j = i=1 jAij
ni.
Exemple.
A1 = fsalade grecque, carpacciog
A2 = fspaghetti diable, steak frites, moulesg
(entrees)
(plats principaux)
#total de plats = jA1 [ A2 j = 5
#total de menus entree + plat principal = jA1 A2 j = jA1 j jA2 j = 6
Définition.
1.2
A1 A2 : : : Ak = f(a1 ; a2 ; : : : ; ak ) j a1 2 A1 ; a2 2 A2 ; : : : ; ak 2 Ak g
Factorielles
n! := 1 2 : : : n =
n
Y
k=1
k
C'est le nombre de facon de ranger (ordonner) n objets distincts, de fonctions bijectives entre deux
ensembles de taille n.
Remarque.
{ Un produit vide est toujours egal a 1 ;
{ Une somme vide est toujours egale a 0.
1
2
EMENTAIRE
CHAPITRE 1. COMPTAGE EL
Donc 0! = 1.
Demonstration.
Soit f : [n] ! [n] bijective
n choix pour f (1)
n 1 choix pour f (2)
n 2 choix pour f (3)
...
1 choix pour f (n)
Au total, on a :
Exemple.
n (n
1) (n 2) : : : 2 1 = n!
Nombre d'ordres totaux sur E = fa; b; cg est 3! = 3 2 1 = 6.
a<b<c
a<c<b
n! grandit tres vite :
n
n!
b<a<c
b<c<a
c<a<b
c<b<a
0 1 2 3 4 5 6
1 1 2 6 24 120 720
:::
:::
10
3628800
:::
:::
au-dela, les algorithmes deviennent lents a les enumerer.
On parle d' explosion combinatoire.
Remarque.
(n!)2 = (1 2 3 : : : n)(n : : : 3 2 1)
n
Y
k(n k + 1)
=
|
{z
}
k=1 polyn^ome du second degre en k
Donc
n k(n k + 1) n + 1 2
2
n 1
n
Y
Y
) n (n!)2 4 (n + 1)2
k=1
| {z }
nn
k=1
|
{z
( )n(n+1) n
n
n
) n n! 12 (n + 1)n
1
4
81 k n
}
2
2
Gauss (9 ans) a utilise un truc semblable pour calculer 1 + 2 + : : : + n.
Pour n grand, on a
n
2 log2 n log2 n! n + n log2(n + 1)
n log2 n
3
EMENTAIRE
CHAPITRE 1. COMPTAGE EL
On a vu pour n 2 N
n! = #bijections de [n] dans [n]
= #injections de [n] dans [n]
Pour n; k 2 N avec k n
#injections de [k] dans [n]
= |{z}
n (n 1) : : : | {z }
#choix
#choix pour
pour f (1) f (2)
sachant f (1)
= (n n! k)!
(|n
k + 1)
{z
}
#choix pour f (k)
sachant f (1);f (2);:::;f (k 1)
C'est le nombre de suites de k objets pris parmi n, sans repetition (selection
repetition ).
Exemple.
ordonnee sans
Il y a (26264)! mots sur l'alphabet
fa; b; : : : ; z g
dont les lettres sont dierentes :
(abcd; abce; : : : ; wxyz)
1.3
Coefficients binomiaux I
!
n
:= #sous-ensembles de taille k d'un ensemble de taille n
k
Il faut lire n choose k. Deni pour n; k 2 N (k n).
Proposition
(Symetrie).
!
n
k
=
n
!
n k
Appelons E notre ensemble de taille n. Le passage au complementaire est une bijection entre les sous-ensembles de E de taille k et les sous-ensembles de E de taille n k.
Proposition (Absorption/Extraction).
Demonstration.
!
n
k
Demonstration.
Demontrons
nk
k
= nk nk
= n nk
1
1
!
8n; k 2 N0
1
1 par double comptage.
!
n
k = #manieres de choisir un sous-ensemble X E de taille k, puis un element e dans X
k
!
1 = #manieres de choisir un element e de E , puis un sous-ensemble Y E nfeg de taille k 1
1
On voit
!
!
n
n 1
k=n
k
k 1
n
n
k
4
EMENTAIRE
CHAPITRE 1. COMPTAGE EL
Formellement,
f(X; e) j X E; jX j = k; e 2 X g
et
f(e; Y ) j e 2 E; Y E nfeg; jY j = k 1g
sont deux ensembles de tailles respectives
!
n
k
= nk nk
=
z
n(n
et n nk 11 qui sont en bijection (X; e) ! (e; X nfeg).
nk
k
!
1 = nn 1
1 kk 1
=
(
n!
n k)!
}|
{
1) : : : (n k + 1)
k(k 1) : : : 1
|
{z
}
=k !
)
Proposition
n
k
!
n
k
!
2 = :::
2
n k
|
0
{z
=1
!
}
= k!(nn! k)!
(Addition/Induction).
!
n
k
Demonstration.
=
n
!
1 +
k
n
k
1
1
!
8n; k 2 N0 (k n 1)
Fixons e 2 E . Deux cas sont possibles pour un sous-ensemble S E de taille k :
!
Cas 1 : S 63 e, il y a k 1 tels S .
!
n 1
Cas 2 : S 3 e, il y a k 1 tels S .
n
Formellement,
fS E j jS j = kg = fS E j jS j = k; S 63 eg [ fS E j jS j = k; S 3 eg
1.4
Coefficients binomiaux II
Prenons x; y 2 R (ou Q, ou C, : : :).
(x + y )0 :
1
(x + y )1 :
1x + 1y
(x + y )2 :
1x2 + 2xy + 1y2
3
3
(x + y ) :
1x + 3x2y + 3xy2 + 1y3
(x + y)4 : 1x4 + 4x3y + 6x2y2 + 4xy3 + 1y4
...
5
EMENTAIRE
CHAPITRE 1. COMPTAGE EL
Appelons an;k le coecient de xn
(x + y )n =
Alors
8
>
<
( ) >
:
Idee :
k yk
n
X
k=0
dans (x + y)n (8n; k 2 N; k n).
an;k xn k yk = (x + y)(x + y) : : : (x + y)
|
{z
= coecient de xn = 1
= coecient de yn = 1
= an 1;k + an 1;k 1
an;0
an;n
an;k
n>k1
(x + y)n = (x + y)(x + y)n
,
n
X
k=0
an;k
xn k y k
nX1
= (x + y)
=
=
nX1
k=0
nX1
k=0
k=0
an 1;k
}
n fois
an 1;k
xn k y k
1
xn 1 k y k
+
nX1
k=0
|
an 1;k xn k yk +
!
an 1;k xn 1 k yk+1
{z
remplacer k + 1 par k
n
X
k=1
an 1;k 1 xn k yk
Et ceci 8x, 8y, donc on peut (doit) identier les coecients de xn
Pour n > k 1 : an;k = an 1;k + an 1;k 1.
Théorème (Formule du bin^
ome).
!
n
k
an;k =
}
k yk
a gauche et a droite.
8n; k 2 N
Demonstration.
1. Les nombres an;k sont entierement determines par () ;
2. En posant an;k = nk on obtient une solution.
) an;k =
Triangle de Pascal :
Formule du bin^ome :
n=0:
n=1:
n=2:
n=3:
n=4:
n=5:
!
n
k
8n; k 2 N
1
1
1
1
2
1
1
3
3
1
1
4
6
4
1
1
5
10
10
5
1
n
X
!
n n k k
(x + y ) =
x y
k=0 k
n
On peut etendre le triangle de Pascal a tout un demi-plan (par des zeros) en preservant l'addition/induction.
6
EMENTAIRE
CHAPITRE 1. COMPTAGE EL
Ca colle avec la denition :
!
n
k
= #sous-ensembles a k elements d'un ensemble a n elements
Proposition.
m
X
n=k
1.5
!
n
k
=
m+1
n+1
!
8n; k 2 N
Coefficients binomiaux III (applications)
1. #mots de n bits contenant k uns (et donc n k zeros) = nk ;
2. #plus courts chemins de (0; 0) a (a; b) dans la grille des entiers = a+a b = a+b b ;
Idee : encoder les chemins par des mots de a + b bits comportant a uns (ou b zeros).
3. #solutions
(
x1 ; x2 ;: : : ; xd ) entieres (2 Nd ) de l'equation x1 + x2 + : : : + xd = c avec c 2 N
= d+d c 1 1 = d+cc 1 ;
Idee : encoder les solutions par des mots de (d 1) + c bits ayant d 1 uns et c zeros.
4. #manieres de selectionner k objets pris parmi n, sans ordre, avec repetition = #solutions en
nombres naturels de
x1 + x2 + : : : + xn = k
(ou xi = #objets de type i selectionnes)
= n+n k 1 1 = n+kk 1.
La regle de quatre :
selection de k objets pris parmi n ordonnee non ordonn
ee
n
n
n
!
sans repetition
k
(n k)! = k! k
n+k 1
avec repetition
nk
k
1.6
1.6.1
Preuves bijectives
Arbres étiquetés à
Théorème
(de Cayley (1889)).
n sommets
#arbres etiquetes a n sommets = nn 2
Denissons
an := #arbres etiquetes a n sommets
An := farbres etiquetes a n sommets avec deux sommets speciaux (peuvent concider)g
En general jAnj = n2 an. Le but est de montrer jAnj = nn.
On va trouver une bijection entre An et [n][n].
Soit f : [n] ! [n] une fonction et soit G~ (f ) le graphe dirige dont les sommets sont 1; 2; : : : ; n et
les arcs sont (i; f (i)) avec i = 1; 2; : : : ; n.
Chaque composant de G~ (f ) contient un unique cycle dirige.
Demonstration.
Définition.
M : = fensemble des sommets de G~ (f ) qui apparaissent sur un cycle dirigeg
= fi1; i2; : : : ; img avec i1 < i2 < : : : < im
7
EMENTAIRE
CHAPITRE 1. COMPTAGE EL
E crivons
f=M =
i1
i2 : : : im
f (i1 ) f (i2 ) : : : fim
!
f=M est une bijection, donc le vecteur des images contient tous les nombres de M ,
dans un certain ordre.
Remarque.
Idee : on represente cet ordre par
f (i1 ) f (i2 ) f (i3 ) : : : f (im )
L'arbre correspondant a f est obtenu a partir de G~ (f ) en remplacant les arbres dans M par
f (i1 ) f (i2 ) f (i3 ) : : : f (im )
et en oubliant l'orientation des autres arcs.
Cette correspondance est une bijection car a tout arbre on peut faire correspondre une fonction,
de plus, ces correspondances sont reciproques l'une de l'autre.
9 deux fonctions :
: [n][n] ! An
: An ! [n][n]
qui verient
= idjAn
= idj[n] n
[
) ; sont des bijections et = 1; = 1.6.2
]
1
Arbres binaires enracinés et triangulations d’un polygone
Arbres binaires enracines a 2 feuilles : #total = 1 ; a 3 feuilles : #total = 2; a 4 feuilles : #total
= 5.
Quand on compte des objets, il faut ^etre precis sur ce qu'on compte exactement.
En particulier, sur la maniere de decider quand deux objets sont dierents.
Dans ce cas precis :
{ Il y a un sommet special : la racine ;
{ On distingue gauche et droite.
Définition (Arbre binaire enracine). Un arbre binaire enracine est un arbre (c'est-
a-dire un graphe
connexe, sans cycle) dont tous les sommets ont pour degre 1; 2 ou 3. Un et un seul sommet a
pour degre 2, la racine.
Chaque ar^ete porte un label \G" ou \D".
Remarque.
Probleme avec la denition : deux arbres identiques peuvent ^etre dierents car leurs etiquettes
sont dierentes.
Deux arbres binaires enracines T1 et T2 sont isomorphes (equivalents) s'il existe une bijection des
sommets de T1 sur les sommets de T2 telle que :
(i) Toute ar^ete de T1 est envoyee sur une ar^ete de T2 ;
(ii) Idem avec les non-ar^etes ;
(iii) Les labels sur les ar^etes sont preserves.
(i) et (ii) ! isomorphisme de graphes.
Théorème.
#arbres binaires enracines
#triangulations d'un
a n feuilles (a un isomorphisme pres) = polygone convexe a n + 1 c^otes
EMENTAIRE
CHAPITRE 1. COMPTAGE EL
8
Idee de la demonstration : on va trouver une bijection entre
An := farbres binaires enracines a n feuilles, pris a un isomorphisme presg
et
Tn+1 := ftriangulations d'un (n + 1)-gone convexeg
Numerotons les ar^etes d'un (n + 1)-gone, disons P , de 0 a n dans le sens anti-horlogique (et on
met 0 en haut ).
E tant donne une triangulation de P , nous obtenons un arbre binaire enracine a n feuilles en placant
{ La racine a l'interieur du triangle adjacent a 0 ;
{ Un sommet (interne) a l'interieur de chaque autre triangle ;
{ Les n feuilles dans l'interieur (relatif) des c^otes 1 jusque n .
Puis en reliant les sommets places dans des triangles adjacents, ainsi que chaque feuille avec le
sommet place dans le triangle contenant le c^ote correspondant.
Et les labels? On utilise le sens anti-horlogique.
Comment inverser cette correspondance ?
Tn+1 ! An
pour trouver une correspondance reciproque
An ! Tn+1
Chapitre 2
Récurrences
2.1
2.1.1
Exemples récurrents
Nombres de régions délimitées par
n droites dans le plan
Considerons n droites dans le plan, en position generale. Combien de regions
delimitent-elles ?
Problème.
Définition
(Position generale). Toute paire de droites s'intersectent en 1 point et tout triple de
droites ont une intersection ;.
En general, si on part d'un arrangement de n 1 droites et qu'on en rajoute une, on cree exactement
n nouvelles regions.
Remarque. On voit donc que #r
egions pour n droites ne depend pas des droites (uniquement
de n).
Posons 2(n) := #regions delimitees par n droites (en position generale).
2(n) = 2(n 1) + n 8n 1; 2(0) = 1
Pour resoudre cette recurrence, on la deroule :
2(n) = n + 2(n 1)
= n + (n 1) + 2(n 2)
= :::
= n + (n 1) + (n 2) + : : : + 1 + |2{z(0)}
= n(n2+ 1) + 1
= n(n2 1) + n + 1
!
n
!
n
=1
!
n
= 2 + 1 + 0
Considerons maintenant n plans dans l'espace (de dimension 3) en position generale.
Définition (Position generale). L'intersection de k plans (choisis dans l'arrangement)
dimension 3 k, pour k = 1; 2; 3; 4
[dim ; = 1].
Posons 3(n) := #regions delimitees par n plans (en position generale).
Par analogie dimensionnelle, on obtient la recurrence :
3(n) = 3(n 1) + 2(n 1) 8n 1; 3(0) = 1
9
est de
10
CHAPITRE 2. RECURRENCES
En deroulant :
3(n) = 2(n !1) + 3(n ! 1)
!
n 1
n 1
n 1
= 2 + 1 + 0 + 3(n 1)
"
!
!
!# "
!
n 1
n 1
n 1
n 2
= 2 + 1 + 0 + 2 +
" !
!
!#
0
0
0
+ : : : + 2 + 1 + 0 + |3{z(0)}
{z
} =1=(n)
|
(0)
n
!
2 +
1
n
0
2
!#
0
!
!
2
!
!
= n3 + n2 + n1 + n0
Tout ceci se generalise en dimension quelconque :
d(n) = d(n 1) + d 1(n 1) 8n 1; d(0) = 1
On trouve :
!
!
!
!
n
n
n
n
d(n) = d + d 1 + : : : + 1 + 0
2.1.2
Dallage d’un chemin
Problème. De combien de mani
eres peut-on daller un chemin de 2 metres de large et n metres
de long, avec des dalles de 1m 2m ?
Notons pn := #manieres de daller un chemin de n metres.
On a la recurrence :
pn = p n 1 + pn 2
8n 3; p1 = 1; p2 = 2
On obtient :
(p1; p2; p3; p4; : : :) = (1; 2; 3; 4; 5; 8; 13; 21; : : :)
Ce sont des nombres de Fibonacci ( 1200).
Fn (n 2 N) est deni par :
() Fn = Fn 1 + Fn 2 8n 2; F0 = 0; F1 = 1
On voit (p1; p2; p3; p4; : : :) = (F2; F3; F4; F5; : : :).
Pn = Fn+1
8n 1
Rappel. y 00 = y 0 + y a des solutions de la forme y = ex .
Ici : on cherche des solutions de la forme n pour certains 2 Rnf0g.
Conditions sur ?
n = n 1 + n 2
8n 2
6=0 2
, =+1
p
1
,= 2 5
p
Remarque. 1+2 5
est le nombre d'or.
11
CHAPITRE 2. RECURRENCES
p
p
Donc 1+2 5 n et 1 2 5 n sont deux solutions de ().
Et par consequent, toute suite de la forme
p !n
p !n
1
+
1
5
5
c1
+
c2
2
2
est solution de (), 8c1; c2 2 R, car l'ensemble des suites solutions de () forme un sous-espace vectoriel
de l'espace vectoriel RN des suites reelles (N ! R).
La dimension de ce sous-espace est exactement 2 (intuitivement : 2 degres de liberte ! le choix
de F0 et F1p; tout
est deptermin
e quand on conna^t F0 et F1).
n
n
5
5
1+
1
Or 2 et 2 sont lineairement independants. Donc leurs combinaisons lineaires sont
toutes les solutions de ().
p !n
p !n
1
1
+
5
+ c2 2 5
pour certains c1; c2 2 R
) Fn = c1 2
On a :
p !0
p !0
1
+
5
1
n=0:
0 = F0 = c1 2
+ c2 2 5
p !1
p !1
5
1
+
1
n=1:
1 = F1 = c1 2
+ c2 2 5
8
>
c + c2
=0
>
< 1
!
!
p
p
,> 1+ 5
1 5
>
:
2 c1 + 2 c2 = 1
On trouve :
8
1
>
>
>
<c1 = p
5
>
1
>
>
:c2 = p
5
p
1
+
1
5
Fn = p
2
5
"
Remarque.
2.1.3
!n
p n
Fn p15 1+2 5 pour n grand.
! #
1 p5 n
2
Tri fusion
8n 2 N
tant donne un vecteur de taille N , le tri fusion le partitionne en deux vecteurs de taille l N2 m et
E
j k
N puis s'appelle recursivement sur chacun de ces deux vecteurs, puis fusionne les vecteurs resultants.
2
Appelons CN le nombre de comparaisons eectuees par cet algorithme.
Exemple.
4 1 3 2
.&
4 1 3 2
+ +
1 4 2 3
&.
1 2 3 4
12
CHAPITRE 2. RECURRENCES
Pour le moment, on prend N = 2n (n 0).
CN = Cd N e + Cb N c + N
2
C2n = 2C2n
On divise par 2n :
8N 2; C1 = 0
2
1
+ 2n
pour N = 2n
, C22nn = C22nn 1 +1
| {z }
| {z }
1
dn
et C2 = 0 = d0.
dn
(n 1)
1
0
) d n = 1 + dn
1
= 1 + 1 + dn 2
d0
= |1 + 1 + 1 +{z1 + : : : + 1} + |{z}
n fois
=n
=0
C2n = 2n n
Donc
CN
= N log2 N
N = 2n , n = log2 N
2.2
2.2.1
Récurrences linéaires
Récurrences linéaires du 1er ordre
xn = cn xn 1 + dn
xn =
n
X
i=1
di
n
Y
j =i+1
= dn + dn
2.2.2
8n 1; x0 = 0
cj
1 cn + dn 2 cn 1 cn + : : : + d1 c2 : : : cn
Récurrences linéaires homogènes à coefficients constants
xn = cd 1 xn 1 + cd 2 xn 2 + : : : + c0 xn
pour n d, ou c0; c1; : : : ; cd 2 C et c0 6= 0.
L'ordre d'une telle recurrence est d.
d
(Polyn^ome caracteristique). Le polyn^ome caracteristique associe est
P (t) := td cd 1 td 1 cd 2 td 2 : : : c0 t0
L'objectif est de comprendre les solutions de ces recurrences, c'est-a-dire les suites (xn)n2N qui
satisfont l'equation 8n d.
Observations :
Définition
13
CHAPITRE 2. RECURRENCES
1. Une telle suite est entierement determinee par ses d premieres valeurs x0; x1; : : : ; xd 1 appelees
conditions initiales.
2. L'ensemble des solutions forme un sous-espace vectoriel de CN.
Demonstration. En eet, si (xn )n2N et (yn )n2N sont solutions et ; 2 C, alors la suite (zn )n2N
denie par
zn := xn + yn
8n 0
satisfait, pour n d :
zn = xn + yn
= (cd 1xn 1 + : : : + c0xn d) + (cd 1yn 1 + : : : + c0yn d)
= cd 1(xn 1 + yn 1) + cd 2(xn 2 + yn 2) + : : : + c0(xn d + yn d)
= cd 1zn 1 + : : : + c0zn d
) (zn)n2N est solution.
Rappel.
{ Tout polyn^ome complexe de degre d 1 peut se factoriser comme un produit de d facteurs
de degre 1.
{ 2 C est une racine de multiplicite m d'un polyn^ome complexe p(t) 2 [t] si p(t) est divisible
par (t )m mais pas par (t )m+1 .
Théorème. Consid
erons la relation de recurrence d'ordre d 1
xn = cd 1 xn 1 + : : : + c0 xn d
pour n d, ou c0 ; : : : ; cd 1 2 C et c0 6= 0.
Notons m( ) pour la multiplicite d'une racine du polyn^ome caracteristique p(t) associe.
Alors, 8 racine et naturel j m( ) 1, la suite (nj n )n2N est solution.
Reciproquement, toute solution est une combinaison lineaire de ces d solutions canoniques.
Une application est que pour des conditions initiales x0; x1; : : : ; xd 1 donnees, on peut ecrire une
forme close pour xn.
En eet, par le theoreme, nous avons 8n 2 N
xn =
X
m(X
) 1
racine j =0
;j (nj n )
ou les ;j sont les d coecients de la combinaison lineaire.
En prenant cette equation pour chaque n 2 f0; 1; : : : ; d 1g, on obtient un systeme de d equations
lineaires qui sont lineairement independants. On peut resoudre ce systeme et calculer les ;j .
Exemple.
1.
xn = 5xn 1 6xn 2
p(t) = t2 5t + 6 = (t
8n 2; x0 = 0; x1 = 1
3)(t 2)
Racines : t = 3 ou t = 2 (multiplicite 1 chacune).
Donc xn = 3n + 2n avec
(
x0
x1
= 0 = 30 + 20 = + ,
= 1 = 3 + 2
) xn = 3n 2n
(
= 1
= 1
14
CHAPITRE 2. RECURRENCES
2.
xn = xn 1 xn 2
p(t) = t2 + t + 1
8n 2; x0 = 0; x1 = 1
p
p
Racines : t = 1 2 3i ou t = 1+2 3i (multiplicite 1 chacune).
..
.
p n
1
+
3i
) xn =
2
3
Lemme 1. Soit p(t) 2 C[t] un polyn^
ome complexe de degre d 1. Si est
multiplicite m, alors
p( ) = p0 ( ) = : : : = p m 1 ( ) = 0
Demonstration. Par la formule de Taylor,
1
p(t) = p( ) + p0 ( )(t ) + p00 ( )(t )2 + : : : +
2
1 pm 1( )(t )m 1 + 1 pm( )(t )m + : : : +
(m 1)!
m!
1 pd( )(t )d
d!
pi
(t
)m divise p(t) ) pi ( ) = 0
Lemme 2.
!
1 p3i n pi
2
3
!
une racine de
8i < m.
Pour tout entier j 1, il existe des coecients entiers 1 ; 2 ; : : : ; j tels que
ij = 1 i + 2 i(i
(Sans demonstration).
1) + : : : + j i(i 1) : : : (i
j + 1)
8i 2 Z
racine de multiplicite m d'un polyn^ome p(t) 2
Lemme 3. Si est une
Pd
i
i=0 ci t , alors
p(t) =
d
X
i=0
ci ij i = 0
[ ] de degre d, avec
Ct
8j 2 f0; : : : ; m 1g
Demonstration.
d
X
=
=
=
i=0
d
X
i=0
j
X
k=1
j
X
k=1
ci ij i
0
ci @
k
j
X
1
k i(i
1) : : : (i
k + 1)A i
ci i(i
1) : : : (i
k + 1)
k=1
d
X
i=0
k pk ( ) = 0
i
par Lemme 2
!
par Lemme 1
15
CHAPITRE 2. RECURRENCES
Maintenant, nous pouvons demontrer le theoreme.
Demonstration.
(1) Soit une racine de p(t) et j 2 f0; : : : ; m( ) 1g.
Alors (nj n)n2N est solution de la recurrence si et seulement si, 8n d, on a
nj n = cd 1 (n 1)j n 1 + : : : + c0 (n d)j n d
, nj n = cd 1(n 1)j d 1 + : : : + c0(n d)j 0
d
X
, 0 = ci(i + (n d))j i (avec cd := 1)
i=0
d
X
0
j
X
!
1
, 0 = ci @ kj ij k (n d)k A i
i=0
k=0
!
!
j
d
X j
X
k
j
k
i
,0=
( n d)
ci i k
k=0
i=0
|
{z
}
)(
=0 par Lemme 3
)n2N est solution (il y en a d).
(2) Soit S l'ensemble des solutions, alors S est un sous-espace vectoriel de CN (l'espace vectoriel des
suites complexes).
L'application A : S ! Cd
(xn)n2N 7! A(x) = (x0; x1; : : : ; xd 1)
est lineaire, injective (car toute suite est determinee par ses valeurs initiales, ou encore ker A =
f0g), surjective (car Im A = Cd).
Donc A est un isomorphisme et dim S = dim Cd = d.
(3) Reste a demontrer que les solutions nj n pour racine de p(t) et j 2 f0; : : : ; m( ) 1g sont
lineairement independantes (idee : trouver une recurrence telle que un des nnj intervenant dans
une dependance lineaire avec j maximum n'est pas solution, alors que les autres le sont).
nj n
Exemple.
xn = 4xn 1 5xn 2 +2xn 3
p(t) = (t 1)2 (t 2)
= (t2 2t + 1)(t 2)
= t3+4t2 5t+2
On a trois solutions de base 1n ; 1n n; 2n c'est-a-dire 1; n; 2n . Elles sont lineairement independantes
car :
1. 1; n sont solutions de xn = 2xn 1 xn 2 alors que 2n n'est pas solution () (2n )n2N n'est
pas une combinaison lineaire de (1)n2N et (n)n2N ) ;
2. 1; 2n sont solutions de xn = 3xn 1 2xn 2 alors que n n'est pas solution () (n)n2N n'est
pas une combinaison lineaire de (1)n2N et (2n )n2N ).
16
CHAPITRE 2. RECURRENCES
2.2.3
Récurrences linéaires non-homogènes à coefficients constants
xn = cd 1 xn 1 + : : : + c0 xn
d
+ en
Toute solution est de la forme :
xn = solution de l'EHA (xn = cd 1 xn 1 + : : : + c0 xn d )
+ solution quelconque, xee de (xn = cd 1xn 1 + : : : + c0xn d + en)
\SGENH = SGEHA + SP" ou
SGENH = Solution Generale de l'E quation Non-Homogene
SGEHA = Solution Generale de l'E quation Homogene Associee
SP = Solution Particuliere (n'importe quelle solution de l'equation non-homogene)
2.3
Récurrences diviser pour régner
(\Divide and conquer").
Rappel.
On a vu que pour N = 2n (n 0) la solution de
= CbN=2c + CdN=2e + N 8N 2; C1 = 0
est CN = N log2 N = N lg N (ou lg(x) = log2 (x) pour x > 0).
C'est un exemple de recurrence \diviser pour regner".
{ Tres importantes pour l'analyse d'algorithmiques.
{ Eets de b: : :c et d: : :e : termes oscillatoires / fractals dans les solutions exactes.
CN
2.3.1
Recherche binaire
Chercher un nombre dans un vecteur trie.
Théorème. Soit BN := #comparaisons eectu
ees au pire des cas par une recherche binaire
dans un vecteur de taille N .
Alors BN = BbN=2c + 1 pour N 2 et B1 = 1.
La solution de cette recurrence donne #bits dans l'ecriture de N en base 2.
Donc, en particulier, BN = blg N c + 1.
Demonstration.
j k
{ Si N est pair : au pire cas, il reste N2 = N2 elements.j k
{ Si N est impair : dans tous les cas (si echec), il reste N2 .
On a bien la recurrence BN = BbN=2c + 1 pour N 2 et B1 = 1.
C'est bien le #bits dans l'ecriture binaire de N .
Exemple.
N = 13 en base 2 :
1101.
4bits = (blg 3c + 1)bits
17
CHAPITRE 2. RECURRENCES
2.3.2
Solution exacte de la récurrence pour le tri fusion
CN +1 = Cb N c + Cd N e + N + 1
CN = Cb N c + Cd N e + N
CN +1 CN = Cb N c + Cd N e + N + 1 Cb N c Cd N e N
= Cd N e Cb N c + 1
+1
+1
2
2
2
2
+1
+1
2
2
2
2
+1
2
2
Pour N pair :
Pour N impair :
N + 1
N
2 = 2
N
N
=
2 2
2
N +1
2 = 2
N
N 1
2 = 2
N + 1
N + 1
N + 1
N
N
=
2 2
= N 2+ 1
N N +1
2 = 2
N + 1
2
N
=
2
2
N + 1 N 2 = 2 +1
Si on pose DN = CN +1
= N2 + 1
8N 2 N
8N 2 N
CN , alors :
8N 2
DN = Db N c + 1
D 1 = C2 C1 = 2 0 = 2
) DN = blg N c + 1 + 1
2
Théorème.
) CN = (CN CN 1) + (CN
1
= DN 1 + DN 2 + : : : + D1
NX1
= (blg j c + 2)
j =1
= (N 1) +
CN 2 ) + : : : + ( C2 C1 )
NX1
j =1
blg j c + 1
= (N 1) + #total de bits dans l'ecriture binaire des nombres 1; 2; : : : ; N 1
Exemple. C5 = 12, car :
1#10#11#100#
comporte 4 + 8 = 12 symboles.
Théorème.
CN
= N blg N c + 2N 2blg N c+1
18
CHAPITRE 2. RECURRENCES
Demonstration.
1; 2; 3; 4; 5; 6; 7; 8; : : : ; N 1
2; 3; 4; 5; 6; 7; 8; : : : ; N 1
4; 5; 6; 7; 8; : : : ; N 1
...
ont 1 bits
ont 2 bits
ont 3 bits
) CN = (N 1) + (N 1) + (N 2) + (N 4) + : : : + (N 2blg N c)
= (N 1) + (N 20) + (N 21) + (N 22) + : : : + (N 2blg N c)
= (N 1) + N (blg N c + 1) |(20 + 21 + 22 {z+ : : : + 2blg N c})
= N blg N c + 2N
Remarque.
2.3.3
2blg N c+1
Pour N = 2n : N lg N + 2 2n
=2b
lg
N c+1
1
2n+1 = N lg N
Récurrences diviser pour régner générales
En analyse d'algorithmes, on cherche a majorerlle mco^ut jd'un
eme
k algorithme qui divise un probl
N
N
N
de taille N en problemes de taille (c'est-a-dire ou ) et recombine les solutions obtenues
avec un co^ut f (N ).
La resolution exacte des recurrences obtenues est problematique (cf. caractere oscillatoire/fractal
de certains termes). On se contente du comportement asymptotique.
Rappel (sur O; o; ; !; ; , etc.).
f; g : N ! R
f = O(g) si 9c 2 R+ nf0g; 9n0 2 N : n n0 ) jf (n)j c jg(n)j
g = (f ) si f = O(g)
jf (n)j = 0
f = o(g) si n!lim
+1 jg (n)j
g = !(f ) si f = o(g)
f = (g) si f = O(g) et g = O(f )
[f et g ont le m^eme ordre de grandeur]
f (n)
f g si n!lim
= 1 [f et g sont asymptotiquement egales]
+1 g (n)
Exemple.
lg n! = (n lg n)
nlg n = o(2n )
Pour commencer,
x
+x
a(x) = a
a(x) = 0
avec ; 2 R : > 1; 1.
8x > 1
8x 1
19
CHAPITRE 2. RECURRENCES
Pour x = n, on trouve :
a( n ) = a( n 1 ) + n
a( n ) a( n 1 ) n
, n = n 1 + Donc
1
a( n ) n n 1
=
+
+
::: +
+
n
) a( n) = n n
X
j =1 j
{ Cas 1 : > ) a( )
n
1
X
j
j =1 n
=
|
=
=0 car a(x)=0 8x1
!
1 + 1 1 = n 1 + = n
n
{z }
P1 j
1+ j=0 ()
{ Cas 2 : = ) a( n) = nn
{ Cas 3 : < On ecrit
Donc
a( 0 )
0
| {z }
a(
a( n ) n n
)=
n n nX1 k
k=0 n
1 k
n X
=
n k=0 |
1
1
{z
}
= ) a( n) n
En remplacant n par x, on trouve
{ Cas 1 : > : a(x) log n = xlog { Cas 2 : = : a(x) log x xlog = log x x
{ Cas 3 : < : a(x) x
Seulement valables pour x = n.
Théorème. Si la fonction a : R ! R v
erie
x
+x
a(x) = a
a(x) = 0
Alors
dlog xe log x
{ Cas 1 : > : a(x) xlog { Cas 2 : = : a(x) x log x
{ Cas 3 : < : a(x) x
8x > 1
8x 1
20
CHAPITRE 2. RECURRENCES
Demonstration.
x
a(x) = x + a
x x
= x + + a 2
x
2
= x + x + a 2
= :::
!
t 1
= x 1 + + : : : + t 1
{ Cas 1 : > :
{
{
pour t = dlog xe
!
t 2
t
a(x) = x t
+
+
:
:
:
+
2
t
dlog xe
x log x dlog xe log x
x dlog xe log x
log log x log dlog xe log x
x
Cas 2 : = : a(x) xdlog xe x log x
Cas 3 : < : a(x) x
(Master Theorem). Soit 1, > 1 des constantes, et f : N ! R une fonction.
Si la suite (an )n2N verie la recurrence :
Théorème
an = a n + f (n)
n
l m
j k
signie (ici) soit n , soit n .
Alors
(i) Si f (n) = O(nlog ) pour > 0, alors an = (nlog ) ;
(ii) Si f (n) = (nlog ), alors an = (nlog lg n) ;
(iii) Si f (n) = (nlog + ) pour > 0, et si f n c f (n) pour une certaine constante c < 1
et n grand, alors an = (f (n)).
ou
2.3.4
Application : complexité multiplication-matricielle
Calculer le produit de 2 matrices n n (taille probleme = n)
A = (aij )
B = (bij )
ou i; j 2 [n], avec
n
X
() cij = aik bkj
k=1
(produit scalaire de la ieme ligne de A et de la jeme colonne de B ).
21
CHAPITRE 2. RECURRENCES
(classique). Calculer les n2 coecients cij avec la formule (). On a n multiplications et n 1 additions par coecient cij .
Au total, on a n2 n = n3 multiplications et n2 (n 1) = n3 n2 additions. Ce qui fait O(n3 )
operations arithmetiques.
Pour n = 2 :
!
!
!
a11 a12 b11 b12 = c11 c12
a21 a22 b21 b22
c21 c22
Algorithme
L'algorithme classique calcule
c11 = a11 b11 + a12 b21
c12 = a11 b12 + a12 b22
c21 = a21 b11 + a22 b21
c22 = a21 b12 + a22 b22
Ce qui nous fait 8 multiplications et 4 additions.
Cependant, il existe un algorithme qui fait mieux (asymptotiquement). Strassen s'en tire avec 7
multiplications et 18 additions.
Remarque.
d'additions.
Algorithme
On a inter^et a diminuer le nombre de multiplications, quitte a augmenter le nombre
(de Strassen (1969)). Astuce : on calcule les 7 produits :
I = (a11 a22 ) (b21 + b22 )
II = (a11 + a22 ) (b11 + b22 )
III = (a11 a21 ) (b11 + b12 )
IV = (a11 + a12 ) b22
V = a11 (b12 b22 )
V I = a22 (b21 b11 )
V II = (a21 + a22 ) b11
On verie :
c11 = I + II IV + V I
c12 = IV + V
c21 = V I + V II
c22 = II III + V V II
Par exemple :
+ V = (a11 + a12) b22 + a11 (b12 b22)
= a11b22 + a12b22 + a11b12 a11b22
= a11b12 + a12b22
= c12
Attention : ce resultat n'utilise pas la commutativite de R; . Les formules restent vraies dans
IV
un anneau non commutatif.
Pour n pair : on decoupe chaque matrice en 4 sous-matrices n2 n2 :
A11 A12
A21 A22
!
B11 B12
B21 B22
!
=
C11 C12
C21 C22
!
22
CHAPITRE 2. RECURRENCES
On a encore
C11 = A11 B11 + A12 B21
C12 = A11 B12 + A12 B22
C21 = A21 B11 + A22 B21
C22 = A21 B12 + A22 B22
On utilise Strassen pour ecrire c11, c12, c21, c22 avec 7 multiplications et 18 additions.
Pour n impair : on rajoute une ligne et une colonne de zeros.
0
10
1
0
0
B
0CCC BBB
0CCC
B
B
... CA B@
... CA
B
@
0 0 0 0 0 0
Soit T (n) (une majoration sur) #total d'operations arithmetiques pour calculer le produit de 2
matrices n n :
n
2
T (n) = 7 T
2 + 18 (n + 1)
Master Theorem avec
= 7, = 2, f (n) = 18(n + 1)2 .
log
Comparer f (n) a n log =nlog 7 = nlg 7 = n2;81:::.
On a bien f (n) = O(n ) pour un > 0.
) T (n) = (nlog ) = (n2;81:::) = O(n2;82)
L'algorithme de Strassen bat l'algorithme classique.
A
B
2
Remarque.
1. Tout algorithme est de complexite (n2 ) (parce qu'il faut calculer n2 coecients) ;
2. Conjecture : 8 > 0 9 algorithme en O(n2+ ) ;
3. Coppersmith et Vinograd (1990) ! O(n2;376 ) ;
Cohn, Kleinberg, Szegedy et Umans (2005) ! O(n2;41 ) (moins bien mais il y a des liens
interessants avec la theorie des groupes) ;
4. On peut demontrer que les problemes suivants sont de la m^eme complexite :
{ Inversion d'une matrice n n ;
{ Resolution d'un systeme d'equations lineaire avec n equations et n variables ;
Ax = b ) x = A 1 b
si A 1 9
{ Calcul d'un determinant n n.
2.4
2.4.1
Autres types de récurrences
Calcul d’une racine carrée
1 an 1 + n 1; a0 = 1
2
an 1
Recurrence non lineaire, d'ordre 1, utilisee pour calculer p , avec > 0 (Methode de Newton).
Supposons que limn!1 an existe et est egal a L, avec L 6= 0.
an =
23
CHAPITRE 2. RECURRENCES
Alors :
lim a =
n!1 n
| {z }
=L
1 an 1 + lim
n!1 2
an 1
{z
}
|
1
1
1
= 2 nlim
!1{zan 1} + 2 limn!1 an
|
|
{z
=L
=1=L
1}
1 1
L= L+
2 2L
1
, 2 L = 12 L
, L2 = p
,L= p
, L = car a0 > 0 implique an > 08n 2 N
Montrons limn!1 an = p , en posant bn = an p
p
, an = bn + On a
p
p
1
p bn + = bn 1 + +
8n 1
2
+
b
n
1
p
1
p , bn = 2 bn 1 + b + n 1!
p
2
2
2
, bn = 21 bn 1b ( +p) + = 12 b bn+1p
n 1
n 1
p
Et b0 = a0 p = 1 p (probleme ? Non car b1 = 12 (1 1 ) 0).
) bn 0 toujours 8n 1 (et m^eme > 0 si 6= 1)
2
Remarque.
1 b2n 1p 1 b2n 1 1 bn 1
2 bn 1 + 2 bn 1 2
Donc bn converge vers 0 (exponentiellement).
On sait deja que bn converge vers 0 )pan converge aussi et vers p .
Des que bn 1 est petit, disons bn 1 , on a :
1
bn p b2n 1
2 A chaque iteration, le nombre de chires signicatifs double (environs).
Exemple. = 2
p
n
an
bn = an
2
1
1 1; 5
0; 0857 : : : < 10
2 1; 41666 : : :
0; 00245 : : : < 10 2
3 1; 41421568 : : :
0; 000002123 : : : < 10 4
4 1; 4142135623 : : : 2 10 12 < 10 8
5 1; 414213562373 : : : < 10 16
bn =
24
CHAPITRE 2. RECURRENCES
2.4.2
Fractions continuées
an =
Pour n 3 :
1
1 + an
a0 = 1 =
1
1
1 =1
1+1 2
1 =2
a2 =
1 + 1 +1 1 3
1
3
a3 =
=
1+ 1 1 5
1+ 1+1
a1 =
Poser an = bnbn (8n 1).
On obtient :
8n 1; a0 = 1
1
1
1
bn 1
=
8n 2
bn
1 + bbnn
, bnb 1 = b bn+ 1b
n
n 1
n 2
, bn = bn 1 + bn 2 ( Fibonacci)
2
1
Conditions initiales :
b
a1 = 0
b1
= 12 ) b0 = 1; b1 = 2
Donc bn = Fn+2 8n.
Utilite : approximer des nombres (ir)rationnels pour des rationnels simples (utilisant peu de bits).
31415
Exemple. 3; 1415 = 10000
En base 2 : on utilise blg 31415c + 1 + blg 10000c + 1 bits.
Peut-on faire mieux ? (Plus precis avec moins de bits).
2.5
2.5.1
Plus d’applications
Problème de la paire la plus proche
On a n points dans le plan ( 1 point par droite horizontale/verticale). On voudrait trouver une
paire de points separes par une distance minimale. Il existe un algorithme (trivial) en (n2).
Idee : utiliser une approche diviser pour regner.
Diviser le probleme en deux sous-problemes de taille n2 , recurser, et recombiner.
Comment recombiner ?
Soit d en distance minimum observee a gauche ou a droite.
On veut voir s'il existe une paire fp; qg de points avec p a gauche, q a droite et d(p; q) < d.
Observations :
1. On peut ignorer les points a distance > d de la verticale D qui separe les deux sous-problemes;
2. On a d(p; q) < d pour une paire fp; qg seulement si d(p; D) d et q se trouve dans un rectangle
2 d d.
CHAPITRE 2. RECURRENCES
25
Combien de points q peut-on trouver dans un tel rectangle ?
On dirait que le maximum est 6. Verions qu'il y en a 10.
Demonstration. Autour de chaque point, on considere un disque ouvert de rayon d2 . Si deux de ces
disques se rencontrent, alors les centres q et q0 se trouvent a distance < d2 + d2 = d ) les disques sont
disjoints.
Chacun de ces disques a au moins 41 de sa surface dans le rectangle.
2
1
) k 4 d2 2d2 ou k := #points q dans le rectangle
= 10; 18 : : :
) k 32
) k b10; 18 : : :c = 10
Algorithme :
{ Precalcul : construire deux listes triees, contenant l'ensemble des points tries par abscisses %,
et par ordonnees % ; (n lg n)
{ Partie recursive :
1. Diviser l'ensemble des points en deux parties, de taille n2 et n2 ; (n)
2. Determiner recursivement une paire la plus proche dans
chacune des parties (gauche et
droite), soit d la distance minimum observee; 2T n2 3. Pour tous les points p a gauche et a distance d de la droite verticale D separant la gauche
et la droite ; inspecter tous les points q a droite, dans le rectangle deni par p ; retenir la
distance minimum, et une paire a distance minimum (si distance < d) ; (n)
4. Retourner la distance minimum et une paire de points a distance minimum. (1)
Donc au total : (recursif)
n
T (n) 2T
2 + (n)
Ce qui donne
T (n) = O(n lg n)
A cela on rajoute (n lg n) pour le precalcul. Au total, le probleme peut ^etre resolu en O(n lg n).
2.5.2
Fermeture transitive
Considerons un graphe dirige acyclique D = (V; A).
On veut construire D^ = (V; A^) un graphe dirige (acyclique avec boucle sur chaque sommet).
(u; v) 2 A^ , 9 chemin dirige de u a v dans D
Considerons la matrice M d'adjacence de D :
0
0 1 1 0 01
B0 0 1 0 0 C
C
B
C
M =B
B0 0 0 1 0 C
C
B
@0 0 0 0 0 A
0 0 1 0 0
En general :
(
(i; j ) est un arc
M = (mij ) ou mij = 10 si
sinon
Calculer (M + I )2 ou I = matrice identite n n avec une nouvelle addition (c'est un ou ) :
26
CHAPITRE 2. RECURRENCES
0 1
0 0 1
1 1 1
+
Exemple.
1 1 1 0 0 12 01 1 1 1 0 1
B0 1 1 0 0 C
B0 1 1 1 0 C
B
C
B
C
B
C
(M + I )2 = BB0 0 1 1 0CC = BBB0 0 1 1 0CCC
@0 0 0 1 0 A
@0 0 0 1 0 A
0 0 1 0 1
0 0 1 1 1
Le coecient en position (i; j ) = 1 , 9 chemin de longueur 2 de i a j dans D.
Generalisons : (M + I )k est une matrice binaire (avec la denition de + choisie) dont le coecient
en position (i; j ) est 1 si et seulement si 9 chemin (dirige) de i a j dans D, de longueur k.
On veut donc calculer :
(M + I )n 1 ou (M + I )k ou k n 1
On calcule (M + I )2, ((M + I )2)2, (((M + I )2)2)2, etc. jusqu'a ce que l'exposant n 1.
) on obtient un algorithme en O(n! lg n) ou ! est n'importe quel nombre 2 ]2; 3[ tel que 9
algorithme de multiplication de complexite O(n! ) pour des matrices n n.
^ s'appelle la fermeture transitive de D.
Remarque. D
0
Chapitre 3
Fonctions génératrices
\Une fonction generatrice est une corde a linge ou on peut prendre les termes d'une suite."
3.1
Nombres de Catalan
n = 1 : x1
n = 2 : x1 x2
n = 3 : (x1 x2 )x3
x1 (x2 x3 )
n = 4 : x1 ((x2 x3 )x4 )
x1 (x2 (x3 x4 ))
(x1x2)(x3x4)
((x1x2)x3)x4
(x1(x2x3))x4
1
1
2
5
Soit x1; x2; : : : ; xn matrices de tailles dierentes. Comment parentheser pour minimiser le nombre
de multiplications de nombres (reels) ?
Disons que l'on multiplie avec l'algorithme classique.
Exemple. Pour n = 4. On a les matrices x1 une 5 2, x2 une 2 3, x3 une 3 7 et x4 une 7 2.
z
2}|
2
{
x1 ((x2 x3 ) x4 )
| {z }
27
{z
52
5}|
2
|
z
}
{
(|x1{zx2}) (|x3{zx4})
53
donne 14 3 + 4 7 + 10 2 = 42 + 28 + 20 = 90
32
donne 15 2 + 6 7 + 10 3 = 30 + 42 + 30 = 102
toutes les possibilites, combien a-t-on de cas a considerer ?
Relation de recurrence ?
Exemple. Pour n = 5.
Cas 1 : x1 (x2 x3 x4 x5 )
c1 c4 = 5
Cas 2 : (x1 x2 )(x3 x4 x5 )
c2 c3 = 2
Cas 3 : (x1 x2 x3 )(x4 x5 )
c3 c2 = 2
Cas 4 : (x1 x2 x3 x4 )x5
c4 c1 = 5
Si on essaie
27
28
ERATRICES
CHAPITRE 3. FONCTIONS GEN
On a donc un total de 5 + 2 + 2 + 5 = 14.
En general :
cn = c1 cn 1 + c2 cn 2 + : : : + cn 1 c1
8n 2; c1 = 1
Justication : le dernier produit eectue (cas ou il y a n facteurs) est constitue du produit des k
premiers facteurs (deja multiplies entre eux) et des n k derniers facteurs (deja multiplies entre eux),
ou k = 1; 2; : : : ; n 1.
Resolution de la recurrence : l'idee est de construire la fonction generatrice
f (x) :=
1
X
n=1
cn xn
(ici c0 := 0, donc la somme commence a n = 1), sans s'occuper de la convergence (pour le moment).
f (x) = c1 x + c2 x2 + c3 x3 + : : :
= x + (c1c1)x2 +!(c1c2 + c2c1)!x3 + : : : + (c1cn 1 + : : : + cn 1c1)xn + : : :
1
X
1
X
=x+
cn xn
cn xn
n=1
n=1
2
= x + [f (x)]
) [f (x)]2 [f (x)] + x = 0
p
1 4x
1
) f (x) =
2
Quel signe prendre?
p
1
1 4x
f (0) = 0 ) f (x) =
2
1 1 (1 4x)1=2
f (x) =
2 2
Rappel.
Serie du bin^ome de Newton. On a vu :
1 n!
X
n
(1 + x) =
xk
k
k=0
ni de termes).
On peut denir, pour t 2 R :
pour n 2 N
(comporte un nombre
t
k
Quand t > 0, on a :
Remarque.
!
:= t(t 1) : : k: (!t
1
X
k + 1)
!
t k
(1 + x) =
x
k=0 k
Cela converge pour jxj 1.
t
!
1 1=2
X
( 4x)k
) f (x) = 12 12
k
k=0 !
1
X 1=2
= 12
( 1)k 22k xk
k
k=1
1 1 1=2!
X
( 1)k 22k xk
=
2
k
k=1
|
{z
ck
}
!
car 1=02 := 1 par convention.
29
ERATRICES
CHAPITRE 3. FONCTIONS GEN
1)n+1 12 (1=2)(1=2 1)(1=2 n!2) : : : (1=2 (n 1)) 2n2n
Utilisons 2n = |2 2 {z: : : 2} pour tuer les n \1=2".
cn = (
n fois
= 1
= 3
z }| { z }| {
= 2n+3= (2n 3)
z
}|
{
1 1 (1 2) (1 4) : : : (1 2(n 1)) 2n
cn = ( 1)n+1 2
n!
= ( 1)(n+1)+(n 1) 12 1 1 3 5 n :!n: :! (2n 3) 2n n!
= 12 (2nn!n!2)! 2n
!
1
2
n 2
=n n 1
!
8n 1
) cn = n1 2nn 12
Formule pour le neme nombre de Catalan.
n 1 2 3 4 5 6 7
8 9
cn 1 1 2 5 14 42 132 429 1430
Fn 1 1 2 3 5 8 13 21 34
:::
:::
:::
On voit cn Fn. Tous les deux ont un comportement
exponentiel, mais de base dierente (base
p
pour Catalan : 4, base pour Fibonacci : ' = 1+2 5 1:618).
Pour n 2 :
#(arbres binaires enracines a n feuilles) = cn
C'est simple, il existe une bijection entre :
(i) parenthesages complets d'un produit de n facteurs ;
(ii) les arbres binaires enracines a n feuilles.
Corollaire.
#(arbres binaires enracines a n feuilles)
= #(triangulations
d'un (n + 1)-gone)
!
= cn = n1 2nn 12
8n 2
3.2
Retour sur les nombres de Fibonacci
Posons
Fn = Fn 1 + Fn 2
f (x) :=
8n 2; F0 = 0; F1 = 1
1
X
n=0
F n xn
30
ERATRICES
CHAPITRE 3. FONCTIONS GEN
Alors
f (x) =
0| +{z x}
+
1
X
conditions initiales n=2
=x+
=x+
1
X
n=2
1
X
n=2
=x+x
|
F n xn
(F n 1 + Fn 2 )xn
1
X
F n 1 xn +
1
X
n=2
Fn 1
n 2
F n 2 xn
1
X
+ x2 F n 2 xn 2
n=2
} |
{z
}
x f (x)
xn 1
{z
xf (x)
2
) f (x) = x + xf (x) + x2f (x)
p
p
ou ' := 1+2 5 , ' := 1 2 5 .
L'idee est d'utiliser
) f (x) = 1
1
X
n=0
x
x x2
Formule de Binet.
3.3
5
1
X
n=0
p1
5
+
'x 1 'x
5
(x)n = 1 1x
) f (x) = p1 On retombe sur
=1
p1
8 2 R:
'n x n
p1 5
1
X
n=0
'n xn
1
5
Fn = p ('n 'n )
Fonctions génératrices ordinaires I
Définition
(Fonction generatrice ordinaire). La fonction generatrice ordinaire (FGO) de la suite
(an)n2N = (a0; a1; a2; : : :)
est
A(x) :=
On note
1
X
n=0
an xn
[xn]A(x) = an = coecient de xn dans A(x)
La serie denissant une FGO
{ converge pour certains x 2 R ;
{ diverge pour d'autres x 2 R.
Pour le moment, on ignore les questions de convergence.
{ Les manipulations eectuees sur les FGO sont bien denies si on les considere comme
series formelles ;
{ Les series auxquelles on s'interesse ont typiquement de bonnes proprietes de convergence. . . au moins pour
x 2 ] r; r[
8r > 0
Remarque.
31
ERATRICES
CHAPITRE 3. FONCTIONS GEN
Exemple.
La FGO de (1; 1; 1; 1; 1; : : :) est
1
X
n=0
xn =
La FGO de (1; ; 2 ; 3 ; : : : ; n ; : : :) est
1
1
1
x
1
x
Théorème. Soit A(x) la FGO de (an )n2N et B (x) la FGO de (bn )n2N .
(i) A(x) + B (x) est la FGO de (an + bn )n2N
(ii) xA(x) est la FGO de (0; a0 ; a1 ; a2 ; : : : ; an 1 ; : : :)
(iii) A0 (x) est la FGO de (a1 ; 2a2 ; 3a3 ; : : : ; (n + 1)an+1 ; : : :)
(iv) A(x)B (x) est la FGO de (a0 ; a0 b1 + a1 b0 ; a0 b2 + a1 b1 + a2 b0 ; : : :)
(v) A(xx) a est la FGO de (a1 ; a2 ; a3 ; : : : ; an+1 ; : : :)
R
(vi) 0x A(t)dt est la FGO de (0; a0 ; a2 ; a3 ; : : : ; ann ; : : :)
(vii) (1 x)A(x) est la FGO de (a0 ; a1 a0 ; a2 a1 ; : : : ; an an 1 ; : : :)
P
(viii) A1 (xx) est la FGO de (a0 ; a0 + a1 ; a0 + a1 + a2 ; : : : ; nk=0 ak ; : : :)
0
1
2
1
Demonstration.
(i) Ok.
(ii) xA(x) = x P1n=0 anxn = P1n=0 anxn+1 = 0 + P1n=1 an 1xn
(iii) A0(x) = (P1n=0 anxn)0 = P1n=1 annxn 1 = P1n=0(n + 1)an+1xn
(iv)
A(x)B (x) = (a0 + a1 x + a2 x2 + : : :)(b0 + b1 x + b2 x2 = : : :)
= a0b0 + (a0b1 + a!1b0)x + (a0b2 + a1b1 + a2b0)x2 + : : :
n
1 X
X
ak bn k xn
=
n=0 k=0
(v) Ok.
(vi) Ok.
(vii) Par (iv) : (1 x)A(x) = A(x)B (x) B (x) = FGO de (1; 1; 0; 0; : : :)
= FGO de (a0; |a0( 1){z+ a1(1)}; : : : ; a0bn + a1bn 1 + : : : + a| n 1b1{z+ anb0}; : : :)
an an
a a
1
0
1
(viii) Par (iv), de maniere similaire :
1 A(x) = A(x)B (x) B (x) = FGO de (1; 1; 1; 1; : : :)
1 x
n
X
= FGO de (a0; a0 + a1; a0 + a1 + a2; : : : ; ak ; : : :)
k=0
Exemple.
32
ERATRICES
CHAPITRE 3. FONCTIONS GEN
I. FGO de (0; 1; 2; 3; : : : ; n; : : :) ?
1
1 x
) 1 1
(viii) 1 x 1 x
= FGO de (1; 1; 1; 1; : : :)
= FGO de (1; 1 + 1; 1 + 1 + 1; : : :)
= FGO de (1; 2; 3; : : : ; n + 1; : : :)
= FGO de (0; 1; 2; 3; : : : ; n; : : :)
) (1 x x)2
(ii)
n
k n2N
Generalisons, la FGO de
pour k 2 N xe est egal a
(1
En eet, vrai pour k = 0.
Si (1 xxk)k est la FGO de
xk
x)k+1
n
k n2N ,
+1
xk
1 x (1 x)k+1
x
est la FGO de
!
!
!
!
!
!
!
0; k0 ; k0 + 1;; k k0 + k1 + k2 ; : : :
!
!
!
!
!
!
0
1
2
3
n
= k + 1 ; k + 1 ; k + 1 ; k + 1 ;:::; k + 1 ;:::
!!
n
= k+1
n2N
II.
III. FGO de
1
1
1
1
FGO de 0; 1; ; ; ; : : : ; ; : : :
2 3 4 n
Z x
1 dt = ln(1 t) x
=
(vi) 0 1 t
0
x
1
1
= ln 1 t = ln 1 x 0
0
0; 1; 1 + 21 ; 1 + 12 + 13 ; : : : ; 1 + 12 + : : : + n1 ; : : :
est
1 ln 1
1 x 1 x
(Nombre harmonique). Pour n 2 N, Hn := 1+ 12 +: : :+ n1 est le neme nombre harmonique.
Remarque. Pour tout choix de noyau N (x; n), on peut d
enir une serie generatrice
Définition
1
X
n=0
an N (x; n)
Si on prend N (x; n) = xn on obtient les FGO et si on prend N (x; n) = xnn! on obtient les FGE
(Fonctions Generatrices Exponentielles).
33
ERATRICES
CHAPITRE 3. FONCTIONS GEN
3.4
Fonctions génératrices ordinaires II (récurrences linéaires)
On a vu l'exemple de Fibonacci f (x) = 1
Un autre exemple facile :
Exemple.
an = 2an 1 + 1
Posons
A( x ) = 0 +
2
.
8n 1; a0 = 0
A(x) :=
Alors
x
x x
1
X
n=0
an xn
1
X
(2an 1 + 1)xn
n=1
= 0 + 2xA(x) + 1 1 x 1
|
{z
}
x
1
) A(x) = (1 x)(1 2x)
x
Donc
A( x ) =
pour certaines constantes c0 ; c1 .
c0
c1
+
1 2x 1 x
[|xn]{zA(x}) = c02n + c1
an
x
8n 0
Remarque. Ceci se g
eneralise aux recurrences lineaires a coecients constants. Methode de
resolution :
(i) Determiner la FGO A(x) = QP ((xx)) ou P et Q sont des polyn^omes, et deg P < deg Q ;
(ii) Decomposer QP ((xx)) en fractions simples ;
(iii) Extraire les coecients en utilisant la decomposition.
3.5
3.5.1
Fonctions génératrices ordinaires III (applications)
Quicksort
(Hoare, 1962).
def partition (a , l , r , i ) :
v := a [ i ]
swap a [ i ] and a [ r ]
s := l
for k from l to r 1:
i f a [ k ] <= v :
swap a [ k ] and a [ s ]
s := s + 1
swap a [ s ] and a [ r ]
return s
def quicksort (a , l , r ) :
if r > l :
34
ERATRICES
CHAPITRE 3. FONCTIONS GEN
s e l e c t a pivot index
ni := partition (a , l , r , i )
quicksort (a , l , ni 1)
quicksort (a , ni + 1 , r )
Hypotheses :
1. Le vecteur a trier est une permutation des nombres de 1 a N ;
2. Le vecteur a trier est choisi uniformement aleatoirement parmi les N ! permutations de 1; : : : ; N .
Xn := #comparaisons entre elements de a[: : :] eectuees par quicksort sur un vecteur de taille N .
E [Xn ] =?
Decomposons :
XN = YN + ZN
avec YN le #comparaisons pendant le partitionnement et ZN le #comparaisons apres le partitionnement (partie recursive).
Notons
YN N 1
Alors
E [XN ] = E [YN ] + E [ZN ]
NX1
= (N 1) + P [rang du pivot est i] E [ZN =rang du pivot est i]
= (N 1) +
i=0
NX1
i=0
1 (E [Xi] + E [XN i 1])
N | {z } | {z }
ci
Posons
CN
On trouve
CN
CN i
1
= E [XN ]
NX1
= (N 1) + N2 ci
8N 1; c0 = 0
i=0
Soit C (x) := P1N =0 cN xN = FGO de (c0; c1; c2; : : :) = (0; c1; c2; : : :).
8N 1 :
NCN
)
1
X
N =1
= N (N 1) + 2
NCN
xN
=
1
X
N =1
NX1
i=0
N (N
ci
1) + 2
xN
NX1 !
ci xN
N =1 i=0
1
X
Notons :
N
0
1. P1N =1 NC
N x = FGO de (0; c1 ; 2c2 ; 3c3 ; : : :) = xC (x)
2. P1N =1 PNi=01 ci xN = FGO de (0; c0; c0 + c1; : : :) = 1 x x C (x)
3. 2 P1N =1 N (N2 1) xN = 2FGO de (0; 0; 1; 3; 6; : : : ; N2 ; : : :) = 2 (1 x x)
2
3
35
ERATRICES
CHAPITRE 3. FONCTIONS GEN
x
x2
+
2
3
(1 x) 1 x C (x)
2 C (x) = 2 x
,
C 0 (x)
x6=0
1 x
(1 x)3
, (1 x)2C 0(x) 2(1 x)C (x) = 2 1 x x
h
i0
, (1 x)2C (x) = 2 1 x x
Z
2
, (1 x) C (x) = 2 1 x x dx
, (1 x)2C (x) = 2ln 1 1 x 2x + CST
xC 0 (x) = 2
C (x) =
(1
2
x)2
avec CST = 0 car C (0) = 0
ln 1 1 x (1 2xx)2
Théorème. Le nombre moyen de comparaisons (entre elements) eectuees par quicksort sur
une permutation aleatoire de taille N est :
[xN ]C (x) = CN = 2(N + 1)(HN +1 1) 2N 2N ln N
Demonstration.
1 ln 1 est la FGO de (H0; H1; H2; : : : ; HN ; : : :)
1 x 1 x
1
1
ou HN = 1 + 2 + 3 + : : : + N1 et H0 = 0.
) 1 1 x2 ln 1 1 x est la FGO de (H0; H0 + H1; : : : ; H0 + H1 + : : : + HN ; : : :)
or
N
X
k=0
1 + 21 + : : : + 1 + 21 + 13 + : : : + N1
k=1
= 1 + 12 + 31 + : : : + N1 +
1 + 12 + 31 + : : : + N1 +
1 + 12 + 13 + : : : + N1 +
...
...
1 + 12 + 31 + : : : + N1 N
= (N + 1)HN N
= (N + 1)(HN +1 1)
Hk =
N
X
(1
Remarque.
On peut determiner
1
Hk = 1 +
x)2
est la FGO de (0; 1; 2; 3; : : : ; N; : : :)
E [XN ] 2N ln N
V ar[XN ] N 2
2
7 23
!
[Knuth]
36
ERATRICES
CHAPITRE 3. FONCTIONS GEN
avec l'inegalite de Chebyshev :
P [jXN
On voit
3.5.2
E [XN ]j a] V ar(XN )
a2
V ar(XN ) 7 23
K2
E [XN ]j K N ] K 2N 2
P [jXN
2
Rendre la monnaie
De combien de manieres peut-on rendre n eurocents de monnaie, avec des pieces de 1, 2, 5 et 10
eurocents ?
Soit
1
X
A(x) := an xn la FGO de la suite recherchee
n=0
Alors
0
A( x ) = @
1
X
n =0
10
xn
1
A@
1
Exemple.
Coecients de x3 ?
1
X
n =0
10
x2n
2
A@
2
1
X
n =0
10
x5n
5
A@
5
1
X
n =0
1
x10n
10
A
10
1 + |{z}
1 =2
|{z}
x 111
3
A( x ) =
xx 11
2
1 1 1 1
1 x 1 x2 1 x5 1 x10
Coecients ?
1 + x + x2 + : : : + x9 1 + x2 + : : : + x8 1 + x5 1
1 x10
1 x10
1 x10 1 x10
2
3
4
5
6
7
8
9
10
11
= 1 + x + 2x + 2x + 3x + 4x (1+ 5xx10+)46x + 7x + 8x + 7x + 8x +
7x12 + 8x13 + 7x14 + 6x15 + 5x16 + 4x17 + 3x18 + 2x19 + 2x20 + x21 + x22
(1 x10)4
Observons :
!
1
n+3
n
[x ] (1 x)4 = 3
On sait que (1 x x) est la FGO de n3 n2N
A( x ) =
3
4
[x10n]
1
n+3
!
(1 x10)4 = 3
( n +3 si 10 j n
1
n
3
) [x ] (1 x10)4 =
0 si 10 - n
10
Par exemple, pour
on trouve
n0
(mod 10)
10
20
[xn]A(x) = [xn] 1 +(17x x+10)24x
!
!
n +3
n +2
= 10 3 + 7 10 3 [n 10] + 2
!
10 + 1 [n 20]
3
n
37
ERATRICES
CHAPITRE 3. FONCTIONS GEN
ou
(
na
[n a] = 10 sisinon
(notation d'Iverson).
On trouve des formules similaires quand n = 1; 2; 3; : : : ; 9 (mod 10).
Exemple.
3.6
!
!
4 + 7 3 + 0 = 4 + 7 = 11
n = 10 ! a10 =
3
3
Fonctions génératrices exponentielles
(Fonction generatrice exponentielle). La fonction generatrice exponentielle (FGE) de la
Définition
suite an n2N
( )
est
A(x) :=
On ecrit :
1
X
n=0
an
xn
n!
n![xn ]A(x) = an
Par calcul direct
P
xn
x
(i) FGE de (1; 1; 1; : : :) = n0 n2N est 1
n=0 n! = e
P
n xn P1
xk P1 xn
n! xn
(ii) FGE de nk n2N est 1
n=k k n! = n=k k!(n k)! n! = k! n=0 n!
P
1
xn
(iii) FGE de (1; 1; 2; 6; 24; : : : ; n!; : : :) = (n!)n2N est 1
n=0 n! n! = 1 x
Exemple.
= xkk! ex
Utilite :
1. Comptage de structures etiquetees;
2. Methode symbolique;
3. Meilleures proprietes de convergence.
Théorème. Si A(x) est la FGE de (an )n2N et B (x) est la FGE de (bn )n2N :
R
(i) 0x A(t)dt est la FGE de (0; a0 ; a1 ; a2 ; : : : ; an 1 ; : : :)
(ii) A0 (x) est la FGE de (a1 ; a2 ; a3 ; a4 ; : : : ; an+1 ; : : :)
(iii) xA(x) est la FGE de (0; a0 ; 2a1 ; 3a2 ; : : : ; nan 1 ; : : :)
(iv) A(x) x A(0) est la FGE de (a1 ; a2 ; a3 ; : : : ; ann+1 ; : : :)
(v) A(x) + B (x) est la FGE de (a0 + b0 ; a1 + b1 ; : : : ; an + bn ; : : :)
(vi) A0 (x) A(x) est la FGE de (a1 a0 ; a2 a1 ; : : : ; an+1 an ; : : :)
P
(vii) A(x)B (x) est la FGE de (a0 b0 ; a0 b1 + a1 b0 ; a0 b2 + 2a1 b1 + a2 b0 ; : : : ; nk=0
P
(viii) ex A(x) est la FGE de (a0 ; a0 + a1 ; a0 + 2a1 + a2 ; : : : ; nk=0 nk ak ; : : :)
2
3.7
3
+1
La méthode symbolique I (objets non étiquetés)
Rappel.
L'equation fonctionnelle, la FGO des nombres de Catalan :
f (x) = x + [f (x)]2
na b
k k n k; : : :
)
38
ERATRICES
CHAPITRE 3. FONCTIONS GEN
Formons la serie symbolique S (x)
S (x) =
1X
X
i=1
(arbres binaires dierents de i feuilles) xi
Denissons le produit A1 A2 des arbres A1; A2 par
A1 A2 = (arbre avec ls gauche A1 et ls droit A2 )
Alors
S (x) = (racine) x + [S (x)]2
A classe (ou ensemble) d'objets non etiquetes.
{ Chaque objet a 2 A a une taille jaj (depend du contexte) ;
{ an := #objets de taille Pn 1dans A ; P
{ FGO de A est A(x) := n=0 anxn = a2A xjaj.
Théorème. Si A; B sont deux classes (d'objets non etiquetes), A(x) est la FGO de A et B (x)
est la FGO de B
{ A(x) + B (x) est la FGO de A + B, la reunion disjointe de A et B ;
{ A(x)B (x) est la FGO de A B, le produit cartesien de A et B : ses objets sont de la forme
(a; b) avec a 2 A, b 2 B, dont la taille est jaj + jbj ;
1
2
3
{
1| {zA(x)} est la FGO des suites d'objets de A : fg + A + A + A + : : :
=1+A(x)+A (x)+:::
2
3.8
La méthode symbolique II (objets étiquetés)
Idees :
1. Les objets sont constitues d'atomes, numerotes de 1 a n (pour un objet de taille n) ;
2. On utilise les FGEs.
Exemple.
1. Permutations P = f; 1; 12; 21; 123; 132; 213; 312; 321; : : :g
FGE de P est
xjpj
p2P jpj!
X
=
1
X
xn
n=0 n!
n!
=11x
2. Cycles : (123) = (231) = (312)
C = f(1); (12); (123); (321); : : :g
Remarque. Il y a nn! = (n 1)! cycles de taille n 1 (et 0 cycles de taille 0).
1
X
1
n
X
(n 1)! xn! = n1 xn = ln 1 1 x
n=1
n=1
Pour deux classes A; B d'objets etiquetes on denit :
A + B la somme disjointe de A et B, comme precedemment.
Mais A B n'a plus vraiment de sens car si a 2 A, b 2 B alors (a; b) aura des atomes repetes (ce
qu'on ne veut pas).
Exemple. A = B = C = classe des cycles etiquetes pour a = (1), b = (1; 2), on a ab = (1)(1; 2)
On va plut^ot denir un ensemble d'objets obtenus a partir de a et b : (1)(2; 3); (2)(1; 3); (3)(1; 2).
) FGE de C =
39
ERATRICES
CHAPITRE 3. FONCTIONS GEN
En generalisant ceci, on denit A B comme la classe des objets etiquetes obtenus en combinant
toutes les paires d'objets a; b avec a 2 A et b 2 B, en reetiquetant de toutes les manieres possibles
(compatibles avec a et b).
Remarque. Il y a nk = nn k mani
eres de faire ca pour un objet a de taille k et un objet b de
taille n k.
A; B classes d'objets etiquetes
Si A(x) est la FGE de A et B (x) est la FGE de B, alors
{ A(x) + B (x) est la FGE de A + B ;
{ A(x)B (x) est la FGE de A B ;
{ 1 A1 (x) est la FGE des suites d'objets de A (ordre important) ;
{ eA(x) est la FGE des ensembles d'objets de A.
Théorème.
Exemple.
1. C = classe des cycles (etiquetes)
1
1 x
1 = FGE de (n!)n2N
x =
1 x
C (x) = FGE de C = ln
eC (x) = eln
1
1
la FGE des ensembles de cycles etiquetes.
ffg; f(1)g; f(1); (2)g; f(1; 2)g; f(1); (2); (3)g; f(1); (2; 3)g; : : :g
Il y a n! ensembles de cycles sur f1; 2; : : : ; ng.
Toute permutation de f1; 2; : : : ; ng peut s'ecrire de maniere unique comme un ensemble de
cycles :
!
1 2 3 4 = f(1; 4; 3); (2)g
4 2 1 3
2. Nombres de Stirling de la 1ere espece
" #
n
k
FGE :
:= #permutations de [n] ayant exactement k cycles.
1 C (x) C (x) : : : C (x) = 1 ln 1 k
{z
}
k! |
k!
1 x
k fois
Ces nombres forment un triangle :
1
0
1
0
1
1
0
2
3
1
0
6
11
6
1
0
24
50
35
10
1
3. Nombres de Stirling de la 2eme espece
( )
n := #partitions de [n] en k sous-ensembles (non vides).
k
{ x est la FGE de la classe f1g (un objet de taille 1) ;
40
ERATRICES
CHAPITRE 3. FONCTIONS GEN
ex est la FGE de la classe ffg; f1g; f1; 2g; f1; 2; 3g; : : :g ;
ex 1 est la FGE de la classe ff1g; f1; 2g; f1; 2; 3g; : : :g ;
1 x 1)k est la FGE de la classe fff1g; f2gg; ff1g; f2; 3gg; ff2g; f1; 3gg; ff3g; f1; 2gg; : : :g
k ! (e
(pour k = 2).
On obtient un triangle :
{
{
{
1
0
1
0
1
1
0
1
3
1
0
1
7
6
1
0
1
15
25
10
1
3.9
Nombres de Bernouilli
Motivation : calculer la somme
St (n) = 0t + 1t + 2t + : : : + (n
Exemple.
1)t =
nX1
k=0
kt
8t 2 N
Pour
t = 0; S0 (n) = 00 + 10 + 20 + : : : + (n
t = 1; S1 (n) = 01 + 11 + 21 + : : : + (n
etc.
1)0 = n
1)1 = n(n2 1)
Fixons n 2 N et ecrivons la FGE de (S0(n); S1(n); : : : ; St(n); : : :)
1
X
t=0
=
=
1
X
St (n) nX1
xt
t!
kt
!
t=0 k=0
nX1 X
1 k t xt
k=0 t=0
nX1
ex k
xt
t!
t!
= ( )
k=0
= (ex)0 + (ex)1 + : : : + (ex)n
x n
nx
= (eex) 1 1 = eex 11
nx
= e x 1 ex x 1
enx
x
1=1
n3 x3
2 + 6 + :::
!
n2
n3 x2
= n + 2 x + 3 2 + :::
x
nx +
n2 x2
1
= FGE de
!
n2 n3
nt+1
;:::
n; ; ; : : : ;
2 3
t+1
!
41
ERATRICES
CHAPITRE 3. FONCTIONS GEN
Posons Bt := t![xt] exx 1 le teme nombre de Bernouilli, c'est-a-dire
ex
x
1 est la FGE de (B0; B1; B2; : : : ; Bt; : : :)
nx
) e x 1 ex x 1 est la FGE de
B0 n; B0
n3
n2
n2
2 + B1n; B0 3 + 2B1 2
t
X
!
t
X
!
t+1 k
+ B2n; : : : ; kt Bk t n+ 1 k ; : : :
k=0
!
t
nt+1 k
) St(n) =
Bk t+1 k
k=0 k
t
t+1 k
X
= t +1 1 kt!!((tt +k1))! Bk t n+ 1 k
k=0
1 Xt t + 1
St (n) =
t + 1 k=0 k
!
Bk nt+1
Comment calculer les Bk ?
x2
k
1
X
3
t
x
x
x
x
+
B3 + : : : = Bt = x
=
x
2
6
e 1 x + 2 + x6 + : : :
t=0! t!
!
x2
x3
x2 x3 x4
, x = B0 + B1x + B2 2 + B3 6 + : : : x + 2 + 6 + 24 + : : :
B0 + B1 x + B2
2
Ceci donne
{ coecient de x0 : 0 = 0
{ coecient de x1 : 1 = B0
{ coecient de x2 : 0 = B2 + B1 , B1 = 21
{ coecient de x3 : 0 = B6 + B2 + B2 , B2 = B1
{ coecient de x4 : 0 = B24 + B6 + B4 + B6 , B3 =
Remarque. Bk = 0 pour k impair, k 3.
0
0
1
2
0
1
2
3
= 12 31 = 16
3
1+1 1 =0
4 2 4
B
0
(B0; B1; B2; B3; : : :) = (1; 12 ; 16 ; 0; ; 0; ; 0; : : :)
3
42
ERATRICES
CHAPITRE 3. FONCTIONS GEN
Ceci donne
0
1
B
B 0+1
1
B
S0 (n) =
0 + 1 B@ 0
|
0
B
B 2
1
S1 (n) = B
2 B@ 0
{z
=1
!
!
B0 n2 +
| {z }
0
=1
B
1 BB 3
S2 (n) = B
3 B@ 0
!
B0 n3 +
| {z }
0
=1
B
B 4
1
S3 (n) = B
4 B@ 0
!
B0 n4 +
| {z }
=1
Toujours
C
0+1 0 C
C=n
n
B
0
C
|{z}
A
=1
}
1
2
1
!
C
C
B1 nC
C
A
| {z }
= 12 (n2
n) =
= 1
3
1
!
B1 n2 +
| {z }
=
4
1
3
2
!
B1 n3 +
| {z }
= 2
n(n
2
1
C
C
B2 nC
C
C
| {z } A
3
2
!
=
4
2
= 13
4
1
!
n3
3 n2 + 1 n
2
2
1
2
1
!
B2 n2 +
| {z }
=1
= 14 n2(n2 2n + 1) = 41 n2(n 1)2 =
n(n
C
C
B3 nC
C
A
| {z }
2
=0
1) 2
nt+1
+ :::
t + 1 ordre|{z}
inferieur
t
+1
) St(n) tn+ 1
St (n) =
1)
= 14 (n4 2n3 + n2)
Chapitre 4
Comportements asymptotiques
4.1
Nombres harmoniques
H0 = 0
Hn = 1 +
1 + 1 + ::: + 1
2 3
n
8n 1
apparaissent a plein d'endroits.
Buts : montrer
(i) Hn ln(n), c'est-a-dire que l'erreur relative quand on remplace Hn par ln(n) n!1
! 0.
(ii) limn!1 Hn ln(n) = , c'est-a-dire que l'erreur absolue quand on remplace Hn par ln(n) n!!
+1
0; 577215 (appelee constante d'Euler ).
P
1
Remarque. H1 = 1
a-dire limn!1 Hn = 1
i=0 i = 1, c'est-
5
2,5
0
2,5
5
Nous pouvons distinguer 3 aires dierentes :
1. L'aire des rectangles sous la courbe : 21 + 13 + : : : + n1 = Hn 1 ;
2. L'aire sous la courbe : R1n 1t dt = ln(n) ;
3. L'aire des rectangles au-dessus de la courbe : 1 + 21 + : : : + n 1 1 = Hn 1.
43
44
CHAPITRE 4. COMPORTEMENTS ASYMPTOTIQUES
Donc
Hn 1 < ln(n) < Hn 1
) Hn 1 < ln(n) < Hn
n) Hn
) HnH 1 < ln(
<
H
Hn
n
n
| {z }
|{z}
!1
!1
n!1
n!1
ln(n)
) nlim
!1 Hn = 1
De plus : ln(n) < Hn < ln(n) + 1.
La serie harmonique diverge logarithmiquement.
Pour avoir Hn 10 :
Corollaire.
Exemple.
ln(n) < 10 < ln(n) + 1
Prendre e9 < n < e10 , c'est-a-dire 8104 < n < 22026.
Posons
an := Hn ln(n)
[erreur absolue]
On a
)
an > 0 8n car Hn > ln(n)
!1 an existe, 0:
an strictement decroissante ) nlim
an & car
an+1 an = Hn+1 ln(n + 1) Hn + ln(n)
= n +1 1 ln(
n + 1) ln(n)
|
{z
}
=
On voit
an+1 an < 0
) a1 > a2 > a3 > : : :
) an &
Posons
:= nlim
!1 (Hn
|
On peut calculer :
Remarque.
ln(n))}
{z
an
= 0; 5772156649 : : :
On peut montrer qu'en fait
1 + 1
1
2n 12n2 120n4
En particulier : Hn = ln(n) + + ( n1 ).
Hn = ln(n) + +
4.2
R n+1 1
t dt
n
Factorielles
de Moivre n! C pn ne n pour une constante C .
Stirling a obtenu ( 1730) :
p
C = 2
n
avec 0 < n <
1
252n6
45
CHAPITRE 4. COMPORTEMENTS ASYMPTOTIQUES
4.2.1
Formule de Wallis
2 2 4 4 : : : (2n) (2n)
=
lim
n
!1
13 3 5 5 : : : (2n 1) (2n 1)(2n + 1)
2
Demonstration.
Im =
m = 0; 1 :
I0 =
I1 =
m2:
Im =
Z 2
0
f 0 (x) = (m
g (x) =
Z Z 2
0
Z 2
0
2
0
sinm xdx
8m 2 N
0 x dx = sin
| {z }
2
=1
sin1 xdx =
cos x = 1
2
0
m 1 x sin1 x dx
sin
| {z } | {z }
=f (x)
=g0 (x)
m 2x
1) sin
cos x
cos x
m
1
) Im = sin x ( cos x)
2
Z 2
0
0
(m 1) sinm
= (m 1) 0 sinm 2 xdx (m 1)
, Im = (m 1)Im 2 (m 1)Im
, mIm = (m 1)Im 2
, Im = m 1 I m
2
m
Z 2
0
sinm xdx
2
2 n 1 2 n 3 : : : 5 3 1 I0
2n
2n
6 4 2 |{z}
=
2 n 2 n 2 : : : 4 2 I1
I2n+1 =
2n + 1 2n 1
5 3 |{z}
=1
I2n =
2
Pour x 2 0; 2 : 0 sin x 1
) sin2n 1 x sin2n x sin2n+1 x
) I2n 1 I2n I2n+1
) II2n 1 I I2n II2n+1
2n+1
Poser m = 2n + 1.
Im 2
Im
2n+1
1) |cos{z2 x} dx
=(1 sin x)
2
Z Donc
2 x(
2n+1
=1
| {z }
= mm 1 = 2n2+n 1
I2n
) nlim
!1 I2n+1 = 1
46
CHAPITRE 4. COMPORTEMENTS ASYMPTOTIQUES
C'est-a-dire
(2n + 1)(2n 1) (2n 1) : : : 5 5 3 31 = 1
lim
n!1
(2n) (2n) : : : 4 4 2 2
2
(2n) (2n) : : : 4 4 2 2
) nlim
!1 (2n + 1) (2n 1) (2n 1) : : : 5 5 3 3 1 = 2
(2n)4 : : : 44 24
=
lim
2 n!1 (2n + 1) (2n)2 (2n 1)2 : : : 52 42 32 22
z
n facteurs pairs
}|
{
1 [2 4 6 : : : (2n)]4
= nlim
!1 2n + 1
[(2n)!]2
24n (n!)4
= nlim
!1 2n + 1 [(2n)!]2
2 24n 1
) 1 = nlim
!1 2n + 1 (2n)! 2
|
{z
}
=a(n)
n!n!
| {z }
=b(n)
) a(n) b(n)
C'est-a-dire
On trouve
2n 2 2 24n 2 24n 24n
2n + 1 2n n
n
!
!
2n p22n
n
n
qui donne une approximation pour des coecients binomiaux au centre du triangle de Pascal.
Remarque.
1
5
F n p 'n
Wallis donne
!
1 2n 4n
Cn+1 =
pn
n+1 n
On voit que
Cn Fn
3
2
pour n grand
Comment obtenir la constante C de Stirling ?
Par Wallis :
!
2n p22n
Par de Moivre :
n
n
p 2n 2n
p
C
2n e
1
2n = (2n)! pn2 22n
2n n
2
n
n!n!
C
C n e
p 1 p1
p
Donc on doit avoir 2 C = car C = 2.
!
47
CHAPITRE 4. COMPORTEMENTS ASYMPTOTIQUES
4.2.2
Formule de Stirling (et de de Moivre)
p
n n
n! 2n
e
Théorème.
n n n
2n e e
n! =
C'est-a-dire
Remarque.
p
ou
1 < n < 1
12n + 1
12n
p n n n
n n n
< n! < 2n
e
e
e
e
p
L'erreur relative commise en remplacant n! par 2n ne n vaut
p
2n
1
12
! p2n
n!
n
1
+1
12
n n e 1
12n
(n!1
! 0)
Exemple.
n
1
2
5
100
4.3
Approximation de Stirling Erreur absolue Erreur relative
0; 922 : : :
0; 08
8%
1; 919 : : :
0; 08
4%
118; 019 : : :
2
1; 6%
9; 324 10157
1; 7 10155
0; 08%
Formule d’Euler-Maclaurin
On a vu :
1.
t+1
0t + 1t + 2t + : : : + (n 1)t = tn+ 1 +
:::
|{z}
nombres de
Bernouilli
t t+1
X
= t +1 1
k
k=0
2. Pour approximer
!
Bk nt+1
k
1 + 1 + ::: + 1
2 3
n
Z n
1 dt = ln(n)
Hn = 1 +
on utilise
1 t
X
ak<b
f (k ) =
Z
b
a
m
X
Bk k 1 b
f (x)dx +
f (x) + |{z}
Rm
a
k=1 k!
reste
ou Rm = ( 1)
m+1
Z
b
a
Bm (fxg) m
f (x)dx
m!
a; b 2 Z, a b.
m 2 Z, m 1.
f fonction telle que f 0 ; f 00 ; f 000 ; : : : ; f m existent et sont continues sur [a; b].
Bm (x) est le meme polyn^ome de Bernouilli.
m
X
!
m
Bm (x) =
Bk x m k
ou les Bk sont les nombres de Bernouilli
k
k=0
fxg := x bxc est la partie fractionnaire de x.
48
CHAPITRE 4. COMPORTEMENTS ASYMPTOTIQUES
4.3.1
Utilité
t
1. Generaliser 0t + 1t + 2t + : : : + (n 1)t = nt+1
+ :::
1
2. Pour f (k) = k et a = 1, b = n
1
1
1
Hn = ln n + +
2n 12n2 + 120n4 + erreur
3. Pour f (k) = ln k et a = 1, b = n
X
ln(n 1)! =
ln k = n ln n + : : :
+1
1k<n
on trouve (en particulier) la formule de Stirling.
\Preuve heuristique" :
Calcul dierentiel
innitesimal Calcul di
erentiel discret
R
P
Operateurs
et D
et Df (x) = f 0 (x)
f (x) = f (x + 1) f (x)
On a
Z
X
Par Taylor :
D=D
=
)D 1=
X
f (x + ) = f (x) +
Prenons = 1
Z
) 1=
f 0 (x)
1!
+
X
f 00 (x) 2
+ :::
2!
f (x) = f (x + 1) f (x)
0
00
000
= f 1!(x) + f 2!(x) + f 3!(x) + : : :
D2
D
Vu que = eD
Z
D3
!
= 1! + 2! + 3! + : : : f (x)
= eD 1 f (x)
1 (egalite entre operations) ) P = 1 = eD1 1 .
X
= D1 eDD 1
= D1 B0 + B1!1 D + B2!2 D2 + : : :
=1
B0
z}|{
On trouve nalement
= D + B1!1 + B2!2 D + : : :
Z
= + B1!1 + B2!2 D + : : :
X
Z
= +
1
X
Bk k 1
D
k=1 k!
49
CHAPITRE 4. COMPORTEMENTS ASYMPTOTIQUES
et
1
X
Bk k 1 b
f (k) = f (x)dx +
f (x)
a
a
k=1 k!
ak<b
b
Z b
1 B
X
X
k k 1
f (x) + |{z}
Rm
)
f (k) = f (x)dx +
a
a
ak<b
k=1 k!
Z
X
b
reste
4.3.2
Application : approximation de ln(n!)
f (x) = ln x, a = 1, b = n.
m = 2p (pas trop grand).
Alors :
Pour k 2 :
Z
f (x)dx =
f k 1 (x) 1
= k! (
k!
ln((n 1)!) =
=
X
1k<n
Z
|
n
1
que
ln(x)dx = x ln x
x + CST
1)k 2(k 2)! xk1 1 = ( 1)k
2
k (k
1
1)xk
1
ln(k)
ln xdx +
{z
= x ln x x
Rappel.
Z
}
n
B1
|{z}
=
1
n
m
X
1
k=2
ln x +
1
Bk ( 1)
k(k 1)xk
k 2
n
1
1
+ Rm
2
1
B0 = 1, B1 = 12 , B2 = 16 , B3 = 0, B4 = 301 (nombres de Bernouilli).
On peut verier en utilisant
{ Bk = 0 pour k impair, k 3 ;
{ Un truc pour evaluer Rm.
ln((n 1)!) = n ln n
n
p
B2l
B2p+2
ln n + + X
+
'p;n
2
l
1
2
(2p + 2)(2p + 1)n2p+1
l=1 2l(2l 1)n
ou 0 < 'p;n < 1 et est la constante de Stirling (on sait que e = p2 par Wallis).
p
X
ln
n
B2p+2
2l
+
'p;n
) ln(n!) = n ln n n + 2 + + 2l(2l B1)
2
l
1
n
(2p + 2)(2p + 1)n2p+1
l=1
Pour p = 2 (m = 4), on trouve :
ln(n!) = n ln n n + ln2n + + 16 2(2 11)n2 1 301 4(4 11)n4 1 + reste
| {z }
O n
ln
n
1
1
1
) ln(n!) = n ln n n + 2 + + 12n 360n3 + O n5
1
5
Remarque.
moment.
Ce n'est pas interessant de prendre m grand car B2p+2 va augmenter au bout d'un
50
CHAPITRE 4. COMPORTEMENTS ASYMPTOTIQUES
4.4
Méthodes analytiques
On peut tirer des informations sur une suite en ayant sa FG, en utilisant l'analyse (reelle ou
complexe).
Un exemple : nombres de Bell ordonnes
bn : = #partitions ordonnees d'un ensemble de n elements (en classes non vides)
= #preordres totaux sur [n]
Exemple.
b1 = 1
b2 = 3
b3 = 13
(f 1g )
(f1; 2g); (f1g; f2g); (f2g; f1g)
(f1; 2; 3g); (f1g; f2; 3g); : : : ; (f2; 3g; f1g); (f1g; f2g; f3g); : : : ; (f3g; f2g; f1g)
Probleme : pas de formule exacte.
La FGE de bn est B (x) = 1 E1 (x) ou E (x) est la FGE de la classe des E des ensembles non vides,
c'est-a-dire E = ff1g; f1; 2g; f1; 2; 3g; : : :g
Donc
1
X
xn
E (x) = 1 = ex 1
n!
n=1
et
1
1 =
B (x) =
1 E (x) 1 (ex 1)
) B (x) = 2 1 ex
1
1 + E| {z(x}) + |E 2{z(x}) + |E 3{z(x}) + : : :
|{z}
1 E (x) = ensemble
E 2 (x) est la FGE de E E .
vide
partition
partition
partition
en 1 classe en 2 classes en 3 classes
On va considerer la fonction complexe
B (z ) =
2
1
ez
Proprietes de cette fonction?
1. Holomorphe sur Cnfz 2 C j ez = 2g = Cnfz 2 C j z = ln2 + 2k ig ou k 2 Z ;
2. Singularite la plus proche de 0 est ln2.
Serie de Laurent pour B (z) autour de z0 = ln2.
B (z ) =
Montrons :
+
1
X
n= 1
an (z
ln 2)n
1
a 1=
2
a 2 = a 3 = ::: = 0
Posons w = z ln 2
an =
1 Z
2i C (ln 2;) B (z)(z ln 2)
an =
1 Z B (w + ln 2)w
2i C (0;)
n 1
n 1
dz
dw
51
CHAPITRE 4. COMPORTEMENTS ASYMPTOTIQUES
Or
1
=
2
2 2 ew
1
=
2 2 1 + w + w2! + w3! + : : :
1
=
w
2w 1 + 2! + w3! + : : :
= 12 w f1(w) ou f (w) est holomorphe sur C
1
B (w + ln 2) =
ew+ln 2
3
2
2
Z
1
) an = 2i
C (0;)
1 1 w
2 {zf (w)}
|
n 2
dw
fonction holomorphe
en 0, et qui vaut
quand w = 0
coecient de wn+1 dans la serie de Laurent de 21 f (1w) autour de 0.
1
2
Si | n {z2 0}, on a : an = 0.
n 2
Si | n {z2 = 1}, on a : an =
n= 1
On peut ecrire :
B (z ) =
1 1 .
2 f (0)
B (z )
p
1
2
ln 2
z
{z
|
!
}
=B^ (z )= (ln 2) +(2) =6;321:::>6;321
2
2
+
z
|
1
2
ln 2}
{z
fonction bien connue
avec B^ (z) holomorphe en ln 2 et m^ sur un disque ouvert de centre 0 et de rayon j ln 2 + 2ij.
1. On peut ecrire
1
X
B^ (z ) = b^n z n
n=0
avec certains coecients b^n tels que
1 n = O((0; 16)n)
^bn = O
6; 321
2.
1
1
[zn] z ln2 2 = [zn] 1 2 ln 2z
ln 2
!
z 2 2
1
n
= [z ] 2 ln2 1 + ln 2 + ln 2 + : : :
1 1 n
= 2 ln2
ln 2
n+1
= 12 ln12
bn = n![z n ]B (z )
n+1
= n! 12 ln12
+ O((0; 16)n)
= n2! (lg e)n+1 + O(n!(0; 16)n)
!
CHAPITRE 4. COMPORTEMENTS ASYMPTOTIQUES
Remarque. ln12
= log1e 2 = log2 e = lg e = 1; 44 : : :
bn Exemple.
Le resultat est
n
bn
n! (lg e)n+1
2
n!
2 (lg e)
n+1
extr^emement bon.
1
2
3
5
10
1
3
13
541
10224763
1; 04 3; 002 12; 997 541; 002 10224763
52
Chapitre 5
Entropie
5.1
Introduction
Soient V un ensemble ni et p une distribution de probabilites sur V (pv = probabilite de l'element
v 2 V ).
L'entropie de p est
X
H ( p) =
pv lg pv
v 2V
Interpretation :
H ( p) =
X
v
pv lg
1
pv
! H (p) est une moyenne ponderee des quantites lg p1v .
L'entropie est une mesure de l'incertitude associee a la distribution de probabilites.
Exemple.
= fpile, faceg
V
1.
1
2
1
1
1
1 =1
H (p) = lg
lg
2 2 2 2
Ppile = Pface =
2.
1
4
3
4
Ppile = ; Pface =
1
1
H (p) = lg
4 4
Remarque.
3 lg 3 = lg 4 3 lg 3 0; 811
4 4
4
H ( p) 0 .
Soit n := jV j
Lemme. H (p) lg n.
p uniforme ) H (p) =
P
1 lg 1
n
n
= lg n
53
54
CHAPITRE 5. ENTROPIE
Demonstration.
lg n
H ( p) =
X
=
X
1 lg 1 + X pv lg pv
n n
v
v |{z}
=pv
v
pv lg
1
npv
X
= ln12 pv ln np1
v
v
X
1
1
ln 2 pv np 1
v
v
0
| {z }
Rappel.
5.2
5.2.1
car ln x x 1
8x
1
B
X
1
= ln 2 BBB n1
@ v
=0
car uniforme
=1
C
C
pv C
C
A
v
| {z }
X
=1
logc b .
loga b = log
ca
Applications
Compression de données
Soient un alphabet ni et M un mot (un texte ) sur .
Question : comment choisir des codes binaires pour les symboles dans de sorte a ce que la taille
de l'encodage resultant de M soit minimum?
Attention : les codes doivent ^etre sans prexes, c'est-a-dire que le code d'un symbole ne peut ^etre
un prexe du code d'un autre symbole.
Exemple. = fi; m; p; sg, M = mississipi.
C (i) = 1
C (m) = 010
C (p) = 011
C (s) = 00
jC (M )j = 4 1 + 4 2 + 1 3 + 1 3 = 18
(code optimal)
Pour v 2 , soit pv la frequence relative de v dans M .
X
! jC (M )j = jM j pv jC ( v ) j
v 2
|
{z
}
=#moyen de bits par symbole dans le code C
Limite fondamentale :
Théorème (Shannon, 1948).
H ( p) .
Pour tout code C , le #moyen de bits par symbole est toujours
55
CHAPITRE 5. ENTROPIE
C'est-a-dire :
Pour notre exemple, on a
On a donc bien
jC (M )j jM jH (p)
8C
H (p) 1; 72
jC (M )j 10 1; 72 = 17; 2
18 est bien la taille minimale que l'on peut avoir.
5.2.2
Arbres de Huffman
On construit iterativement un arbre comme suit :
{ Au debut, une racine par symbole dans , pondere par sa probabilite respective ;
{ Tant qu'il existe au moins deux racines :
{ Prendre les deux racines v; w de plus petite probabilite ;
{ Ajouter une nouvelle racine z, qui devient le pere de v et w, et poser pz = pv + pw .
Le code de v 2 est obtenu en parcourant l'arbre de la racine jusqu'a la feuille contenant v ; a
chaque fois que l'on descend dans le ls gauche, on ajoute un 0; a chaque fois que l'on descend dans
un ls droit, on ajoute 1.
Théorème. Si C est un code de Human, alors #moyen de bits par symbole est H (p) + 1.
C'est-a-dire jC (M )j jM j(H (p) + 1).
Téléchargement