Existe-t-il des nombres qu'aucun programme ne pourra jamais calculer ?
Les programmes sont des textes finis : on peut les numéroter 1, 2, 3… Cantor a montré qu'on ne peut pas numéroter les réels : avec un argument diagonal, on construit un réel différent de chacun. Il y a donc des réels qu'aucun programme ne calcule, et même « presque tous ».
Grand oral session 2027 : exposé de 10 minutes debout, puis 10 minutes d'échange, sans calculatrice. Plan prévu pour 9,5 min.
Pourquoi cette question : un modèle d'introduction
Le jury attend que vous expliquiez pourquoi vous avez choisi la question. Inspirez-vous de ce modèle, mais racontez votre propre parcours.
En NSI, nous avons écrit des programmes qui calculent les décimales de √2 ou de π, aussi loin qu'on veut. Je me suis demandé si tout nombre pouvait être calculé ainsi. J'ai découvert que non, et la preuve combine deux idées : un programme est un texte, donc on peut les compter, et les réels sont « trop nombreux » pour être comptés, comme l'a montré Cantor.
L'enjeu et les notions du programme
Comparer deux ensembles infinis par une numérotation, et démontrer par l'argument diagonal qu'ils n'ont pas la même taille.
Mathématiques
- Ensembles de nombres, écriture décimale illimitée (seconde)
- Raisonnement par l'absurde (seconde)
- Dénombrement des mots de longueur n (terminale)
Numérique et sciences informatiques
- Calculabilité (terminale)
- Programme en tant que donnée, chaînes de caractères (terminale)
Le plan de l'exposé en 9,5 min
1. Introduction
1 minUn réel est calculable s'il existe un programme qui, pour tout n, affiche ses n premières décimales. sqrt2, π et e sont calculables. Problématique : tous les réels le sont-ils ?
2. NSI : on peut numéroter les programmes
3 minUn programme est un texte fini écrit avec un alphabet fini, par exemple les caractères du clavier. Avec un alphabet de k caractères, il y a kⁿ textes de longueur n, un nombre fini.
On range tous les textes par longueur croissante, puis par ordre alphabétique à longueur égale : d'abord ceux de longueur 1, puis 2, etc. Chaque texte reçoit un numéro, et donc chaque programme aussi. L'ensemble des programmes est « dénombrable » : on peut en faire une liste numérotée P₁,P₂,P₃,…, même si elle est infinie.
3. Mathématiques : l'argument diagonal de Cantor
4 minSupposons qu'on puisse numéroter tous les réels de [0;1[ : x₁,x₂,x₃,…. On construit un réel y=0,d₁d₂d₃… : sa n-ième décimale dₙ vaut 5 si la n-ième décimale de xₙ n'est pas 5, et 4 sinon.
Pour chaque n, y diffère de xₙ à la n-ième décimale : y n'est aucun des xₙ. Contradiction : la liste ne contenait pas tous les réels. (Le choix de 4 et 5 évite les écritures du type 0,0999…=0,1.)
Conclusion : les réels ne sont pas dénombrables. Comme chaque programme calcule au plus un réel, les réels calculables forment un ensemble dénombrable. Il reste donc des réels qu'aucun programme ne calcule. Et même, en un sens précis, « presque tous » les réels sont non calculables : ceux que nous savons nommer sont une infime exception.
4. Conclusion
1,5 minIl existe des nombres qu'aucun programme ne calculera jamais : les programmes se numérotent, les réels non. L'argument diagonal de Cantor, de 1891, fonde ainsi une limite de l'informatique. J'ouvre sur un exemple explicite de nombre non calculable, la constante de Chaitin, liée au problème de l'arrêt.
Ce que j'écris au tableau
Pas de calculatrice ni de support numérique : un calcul clé écrit au tableau rend l'exposé concret et montre la solidité des connaissances.
y=0,d₁d₂d₃… dₙ= 5 si la n -ième décimale de xₙ≠5 ; 4 sinon ⇒ y≠ xₙ pour tout n
Conclusion : la réponse à la question
Il y a « plus » de réels que de programmes : l'argument diagonal le démontre. La plupart des nombres réels échappent donc à tout calcul.
Les questions probables du jury
Pendant les 10 minutesd'échange, le jury vous fait préciser et approfondir, sur tout le programme de vos spécialités en lien avec la question.
Qu'est-ce qu'un ensemble dénombrable ?
Un ensemble dont on peut numéroter les éléments par les entiers naturels.
L'ensemble des entiers pairs est-il dénombrable ?
Oui : on numérote 2n par n. Il a « autant » d'éléments que ℕ, bien qu'il en soit une partie.
Pourquoi éviter les chiffres 0 et 9 dans la construction ?
Parce que 0,0999… = 0,1 : un nombre peut avoir deux écritures, ce qui pourrait fausser l'argument.
π est-il calculable ?
Oui : de nombreux algorithmes en calculent autant de décimales que l'on veut.
Les rationnels sont-ils dénombrables ?
Oui : on peut les numéroter en parcourant les fractions p/q par somme p + q croissante.
Les pièges qui coûtent des points
- Croire que tous les ensembles infinis ont la même taille.
- Oublier que la liste des programmes est infinie mais numérotable.
- Construire y avec des chiffres 0 et 9, qui créent des doubles écritures.
Revoir les notions
Autres questions : logique et calculabilité
- Peut-on écrire un programme qui détecte tous les programmes qui tournent en boucle infinie ?
- Combien de fonctions logiques différentes peut-on construire avec n entrées, et peut-on toutes les réaliser avec ET, OU, NON ?
- Pourquoi « non (a et b) » ne veut-il pas dire « non a et non b », et pourquoi cette erreur cause-t-elle tant de bugs ?
- Comment démontrer qu'un algorithme avec une boucle donne toujours le bon résultat ?
Préparer l'oral, pas seulement le contenu
Gestion des 20 minutes de préparation, usage du tableau, posture debout, réponses au jury : la méthode complète, conforme aux règles de la session 2027.
Méthode : traiter une question de Grand oral →