Académique Documents
Professionnel Documents
Culture Documents
Suites récurrentes
Enrico Formenti
(merci à Sandrine Julia)
1
Motivation
• Une suite récurrente de nombres est définie par une relation de
récurrence et un ensemble de conditions initiales.
2
Exemple
1
Définition inductive de l’ensemble E des mots sur l’alphabet {0,1}
n’ayant pas de 0 consécutifs :
(B) 1∈E, 0∈E
(I) si m∈E alors m1∈E et m10∈E
Remarque cette définition n’est pas ambiguë !
• On cherche la fonction de comptage des mots de longueur n.
Pour obtenir un mot de longueur n avec n>1,
– soit on ajoute un 1 à la fin d’un mot de longueur n-1
– soit on ajoute 10 en fin d’un mot de longueur n-2 donc
pour n>1, f(n) = f(n-1) + f(n-2)
• Conditions initiales : f(0) = 0
• f(1) = 2
• Reste à résoudre l’équation ...
3
Exemple
2
Ensemble A des additions booléennes sur l’alphabet {0,1,+}
(B) 0∈A, 1∈A
(I) si u,v∈A alors u+v∈A
Remarque cette définition est ambiguë ! Attention, cela peut jouer des tours…
4
Exemple 2 (suite)
Ensemble A des additions booléennes sur l’alphabet {0,1,+}
(B) 0∈A, 1∈A
(I) si u,v∈A alors u+v∈A
5
La suite de Fibonacci *
f0=1
f1=1
f2=2
f3=3
f4=5
f5=8
6
Suite de Fibonacci et nombre d’or
n>0,
1 ⎛1+ 5 ⎞ ⎛1− 5 ⎞ ⎤
⎡ n n
f (n) = ⎢⎜ +⎜ ⎥
⎟
5 ⎢⎝ 2 ⎠ ⎝ 2 ⎠ ⎥⎟
⎣ ⎦
• Ceci est le terme général de la suite, c’est-à-dire la
valeur de Fn en fonction de n seulement.
• Pour l’obtenir, là encore, il faut résoudre l’équation de
récurrence.
• Comment ?? Ca dépend du type de l’équation :
– les équations linéaires, comme dans le cas des deux
exemples présentés
– les équations polynomiales
– les équations non polynomiales.
L’idée est de ramener autant que possible une équation aux cas les plus
simples, par changement de variable ou même de domaine (passage au logarithme).
7
Relations de récurrence
• Dans une relation de récurrence, le terme T(n) est
fonction d’un certain nombre de termes pour des entiers
compris entre un certain n0 et n-1.
T(n) = f ( { T(p), n0≤p<n} )
• Si n0 = n-k, on dit que la relation de récurrence est
d’ordre k. Ainsi :
– Si T(n) ne dépend que de T(n-1), on parle d’ordre 1.
– Si T(n) dépend de T(n-1) et T(n-2) (ou que de T(n-2)) on parle
d’ordre 2.
8
Relation de récurrence non linéaire
• Une équation de récurrence non linéaire mais simple peut
être ramenée à une relation linéaire par passage au
logarithme.
9
Relation de récurrence complète
• L’idée pour résoudre une équation de récurrence complète est
de réduire l’ordre.
T(n) = a + b(n) + c(n).∑0≤i<nT(i)
• Une telle relation peut être ramenée à une relation
linéaire en effectuant la différence des termes T(n)-T(n-1)
T(n)-T(n-1)
= a + b(n) + c(n)∑0≤i<nT(i)
-a – b(n-1) - c(n-1)∑0≤i<n-1T(i)
10
Relation de récurrence linéaire d’ordre
1
T(n) = a(n) T(n-1) + b(n)
• On utilise la technique de sommation de plusieurs équations
de récurrence.
• Après calcul et simplification, on obtient le terme général.
11
Exemple 1 (ordre 1)
+
T(1)
= T(0) + 1
12
Exemple 2 (ordre 1)
• Jeu des tours de Hanoï
T(n) = 2 T(n-1) + 1
2 . T(n-1) = ( 2 T(n-2) + 1) . 2
22 . T(n-2) = ( 2 T(n-3) + 1) . 22
…
2n-1 . T(1) = (2 T(0) + 1) . 2n-1
T(n) = 2n T(0) + ∑0≤i≤n-12i
soit T(n) = 2n-1
• T(0) = 0, T(1) = 1, T(2) = 3, T(3) = 7…
• On réalise que n>0, T(n) = 2 T(n-1) + 1.
(cas a(n) et b(n) constants)
13
Equation de partition
14
Résolution d’une équation de partition
• Appelons T(n) le nombre de comparaisons nécessaires à la recherche
dichotomique d’un élément dans un tableau trié de taille n.
On suppose que n=2k. T(1) = 1
n>1, T(n) = 1 + T(n/2)
15
Equation de récurrence linéaire d’ordre
2
T(n) = a(n) T(n-1) + b(n) T(n-2) + c(n)
• Dans le cas d’une équation homogène (c(n)=0) et à coefficients
constants (a(n) et b(n) sont constants), on utilise la technique de
l’équation caractéristique.
16
Exemple
• Suite de Fibonacci (étendue à 0)
F0 = 0, F1 = 1, pour n>1, Fn = Fn-1 + Fn-2
• Equation caractéristique :
a2 - a - 1 = 0
Δ = (-1)2 – 4(-1) = 5 > 0
• Les deux racines réelles sont :
a1=
1 + 5
2
a2= 1 − 5
2
• Ensemble des solutions de la forme :
Fn = c1 a1 n + c2 a2 n
17
Exemple (suite)
• Conditions initiales :
F0 = 0 = c1 + c2
F1 = 1 = c1 a1 + c2 a 2
• Calcul des c1 et c2 :
c1 = - c 2
1 = c1a1 – a2c2
1 = c1 5
C1 = 1 et c2 = - 1
5 5
Fn = ⎢⎜ ⎟ −⎜ ⎟ ⎥
5 ⎢⎝ 2 ⎠ ⎝ 2 ⎠ ⎥
⎣ ⎦
18