Je vais quand même vous raconter un peu de quoi il retourne plus précisément.
Imaginez un système dans lequel il n'y a qu'une seule fonction. C'est une fonction de copie, qui prend 3 arguments :
- l'adresse de la zone à copier,
- la taille de la zone à copier,
- et l'adresse à laquelle coller la zone copiée.
Cette fonction de copie a un autre effet : elle définit l'adresse où le système trouvera les arguments pour une copie à effectuer au prochain cycle. La fonction prend donc un 4ème argument :
- l'adresse des arguments d'une fonction de copie à exécuter au prochain cycle.
Voilà, il y a beaucoup de variantes de cette idée. C'est un processeur One-Instruction-Set, il y en a d'autres, mais j'aime celui-ci pour sa simplicité. Et c'est Turing-complet, c'est à dire suffisant pour réaliser n'importe quel calcul ou simulation, en théorie (parce qu'en pratique, ben c'est pas pratique du tout en fait).
Là dessus je suis parti dans un délire à la Matrix, avec des entités super évoluées qui vivraient leur vie dans un tel monde. Limite, ça pourrait se jouer comme on joue à Eve Online, sauf qu'on n'est pas dans l'espace mais dans un univers numérique. En fait je pense que pour faire un jeu de ce type, il ne faudrait pas vraiment faire la simulation exacte des opérations de copie une par une et tout, mais par contre il faudrait avoir une idée précise de comment c'est censé être implémenté, pour pouvoir créer des scénarios qui tiennent la route. Je pense que les entités évoluées elles-mêmes (les joueurs, donc) ne sauraient peut-être pas forcément de quoi est fait leur monde. Elles n'auraient peut-être pas encore inventé le super microscope qui permet d'examiner une cellule précise. Mais par contre il y aurait des villes, des véhicules, et beaucoup de choses qui font écho à ce que nous connaissons sur terre.
Même en imaginant que la surface entière d'une planète est couverte de matériel électronique qui fait fonctionner une telle simulation, un tel univers, il y a quand même des règles à respecter. Par exemple, l'information prend nécessairement du temps à se déplacer, même si elle se déplace à la vitesse de la lumière. On est donc obligé de supposer un système de "partitions" de l'univers : on peut tout à fait passer d'une partition à l'autre, c'est à dire faire des copies depuis et vers d'autres partitions, mais il y a une question de synchronisation à prendre en compte. Chaque partition a son propre rythme, sa cadence, qui peut légèrement différer d'autres partitions "voisines", ce qui suppose des queues pour les copies. Transposé dans l'univers que nous connaissons, ça correspond à groupe d'ordinateurs qui travaillent en peer to peer, en faisant principalement trois choses : faire tourner la simulation, émettre des ordres de copie vers d'autres ordinateurs du réseau, et traiter les ordres de copie reçus.
Les adresses sont potentiellement infinies, et exprimées de façon relative, en positif ou négatif, pour exprimer un déplacement vers des adresses plus "hautes" ou plus "basses". Chaque partition est donc "au-dessus" d'une partition voisine, en "en dessous" d'une autre partition voisine.
Ce n'est pas du binaire, c'est du ternaire : chaque cellule peut contenir un 1, un 0, ou un vide. Les 1 et les 0 servent à représenter les adresses, les vides servent à distinguer les adresses.
Enfin bref.
Imaginez un système dans lequel il n'y a qu'une seule fonction. C'est une fonction de copie, qui prend 3 arguments :
- l'adresse de la zone à copier,
- la taille de la zone à copier,
- et l'adresse à laquelle coller la zone copiée.
Cette fonction de copie a un autre effet : elle définit l'adresse où le système trouvera les arguments pour une copie à effectuer au prochain cycle. La fonction prend donc un 4ème argument :
- l'adresse des arguments d'une fonction de copie à exécuter au prochain cycle.
Voilà, il y a beaucoup de variantes de cette idée. C'est un processeur One-Instruction-Set, il y en a d'autres, mais j'aime celui-ci pour sa simplicité. Et c'est Turing-complet, c'est à dire suffisant pour réaliser n'importe quel calcul ou simulation, en théorie (parce qu'en pratique, ben c'est pas pratique du tout en fait).
Là dessus je suis parti dans un délire à la Matrix, avec des entités super évoluées qui vivraient leur vie dans un tel monde. Limite, ça pourrait se jouer comme on joue à Eve Online, sauf qu'on n'est pas dans l'espace mais dans un univers numérique. En fait je pense que pour faire un jeu de ce type, il ne faudrait pas vraiment faire la simulation exacte des opérations de copie une par une et tout, mais par contre il faudrait avoir une idée précise de comment c'est censé être implémenté, pour pouvoir créer des scénarios qui tiennent la route. Je pense que les entités évoluées elles-mêmes (les joueurs, donc) ne sauraient peut-être pas forcément de quoi est fait leur monde. Elles n'auraient peut-être pas encore inventé le super microscope qui permet d'examiner une cellule précise. Mais par contre il y aurait des villes, des véhicules, et beaucoup de choses qui font écho à ce que nous connaissons sur terre.
Même en imaginant que la surface entière d'une planète est couverte de matériel électronique qui fait fonctionner une telle simulation, un tel univers, il y a quand même des règles à respecter. Par exemple, l'information prend nécessairement du temps à se déplacer, même si elle se déplace à la vitesse de la lumière. On est donc obligé de supposer un système de "partitions" de l'univers : on peut tout à fait passer d'une partition à l'autre, c'est à dire faire des copies depuis et vers d'autres partitions, mais il y a une question de synchronisation à prendre en compte. Chaque partition a son propre rythme, sa cadence, qui peut légèrement différer d'autres partitions "voisines", ce qui suppose des queues pour les copies. Transposé dans l'univers que nous connaissons, ça correspond à groupe d'ordinateurs qui travaillent en peer to peer, en faisant principalement trois choses : faire tourner la simulation, émettre des ordres de copie vers d'autres ordinateurs du réseau, et traiter les ordres de copie reçus.
Les adresses sont potentiellement infinies, et exprimées de façon relative, en positif ou négatif, pour exprimer un déplacement vers des adresses plus "hautes" ou plus "basses". Chaque partition est donc "au-dessus" d'une partition voisine, en "en dessous" d'une autre partition voisine.
Ce n'est pas du binaire, c'est du ternaire : chaque cellule peut contenir un 1, un 0, ou un vide. Les 1 et les 0 servent à représenter les adresses, les vides servent à distinguer les adresses.
Enfin bref.