Qu’est-ce que la ruliologie ?
Qu’est-ce que la ruliologie ?
par Stephen Wolfram
La ruliologie décolle ! Et de plus en plus de personnes en parlent. Mais qu’est-ce que la ruliologie ? Puisque j’ai inventé le terme, j’ai décidé d’écrire quelque chose pour l’expliquer. Mais, je me suis rendu compte ensuite que, en réalité, j’avais déjà écrit quelque chose en 2021, lorsque j’ai inventé le terme pour la première fois. Ce que j’avais écrit à l’époque faisait partie de quelque chose de plus long. Mais voici maintenant la partie qui explique la ruliologie :
(ruliologie (n.f.) la science fondamentale pure sur le fonctionnement des règles simples)
Si on met en place un système pour suivre un ensemble particulier de règles simples, que fera le système ?Ou, pour le dire autrement, comment tous ces programmes simples présents dans l’univers computationnel des programmes possibles se comportent-ils ?
Ce sont des questions pures et abstraites sur la science fondamentale. Ce sont des questions qu’on est amené à se poser lorsqu’on opère dans le paradigme computationnel que je décris dans A New Kind of Science. Mais, à un certain niveau, ce sont des questions qui portent sur la science spécifique de ce que font des règles abstraites (que nous pouvons décrire comme des programmes).
Quelle est cette science ? Ce n’est pas l’informatique, car il s’agirait alors de programmes que nous construisons à des fins particulières, plutôt que de ceux qui sont simplement « là » dans les confins de l’univers computationnel. Ce n’est pas (en tant que telle) les mathématiques, parce qu’il s’agit avant tout de « voir ce que font les règles » plutôt que de trouver des cadres dans lesquels les choses peuvent être démontrées. Et, au final, il est clair qu’il s’agit en réalité d’une science nouvelle, riche et vaste, et que moi, du moins, j’ai eu le plaisir de la pratiquer pendant quarante ans.
Mais comment devrait-on appeler cette science ? Je me pose la question depuis des décennies. J’ai rempli tellement de pages avec des noms potentiels. Pourrait-elle être fondée sur des mots grecs ou latins associés aux règles ? Tels que arch- et reg- : des racines très courantes. Qu’en est-il des mots associés au calcul ? Tels que logis- ou calc-. Aucun de ces derniers ne semble fonctionner. Mais, dans quelque chose qui s’apparente au processus de méta-modélisation, nous pouvons nous demander : quelle est l’essence de ce que nous voulons communiquer à travers ce mot ?
Il s’agit avant tout d’étudier des règles et d’examiner quelles sont leurs conséquences. Alors pourquoi pas un mot simple et évident tel que « ruliologie » ? Oui, c’est un mot nouveau au son légèrement inhabituel. Mais je pense qu’il communique bien de quoi traite cette science que j’ai appréciée pendant si longtemps. Et, pour ma part, je serai heureux de me qualifier de « ruliologiste ».
Mais de quoi traite réellement la ruliologie ? C’est une science pure et fondamentale, et une science très rigoureuse et précise. Son but est de définir des règles abstraites, puis d’observer ce qu’elles font. Il n’y a aucune « marge de manœuvre ». Aucun problème de « reproductibilité ». Vous exécutez une règle, et elle fait ce qu’elle fait. La même chose à chaque fois.
Que fait l’automate cellulaire de la règle 73 en partant d’une seule cellule noire ? Que fait une machine de Turing particulière ? Qu’en est-il d’un système particulier de substitution de chaînes à plusieurs voies ? Ce sont des questions spécifiques sur la ruliologie.
Au début, vous pourriez simplement effectuer le calcul et visualiser le résultat. Mais peut-être que vous remarquez une caractéristique particulière. Et alors, vous pouvez utiliser toutes les méthodes nécessaires pour obtenir un résultat ruliologique spécifique, et établir, par exemple, que dans le motif de la règle 73, les cellules noires n’apparaissent que dans des blocs de longueur impaire.
La ruliologie a tendance à commencer par des cas spécifiques ayant des règles spécifiques. Mais ensuite, elle se généralise, en examinant des plages plus larges de cas pour une règle particulière, ou des classes entières de règles. Et elle a toujours des choses concrètes à faire, telles que visualiser le comportement, mesurer des caractéristiques spécifiques, etc.
Mais la ruliologie se heurte rapidement à l’irréductibilité computationnelle. Que fait finalement un cas particulier donné correspondant à une règle particulière donnée ? Cela peut nécessiter un effort de calcul irréductible pour le découvrir, et si on insiste pour connaître ce qui équivaut à un résultat général véritablement infini dans le temps, cela peut s’avérer absolument impossible à décider. C’est la même histoire lorsqu’on examine les différents cas d’une règle, ou différentes règles. Existe-t-il un cas qui fait cela ? Ou une règle qui fait cela ?
Ce qui me frappe, même après 40 années de ruliologie, c’est le nombre de surprises auxquelles on finit par être confronté. On a un certain type de règle. Et il semble qu’elle ne va se comporter que d’une manière bien particulière. Mais non, finalement, on trouve un cas où elle fait quelque chose de complètement différent et d’inattendu. Et, oui, il s’agit en fait de l’irréductibilité computationnelle qui s’immisce dans ce qu’on observe.
Parfois, j’ai pensé que la ruliologie était, au début, un peu comme l’histoire naturelle. Vous explorez le monde des programmes simples, en découvrant quelles créatures étranges y existent, et en les capturant pour les étudier. (Et, oui, dans la véritable histoire naturelle de la biologie, la diversité de ce qu’on observe est vraisemblablement, en son sein, exactement le même phénomène computationnel que celui que nous voyons en ruliologie abstraite.)
Alors, comment la ruliologie se rapporte à la complexité ? C’est une composante essentielle, et en fait la plus fondamentale, de l’étude des fondements de la complexité. La ruliologie, c’est comme étudier la complexité à sa source ultime. Et il s’agit de comprendre précisément comment la complexité est générée à partir de ses origines les plus simples.
La ruliologie est ce qui construit la matière première, et l’intuition, pour créer des modèles. C’est ce qui nous montre ce qui est possible dans l’univers computationnel, et ce que nous pouvons utiliser pour modéliser, et comprendre, les systèmes que nous étudions.
En méta-modélisation, nous partons de modèles qui ont été construits et nous approfondissons pour voir ce qui se trouve en dessous. En ruliologie, nous allons en quelque sorte dans l’autre sens, en construisant à partir de fondations minimales pour voir ce qui peut se produire.
À certains égards, la ruliologie est comme une science naturelle. Elle consiste à prendre l’univers computationnel comme un analogue abstrait de la nature et à étudier la manière dont les choses y fonctionnent. Mais, à d’autres égards, la ruliologie est quelque chose de plus génératif que la science naturelle : parce qu’au sein même de la science, elle réfléchit non seulement à ce qui est, mais aussi à ce qui peut être généré de manière abstraite.
La ruliologie commence, à certains égards, comme une science expérimentale, et, à d’autres égards, elle est abstraite et théorique dès le départ. Elle est expérimentale parce qu’elle consiste souvent simplement à exécuter des programmes simples et à observer ce qu’ils font (et, en général, l’irréductibilité computationnelle suggère qu’on ne peut souvent pas faire mieux). Mais elle est abstraite et théorique en ce sens que ce qui est exécuté n’est pas une chose réelle du monde naturel, avec tous ses détails et ses approximations, mais quelque chose de complètement précis, défini et computationnel.
Comme les sciences naturelles, la ruliologie part d’observations, mais construit ensuite des théories et des principes. Il y a longtemps, j’ai trouvé une classification simple des automates cellulaires (en partant de conditions initiales aléatoires). Cela rappelle d’une certaine manière l’identification des solides, des liquides et des gaz, ou des différents règnes d’organismes. Mais au-delà de telles classifications, il existe aussi des principes beaucoup plus larges : le plus important, selon moi, étant le principe d’équivalence computationnelle.
Le déroulement quotidien de la pratique de la ruliologie ne nécessite pas de s’engager directement avec l’ensemble du principe de l’équivalence computationnelle. Mais, tout au long de la ruliologie, ce principe est crucial pour guider l’intuition et pour se faire une idée de ce à quoi s’attendre. Et, soit dit en passant, c’est à partir de la ruliologie que nous pouvons obtenir des preuves (comme l’universalité de la règle 110, ainsi que celle de la machine de Turing 2,3) en faveur de la validité générale du principe.
Je pratique la ruliologie (même si ce n’était pas sous ce nom) depuis quarante ans. Et j’en ai beaucoup fait. En fait, cela a probablement été ma principale méthodologie dans tout ce que j’ai fait en science. C’est ce qui m’a conduit à comprendre les origines de la complexité, d’abord dans les automates cellulaires. C’est ce qui m’a conduit à formuler les idées générales dans mon livre A New Kind of Science. Et c’est ce qui m’a donné l’intuition et l’élan nécessaires pour lancer notre nouveau projet de physique.
Je trouve la ruliologie profondément élégante et satisfaisante. Il y a quelque chose de très esthétique, du moins selon moi, dans la pureté du simple fait de voir ce que font des règles simples. (Et le fait qu’elles produisent souvent des images très agréables ne gâche rien.) Il est également satisfaisant de pouvoir partir de si peu et obtenir autant, et de le faire de façon automatique, simplement en exécutant quelque chose sur un ordinateur.