Calculabilité et décidabilité
Par Jerome le vendredi 19 février 2010, 10:20 - Lien permanent
Les notions de calculabilité et de
décidabilité sont liées. En 1900, David Hilbert adresse au
congrès international de mathématiques à Paris une liste de 23 problèmes
irrésolus qui, espérait-il, devaient marquer le XXe siècle.
Lors du congrès, il commence son discours par :
Le dixième problème de Hilbert demande s'il est possible de trouver un algorithme permettant de décider si une équation diophantienne possède des solutions. Ce problème sera résolu bien plus tard par une réponse négative.Qui parmi nous ne serait pas heureux de soulever le voile qui masque le futur, d'observer les futurs développements de notre science ainsi que ses secrets pendant les siècles à venir ? Quels seront les fins vers lesquelles tenderont l'esprit des futures générations de mathématiciens ? Quelles méthodes, quels faits nouveaux, le siècle nouveau révèlera dans le riche et vaste champ de la pensée mathématique ?
Pour y répondre, il est essentiel de définir clairement la notion de calculabilité. Afin de montrer qu'il n'y a pas de méthode de calcul pour résoudre les équations diophantiennes, il est nécessaire d'avoir une caractérisation de ce qu'est une procédure de calcul. Montrer que quelque chose est calculable est plus facile : une fonction calculable sera une fonction qui peut-être définie par un algorithme, c'est-à-dire par un ensemble fini d'instructions qui décrivent explicitement le déroulement de toutes les opérations. Ces opérations doivent de plus se terminer en temps fini. Le premier chapitre du premier tome de The Art of Computer Programming de Donald Knuth décrit la notion d'algorithme. Il suffit alors de décrire un algorithme, et supposer qu'il sera bien reconnu comme tel. Cependant montrer que quelque chose n'est pas calculable demande beaucoup plus de concepts.
Si la notion de calculs apparaît tôt pour les mathématiques, sa
formalisation n'a commencé qu'à partir de 1930. Alan Turing a fourni une
première notion de la calculabilité, Kurt Gödel et Jacques Herbrand ont
caractérisé la calculabilité en termes de fonctions récursives,
Alonzo
Church a introduit la notion de lambda-calcul, puis
Emil
Post a donné une autre notion de la calculabilité. La "thèse de Church"
énonce que la définition intuitive d'un calcul et sa définition mathématique
rigoureuse coïncident. Par conséquent, toutes les définitions mathématiques
(fonctions récursives, machine de Turing, lambda-calcul,...) sont
équivalentes.
La théorie de calcul est ainsi antérieure d'environ une décennie à l'invention
de l'informatique moderne. En 1879, dans Begriffsschrift
(traduit en français par idéographie, c'est-à-dire l'écriture ou la notation
des concepts), Gottlob Frege a présenté un système
formel de la logique qui serait une langue de
la pensée pure calquée sur celle de l'arithmétique,
. Il y définit les
quantificateurs et les
relations
d'une manière assez proche de leur définition actuelle. L'objectif de Frege
était de réduire les mathématiques à la logique, ce qu'on appelle le
logicisme.
Sa motivation pour développer son approche formelle de la logique ressemblait à
la tentative de Leibniz avec ce
que celui-ci appelait calculus
ratiocinator correspondant à un calcul logique universel. Selon
Leibniz, en 1684, dans son article fondateur du nouveau calcul différentiel
Nova methodus pro maximis et minimis, itemque tangentibus (Nouvelle
méthode pour chercher les maxima et les minima, ainsi que les tangentes)
publié dans le périodique Les Acta Eruditorum de Leipzig :
Alors, il ne sera plus besoin entre deux philosophes de discussions plus longues qu'entre deux mathématiciens, puisqu'il suffira qu'ils saisissent leur plume, qu'ils s'asseyent à leur table de calcul (en faisant appel, s'ils le souhaitent, à un ami) et qu'ils se disent l'un à l'autre : "Calculons !" .
Dans la recherche de la langue parfaite, Umberto Eco retrace l'histoire
de cette utopie. Après le Déluge, selon la Bible, toute la terre
avait une seule langue et des mots identiques
, mais l'orgueil conduisit les
hommes à vouloir construire une Tour qui montât jusqu'au Ciel. Pour les punir
et de sorte qu'ils ne se comprennent plus, Dieu introduisit la diversité des
langues et dispersa les hommes sur toute la surface de la terre. Avec la
recherche de la langue unique pour Dalgarno, Wilkins ou Leibniz, il
ne s'agit nullement de retrouver une langue perdue mais d'inventer une nouvelle
langue universelle, facile à apprendre et à utiliser. Calculer et raisonner
devenant une seule et même chose, les ambiguïtés et les obscurités des langues
naturelles se trouveraient du même coup éliminées et la voie serait ainsi
ouverte tant au progrès des sciences qu'à la concorde entre les hommes.
Vers la fin du XIXe siècle, des mathématiciens comme Georg Cantor et Richard Dedekind utilisèrent de nouvelles méthodes abstraites pour raisonner sur les objets mathématiques qui furent à l'époque très controversées. Ils ont conduit à une multiplication des travaux sur les fondations, visant à trouver à la fois des descriptions précises, des nouvelles méthodes et des justifications rigoureuses. En 1902, Bertrand Russell a montré que le système formel de Frege était incohérent, c'est à dire qu'il conduit à des contradictions. Ces problèmes ont abouti à ce qu'on appelle aujourd'hui la «crise des fondements».
Hilbert, tout en étant un défenseur des méthodes de Dedekind et de Cantor, était aussi sensible aux préoccupations plus fondamentales. Au début des années 1920, il a développé un programme détaillé pour résoudre la crise :
Si l’on ne veut plus souffrir des ravages de la crise économique actuelle, nous devrons changer les règles du capitalisme mondial. Si nous voulons écarter la menace du réchauffement climatique qui pèse sur notre avenir et celui de nos enfants, nous devrons changer radicalement nos habitudes. Si nous voulons que les exploités d’aujourd’hui se libèrent demain de leurs chaînes, nous devrons construire un monde juste.
Pardon, il y a erreur sur la personne. Hibert déclare en 1930 :
Wir müssen wissen. Wir werden wissen
(Nous devons savoir.
Nous saurons
). L'idée était de représenter le raisonnement mathématique
abstrait en utilisant des systèmes formels de déduction, et ensuite de prouver
que ces systèmes formels sont cohérents.
La cohérence n'est cependant pas le seul point important pour Hilbert. Ses
écrits datant du début du siècle, donnent à penser qu'un système d'axiomes,
comme par exemple celui des nombres naturels, est inadéquate tant qu'il ne
permet pas de déduire tout un ensemble de déclarations vraies. Combinée avec
l'intérêt pour les systèmes formels de déduction, cette suggestion voulait
tenter de garantir que le système formel des nombres naturels est non seulement
cohérent, mais aussi complet, c'est à dire tout énoncé est soit démontrable ou
réfutable.
C'est exactement ces deux objectifs que Gödel a détruit en 1931. Il a prouvé
d'abord en 1930 la complétude de la logique
classique du premier ordre, c'est-à-dire que toute formule valide exprimée dans
cette logique est démontrable. En 1931 avec le théorème
d'incomplétude, il montre qu'il n'y a pas de système formel axiomatisé qui
soit à la fois complet et cohérent. Puis, il montre qu'il n'existe aucun
système formel qui soit capable de prouver sa propre cohérence. Par conséquent,
la cohérence des «mathématiques abstraites» ne peut même pas être prouvée en
utilisant toutes les mathématiques abstraites.