Aller au contenu

Travaux · Simulation rejouable et auditable

Un organisme simulé qu’on peut rejouer, reprendre et auditer

Un quadrupède simulé dans le moteur physique MuJoCo, piloté par un contrôleur en arithmétique entière (le simulateur physique, lui, calcule en virgule flottante), qui fonctionne quatre heures d’affilée — et dont chaque pas peut être rejoué à l’identique, chaque état repris au bit près après interruption, chaque organe débranché pour établir sa nécessité. Le résultat n’est pas la marche, c’est la vérifiabilité.

Type
Échafaudage de simulation (corps simulé)
Simulateur
MuJoCo (virgule flottante) · quadrupède
Contrôleur
Entier bit-exact · topologie dérivée de FlyWire
Exécution
28 mai 2026
Durée
4 heures · 4 321 500 pas · graine unique
Reprise
Bit-exacte · 24 points de reprise sur 24
Verdict
PASS_FORT · 16 contrôles sur 16

Qu’est-ce qui distingue ce travail, au juste ?

La question mérite une réponse directe.

La simulation en elle-même n’a rien d’inédit. Un quadrupède qui marche dans un moteur physique, un réseau de neurones qui pilote un corps, un modèle inspiré du connectome de la mouche — tout cela existe, et de nombreuses équipes le font. Si l’on vendait « regardez, une créature simulée qui marche », il n’y aurait là aucune découverte.

Ce qui est réellement rare, ce ne sont pas les pas — ce sont les propriétés

Un corps simulé rejouable au bit près, dont l’état se sauvegarde et se reprend à l’identique, piloté par un contrôleur en arithmétique entière (le simulateur physique MuJoCo, lui, calcule en virgule flottante), dont on peut auditer causalement chaque organe en le débranchant, le tout dans un pic mémoire mesuré à 144 Mo sur cette exécution — cette combinaison de propriétés est inhabituelle. Une simulation en virgule flottante avec parallélisme non déterministe n’est en général pas reproductible au bit près d’une machine à l’autre : c’est une propriété connue de ces piles numériques, pas une mesure faite ici.

La formulation juste, sans exagérer : ce n’est pas une mouche, mais un quadrupède simulé dont le contrôleur reprend une topologie dérivée de FlyWire ; ce n’est pas non plus « un animal intelligent » — les tâches et l’apprentissage restent volontairement simples à ce stade, et aucune cognition n’est revendiquée. C’est une démonstration de propriétés : montrer qu’un corps simulé, piloté en boucle fermée, peut être rendu déterministe, rejouable et auditable. Je ne revendique pas de première mondiale — c’est une combinaison inhabituelle, à confronter à l’état de l’art. C’est ce que le projet cherche à établir : un calcul dont on peut établir après coup ce qu’il a fait.

Le moniteur des quatre heures

Un tableau de bord des quatre heures a été reconstruit à partir des données de l’exécution : il anime la chaîne des sauvegardes (« Rejouer les 4 heures ») ; plus bas, l’audit causal montre ce qui se passe quand on coupe un organe.

Le graphe et le corps pendant l’exécution

Une seconde visualisation réunit les deux faces du dispositif : le réseau qui calcule, et le corps qui agit. Elle affiche, comme décor de topologie, le graphe FlyWire v783 entier — 139 255 neurones à leurs coordonnées d’origine, que l’on peut faire pivoter ; le contrôleur de ce run, lui, fait tourner à chaque pas un sous-graphe de 50 000 neurones tiré de ce graphe (voir la portée du résultat). Le rejeu bit à bit à l’échelle complète du graphe est un autre travail, présenté sur la page Connectome. La silhouette avance selon la distance réellement parcourue pendant les quatre heures, et la frise du bas marque les vingt-quatre points de reprise, les sept rejeux vérifiés et les trois ablations causales, à leur instant exact. Entre les deux, le monde traversé : les dix situations que le programme a réellement enchaînées pendant quatre heures — explorer dans le noir, chercher une source, fuir une masse qui grossit, se rétablir après une poussée — chacune sur sa piste, avec ce qu’elle a rapporté et la distance qu’elle a fait parcourir.

Une campagne distincte (12 et 13 juillet 2026)

Deux autres vues proviennent d’une campagne distincte, menée après le run de quatre heures. Leurs valeurs de généralisation ne sont pas reprises ici. Ce qu’elles montrent de solide : la structure du graphe et les impulsions enregistrées le long de la voie olfactive du modèle.

La preuve de rejouabilité

C’est la propriété qui relie ce travail à tout le reste du projet. À 24 reprises pendant les quatre heures, l’état complet de l’organisme a été sauvegardé, puis vérifié. Et à la reprise après interruption, l’empreinte de l’état rechargé était identique à celle attendue :

empreinte attendue  =  empreinte rechargée  =  c792e9b0…

Interrompre l’organisme et le reprendre plus tard ne produit aucune divergence : il reprend le même geste, la même dynamique interne, au bit près. 24 points de reprise, 24 correspondances exactes.

L’audit causal, organe par organe

Comment prouver qu’un organe sert vraiment à quelque chose ? On le débranche, et on regarde si le comportement s’effondre. C’est fait ici pour six organes distincts, à l’issue du run de quatre heures (trois ablations de contrôle ont aussi été faites pendant l’exécution, à 1 h, 2 h et 3 h) :

Organe débranché Récompense Effet
Organisme intact 0,278 référence
Vision coupée 0,049 effondrement
Voie de projection sensorielle coupée 0,049 effondrement
Sous-graphe associatif coupé 0,052 effondrement
Signal de renforcement coupé 0,052 effondrement
Sous-graphe intégrateur coupé 0,052 effondrement
Moteur mélangé 0,057 effondrement

Pourquoi ça compte

Chaque organe fait chuter la récompense d’un facteur proche de cinq ou plus (de 4,9 à 5,6) quand on le retire. Ce n’est pas une corrélation observée après coup : c’est une ablation causale, mesurée en faisant tourner l’organisme. L’entrée sensorielle, le sous-graphe associatif, le signal de renforcement, la sortie motrice : chacun est nécessaire au comportement mesuré. Les six ablations donnent toutefois un plancher très proche (0,049 à 0,057), ce qui établit la nécessité de chaque partie, pas sa contribution distincte. C’est ce qu’« auditable » veut dire concrètement.

Quatre heures d’intégrité

Quatre heures de corps simulé — le bilan d’intégritéQuadrupède simulé (MuJoCo), topologie dérivée de FlyWire, graine unique (7)À ZÉRO (aucun incident)Chutes critiques0NaN / exceptions0Explosions RH0TENUS (tout au vert)Récupérations1152/1152Points de reprise bit-exacts24/24Contrôles16/16Reprise après interruption : empreinte c792e9b0… identique (bit-exacte).4 321 500 ticks · 300 fps · 144 Mo RAM · 27 M mises à jour de plasticité, effet non mesuré
Figure 1Le bilan de quatre heures d’exécution continue. À gauche, tout ce qui devait rester à zéro : aucune chute critique, aucune instabilité numérique, aucune explosion. À droite, tout ce qui devait tenir : 1 152 récupérations sur 1 152, 24 points de reprise tous bit-exacts, 16 contrôles sur 16. Les 27 millions de mises à jour de plasticité sont comptées ; leur effet sur les poids n’est pas mesuré.
source : REPORT + long_life_checkpoint_report.json
4 hd’exécution continue4 321 500 ticks à 300 fps
0chute critique · NaN · exceptionsur toute la durée
1 152 / 1 152récupérations réussiesse relève à chaque fois
144 MoRAM au picmesuré, sur machine ordinaire

Portée du résultat

Limites déclarées

  • C’est un échafaudage de simulation : aucune cognition n’est revendiquée. La stabilité, la continuité et l’auditabilité sont démontrées ; les tâches restent simples et les récompenses faibles.
  • La topologie est dérivée de FlyWire — une source de structure, pas un connectome biologique ni une reproduction du système nerveux de la mouche. Le corps simulé est un quadrupède, pas une mouche.
  • Pendant le run de 4 heures, le contrôleur du quadrupède faisait tourner à chaque pas un sous-graphe de 50 000 neurones, environ 1,57 million de connexions, tiré du connectome complet de la mouche (139 255 neurones, 3,73 millions de connexions). Le graphe complet n’a été testé que lors de contrôles courts de stabilité (7 fois, quelques dizaines de pas). Ce sous-graphe n’est pas le graphe de 50 000 neurones de l’article D (2 121 443 connexions).
  • Les sous-graphes sont désignés par leur rôle fonctionnel dans le modèle, pas par une identité biologique : le typage qui autoriserait une telle attribution n’est pas établi. Voir la page Connectome.
  • Aucune première mondiale n’est revendiquée : la combinaison de propriétés est inhabituelle, à confronter à l’état de l’art.
  • Résultat d’une exécution unique, sur une graine unique (graine 7), non reproduit avec d’autres graines à cette échelle.
  • La reprise au bit près est vérifiée à l’intérieur de ce run (24 points de reprise, 7 rejeux). La reproductibilité d’une machine à l’autre n’est pas revendiquée ici : la partie physique, en virgule flottante, en dépendrait.
  • L’exécution est purement simulée, et cela est garanti par le code : le runtime interdit tout accès matériel (real_mode : false est un invariant de sûreté, non un mode dégradé — la valeur inverse lève une erreur et arrête l’exécution). Le verdict et ses 16 contrôles portent sur ce régime, nominal et voulu.
  • Les correspondances de régions pour les neurones descendants (DN) et la chaîne nerveuse ventrale (VNC) sont des approximations non certifiées biologiquement (dn_certified : false, vnc_certified : false) : toute lecture anatomique de ces deux régions est hors de portée de ce run.
  • Les 27 millions d’événements de plasticité sont des mises à jour décidées ; leur effet sur les poids n’est pas mesuré dans ce paquet d’exécution.

Données d’exécution

L’exécution scellée

Le paquet d’exécution complet contient les rapports de points de reprise, la série temporelle (5,7 Mo), les rapports d’apprentissage, d’ablation et de dérive, les sauvegardes, un manifeste d’empreintes et le moniteur des quatre heures.

Extrait du rapport de fin d’exécution (nom du verdict abrégé) : les autres noms de champs sont ceux du dépôt interne.

verdict : PASS_FORT (16 contrôles sur 16)
contrôles   : 16/16 PASS
durée : 14 411,91 s (~240 min)
reprise : empreinte c792e9b0… — identique (bit-exacte)
NaN/except. : 0 / 0

La série temporelle complète de l’exécution accompagne le paquet de données.