Constructeur universel
Un article de Wikipédia, l'encyclopédie libre.
Le constructeur universel est une structure autoréplicante au sein d'un automate cellulaire, tous deux créés par John von Neumann dans les années 1940[1].
Sommaire |
[modifier] Description
L'automate cellulaire utilisé par von Neumann comporte 29 états distincts. La structure autoréplicante utilise ces 29 états pour simuler des fils et des signaux. Un enregistrement formé par une succession de cellules encode une suite d'actions que la structure doit effectuer. À l'aide d'une tête d'écriture, cette structure peut créer de nouvelles cellules, permettant ainsi une réplication d'elle-même et de l'enregistrement.
[modifier] Interprétation
Le constructeur universel de von Neumann est la démonstration de la possibilité logique de l'autoréplication. Il s'agit cependant d'une structure extrêmement complexe et un certain nombre de structures plus simples furent créées au fil du temps (en particulier la boucle de Langton).
Le constructeur universel possède néanmoins, comme son nom l'indique, la propriété d'universalité : il lui est possible de créer non seulement des copies d'elle-même, mais aussi des variantes.
Les structures autoréplicantes les plus simples (tout particulièrement la boucle de Byl et les boucles de Chou-Reggia) ne possèdent pas d'enregistrement séparé, leur algorithme de réplication étant contenu dans la structure elle-même, et leur evolutivité est limitée. D'autres structures, comme l'evoloop sont plus évoluable.
Il faut noter que le concept d'universalité n'est pas limité au constructeur universel : il a été prouvé que le jeu de la vie est universel. Il serait donc possible dans cet automate cellulaire simple de créer un constructeur universel fonctionnant de manière similaire à celui conçu par von Neumann (même si personne n'a jamais réussi à le faire).
On peut noter également que la variante HighLife du jeu de la vie possède une structure autoréplicante, le réplicateur, composée initialement de seulement 12 cellules.
[modifier] Implémentation
Le constructeur universel fut implémenté pour la première fois par Umberto Pesavento et Renato Nobili en 1995, 50 ans après sa création[2].
Nobili et Pesavento présentèrent également une extension de l'automate cellulaire qui, en ajoutant trois états, permettait des croisements plus simples entre les fils et la création d'une structure plus compacte[3]. Le problème continue à l'heure actuelle à être étudié[4].
[modifier] Practicité
Même si les automates cellulaires peuvent en règle général être exécutés rapidement, la taille énorme requise par l'enregistrement (plus de 84 000 cellules dans la structure originale, nécessitant donc une implémentation d'au moins 85 000 cellules de large) a empêché jusqu'à présent la réalisation complète d'une cycle entier de réplication. Le constructeur universel demeure donc d'un intérêt essentiellement théorique.
[modifier] Voir aussi
[modifier] Liens internes
- Automate cellulaire
- Automate cellulaire de Codd
- Autoréplication
- Boucle de Langton
- Réplicateur de Clanking
- Wireworld
[modifier] Liens externes
- (en) Code source original de Nobili et Pesavento
- (en) Images, code source mis à jour et fichiers exécutables pour Windows
- (en) Applet java simulant le constructeur universel
[pdf] (en) Publication de Nobili et Pesavento
[modifier] Bibliographie
- ↑ John von Neumann, The theory of self reproducing automata, A. W. Burks (Ed.), Univ. of Illinois Press, Illinois (1966)
- ↑ Umberto Pesavento, An implementation of von Neumann's self-reproducing machine Artificial Life 2 (1995), pp 337-354
- ↑ Renato Nobili, Umberto Pesavento, Generalised von Neumann's Automata I: a Revisitation, in Artificial Worlds and Urban Studies, E.Besussi and A.Cecchini (Eds.), DAEST Pubblication, Convegni 1, Venezia (1996)
- ↑ W. R. Buckley, A. Mukherjee, Constructibility of Signal-Crossing Solutions in von Neumann 29-State Cellular Automata, V.S. Sunderam et al. (Eds.) (2005), ICCS 2005, LNCS 3515, pp. 395–403