DĂ©ployeur universel
Un dĂ©ployeur universel, appelĂ© parfois dovetailer, est une machine abstraite simulant lâexĂ©cution de toutes les autres machines de son modĂšle de calcul sur toutes les entrĂ©es possibles. Par extension, la technique du dĂ©ploiement universel consiste Ă sâappuyer sur lâexistence dâune telle machine pour dĂ©montrer des propriĂ©tĂ©s en thĂ©orie de la calculabilitĂ©[1].
DĂ©finition
Le principal obstacle Ă la construction dâun dĂ©ployeur universel est lâexistence de machines qui bouclent indĂ©finiment et empĂȘchent le dĂ©ployeur de passer Ă la simulation des autres machines. Le schĂ©ma classique pour rĂ©gler ce problĂšme est le suivant[1] :
- Ă©numĂ©rer les triplets dâentiers en utilisant la fonction de couplage de Cantor ;
- par un codage, associer à une entrée ;
- par un codage, associer Ă une machine ;
- simuler sur lâentrĂ©e pendant Ă©tapes.
Notion de temps pour les machines
Le schĂ©ma prĂ©cĂ©dent nĂ©cessite de pouvoir simuler une machine pendant un nombre maximal fixĂ© dâĂ©tapes. Cette notion de temps est propre au modĂšle de calcul choisi, par exemple[2] :
- le nombre de transformations dans un systÚme de réécriture ;
- le nombre de rĂ©cursions dans lâĂ©valuation dâune fonction rĂ©cursive ;
- le nombre dâĂ©tapes de calcul dâune machine de Turing.
Dans dâautres domaines
Sous la thĂ©orie du computationnalisme, qui postule que lâesprit humain est une machine Ă calculer complexe, il existe une Ă©tape dans lâexĂ©cution dâun dĂ©ployeur universel durant laquelle le fonctionnement dâun cerveau humain est parfaitement simulĂ©[3].
Par ailleurs, un déployeur universel gÚre toutes les histoires computationnelles possibles et rejoint la théorie des mondes multiples d'Everett.
Références
- Akim Demaille, Pierre Senellart et François Yvon, Théorie des langages, , 254 p. (lire en ligne), p. 145-146
- (en) PĂ©ter GĂĄcs, Theory of computation, , 8 p. (lire en ligne), p. 1
- Jean-Paul Delahaye, « Logique et calcul : Le monde des machines », Pour la Science, no 243,â , p. 102 (ISSN 0153-4092, lire en ligne)