1. On voulait seulement frapper face, un laboratoire est apparu
Le but initial était banal : trouver le deck le plus fort du moment. Rassembler des listes publiques, figer les règles, laisser des CPU jouer des dizaines de milliers de parties et lire le classement.
Première leçon : exécuter correctement les règles n'est pas jouer correctement. Set 8 a été figé avec 826 cartes, un commit moteur, un hash d'environnement, des decks légaux et des seeds. Le baseline historique de 12 480 parties avait 100% de rule coverage, 0 unsupported et 0 rule gap, mais l'IA brute donnait Sword ~79,8%, Forest 63,7%, Dragon 60,9%, Rune 25,6%.
Répéter une erreur dix mille fois ne la transforme pas en vérité ; on obtient simplement une erreur industrielle.
2. Les conseils humains ont affaibli le bot
human-prior-v1 ajoutait des idées normales : conserver les ressources importantes, respecter le setup, protéger les conditions de victoire et les évolutions. L'A/B exact utilisait 2 016 unités appariées et 4 032 engine games. Baseline 50,99%; human-prior-v1 49,36%; delta -1,64pt.
Le bot écoute les humains et devient plus faible.
Le conseil humain est conditionnel. « Garde cette carte » devient faux si tu meurs maintenant. Un poids fixe conserve la phrase et tue le contexte.
3. Adaptive v2 améliore la moyenne et détruit Witch
Adaptive v2 alterne LETHAL, SURVIVE, STABILIZE, SETUP, RESOURCE et PRESSURE, avec recherche courte et future value. Globalement +0,74pt vs v1, mais Runecraft -6,25pt, sous le leader floor preregistré de -5pt : REJECT.
T11 finit +0,30 vs v1, mais -2,38 vs reference-v5 et Abyss -16,67. REJECT encore.
La moyenne passait; une matière était en feu.
4. L'analyse causale a d'abord arrêté les chercheurs
Un vrai défaut : max_nodes=160 n'était pas relié au planner et 9 067 decisions dépassaient la limite nominale. Le corriger n'a pas amélioré les résultats globaux.
Puis un bug d'attribution actor : une intervention « loss→win » avait été normalisée du point de vue du fixed player; pour l'actor dont l'action avait changé, c'était win→loss. L'enquête avait arrêté la victime.
Actor, direction et invariants ont été réparés. La cause de performance restait libre.
5. Après 31 406 parties, « non résolu » devient une conclusion acceptable
La recherche de politique Set 8 s'est terminée avec 20 expériences et 31 406 actual engine games confirmées. Sur 439 unités discordantes : 0 cause de performance complètement expliquée, 11 partiellement, 428 unresolved.
Statut PAUSED_COMPLETE_NO_PROMOTION, active human-prior-v1, holdout final prévu de 8 064 parties non utilisé.
Le résultat principal n'était pas une super-IA, mais un système qui refuse de promouvoir une IA parce qu'un graphique pratique semble joli.
6. Puis 52 decks de marché ont joué 46 900 parties
Corpus : 52 decks, 25 archetypes, 7 leaders. Quick/broad, optimisation locale 1–3 cartes, unseen-seed ranking et traces ont donné 46 900 actual engine games.
Les 7 recommandations ont joué un round robin direct : 21 paires, 1 512 games, 72 par cellule non diagonale, 756 reference-v5, 756 human-prior-v1, 756 premier/second joueur. Coverage 100%, aucun unsupported, rule gap ou hidden-info violation.
7. Naissance du « classement débile contre débile »
| Rang | Deck | Moyenne 7×7 | Pire matchup |
|---|---|---|---|
| 1 | Buff Forest | 71,99% | Abyss 59,72% |
| 2 | Rally Sword | 65,97% | Forest 31,94% |
| 3 | Midrange Abyss | 54,17% | 40,3% |
| 4 | Artifact Portal | 54,17% | 36,1% |
| 5 | Ramp Dragon | 53,70% | Forest 25,0% |
| 6 | Evolution Haven | 31,71% | Dragon 12,5% |
| 7 | Calgidensula Witch | 18,29% | Forest 1,4% |
Les decks où « jouer fort maintenant » reste généralement bon plus tard sont faciles pour l'IA actuelle. Ceux qui paient du tempo pour acheter un futur explosif sont plus difficiles.
8. Chez les humains, Witch habite un autre univers
Dexel Rising Cup #2, 8 août 2026 : 64 équipes, 192 joueurs, 384 decks. Hand Witch est présent 116 fois, ~30,2% du field; AF/Storm Portal 52, Evolution Haven 34, Rally/Evolution Sword 29, Ramp Dragon 25.
Les humains traitaient Witch comme top meta; Calgidensula Witch finit dernier du 7×7 IA avec 18,29%. On ne peut pas supposer deux listes de 40 cartes identiques, mais l'écart humain-IA est massif.
Rally Sword est fort dans les deux mondes. Heuristique grossière : fort avec IA simple + fort avec humains experts peut indiquer une meilleure tolérance aux erreurs de décision.
9. Audit Future Optionality
24 mécaniques des 7 leaders sont auditées en RULE, STATE, VISIBILITY, IMMEDIATE VALUE, FUTURE VALUE, SEQUENCE, SEARCH, PLAN.
Sur 27 810 decisions et 118 575 root candidates, seulement 8 878 —7,49%— avaient une future value explicite. Rule/state/immediate : SUPPORTED 24/24. Sequence : MISSING 23/24. Plan : MISSING 20/24.
L'IA connaît les règles et la valeur immédiate, mais presque pas l'ordre ni les plans longs.
10. Witch : connaître Spellboost n'est pas comprendre Spellboost
Rule/state Spellboost existaient, visibility/future value étaient PARTIAL, sequence/plan MISSING. DRAW → SPELL diffère de SPELL → DRAW : la carte tirée avant peut recevoir le boost ultérieur; celle tirée après ne reçoit pas rétroactivement le boost déjà passé.
12 fixtures synthétiques : DRAW_FIRST_BETTER 4, SPELL_FIRST_BETTER 0, EQUIVALENT 8. Les 50 états réels représentatifs sont globalement STATE_DEPENDENT. Il faut donc replanifier après l'observation, pas imposer « toujours piocher d'abord ».
11. Dragon : +1 PP max achète des droits d'action futurs
Ramp peut perdre du tempo maintenant mais débloquer cartes chères, tours multi-cartes, soins, removals et finishers. 6→7 franchit aussi Awakening.
L'audit compte 12 Dragoncraft MYOPIC_REVERSAL : 6 ramp + 6 Awakening. L'immédiat préférait control, mais le diagnostic t+2 pouvait inverser le classement. Cela n'autorise pas un bonus ramp fixe.
12. Les cinq autres classes ont leurs variantes
Forest : combo thresholds, génération, bounce order. Sword : Rally 9→10, multi-summon. Abyss : Shadows, contenu du reanimate pool, HP comme ressource. Haven : Countdown et Act, où conserver l'option a de la valeur. Portal : zero-cost tokens et copy font exploser le sequence space.
EP, SEP, Extra PP et limites de main/board/leader area échangent aussi valeur présente contre options futures.
13. Nous avons donc construit un vrai planner closed-loop sur trois tours
Le planner doit faire avancer le moteur sur au moins trois future turn boundaries, pas trois actions. Il n'exécute pas non plus un script fixe : une action, observation du draw/generation/random, puis nouveau calcul trois tours depuis le nouvel état. Structure proche du Receding Horizon / MPC.
Pas de future draw order ni de vraie main adverse dévoilée; belief sampling. FutureRelevantState conserve Spellboost, Extra PP, Countdown, Act, Rally, Shadows, destroyed-follower pool. Aucun bonus fixe optionality/Witch/ramp.
14. L'implémentation réussit. Les performances s'effondrent.
Ablation : 56 actual engine games. 3 979 / 3 979 root actions évaluées, three-turn completion 100%, hidden-info violation 0. Observation replans : 81 621; plan changes : 35 821.
Mais base/widen : -37,5pt vs human-prior-v1; replan/state/robust : -25,0pt. Tous franchissent le floor -10pt. Verdict correct : REJECT_ACTIVE_UNCHANGED. Targeted, broad, market 7×7 et final holdout : NOT_RUN.
Nous avons créé une IA qui voit plus loin et se trompe avec davantage de confiance.
15. Cela ne prouve pas que trois tours suffisent
La suspicion éliminée est « l'implémentation n'atteint pas réellement trois tours ». Il reste non prouvé que trois tours soient stratégiquement suffisants. Le passage -37,5→-25,0 avec replan est un signal directionnel, pas une causalité : seulement 8 conditions par candidat.
Les 12 anciens reversals Dragon, rejoués avec le vrai search trois tours, n'ont changé vers ramp que dans 1/12 cas. L'ancien proxy n'était pas un ground truth.
Les suspects principaux deviennent le terminal/leaf evaluator et l'opponent response model.
16. Question suivante : « Tu dis que ce futur vaut -150. Depuis cet état, combien de parties sur 100 gagnent vraiment ? »
Le prochain round ne change pas immédiatement les poids. On fige les leaf states à trois tours et on décompose chaque term : raw feature→normalization→weight→contribution, notamment pour identifier les valeurs extrêmes -150.
Puis on redémarre depuis la même leaf 32–128 fois jusqu'au terminal pour obtenir un empirical win rate. Le raw score n'est pas une probabilité : calibration score→probability puis Brier score, log loss et reliability. Le ranking est testé séparément par Spearman, Kendall, same-root argmax accuracy, pairwise concordance et decision regret.
Enfin, cross-play de réponses adverses avec human-prior-v1, reference-v5 et search-based stress response. On pourra distinguer mauvais scoring, mauvais modèle adverse, mauvais scaling/weights, représentation d'état insuffisante ou horizon encore trop court.
17. Conclusion : le futur est visible, la grille de notation est suspecte
L'IA est passée de « qu'est-ce qui est fort maintenant ? » à « je simule réellement trois tours », mais nous ne pouvons pas encore faire confiance à sa manière de noter le futur observé.
Le trajet est passé par Sword 79,8%, conseils humains contre-productifs, Witch cassé, bug actor, 46 900 parties de marché, audit Future Optionality et enfin clairvoyance trois tours.
Et l'IA est devenue plus faible.
On voulait juste frapper face. Le prochain cours s'appelle Brier score et leaf-value calibration. Shadowverse est devenu un master de recherche sans prévenir.
Annexe données
- Set 8 card DB: 826
- baseline: 12 480 games
- policy research: 31 406 actual engine games
- status:
PAUSED_COMPLETE_NO_PROMOTION - active:
human-prior-v1 - market: 52 decks / 25 archetypes / 7 leaders
- market analysis: 46 900 games
- direct 7×7: 1 512 games
- optionality: 27 810 decisions / 118 575 candidates / 7,49%
- sequence MISSING 23/24; plan MISSING 20/24
- Dragon reversals: 12 = ramp 6 + Awakening 6
- RH3 Ablation: 56 games
- root coverage 3 979/3 979; completion 100%
- replans 81 621; plan changes 35 821
- verdict:
REJECT_ACTIVE_UNCHANGED - final holdout:
NOT_RUN
Références
- Shadowverse: Worlds Beyond official Deck Portal
- Dexel Rising Cup #2
- Silver & Veness (2010), POMCP
- Cowling, Powley & Whitehouse (2012), ISMCTS
- Model Predictive Control / Receding Horizon Control
- Brier score, reliability et validation clusterisée


