Repository navigation
feat(notebooks,#10479): GameTheory-05 C# twin — 6 lectures ancrées aux sorties (890→1217) - #14043
Conversation
…x sorties (890→1217) Densité d'interprétation de GameTheory-05-ZeroSum-Minimax-Csharp.ipynb : ajout de 6 cellules markdown « Lecture du résultat » qui lisent les valeurs committées (maximin/minimax en pur avec gap 2,0 ; point-selle valeur 5 en (R2,C2) ; cross-validation 3 moteurs à 1e-12 ; stratégie mixte uniforme [0,5]/[1/3] ; valeur 5/7 et croisement p=4/7 du balayage ; dualité forte v=w). Enrichissement markdown-only : 15/15 cellules code byte-identiques à origin/main. Le twin Python porte déjà ces interprétations (cellules 6/10/14/20) — cette PR aligne le côté C# sur la même couverture, sans duplication. See #10479 (densité), #8057 (twin parity).
Bash Syntax Advisory — shebang / executable-bit warningsSee the |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
jsboige
left a comment
There was a problem hiding this comment.
[Hermes] — #14043 feat(notebooks,#10479): GameTheory-05 C# twin — 6 lectures ancrées aux sorties (890→1217)
Verdict: COMMENT (LGTM) — notebook réellement exécuté, valeurs ancrées cohérentes.
Vérification notebook (fichier au head SHA ba6f08c) :
- Exécution réelle : 15 cellules code,
execution_count= 1..15, zéronull→ le notebook a été genuinely exécuté, pas de outputs statiques. - Valeurs ancrées vérifiées dans les outputs : le jeu asymétrique 2×2 (cell. 8) sort
v = 0.71428571(= 5/7, la claim du body) ; Matching Pennies / Pierre-Feuille-Ciseaux sortentv = 0.00000000. Les valeurs annoncées dans les 6 cellules « Lecture » s'appuient sur des chiffres réellement présents dans les outputs. - Comptage cellules : 38 total (23 markdown + 15 code), 6 cellules « Lecture » présentes → cohérent avec « 32→38 cellules, 6 insertions ».
- Markdown-only : le diff ne montre aucune re-exécution (pas de
"execution_count"ajoutés), uniquement des cellules markdown. La claim « code byte-identique (15/15 cellules inchangées) » est cohérente avec le diff observé. - Pair YAML
gametheory-5-zerosum-minimax.yaml: pariténative-both,bridge_verdict: SOTA-OK, historique d'audits SOTA propriétés. La justification du drift unilatéral (le jumeau Python porte déjà les interprétations) est bien argumentée.
Seul point résiduel (déjà signalé par l'auteur) : consecutive-code-cells max=2 est préexistant (mesuré identique sur origin/main), non causé par cette PR — correctement relevé, non traité (hors scope, règle « signaler, pas toucher »). Aucun credential dans le diff (notebook + YAML, enrichissement markdown).
Aucune préoccupation actionnable. La PR ajoute une vraie valeur pédagogique ancrée aux chiffres calculés, sans altérer le code ni les outputs.
Grain: MED/notebook-dotnet — lane myia-po-2027:CoursIA — prev: MED/notebook-dotnet #14037 (substance distincte : GameTheory-05 équilibre de jeu à somme nulle, et non Search/LocalSearch)
Sujet
GameTheory-05-ZeroSum-Minimax-Csharp.ipynbsortait à 890 c/cell (seuil 1200). Ajout de 6 cellules markdown « Lecture du résultat », chacune ancrée aux valeurs d'équilibre committées du notebook. Les intros de section pré-énoncent les concepts (théorème minimax, point-selle, dualité LP) mais ne lisent pas les chiffres calculés — c'est l'écart que ces insertions comblent :min(pire)=min(3p−1, 3−4p), pic p=4/7≈0,5714 (croisement), d'où v=5/7 ; le pas de 0,1 n'échantillonne que des points (0,60), la valeur exacte vient du croisement analytiquegain de Row ≥ vest vrai (0 / 0,7143), Row neutralise simultanément toutes les actions de ColValidation
outputs+execution_count+metadatacomparés en octets contreorigin/main, viagit showcapturé en bytes — pastext=True, qui décode cp1252 et produit un faux mojibake é→é sur les chaînes accentuées des cellules 6/7). Enrichissement markdown-only, exempt de re-exécution (C.2/C.3 exception modifs uniquement markdown) ; le pre-commit H.3 est passé (les cellules code conserventexecution_count+outputs).pedagogy_density.py890 → 1217 c/cell (seuil 1200 atteint) ;Judged vs floor: 0 below; 32 → 38 cellules ; 6 insertions, 0 deletions.detect_markdown_rendering.py0 violation ·detect_code_in_markdown_cells.py0 nouveau vs baseline (2) ·scan_cell_ordering.py0 finding ·check_interp_positioning.py0 finding.consecutive-code-cells(PRÉEXISTANT) :max=2 runs=2— mesuré identique sur origin/main (fichier témoin/tmp/gt05_base.ipynb), donc non causé par cette PR (les insertions n'ajoutent que des cellules markdown entre cellules code, elles ne peuvent pas créer de run). Relevé, non traité (hors scope — règle 3 : signaler, pas toucher).GameTheory-5 ZeroSum-Minimax(native-both), enrichissement markdown-only côté C# uniquement + rebaseline--update --pair "GameTheory-5 ZeroSum-Minimax" --by "myia-po-2027:CoursIA"(après commit, attestation lue sur les blobs HEAD) etknown_differencedocumenté. Justification du drift unilatéral : le jumeau PythonGameTheory-05-ZeroSum-Minimax.ipynbporte déjà les interprétations équivalentes (cellules 6/10/14/20 — absence de point-selle, résolution LP, visualisation du théorème, stratégie de Col Blotto) ; cette PR aligne le côté C# sur la couverture déjà présente chez son jumeau — elle résorbe un écart, n'en crée pas. Parité lib-vs-lib native-both non affectée (cellules de calcul Tranche 1/2/3 inchangées) ; la paire sort àOK(SHA rebaseliné, 6 known_differences).