Arbre de Stern-Brocot
En mathématiques, l'arbre de Stern-Brocot est une représentation de tous les rationnels strictement positifs, sous forme de fractions irréductibles.
Il a été découvert presque simultanément par le mathématicien allemand Moritz Stern (1858) et par l'horloger français Achille Brocot (en) (1861).
Sommaire |
[modifier] Construction
On part du couple de fractions irréductibles (0/1, 1/0), (on affirme que
).
Et on répète autant de fois que l'on le souhaite, le procédé suivant :
et
, la fraction appelée médian de m/n et m'/n' : 
On a tout d'abord donc :
qui constituent les fondements de la construction.
A l'étape suivante on obtient donc : 
On construit encore quatre fractions ensuite : 
Et ainsi de suite... Mais ainsi défini, on peut imaginer la représentation de cette construction par un arbre binaire que l'on appelle Arbre de Stern-Brocot (voir image).
On remarque au passage que sur l'extrême-gauche se trouvent les fractions unitaires, sur l'extrême-droite, les nombres entiers écrits sous forme rationnelle, le dénominateur étant égal à 1.
[modifier] Preuves
Cette section apporte la preuve que toutes les fractions de l'arbre sont irréductibles et que chaque fraction irréductible apparaît dans l'arbre une et une seule fois.
[modifier] Irréductibilité de chaque fraction
On peut montrer cette relation par récurrence. On pose l'hypothèse de récurrence :
Initialisation : À l'étage 0, c'est évident : on a 1.1 - 0.0 = 1.
Hérédité : Supposons que Hp est vraie et montrons que Hp + 1 est vraie.
La fraction médiane (m+m')/(n+n') se trouve sur l'étage p+1 de l'arbre. On remarque que :


Notre relation est vérifiée et on a une relation de Bézout entre (n+n') et (m+m') avec un PGCD égal à 1. Les deux nombres sont donc premiers entre eux, ce qui prouve que (m+m')/(n+n') est irréductible et achève la récurrence.
[modifier] Unicité
On veut montrer qu'aucune fraction n'apparaît plus d'une fois dans l'arbre. Soient les deux fractions m/n et m'/n'. On vérifie que :

De même on démontre une relation similaire pour m'/n'. On obtient finalement :

Ceci nous assure de l'unicité de chaque fraction.
[modifier] Existence
On veut montrer que toutes les fractions irréductibles apparaissent dans l'arbre. Considérons une fraction irréductible notée a/b.
On a au départ : 0/1 < a/b < 1/0.
A une étape donnée, on a la configuration : m/n < a/b < m'/n'. En engendrant (m+m')/(n+n'), trois cas s'offrent à nous :
: l'algorithme s'arrête, la fraction a/b est dans l'arbre.
: on pose pour l'étape suivante m: = m + m' et n: = n + n'
: on pose pour l'étape suivante m': = m + m' et n': = n + n'
Montrons que l'algorithme s'arrête :
On a vu que les conditions :
et
entraînaient que
et
.
Ceci nous permet d'écrire que :

Or notre première relation donne :
.
Au fur et à mesure des étapes, on constate que m' + n' + m + n croît strictement. Donc l'algorithme s'arrête (en a + b étapes au maximum).
[modifier] Suite de Farey
La suite de Farey d'ordre N, que l'on note FN, est la suite croissante des fractions réduites comprises entre 0 et 1 dont le dénominateur est inférieur ou égal à N.
L'étroite relation entre Stern-Brocot et cette suite est développé dans l'article correspondant.
[modifier] Déplacement dans l'arbre
[modifier] Idée
Étant donné qu'un rationnel n'apparait qu'une et une seule fois dans l'arbre, alors on peut considérer cet arbre comme un pur système de numération. Prenons la suite des pas que l'on va faire dans l'arbre pour atteindre la fraction souhaité. On définit donc deux "pas" : le pas G (gauche) et le pas D (droite) (dans le livre cité en référence on a L et R mais pour des raisons évidentes de traduction, on mettra G et D). On peut donc représenter tout rationnel positif comme une unique suite de G et D qui représente son chemin dans l'arbre.
Prenons un exemple : considérons le mot GDDG, on part de 1/1 pour arriver à 1/2, puis on va à droite vers 2/3, encore à droite, 3/4, et enfin à gauche 5/7.
On remarque que l'on doit partir de 1/1 (pour avoir un point de départ bien fixé et on suppose que 0 n'est jamais demandé). Convenons pour l'instant de l'appeler "Identité".
Mais comment trouver de façon simple une fraction à partir d'un mot composé de G et de D.
[modifier] Représentation matricielle
Soit un mot S composé de G et de D, on définit f(S) comme la fraction correspondant à S.
On aimerait trouver un moyen simple pour exprimer f.
Pour cela on va partir d'une représentation matricielle. Si vous ne comprenez pas les calculs ci-dessous, reportez vous à l'article sur les matrices. La théorie pure des matrices n'est pas vraiment utile ici, mais le calcul l'est, cela ne requiert donc aucun niveau d'algèbre linéaire.
On identifiera dans la suite la fraction
à la matrice colonne
. Étant donné une telle matrice colonne, on notera
le rationnel
associé. Étant donné deux matrices colonnes V1 et V2, leur médian est V1 + V2. De façon matricielle, si on définit M comme la matrice 2x2
constituée des deux blocs V1 et V2, leur médian est tout simplement
.
Remarquons maintenant que chaque élément V de l'arbre de Stern-Brocot est associé de façon unique aux deux éléments de l'arbre V1 et V2 à partir desquels il a été obtenu lors de la construction de l'arbre avec q(V1) < q(V2). On note gen(V) la matrice par blocs
.
Pour calculer f(S), l'idée est alors de calculer récursivement gen(f(S)), qu'on notera 
On remarque tout d'abord
(où
représente le mot vide et I est la matrice identité).
Si
, on a
.
D'où :

et :

On peut alors définir deux matrices :
.
Ainsi, on a une façon très agréable de calculer notre fraction puisque si S est le mot
, on a
et
.
Reprenons l'exemple cité précédemment :

[modifier] Réciproque / Algorithmes
Pour la réciproque, c’est-à-dire, pour trouver le chemin effectué pour atteindre une fraction quelconque m / n il faut utiliser le Théorème de Bezout : si on suppose que m / n est irréductible, c'est-à-dire que m et n sont premiers entre eux, alors il existe deux entiers m' et n' tels que mn' − m'n = 1; si de plus on suppose que m et n sont distincts et tous les deux non nuls, alors on peut choisir m' et n' de façon que
et 0 < n' < n (les coefficients m' et n' satisfaisant toutes ces contraintes sont directement calculés par l'algorithme d'Euclide étendu). Dans ce cas les fractions m' / n' et m / n sont consécutives dans la suite de Farey d'ordre n.
On pose alors m'' = m − m' et n'' = n − n' ; par construction m / n est le médian de m' / n' et m'' / n'' et on a m' / n' < m / n < m'' / n''. Dans l'arbre de Stern-Brocot, la fraction m / n est la fille de celle des deux fractions m' / n' et m'' / n'' qui a le plus grand dénominateur, c'est-à-dire la fille droite de m' / n' si n' > n'', ou la fille gauche de m'' / n'' si au contraire n' < n''.
Par exemple si on considère la fraction 5 / 7 alors l'algorithme de d'Euclide nous donne
. On en déduit que 2 / 3 et (5 − 2) / (7 − 3) = 3 / 4 sont les voisines de 5 / 7 dans la suite de Farey d'ordre 7; comme 4 > 3, on a que 5 / 7 est la fille de gauche de 3 / 4 dans l'arbre de Stern-Brocot.
[modifier] Voir aussi
[modifier] Articles connexes
[modifier] Lien externe
- (en) Eric W. Weisstein, « Stern-Brocot Tree », MathWorld
[modifier] Référence
- Mathématiques concrètes (2e édition) de Ronald Graham, Donald Knuth et Oren Patashnik (en), ISBN 2-7117-4824-3
: l'algorithme s'arrête, la fraction a/b est dans l'arbre.
: on pose pour l'étape suivante
: on pose pour l'étape suivante