Trois horloges, un seul monde
Comment le simulateur de Diodote décide, exécute et fait remonter l'information entre le stratégique, l'opératif et le tactique.
Le pas tactique bat chaque jour, l'opératif tous les trois jours, le stratégique tous les sept. Ils ne tombent ensemble que tous les 21 jours
À quoi sert cette page
Expliquer, sans lire le code, ce que chaque niveau décide, ce qu'il lit, ce qu'il écrit, et ce qui passe de l'un à l'autre. Les exemples sont de vraies trajectoires jouées par le simulateur, incorporées ici.
Comment la lire
Suivez le sommaire de haut en bas, ou allez directement aux échanges : choisissez un ou deux cas, puis Lecture. Chaque dit ce qu'est la chose, où elle vit dans le code et sa provenance : survolez, ou cliquez pour la garder ouverte.
Ce qu'elle n'est pas
Ni une prévision, ni une évaluation de la crise d'Ormuz, ni le manuel du wargame. Elle montre une mécanique. Elle ne dit rien de vrai sur l'Iran ou les États-Unis : les chiffres servent à faire tourner le moteur.
, branche de correction v2/fix4, en avance sur main. Les trois niveaux
Le code déclare chaque niveau dans un contrat : son pas, ce qu'il possède et ce qu'il lit de plus bas. Une variable n'a qu'un seul niveau qui puisse l'écrire.
| Stratégique | Opératif | Tactique | |
|---|---|---|---|
| Horloge | 7 jours à chaque borne de semaine, et au réveil en fin de jour |
3 jours à chaque borne O ; c'est aussi un tour de wargame |
1 jour les actions datées du jour ; dans un épisode, un tick naval de 10 min |
| Décide | La manière : une méthode tirée dans son arbre HTN, qui produit la posture . Il fait aussi évoluer le type vrai et l'appétit, cachés de tous sauf de l'acteur. | L'acte : dans le menu ouvert par la posture, une action par réponse quantale . Traduit l'action en ROE et en déploiements. | Rien de politique : applique les ROE, résout les rencontres entité par entité, déclenche la légitime défense, qu'aucun plafond ne borne . |
| Lit | croyances_revisees, palier_regional, pression_regionale, evenements_marquants, agregats |
issues, indicateurs, fiches_issue, et le cache d'épisodes |
Rien « d'en haut » (lit_en_haut: []) : il reçoit ses ordres, et la vérité de l'état pour tirer les rencontres. |
| Écrit | posture, plafond_regional, type_vrai, appetit, accords, engagements, palier_international |
actions_retenues, roe, plafond_local, palier_regional, pression_regionale, legitimite, economie, consignes |
etats_entites, champ_mines, palier_local, pression_locale, faits |
| Sa grandeur d'escalade | échelle internationale | échelle régionale | échelle locale |
Deux niveaux existent seulement comme contrat, sans calcul : le politique et le supranational financier .
Une journée de la grille
Le jour est l'unité commune. Choisissez un jour : les étapes qui s'y jouent s'allument, dans l'ordre exact du code.
Suivre les échanges entre niveaux
Choisissez un ou deux cas. Chaque jeton qui circule porte le nom de l'objet que le code manipule. Deux cas se comparent sur la même échelle de jours. Ce sont des traces réelles du simulateur .
Voir ces séries en tableau
Les briques du modèle
Ce que chaque composant fait, avec un exemple tiré des traces quand il y en a un.
Les acteurs et leurs types
Un acteur porte un type, caché des autres. Le type fixe ses poids sur quatre termes de gain et sa rationalité λ . Chacun de ces nombres est aujourd'hui un a priori, sans estimation.
Le HTN et la posture
Chaque acteur a un arbre de tâches. À chaque tâche, toutes les méthodes applicables sont énumérées, puis filtrées (axiomes, plafond, accords, bornes), puis une méthode est tirée selon son utilité. Le stratégique s'arrête au niveau des méthodes opératives : la méthode tirée écrit la posture, dont le plafond régional et les branches admises.
Deux tirages en série : la manière au stratégique, l'acte à l'opératif. Pour l'Iran d'Ormuz, plus aucun axiome depuis le 8 nov. : la frappe directe sur la flotte est un pas de l'escalade .
Le jeu : la réponse quantale
L'acteur ne prend pas la meilleure action à coup sûr. Plus λ est grand, plus il choisit la meilleure. Voici les utilités d'un vrai pas O, passées par la même formule que le code.
Le cache d'épisodes
Jouer un épisode tactique à chaque décision coûterait trop cher. Par situation, le cache garde des comptes (une loi de Dirichlet) et des fiches d'issue. La trajectoire y tire une issue ; un épisode n'est lancé que si le cache manque de comptes .
Deux clés, jamais confondues : celle de la décision (ce que l'acteur croit) et celle de la réalisation (la vérité) . Leur écart mesure la mauvaise perception. Un cas réel :
Les croyances
Personne ne lit le type de l'autre : chacun tient une distribution, avec une masse qui dit sa fermeté. Une action observée passe par les méthodes de l'autre, type par type, puis Bayes. Exemple réel : après une approche iranienne, la croyance de Washington sur Téhéran.
L'escalade : une échelle propre à chaque acteur
Trois grandeurs ne se confondent jamais : la pression subie et le palier envisagé qu'elle rend pensable, le plafond autorisé d'en haut, le palier exercé par ses propres actes. Monter la pression ne relève jamais seul le plafond . Voici l'échelle régionale de l'Iran, dans son ordre propre.
L'économie
Une fois par pas O, sans tirage : le risque perçu donne la prime de guerre ; la prime et la densité de mines crue donnent la part d'armateurs qui transitent ; le trafic et les volumes manquants donnent le prix. Les incidents sans gravité ou sans proximité de route sont écartés et nommés au journal.
Le contexte international
Une fois par pas S, un bruit international (calme, chargé, saturé) se tire par chaîne de Markov, avec des chocs. Il donne la saillance S : haute quand le monde regarde. Elle multiplie la pression et le coût de réputation, une seule fois. Chaque acteur la perçoit avec son bruit propre.
Les proxies
Une primitive confiée à un proxy n'est jamais résolue pour le parrain : elle devient une consigne, traitée au pas O suivant. Le proxy obéit avec une probabilité ρ fixée par son type, puis exécute par son propre arbre, sous son propre plafond : il peut faire plus que voulu . Un acte autonome est une escalade accidentelle : le parrain reçoit « réagir » (couvrir, désavouer, exploiter).
La communication
Déclarations, engagements publics à échéance, canaux discrets, accords et trêves. Une menace non tenue coûte en crédibilité (une loi Bêta par observateur). Une clause n'interdit pas : une méthode contraire reste possible, en rupture, avec son coût.
L'amorce
Le neuronal observe et propose ; le symbolique décide. L'amorce est le seul contrat d'entrée : l'état du monde, les estimations avec leur confiance, les précédents. Elle écrit hors des pas, par une opération journalisée. Une confiance faible pèse peu et se corrige vite. Dans les cas de cette page, l'amorce est une fixture d'épreuve.
La modélisation
Ce qui fait qu'un résultat a du sens, ou n'en a pas encore : l'état, la provenance, le hasard nommé, et ce qui entoure une trajectoire.
Un état, une empreinte
Tout ce qui fait le monde vit dans un état unique, sérialisable. Chaque pas rend un nouvel état, sans toucher celui qu'il a reçu. Un instantané est pris à chaque fin de pas O ; son empreinte SHA-256 suffit à dire qu'une trajectoire a été rejouée au bit près . Le journal, à côté, raconte ; c'est lui que cette page affiche.
La provenance
Chaque valeur dit d'où elle vient. Une sortie prend la provenance de sa plus faible entrée : cliquez des entrées pour voir la sortie.
Le tirage nommé
Chaque aléa a un nom qui dit où il se produit, par exemple operatif/houthis/obeissance/O1, et son propre générateur. Ajouter un tirage quelque part ne décale donc aucun autre. C'est aussi ce qui permet de forcer un seul tirage pour écrire une épreuve, ou de comparer deux décisions sur le même hasard.
La boucle extérieure : l'ensemble
Une trajectoire ne prouve rien. Un ensemble en joue au moins 32 : chaque membre tire une fois ses incertitudes (poids, types, élasticités…), puis déroule ses aléas propres, sur une génération figée du cache.
L'estimation
Retrouver les poids et λ à partir des décisions observées : maximum a posteriori et approximation de Laplace. Un test sur données synthétiques précède tout ajustement réel. Aujourd'hui le postérieur d'Ormuz est marqué sous-déterminé, avec une seule décision au corpus : rien n'en est tiré de réaliste.
La validation
Trois crises passées servent de banc (1987-88, 2019, mer Rouge) : on part de leur situation initiale et on regarde si ce qui s'est passé tombe dans la bande. Le résultat est un diagnostic par indicateur, jamais un verdict. Un épisode sert à l'estimation ou à la validation, jamais aux deux.
La sensibilité
Quels paramètres pilotent l'escalade ? Un criblage de Morris, puis des indices de Sobol, sur une génération figée, avec un métamodèle pour les plans les plus lourds. La granularité de la clé du cache se compare à part.
Le wargame
Un humain tient un acteur, tour par tour ; un tour est un pas O. Il voit exactement la vue de son acteur, jamais le type adverse. Les décisions d'un pas sont simultanées. Le débriefing rejoue les instantanés et lance des contrefactuels à hasard apparié.
Ce qui ne se joue pas encore
Le simulateur tourne de bout en bout, mais beaucoup d'actions retenues n'ont encore rien pour les exécuter. Sur la trajectoire libre de huit semaines :
Dans les traces de cette page
Dans le code, à ce stade
- Une couche de domaine, la navale. Les autres couches ont leur contrat seulement .
- Le recalage hebdomadaire ne tourne pas ici. Le crochet
s08_recalageest sauté dans ces traces (systèmeamorceéteint) ; l'amorce s'applique une fois, au T0. - La ROE directe du stratégique n'existe qu'au contrat. La variable
roe_directeest déclarée dansdefaut.yamlet aucun code ne l'écrit, alors que la spec §10.6 la décrit. - Le politique et le supranational financier ne calculent rien .
- Ensemble, estimation, validation, sensibilité, wargame sont décrits d'après leur code dans d'autres arbres de travail (commits dans chaque balise). Ils n'ont pas été joués pour cette page.
Page autonome : aucune ressource externe, aucun appel réseau. Données produites par extraire_traces.py (voir README.md). Marquage DCS : PUBLIC, données illustratives.