Nombres univers et normaux - Jean

publicité
STH2, Maple
2011
Nombres univers et normaux
On s’intéresse ici à l’écriture décimale des nombres réels et aux propriétés statistiques de cette écriture. Par exemple, quand on observe le nombre
π = 3, 141592653589793238462643383279502884197169399375105820974944592307 · · ·
on a l’impression que la suite de ses décimales ne suit aucune règle et que c’est une
suite aléatoire de chiffres. Au contraire, dans le nombre
1
= 0, 142857142857142857142857142857 · · ·
7
on constate que la suite des décimales est périodique. Nous allons formaliser ce genre
de remarques.
Nous dirons qu’un nombre est univers si toute séquence finie de chiffres apparaît
dans son écriture décimale. Par exemple, on voit que tous les chiffres de 0 à 9 (i.e.
les séquences de taille 1) apparaîssent dans l’écriture de π, ce qui n’est pas le cas
dans celle de 17 . De même, la séquence “265” apparaît dans π (au début).
Nous dirons qu’un nombre est normal si pour toute séquence de chiffres de taille
k, sa fréquence d’apparition dans le nombre est égale à 101k . Plus précisemment, soit
x un nombre réel et soit s une séquence de k chiffres. Notons N (x, s, n) le nombre
d’apparitions de la séquence s dans la suite des n premiers termes de l’écriture de
x. On dit que le nombre x est normal si pour toute séquence finie s,
lim
n→+∞
N (x, s, n)
1
= k.
n
10
Si on prend les séquences à un chiffre, cette propriété signifie que tous les chiffres de
0 à 9 apparaîssent dans x et qu’ils apparaîssent avec la même régularité.
Nous n’étudierons ces propriétés qu’expêrimentalement. En particulier, nous
n’aurons pas accès à l’écriture complète des nombres et devrons nous contenter
de regarder les n premières décimales pour n assez grand.
L’expression f loor(10k x) − 10f loor(10k−1 x) permettra d’extraire la k-ième décimale
d’un nombre x.
1
1. Séquences de taille 1.
(a) Écrire un programme Apparition(x,a,n) qui teste si le chiffre a apparaît
dans l’écriture de x.
(b) Écrire un programme Univers1(x,n) qui teste l’universalité de x pour les
séquences de taille 1.
(c) Écrire un programme Frequence(x,a,n) qui calcule le nombre d’apparitions de a parmi les n premiers termes de x.
(d) Écrire un programme Normal1(x,n) qui teste la normalité de x pour les
séquences de taille 1.
Cette propriété ne peut pas être parfaitement testée. Il faut fixer des bornes
pour décider si un nombre a l’air normal.
(e) Tester vos programmes sur π, e, sur des rationnels et sur d’autres nombres
de votre choix.
2. Généralisation : écrire des programmes similaires testant les propriétés d’universalité et de normalité pour des séquences de tailles 2.
3. Un nombre algébrique est un nombre qui est racine d’un polynôme à coefficients entiers. Une conjecture prétend que tout nombre algébrique irrationnel
est normal. Tester cette conjecture sur quelques nombres.
4. Constructions de nombres.
(a) Construire un nombre irrationnel qui ne soit pas univers.
(b) Construire un nombre univers qui ne soit pas normal.
(c) Construire un nombre aléatoire (i.e. dont les décimales sont tirées au
hasard) et tester son universalité et sa normalité.
5. Dynamique topologique : on considère l’application de [0, 1] dans [0, 1] définie
par T : x 7→ 10x mod 1. Cette application consiste simplement à décaler
l’écriture d’un nombre vers la gauche et à ne garder que la partie fractionnaire.
(a) Choisir un nombre réel x. On note T k (x) = T ◦ · · · ◦ T (x). Représenter
l’ensemble Ox = {T k (x), k = 0 . . . n} pour n assez grand. recommencer
pour différentes valeurs de x.
(b) Quel lien observe-t-on entre les propriétés d’universalité et de normalité
de x et les propriétés de densité et d’équirépartition de l’ensemble Ox ?
Fonctions utiles : evalf[n](x), rand, pointplot
2
Téléchargement