Vous êtes sur la page 1sur 7

irem de lyon

Des nombres de Fibonacci Google


Le calcul des nombres de Fibonacci par la formule de Binet, qui en donne une expression en fonction
de l'indice et du nombre d'or, peut tre fait en diagonalisant une matrice 2 2. Le mme type de
calcul donne des expressions explicites des suites de probabilits dans les  graphes probabilistes 
deux tats que l'on voit en terminale ES, ainsi bien sr que l'expression de l'tat stable. Dans ce
texte, on dveloppe l'identique les deux calculs pour montrer leur similitude. Puis on tend sans
preuves les deux problmes aux suites satisfaisant une rcurrence linaire et (une version simple
de) l'algorithme PageRank utilis par Google pour hirarchiser les pages Internet.

Calcul des nombres de Fibonacci

La suite de Fibonacci (fn )nN est, comme nul n'est cens ignorer, dnie par :
n N,

f0 = F1 = 1,

fn+2 = fn + fn+1 .

On peut retrouver la formule de Binet, qui exprime les nombres de Fibonacci en fonction du nombre
d'or, de la faon suivante. On commence par introduire une suite de vecteurs de RM 2 :

n N,

fn
fn+1

Fn =


,

puis on rcrit la relation de rcurrence sous la forme :


n N,

Fn+1 = AFn ,

o A =

0 1
1 1


.

On reconnat essentiellement une suite gomtrique. Sa raison est une matrice mais a n'est pas plus
dicile de prouver par rcurrence que l'on a :
n N,

Fn = An F0 .

Pour calculer les puissances de A, on va la diagonaliser. Conceptuellement, la multiplication par A


correspond l'action de l'unique application linaire qui envoie 1 le vecteur (1, 0) de R2 sur (0, 1) et
le vecteur (0, 1) sur (1, 1). Il s'agit de trouver une base dans laquelle la matrice de est aussi simple
que possible. On va trouver deux vecteurs propres, c'est--dire deux axes sur lesquels l'application
est la multiplication par un scalaire. Un tel vecteur X = (x, y) de R2 est caractris par l'quation
AX = X,

o est un scalaire convenable. Cette quation vectorielle se traduit par un systme :




y = x
x + y = y.

1. L'application envoie le j e vecteur de la base canonique sur le vecteur dont la colonne des coordonnes est la j e
colonne de la matrice A, pour tout entier j compris entre 1 et la dimension de l'espace sur lequel on travaille ici, 2...

irem de lyon
Ce sytme quivaut :

y = x
(2 1)x = 0.

On cherche videmment une solution (x, y) non nulle, ce qui impose d'tre une des deux racines
du polynme caractristique de A
, qui est aussi l'quation caractristique de la relation de rcurrence

5)/2
.
Conformment
aux
usages,
on
va
poser

=
(1
+
5)/2 et
initiale. On
la
rsout
:

=
(1

= (1 5)/2.
Les vecteurs (1, ) et (1, ) ne sont pas colinaires, ils forment une base de R2 . On les regroupe dans
une matrice :


1 1

P =

La thorie ou une vrication facile permettent de montrer la relation :


A = P DP

o D =

0
0


,

qui son tour donne une expression des puissances de A :


n

n N,

A = PD P


=P

n 0
n
0


.

Le calcul de l'inverse de P peut tre propos des lves de seconde, quitte l'crire sous forme de
systme rsoudre :
P

1
=

1
1

Quelques lignes de calcul donnent :


n N,

1
=
5

3 2 1
+ 2 2 + 1


.

An =

et c'est exactement la formule de Binet.

Graphes probabilistes en terminale ES

On considre un systme qui peut tre dans deux tats, nots A et B . Le temps est discret et
reprsent par un entier naturel. D'un moment l'autre, le systme peut passer d'un tat l'autre.
Il est dcrit par deux rels p et q . On note p la probabilit de transition de A B . Cela signie que la
probabilit que le systme passe dans l'tat B une tape, sachant qu'il tait dans l'tat A l'tape
prcdente. De mme, on note q la probabilit de transition de B A. Par commodit, nous allons
supposer que p et q ne valent ni 0, ni 1.
chaque tape n, le systme a une probabilit an d'tre dans l'tat A et bn dans l'tat B . La
somme de ces deux probabilits est 1 mais nous n'utiliserons pas cette relation avant longtemps. Par
disjonction des cas, formule de Bayes et tout ce qu'on voudra, les suites (an ) et (bn ) satisfont aux
relations de rcurrence suivantes :

n N,

an+1 = (1 p)an + qbn


bn+1 = pan + (1 q)bn

irem de lyon
Pour une raison obscure, la tradition en terminale ES consiste introduire pour tout entier n un
vecteur-ligne Ln = (an bn ) et crire ces relations sous la forme
n N,

Ln+1 = Ln T,

o T =

1p
p
q
1q


.

Dans tous les manuels d'algbre linaire, on introduit un vecteur-colonne Xn , transpos du prcdent,
et la relation devient :
n N,

Xn+1 = AXn ,

o Xn =

an
bn

et A =

1p
q
p
1q


.

Ce sont videmment deux formulation quivalentes, on passe de l'une l'autre


l'aide de la transposition des matrices. La transposition est l'application linaire qui envoie
une matrice rectangulaire de format k ` o k et ` sont des entiers non nuls, disons A =
(aij )(i,j){1,...,k}{1,...,`} , sur la matrice de format `k suivante : tA = (bji )(j,i){1,...,`}{1,...,k} ,
o bji = aij pour tout couple (i, j). Les vecteurs lignes ou colonnes sont des matrices rectangulaires ayant respectivement une seule colonne ou ligne. La transposition se comporte
bien vis--vis du produit : si A est une matrice k ` et B est une matrice ` m, alors
on peut calculer le produit AB et sa transpose t(AB) est gale au produit tB tA.
Dans notre cas trs prcis, on a : Xn = tLn pour tout n et A = tT , si bien que les relations
Ln+1 = Ln T et Xn+1 = AXn sont quivalentes.
Une bonne raison de prfrer l'criture Xn+1 = AXn , c'est que le produit AX d'une
matrice A par un vecteur-colonne X correspond (via une application  coordonnes )
l'application (v) d'une transformation un vecteur v . Le produit par une matrice
droite correspondrait une criture de la forme (v).
Apart.

On en dduit comme d'habitude que pour tout entier n, on a :


Xn = A n X0 .

Pour calculer les puissances de A, diagonalisons-la comme nous l'avons fait pour les nombres de
Fibonacci. Comme ci-dessus, on cherche pour quels scalaires le systme AX = X possde une
solution non nulle X = (x, y) ; bien sr, ce systme pourrait tre obtenu partir de la relation
XT = X :

(1 p)x
+qy = x
px +(1 q)y = y

Il est ncessaire et susant que soit une racine du polynme caractristique de A, () = det(A
id), o id est la matrice-identit. C'est un polynme de degr 2 donc il a deux racines, ventuellement
complexes ou confondues. On les dtermine par un calcul direct ou on utilise l'apart ci-dessous.
Le fait que les lignes de T ont une somme gale 1 s'interprte comme le fait
que le vecteur V = t(1 1) est un vecteur propre  gauche  de T : T V = V . Cette
remarque signie que le systme T V = V a une solution non nulle lorsque = 1, si bien
que 1 est une racine du polynme () = det(T id) (oui, le mme que pour A...).
Ainsi, 1 est une valeur propre de A.
Apart.

irem de lyon
Bien que la valeur propre 1 nous ait en quelque sorte saut aux yeux, le vecteur propre
correspondant, c'est--dire la solution de AX = X , lui, n'est pas donn par la manipulation. En eet, le systme T V = V donne une solution du systme LA = A qui est
dirent de AX = X ...
L'autre racine de est le quotient du terme constant par la racine vidente, c'est donc
= det(A)/1 = 1 p q.

Notons que puisque l'on a suppos que p et q taient dans l'intervalle ]0, 1[, cette deuxime
racine appartient ]1, 1[.
Ayant les valeurs propres, on trouve les vecteurs propres en rsolvant les systmes AX = X et
AX = X . On trouve deux solutions X1 = (q, p) pour le premier systme et X = (1, 1) pour le
second. On regroupe ces solutions dans une matrice :

P =

dont l'inverse est :


P

q 1
p 1

1
=
p+q


,

1 1
p q

et on vrie que la relation suivante est satisfaite :


A = P DP

o D =

1 0
0

et = 1 p q.

On en dduit aprs calculs que pour tout entier n :


n

A = PD P


=P

1 0
0 n


P

1
=
p+q

q + p n q q n
p p n p + q n


.

Remarquons que le vecteur X est, une constante multiplicative prs, la premire


colonne de P , c'est--dire le vecteur propre de A correspondant la plus grande valeur
propre. Ce phnomne sera exploit dans un cadre plus gnral.
On peut en dduire une expression explicite des suites (an ) et (bn ). Puisque est strictement compris
entre 1 et 1, lorsque n tend vers l'inni, la suite ( n ) tend vers 0 et (An X0 ) tend vers le vecteur :
X

1
=
p+q

q(a0 + b0 )
p(a0 + b0 )


.

Vu l'hypothse initiale, a0 + b0 = 1, cette expression se simplie et prouve que l'tat stable est
indpendant des conditions initiales et vaut :

L = (a

b ) =

q
p+q

p
p+q


.

irem de lyon

Suites rcurrentes linaires et algorithme PageRank

Suites rcurrentes linaires

On se donne un entier naturel non nul d et des complexes a0 , . . . , ad1 . On s'intresse aux suites
complexes (xn )nN satisfaisant la relation :
n N,

xn+d = ad1 xn+d1 + + a1 xn+1 + a0 x0 .

Pour obtenir une expression explicite de (xn ) en fonction de n, on dnit une suite de vecteurs (Xn )
de Cd par :
n N,

Xn = t(xn

xn+1

xn+d2

xn+d1 ).

Elle satisfait la rcurrence d'ordre 1 suivante :

n N,

Xn+1 = AXn ,

0
a0
1 0
a1

..
... ...

.
o A =

...

0 ad2
1 ad1

(Dans cette matrice carre de format d d, les coecients qui ne sont pas crits sont nuls.)
On en dduit comme avant que Xn = An X0 pour tout entier n, ce qui conduit chercher une
expression simple des puissances de A. Pour cela, on diagonalise A.
La recherche de valeurs propres de A, des scalaires tels que le systme AX = X possde une
solution non nulle X dans Cd , est essentiellement quivalente la recherche de suites gomtriques
satisfaisant la relation de rcurrence. Les seules valeurs possibles sont les racines de l'quation
caractristique :
n = ad1 d1 + + a1 + a0 .]

Pour chacune de ces racines, on trouve une suite gomtrique solution (n ) dont les premiers termes
forment un vecteur propre X = (k1 )k=1,...,d Cd . La situation est particulirement agrable
lorsque les d racines complexes 1 , . . . , d de l'quation caractristique sont distinctes. Dans ce cas, les
vecteurs propres correspondants forment une base de Cd et on peut construire une matrice inversible :

P = (i1
j )(i,j){1,...,d}{1,...,d}

1

1
1 d

= ..
..
.
.
d1

d1
1
d

On reconnat la matrice de Vandermonde dont le dterminant est le produit des


dirences i j pour i > j . Notons au passage que pour des bonnes valeurs des i , cette
matrice est la matrice de la transforme de Fourier discrte, cruciale dans l'algorithme
FFT de multiplication rapide.
Apart :

Si D dsigne la matrice diagonale dont les coecients diagonaux sont les i , on a la relation :
n N,

An = P Dn P 1 ,

qui donne une expression de xn en fonction des i , de n et de (x0 , . . . , xd1 ).


5

irem de lyon
La deuxime preuve de l'crit du CAPES 2010 propose une tout autre approche
de ce calcul, fonde sur les sries entires. Il est amusant de faire le lien entre les deux
approches.
Apart :

Algorithme PageRank de Google

Comme chacun sait, les pages correspondant une requte faite sur le moteur de recherche Google
arrivent dans un ordre qui n'est pas alatoire. C'est ce qui a rendu le moteur si clbre. Cet ordre
rete une hirarchie dnie par le rsultat de l'algorithme PageRank. Cet algorithme prend en entre
le web un moment donn et produit une liste de  scores , un rel compris entre 0 et 1 pour chaque
page du web. chaque requte, les pages sont prsentes par ordre dcroissant de score.
L'ide de l'algorithme, c'est de marcher au hasard sur le web et de compter combien de fois on passe
sur chaque page. Le credo, c'est que plus on revient souvent sur une page, plus elle est pertinente.
L'approche frquentiste des probabilits suggre que les frquences de passage sur chaque page aprs
une longue marche sont les probabilits de s'y trouver. Pour cela, la thorie des graphes probabilistes,
que l'on peut appeler plus pompeusement la thorie des chanes de Markov nies et qui est fonde sur
les probabilits et un peu d'algbre linaire, donne une faon concrte de calculer ces probabilits.
Formalisons cette ide. On reprsente Internet par un graphe orient dont les sommets sont les pages
internet et les ches, les liens hypertexte. Plus prcisment, on numrote les pages web de 1 N , o
N est le (trs grand) nombre de pages du web (recenses par Google) ; les sommets du graphe sont
les lments de {1, . . . , N }. On met autant de ches du sommet j vers le sommet i qu'il y a de liens
de la page correspondant j vers celle qui correspond i. On construit une matrice A0 , de taille
N N , dont le coecient d'indices (i, j) est le nombre de liens de la page j vers la page i divis par
le nombre total de liens issus de la page j . Ainsi, la somme des coecients de chaque colonne de A0
vaut 1.
forment un vecteur Xn de RN et
la probabilit d'tre la page i l'instant n. Les p(n)
Notons p(n)
i
i
la proprit de marche au hasard se traduit par la rcurrence :
n N,

Xn+1 = A0 Xn .

Cette rcurrence n'est autre que la formule de Bayes applique autant de fois qu'il y a de pages web.
En quelque sorte, les graphes probabilistes de terminale ES modlisent un rseau Internet avec deux
ou trois sites. C'est peu raliste, mais les ides importantes (probabilit de transition, tat stable) y
apparaissent dj clairement.
En fait, pour viter les impasses dans le graphe, pour prendre en compte le comportement consistant
sauter d'une page une autre en tapant l'adresse dans la barre d'adresse du navigateur, mais aussi
pour des raisons de convergence numrique de l'algorithme, on modie un peu la matrice A0 en la
remplaant par
A = tA0 + (1 t)J,

o t vaut environ 0, 8 et J est la matrice dont tous les coecients valent 1/N . Cela signie que l'on a
80% de chance de passer d'une page la suivante selon la rgle initiale et 20% de chances de sauter
sur une page choisie uniformment au hasard dans le web. Dans cette nouvelle version, le vecteur des
probabilits (Xn ) satisfait la rcurrence :
n N,

Xn+1 = AXn .

irem de lyon
Par construction, la matrice A est stochastique : la somme des coecients de chaque colonne vaut 1.
Comme dans la partie prcdente, on en dduit que 1 est une valeur propre de A. De plus, tous ses
coecients sont strictement positifs. On en dduit assez facilement que le module des autres valeurs
propres est au plus 1.
Le thorme de Perron assure que dans ces conditions, la matrice A possde une valeur propre
de module strictement plus grand que toutes les autres, qu'elle est relle et que le vecteur propre
correspondant X a tous ses coecients rels, non nuls et de mme signe. Quitte le diviser par la
somme des coecients, on peut donc supposer que les coecients de X sont strictement positifs et
que leur somme vaut 1. Dans notre cas, la valeur propre maximale est 1 = 1.
Par ailleurs, il est presque certain que l'on peut diagonaliser A : parmi les matrices qui satisfont
les proprits que l'on vient de mettre en vidence, celles qui ne sont pas diagonalisables forment
un ensemble de mesure nulle, c'est--dire qu'on a une probabilit nulle de tomber dessus. Cela
signie qu'il existe une matrice inversible P et des complexes 2 , . . . , n tels que A = P DP 1 , o D
est la matrice diagonale dont les coecients diagonaux sont (1, 2 , . . . , n ). Comme dans la partie
prcdente, lorsque n tend vers l'inni, la suite de matrices Dn converge vers la matrice diagonale
dont les coecients diagonaux sont (1, 0, . . . , 0).
On en dduit facilement que An converge vers une matrice dont toutes les colonnes sont proportionnelles la premire colonne de P , c'est--dire au vecteur propre de Perron X . Il en rsulte alors
que la suite (Xn ) = (An X0 ) converge vers un vecteur proportionnel X . Comme la somme des
coecients de Xn vaut 1, la limite est exactement X .
Ainsi, la probabilit d'tre la page numro i converge rapidement vers la ie coordonne du vecteur
propre de Perron, qui reprsente l'tat stable du graphe du web.

Reste un problme dicile : calculer eectivement ces probabilits. Apparemment, il est plus rapide
de calculer An pour n grand, c'est--dire n = 15 ou 16..., que de calculer P . Mais la taille de la
matrice est gigantesque et le produit de deux matrices N N , si on le fait navement, met en jeu N 3
oprations : c'est beaucoup trop lorsque N est de l'ordre de plusieurs centaines de millions ou mme
quelques milliards. Heureusement, la matrice A0 est creuse, c'est--dire que de nombreux coecients
sont nuls : cela permet d'imaginer des calculs plus russ. Les mthodes utilises pour ces problmes,
sur lesquelles Google est peu disert, prouvent la fois une grande expertise informatique et une
norme puissance de calcul.