PI logo

Des environnements de décision où l'information a un prix

COIN est une proposition de contrat pour les environnements de simulation où observer le système est une action tarifée : deux environnements d'ingénierie l'implémentent, un protocole gelé le mesure. Préversion de recherche, v0.4.

PI Project · Notes R&D/ COIN · coût de l'information · préversion de recherche v0.4· github.com/PI-Project-AI/coin-envs

§01 Cadre

Observer est une décision économique

L'apprentissage par renforcement sûr a fait du coût de violation d'une contrainte un canal de première classe de l'API d'environnement, si bien que, quelle que soit la tâche, un banc d'évaluation peut toujours demander combien de dommages une politique a causés. Nous n'avons trouvé aucune API d'environnement établie qui fasse de même pour le coût de l'information, alors qu'en ingénierie réelle l'acte d'observer est lui-même une décision économique, puisqu'une inspection immobilise l'actif, qu'une simulation haute fidélité brûle des jours de calcul et qu'un essai destructif consomme la pièce même qu'il devait qualifier.

COIN (Cost-Of-INformation environments) rend cette décision explicite. Chaque action offerte à l'agent déclare si elle modifie le système ou ce que l'on en sait, et porte un prix dans les deux cas ; chaque pas rapporte où l'argent est allé, physique, information ou défaillance ; et rien de l'état vrai n'est observable hors des canaux que l'environnement a déclarés. Le contrat est délibérément petit, parce qu'il a été extrait de deux environnements en état de marche plutôt que conçu d'avance, et que tout ce que ces deux environnements n'imposaient pas en est resté exclu.

Le dépôt est public sous Apache-2.0 et étiqueté pour ce qu'il est : une préversion de recherche, v0.4, expérimentale, publiée avec ses défauts déclarés. Cette note dit ce que montrent les deux environnements, ce qui n'est délibérément pas revendiqué, et où le contrat se jouera.

Projet
coin-envs · v0.4 · Apache-2.0
Statut
Préversion de recherche · expérimentale · active
Contrat
3 règles · actions typées, tarifées
Environnements
CrackEnv · TurbofanEnv
Réglage
seeds 1000–1299 · chaque candidat archivé
Évaluation finale
seeds 3000–3499 · une seule passe · 500 épisodes
Prochaine épreuve
un troisième environnement, structurellement différent
Registre des affirmations
CLAIMS.md · kill conditions

§02 Le contrat

Trois règles, extraites plutôt que décrétées

Le contrat n'a été mis par écrit qu'une fois que les deux environnements ci-dessous avaient déjà déroulé sous lui, sans qu'il change, le même protocole de politiques de référence, et il tient en exactement trois règles, au motif déclaré que deux environnements ne sauraient en justifier davantage. La conformité n'est pas affaire d'intention : un fichier de tests générique déroule les mêmes assertions sur chaque environnement enregistré, si bien qu'un environnement est conforme à COIN précisément quand tests/test_contract.py passe pour lui.

R1 · typées, tarifées

Chaque action déclare sa nature et son prix. Une action est PHYSICAL (elle modifie le système : poursuivre, déclasser, réparer, remplacer) ou EPISTEMIC (elle modifie ce que l'on sait du système : inspecter, tester), et porte un prix non négatif, payé à l'exécution. Le type énonce la nature première de l'action et décide du canal de coût où s'écoule son prix ; les effets de bord dans l'autre sens sont permis plutôt qu'interdits, puisqu'une réparation qui révèle quelque chose est réaliste.

R2 · canal de coût

Le coût d'information est un canal de première classe. Chaque pas renvoie une décomposition en trois volets, physique, information et défaillance, la récompense étant définie comme l'opposé de leur somme, de sorte qu'un agent ou un banc d'évaluation peut toujours répondre à la question pour laquelle le contrat existe : quelle part du coût de cette politique a servi à réduire l'ignorance ? La règle est l'analogue délibéré, pour le prix de savoir, du canal de coût que l'apprentissage par renforcement sûr a standardisé pour la violation de contrainte.

R3 · rien de gratuit

Aucune observation gratuite non déclarée. Ce qui arrive sans paiement se range sous un champ déclaré d'observations gratuites, qui peut être vide comme il peut être riche, les deux environnements de référence couvrant à dessein ce spectre ; tout le reste doit s'acheter par une action épistémique tarifée. La vérité terrain ne figure jamais dans ce que renvoie un pas : depuis la v0.4, les politiques reçoivent un proxy AgentView qui transmet le modèle déclaré et lève une exception sur tout le reste, vue privilégiée, état caché et flux aléatoires compris, si bien que passer outre la frontière est une violation d'interface visible et testable plutôt qu'une possibilité silencieuse.

CONTRACT.md · la surface exposée à l'agent conformité : tests/test_contract.py
ActionType(name="ut_inspection", kind=EPISTEMIC, price=3.0)   # declared and priced

obs, reward, done, info = env.step(action)
info["costs"]        # {"physical": .., "information": .., "failure": ..}
reward == -(physical + information + failure)

policy.act(AgentView(env))   # declared model only
view.privileged_view()        # raises: harness-only channel

Exécuté dans le même processus, Python ne peut pas rendre la triche strictement impossible ; la frontière tenable est qu'une violation soit détectable, et des tests causaux dédiés couvrent chaque mécanisme (tests/test_causal.py, 40 tests, aucun skip). Ce que le contrat v0.1 refuse de fixer est listé avec le même soin : une grammaire d'interventions paramétrée, un registre de sources d'information à domaines de validité déclarés et des limites de sécurité érigées en objets du contrat attendent tous qu'un troisième environnement les impose.

§03 Environnements & protocole

Deux environnements, un protocole gelé

Chaque hyperparamètre de politique, calendriers d'inspection, seuils de maintenance conditionnelle (CBM), fenêtres de valeur de l'information (VoI) et seuils d'oracle confondus, a été réglé sur les seeds 1000–1299, chaque score candidat étant archivé ; le code a ensuite été gelé puis évalué une seule fois, sur les seeds 3000–3499, qu'aucun run de développement n'avait touchés. Les décomptes de défaillances sont exacts, et chaque comparaison est appariée par seed avec un intervalle de confiance à 95 %.

Les seeds 0–499 ont été brûlés pendant le développement ; les seeds 2000–2499 portaient les chiffres publiés de la v0.3 et ne sont pas réutilisés. La fenêtre de décision glissante du planificateur par valeur de l'information porte, elle aussi, sa part du résultat : la grille archivée situe l'ablation à horizon complet à 156,7 par épisode sur CrackEnv contre 37,0 pour la fenêtre retenue, et à 182,1 contre 58,9 sur TurbofanEnv (results/tuning_log.json).

CrackEnv · quand rien d'utile n'est gratuit

Une fissure de fatigue cachée croît sous chargement cyclique, selon une cinétique de Paris-Erdogan à dispersion de type Virkler, et rien d'utile à son sujet ne s'observe gratuitement : l'agent paie ses inspections (visuelle, par ressuage ou par ultrasons, chacune avec sa courbe de probabilité de détection, son bruit d'estimation de taille, ses fausses alarmes et son prix) et choisit entre poursuivre, déclasser, réparer et remplacer. Là où l'information doit s'acheter, bien l'acheter vaut beaucoup, puisque la politique gloutonne par valeur de l'information termine environ 44 % moins cher que le meilleur calendrier réglé, à des décomptes de défaillances trop proches pour être départagés.

Exactement : 34,25 ± 3,28 contre 61,00 ± 2,94 en coût total, une différence appariée de +26,75 [+19,06, +34,45] ; 9 défaillances contre 7 sur 500, si bien qu'aucune affirmation de sécurité n'est faite sur cet environnement. L'avantage de coût tient dans les neuf cellules d'une grille croisant coût de défaillance et prix d'inspection, +20,0 à +59,1, chaque intervalle excluant zéro (results/sensitivity.md).

CrackEnv · politiques réglées · seeds 3000–3499 · 500 épisodes
PolitiqueCoût totalDéfaillancesInspections / ép.Δ vs VoI · IC 95 %
marche jusqu'à défaillance332.64 ± 12.24308/5000+298.39 [+275.63, +321.15]
remplacement périodique (k=20)92.96 ± 3.7012/5000+58.71 [+49.54, +67.89]
calendrier ultrasons (k=12, 4 mm)61.00 ± 2.947/5005.0+26.75 [+19.06, +34.45]
greedy VoI (w=2)34.25 ± 3.289/5006.5·
seuil oracle (19 mm)26.64 ± 0.920/5000−7.61 [−13.67, −1.54]
L'oracle lit l'état vrai par le canal privilégié du banc d'évaluation, explicitement : un point de référence réglé, jamais une borne d'optimalité.

TurbofanEnv · quand les données gratuites sont riches mais biaisées

Le second environnement inverse la prémisse, dans l'esprit de C-MAPSS, la famille de simulations de dégradation de turboréacteurs de la NASA (sources déclarées dans les mentions de tiers du dépôt) : des capteurs embarqués rapportent à chaque pas, gratuitement mais avec bruit, et partagent un biais d'installation inconnu, propre à chaque épisode, le piège classique de la pratique du pronostic et de la gestion de santé, tandis que payer restaure la vérité, par un essai de performance au sol ou une inspection boroscopique. Le même contrat s'y applique sans le moindre changement du cœur, et le résultat change de forme plutôt que de direction : à qualité de capteurs nominale, il n'y a pas de vainqueur en coût, et ce que les tests payants achètent, c'est la sécurité.

Exactement : une différence de coût CBM − VoI de −7,96 [−17,04, +1,11], l'intervalle contenant zéro et la politique aux données gratuites légèrement moins chère en moyenne ; 2 défaillances contre 9 sur 500 en faveur de la politique par valeur de l'information, à 2,6 tests payants par épisode. Payer à calendrier fixe est nettement pire que l'une comme l'autre, +22,34 [+12,50, +32,18].

TurbofanEnv · politiques réglées · seeds 3000–3499 · 500 épisodes
PolitiqueCoût totalDéfaillancesTests payants / ép.Δ vs VoI · IC 95 %
marche jusqu'à défaillance582.12 ± 14.95441/5000+518.42 [+491.78, +545.06]
révision périodique (k=20)131.28 ± 9.9054/5000+67.58 [+48.40, +86.76]
CBM capteurs gratuits (th=0.7, α=0.5)55.74 ± 4.399/5000−7.96 [−17.04, +1.11]
tests payants programmés (k=5)86.04 ± 5.2615/50012.0+22.34 [+12.50, +32.18]
greedy VoI (w=4)63.70 ± 2.512/5002.6·
seuil oracle (0.8)40.08 ± 1.210/5000−23.62 [−27.91, −19.33]
CBM (condition-based maintenance) : la maintenance conditionnelle, un seuil lissé sur les capteurs gratuits. VoI (value of information) : la planification gloutonne par valeur de l'information sur une fenêtre glissante.

§04 Croisement

Le résultat qui exigeait les deux environnements

Une fois les deux environnements placés côte à côte, la question se précise : quand l'information vaut-elle seulement d'être payée ? Le balayage de sensibilité répond par un croisement, étayé d'un intervalle en chaque point. Tant que les capteurs gratuits restent à peu près honnêtes, la politique qui s'y fie l'emporte nettement ; au biais nominal, chaque intervalle contient zéro ; et dès que le biais devient grand, la politique aux données gratuites s'effondre tandis que la politique qui paie bouge à peine, puisque ses mesures payées ne partagent pas le biais des capteurs.

Au biais σ=0,05, l'avantage des données gratuites atteint −14,9 [−23,0, −6,8] et −12,6 [−22,7, −2,6] selon le bruit ; à σ=0,10, chaque intervalle contient zéro ; à σ=0,20, la politique aux données gratuites coûte de 109 à 116 par épisode, avec 29 à 31 défaillances pour 300, contre 61 à 67 et 1 à 4 pour la politique par valeur de l'information. Les deux politiques gardent sur toute la grille leur configuration réglée au biais nominal, et la famille aux données gratuites testée est une simple règle à seuil lissé ; qu'un estimateur plus fin, doté d'un a priori de dynamique connue, puisse inférer le biais à partir de la forme des trajectoires est consigné au registre des affirmations comme un défi ouvert, non comme une possibilité réfutée.

§05 Périmètre

Ce qui n'est pas revendiqué, et ce qui reste ouvert

Le registre des affirmations énonce chaque affirmation avec le test qui la tuerait, et cette page n'en ajoute aucune. Ce que le registre laisse en creux est aussi délibéré que ce qu'il affirme.

  • Aucune nouveauté des ingrédients. La planification qui mêle actions physiques et épistémiques est le terrain d'origine de l'école POMDP de la maintenance ; la valeur de l'information remonte à Raiffa ; les observations coûteuses relèvent de la perception active ; les requêtes tarifées à un simulateur, de l'optimisation bayésienne multi-fidélité. La revendication porte sur l'interface inter-domaines et son instrumentation, et le contrat cite lui-même les deux précédents mono-domaine les plus proches : IMP-MARL pour la fatigue des structures et ChemGymRL pour la chimie.
  • Ni optimalité, ni supériorité en sécurité, ni Gymnasium. La politique gloutonne par valeur de l'information est une référence dont l'écart à l'oracle est cité, aucune affirmation de sécurité n'est faite sur CrackEnv, et le contrat exclut explicitement la compatibilité Gymnasium, un adaptateur relevant du travail futur, non d'une promesse.
  • Aucun réalisme des coûts absolus. Les prix suivent la pratique des ratios normalisés de la littérature de planification d'inspection ; les ratios sont défendus, les montants absolus ne sont pas la revendication.
  • Le sourçage des paramètres est partiel (C6). Les paramètres de fissure se tiennent dans les plages publiées pour l'aluminium 2024-T3, écarts déclarés, et les taux de fausses alarmes ne sont pas vérifiés. Côté turboréacteur, une étude de calibration face à de vraies trajectoires NASA FD001 a trouvé la dégradation réelle plate sur l'essentiel de la vie puis en accélération brutale, soit une accélération ajustée autour de 36 contre 2,0 déclarée ; l'abstraction déclarée a été délibérément conservée, puisqu'intégrer cet ajustement invaliderait chaque chiffre turboréacteur publié, et une variante calibrée, avec son propre réglage, est désignée comme travail futur.
  • Deux dettes de vérification restent ouvertes (C9, C10). Les nombres aléatoires communs sont partiels, flux séparés seulement ; et le filtre à 400 particules comme le pré-postérieur à 24 issues ne portent encore aucun contrôle de convergence, une approximation déclarée subsistant dans la branche de défaillance.

L'avenir du contrat est lui-même énoncé comme une épreuve plutôt que comme une promesse : un troisième environnement, structurellement différent, dont les candidats déclarés sont le diagnostic avionique des pannes non confirmées (« no-fault-found »), avec son ambiguïté combinatoire de défauts, et une boucle d'itération de conception dotée d'un registre d'oracles multi-fidélité, ou bien tiendra sous les trois règles, ou bien forcera le contrat à changer, et la revendication inter-domaines reste étroite tant que cette épreuve n'a pas eu lieu. Les politiques apprises sont délibérément absentes d'ici là ; les écarts à l'oracle, −7,61 [−13,67, −1,54] sur l'environnement de fissure et −23,62 [−27,91, −19,33] sur le turboréacteur, sont la distance qu'une méthode apprise aurait à combler.

§06 Conclusion

Le contrat est la contribution

Deux environnements venus de coins différents de l'ingénierie tournent sous les trois mêmes règles sans changement du cœur, et le benchmark qu'ils portent a tranché dans les deux sens, certifiant la politique par valeur de l'information là où l'information est rare et lui refusant la victoire en coût là où les données gratuites abondent. Ce que COIN propose est plus petit et plus durable que l'un ou l'autre résultat : que le prix de savoir mérite le traitement de première classe que l'apprentissage par renforcement sûr a donné au prix de nuire, parce qu'un environnement qui tarife ses observations peut poser la question qui échappe aux benchmarks plats, à savoir avec quelle justesse une politique dépense son budget de réduction d'ignorance.

La préversion est publiée telle quelle : affirmations assorties de leurs kill conditions, seeds brûlés et déclarés, défauts ouverts là où ils le sont. Le troisième environnement décidera si le contrat généralise.

Provenance · ce sur quoi repose chaque affirmation

Benchmark CrackEnv (34,25 ± 3,28 · 61,00 ± 2,94 · +26,75 [+19,06, +34,45] · défaillances 9 vs 7 sur 500) README.md · results/raw/
Benchmark TurbofanEnv (63,70 ± 2,51 · 55,74 ± 4,39 · −7,96 [−17,04, +1,11] · défaillances 2 vs 9 sur 500) README.md · results/raw/
Grille du croisement, neuf cellules à IC appariés, et l'effondrement à σ=0,20 (29–31 défaillances/300) results/sensitivity_turbofan.md
Robustesse de CrackEnv sur la grille de prix (+20,0 à +59,1, neuf IC sur neuf excluant zéro) results/sensitivity.md
Grilles de réglage, chaque candidat archivé, et l'ablation de fenêtre (156,7 vs 37,0 · 182,1 vs 58,9) results/tuning_log.json
Règles du contrat, chronologie du pas et frontière AgentView CONTRACT.md · tests/test_contract.py · tests/test_causal.py
Affirmations, kill conditions et points ouverts C6 / C9 / C10 CLAIMS.md
Calibration turboréacteur face à NASA FD001 (ACCEL ajusté ≈ 36 [31, 43] vs 2,0 déclaré) calibration/REPORT.md
Source complète, environnements, politiques de référence et journaux de runs (public · Apache-2.0 · CITATION.cff) github.com/PI-Project-AI/coin-envs

Les chiffres sont cités tels qu'ils figurent dans le dépôt à la v0.4, dont l'évaluation finale a tourné une seule fois sur les seeds 3000–3499, plutôt que recalculés pour cette page ; le dépôt est public et son README liste les commandes qui régénèrent chacun des nombres ci-dessus. Il s'agit d'une préversion de recherche active : c'est le registre des affirmations du dépôt, non cette page, qui fait autorité sur le périmètre.