Nombre réel calculable

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

En informatique et algorithmique, un nombre réel calculable est un réel pour lequel il existe un algorithme ou une machine de Turing permettant d'énumérer la suite des ses chiffres (éventuellement infinie), ou plus généralement des symboles de son écriture sous forme de chaîne de caractères. De manière plus générale, et équivalente, une nombre réel est calculable si on peut en calculer une approximation aussi précise que l'on veut, avec une précision connue.

Cette notion a été mise en place par Alan Turing en 1936[1]. Elle a ensuite été développée dans différentes branches des mathématiques constructives, et plus particulièrement l'analyse constructive[2].

L'ensemble des réels calculables est un corps dénombrable. Il contient, par exemple, tous les nombres algébriques réels, ou des constantes célèbres comme π ou γ.

Les réels non calculables sont donc bien plus nombreux, bien qu'il soit généralement difficile de les définir, et sont en grande partie des nombres aléatoires. On parvient toutefois à en caractériser certains, comme la constante Oméga de Chaitin ou des nombres définis à partir du castor affairé.

Définitions principales[modifier | modifier le code]

Tout réel x est limite de nombreuses suites de nombres rationnels[3]. Il existe en particulier des suites de couples d'entiers (pn, qn), avec qn ≠ 0, telles que :

\forall n\in\N\quad\left|x-\frac{p_n}{q_n}\right|\le\frac1{2^n}.

Le nombre x est dit calculable si, parmi ces suites (pn, qn), il en existe qui sont calculables[4]. (Il ne suffit pas pour cela que x soit limite d'une suite calculable de rationnels, comme le montre l'exemple des suites de Specker : il faut de plus que pour au moins une telle suite, le module de convergence (en) soit, lui aussi, calculable[5].)

Une définition équivalente est :

Un réel est calculable si la suite des chiffres dans une base quelconque est calculable[6].

Cette définition est vraie si on autorise chaque "chiffre", pour une base quelconque, à être éventuellement négatif, et c'est vrai particulièrement pour la base 10[6]. En revanche, en système binaire, les bits n'ont pas à être négatifs, et c'est la base généralement utilisée pour définir la calculabilité ainsi[7],[8].

Un nombre réel peut être calculable même si ses chiffres ne sont pas déterminés directement. Une troisième définition, toujours démontrée équivalente, est :

Un réel x est calculable s'il existe un programme pour énumérer l'ensemble des rationnels supérieurs à x, et un autre pour énumérer l'ensemble des rationnels inférieurs à x[9].

Construction de nombres calculables[modifier | modifier le code]

Soit A un ensemble d'entiers naturels, le réel

\sum_{k\in A}2^{-k}

est calculable si et seulement si l'ensemble A est récursif[10].

Plus concrètement, on sait par exemple que :

\pi =4 \sum_{k = 0}^{\infty}\frac{(-1)^{k}}{2k+1}.

Il est donc possible de déterminer des rationnels approchant π avec une précision arbitraire (la théorie sur les séries alternées permet même de savoir pour quel entier m il faut calculer \scriptstyle4\sum_{k=0}^m\frac{(-1)^k}{2k+1} pour avoir un nombre donné de décimales exactes).

Mieux, tout nombre donné par une suite explicite à partir de nombres dont on a déjà montré qu'ils sont calculables l'est également. Par exemple non seulement e est calculable car

\mathrm e=\sum_{n=0}^{+\infty}{1\over n!}

mais pour tout nombre calculable x (par exemple x = π), le nombre ex l'est également car

\mathrm e^x=\sum_{n=0}^{+\infty}{x^n \over n!}.

Donc pour toute fonction calculable, l'image d'un nombre calculable est un nombre calculable ; par exemple le cosinus d'un rationnel donné est calculable (réciproquement, si un réel x n'est pas calculable alors ex, par exemple, ne l'est pas non plus, sinon x = ln(ex) le serait).

Statut de l'ensemble des réels calculables[modifier | modifier le code]

  • L'ensemble des réels calculables est un sous-corps de ℝ.
  • Il contient l'algèbre des périodes (donc tous les nombres algébriques réels et certains nombres transcendants comme π), mais aussi la constante d'Euler-Mascheroni γ (dont on ignore si elle est rationnelle).
  • C'est un corps réel clos[11].
  • C'est un ensemble dénombrable (un algorithme étant une suite finie de lettres d'un alphabet fini, l'ensemble des algorithmes, et donc a fortiori des nombres calculables, est dénombrable). La quasi-totalité des réels est donc non calculable (complémentaire d'un ensemble dénombrable). Ce sont en grande partie des nombres aléatoires. Bien qu'ils soient très nombreux, il est difficile d'en exhiber « explicitement ». On peut cependant citer la constante Oméga de Chaitin ou les nombres définis par le castor affairé.
  • Puisque l'ensemble des réels calculables est dénombrable, on pourrait être tenté de dire que l'application du procédé diagonal de Cantor à cet ensemble fournirait un algorithme pour calculer un nouveau nombre, ce qui conduirait à une contradiction. La réponse de Turing[12] est que l'on ignore comment attribuer un numéro à chaque nombre calculable (plus précisément, on peut facilement démontrer, justement, qu'une telle attribution n'est pas calculable), or ceci doit être fait préalablement à la diagonalisation.
  • L'égalité entre réels calculables n'est pas décidable[7].

Prolongements[modifier | modifier le code]

Nombre complexe calculable[modifier | modifier le code]

Par extension, on appelle nombre complexe calculable un nombre complexe dont les parties réelle et imaginaire sont simultanément calculables.

Suite calculable de réels[modifier | modifier le code]

Une suite de réels (xm) est dite calculable[13] s'il existe une suite calculable (doublement indexée) de couples d'entiers (pm, n, qm, n), avec qm, n ≠ 0, telle que :

\forall m,n\in\N\quad\left|x_m-\frac{p_{m,n}}{q_{m,n}}\right|\le\frac1{2^n}.

Chacun des réels xm est alors clairement calculable.

Si la suite (doublement indexée) des décimales des xm est calculable, alors (xm) est une suite calculable de réels, mais la réciproque est fausse, et de même en remplaçant 10 par n'importe quelle base > 1[14].

Notes et références[modifier | modifier le code]

Notes[modifier | modifier le code]

  1. Turing 1937
  2. Di Gianantonio 1996, p. 1
  3. Voir le § « Construction via les suites de Cauchy » de l'article « Construction des nombres réels »
  4. Pour des définitions équivalentes et des références, cf. par exemple Mostowski 1979, p. 96, Rice 1954 et Pour-El et Richards 1989.
  5. Il existe toute une hiérarchie de classes de réels définies de façon analogue. Par exemple en remplaçant les fonctions calculables par les fonctions élémentaires (en) (dans le numérateur, le dénominateur, et le module de convergence de la suite de rationnels), on définit la notion (plus restrictive) de nombre réel élémentaire : cf. bibliographie de (en) Katrin Tent et Martin Ziegler, Low functions of reals. Texte en accès libre sur arXiv : 0903.1384.
  6. a et b Di Gianantonio 1996, def. d), p. 4
  7. a et b Rice 1954, def. B, p. 784
  8. Mostowski 1957
  9. J.P. Delayahe Omega Numbers in Randomness and Complexity. From Leibniz to Chaitin World Scientific, 2007, p. 355
  10. Weihrauch 2000, p. 5, Example 1.3.2 ou Weihrauch 1995, p. 21 example 1 (4)
  11. Mostowski 1979, p. 96
  12. Turing 1937, § 8
  13. Cf. Mostowski 1979, p. 96 et quelques explications dans (en) Computable sequence, sur Planetmath.
  14. Mostowski 1957 établit des inclusions strictes entre diverses variantes, qui correspondent pourtant à des définitions équivalentes d'un réel calculable, et fait remarquer l'analogie inexpliquée avec la non-équivalence, déjà remarquée par Specker (de), de ces mêmes variantes dans la définition d'un réel « semi-calculable ».

Références[modifier | modifier le code]