Construction d’une machine de Turing

MT - FiguresJe travaille actuellement, sur mon temps libre, à la réalisation d’une machine de Turing. Il s’agit d’un ordinateur rudimentaire mais qui permet de réaliser (sous réserve de disposer des ressources suffisantes) tous les calculs que peuvent effectuer les ordinateurs existants, et même ceux qui n’existent pas encore (*), y compris les ordinateurs quantiques. Par contre, cette machine ne calcule pas de manière efficace et n’a donc pas d’intérêt pratique. Alors pourquoi en réaliser une « physiquement » ?

Parce que la machine de Turing occupe une place très importante en science informatique et qu’elle illustre magistralement comment un assemblage d’éléments simples permet de réaliser un système dont le comportement peut être extrêmement complexe au point n’être prévisible, en toute généralité, par aucun algorithme ni aucune machine, aussi compliquée soit-elle. Je pense que le fait de voir une telle machine en fonctionnement peut, plus qu’une simple description ou même une simulation, marquer les esprits de mes étudiants et développer leur curiosité scientifique.

D’autre part, l’analyse de l’architecture et du fonctionnement d’une telle machine montre quels sont les éléments qui la constituent, comment ces éléments échangent des informations, quels sont leurs rôles, comment ils sont eux-mêmes constitués de briques plus simples qui réalisent des opérations élémentaires. Ce genre d’exercice est essentiel pour développer les aptitudes des étudiants en matière d’ingénierie et pour les amener être capables de comprendre et de concevoir par eux-mêmes des systèmes complexes.

Je reviendrai lors d’un prochain billet sur la construction de cette machine. Je dirai juste aujourd’hui qu’elle sera composée de petits modules réalisés avec des composants électroniques simples (portes logiques, bascules D), et que l’état de chacun de ces modules sera indiqué par des leds (bleue pour 0, rouge pour 1) de manière à ce qu’il soit possible de suivre facilement toutes les étapes d’un calcul.

(*) D’après une hypothèse très sérieuse connue sous le nom de thèse de Church-Turing, émise par deux des plus célèbres mathématiciens du siècle dernier.