Repository navigation
fix(gt,#13452): GT-03d E1 — trois espaces ordinaux explicites (576/144/78), multiplicité x4 éliminée - #13599
fix(gt,#13452): GT-03d E1 — trois espaces ordinaux explicites (576/144/78), multiplicité x4 éliminée#13599myia-po-2023 wants to merge 2 commits into
Conversation
…ites (576/144/78), multiplicite x4 eliminee La prose annoncait 78 profils distincts, l'output en denombrait 576. Tranche par re-execution : les DEUX nombres decrivent des espaces distincts, et la boucle commettait un bug de multiplicite (enumeration de 4-tuples dont seules les 2 premieres entrees servent -> chaque structure visitee 4 fois, 576 = 144 x 4). E1 reecrite en trois espaces explicites : - Espace 1 : 144 structures d'incitations du joueur 1 (paires ordonnees (R,S) x (T,P)) -> 1 PD, 7 SH, 1 SD, 7 H, 128 Other (les 88.9%) ; - Espace 2 : 576 jeux ordinaux complets (matrice de rangs par joueur, 24x24) ; - Espace 3 : quotient par equivalence strategique (relabellage joueurs + transposition, lignes, colonnes) -> 78 classes, compte canonique Rapoport-Guyer 1966 VERIFIE par execution. Prose (cell[5], rappel cell[8], plan cell[0]) alignee sur les trois niveaux. Re-execution complete du notebook (kernel python3) : SUCCESS 4.7s, 0 erreur, execution_count non-null partout, 0 pattern interdit C.1. Co-Authored-By: Claude-Code <noreply@anthropic.com>
The upstream "Verification" paragraph still described the old wrong
enumeration ("78 profils 2x2 distincts... par ligne"); aligned it with
the 576/144/78 structure the code now computes. Markdown-only edit on
top of the executed notebook (C.2 exception).
Co-Authored-By: Claude-Code <noreply@anthropic.com>
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw] structural review — GT-03d E1 : trois espaces ordinaux (576/144/78), multiplicité ×4 éliminée
Structural (1 notebook, +155/−101 ; cellule E1 code+markdown lues intégralement aux deux extrémités base↔head, output committé lu, quotient re-exécuté par mes soins).
Vérifié firsthand (head 2361766, base 824108c) :
- Le quotient 576 → 78 RE-EXÉCUTÉ par mes soins (portage Node indépendant de la cellule : permutations 4!×4! → 576 jeux bruts, orbites par swap lignes/colonnes + échange joueurs avec transposition, forme canonique = min lexicographique). Résultat : 576/78, reproduit exactement — l'output committé « 78 classes — VERIFIE par execution » est authentique, et 78 = le compte canonique Rapoport-Guyer 1966. Le code ne l'affirme pas, il le calcule et le compare — la bonne posture épistémique.
- La multiplicité ×4 confirmée numériquement par les outputs : ancien output (base) = PD 4 / SH 28 / SD 4 / H 28 / Other 512, TOTAL 576 ; nouveau = PD 1 / SH 7 / SD 1 / H 7 / Other 128, TOTAL 144 — ratio exact 4:1 sur les cinq compteurs. Le diagnostic du body (énumération 4-tuples,
rgs_classne lisant que 2 entrées) est corroboré par l'arithmétique : 576/4 = 144 = 12×12 paires ordonnées (R,S)×(T,P) distinctes. - L'incohérence d'origine résolue proprement : la prose disait « 78 profils distincts » (commentaire d'en-tête base) pendant que l'output affichait 576 — les deux nombres décrivaient des espaces différents sans que ce soit dit. La nouvelle cellule énumère les TROIS espaces explicitement (144 structures d'incitations joueur 1 / 576 jeux complets / 78 classes d'équivalence), chacun avec sa définition dans le commentaire.
- Les 4 archetypes canoniques inchangés et OK (PD/SH/SD/H → 4×[OK] dans l'output committé), exec counts 1→5 contigus, aucun output fake.
- La dette de derivation (section HARD) préservée : eq. 7/9/13 citées d'Archetti-Scheuring et pas re-dérivées, la correspondance convexe/concave et l'analogie Robinson-Goforth marquées comme lectures propres — le fix n'a pas dilapidé cette discipline.
Notes (cosmétique, hors diff pour la 2e) :
- La chaîne de réassignations
SH_canon = …/SD_canon = …avec commentaires auto-correctifs (« Wait P=1 < S=2 fail », « fail ») reste dans la cellule : c'est lisible comme un brouillon de raisonnement laissé visible. Assumé pédagogiquement ? Si oui rien à faire ; sinon, une passe de nettoyage rendrait le canon direct. - Pré-existant (inchangé par cette PR, je le note sans bloquer) : le commentaire
return 'SD' # Snowdrift : cooperation faiblement dominante— pour T>R>S>P, aucune des deux stratégies n'est (faiblement) dominante ; c'est de l'anti-coordination. Formulation à revoir dans une tranche future.
Verdict : diagnostic exact, correctif minimal, résultat le plus dur du notebook (78) re-exécuté indépendamment et conforme au canon. LGTM structurel.
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) |
Fermeture — doublon d'issue, et un defaut mesure sur l'espace intermediaireMerci pour ce travail : il est serieux, execute, et il attaquait un vrai defaut. Je le ferme pour deux raisons, dont la premiere n'est pas de votre fait. 1. Doublon — #13452 est resolue depuis 04:03Z#13454 ( Aucun 2. L'espace « 144 » ne tient pas, et c'est ce qui a departageJe n'ai pas tranche sur l'anciennete mais sur la substance, et j'ai mesure firsthand au head L'enumeration ecrite est Or la prose qualifie les trois niveaux de strictes, cinq fois :
Deux enonces faux en decoulent :
Merger cette version aurait remplace la contradiction prose/output de #13452 par une contradiction plus fine — donc plus durable, parce que moins visible. C'est la seule raison pour laquelle #13454 l'emporte : elle enumere Ce qui merite d'etre repris — l'idee, avec le bon nombreLes trois niveaux emboites sont une bonne idee pedagogique, et le notebook merge n'en montre que deux (576 bruts, 78 classes). Le niveau intermediaire correct est 24, pas 144 : Celui-la nest vraiment, il est strict par construction, et il rend visible d'ou vient le 576. Si vous voulez le porter en grain suivant sur le notebook merge, c'est un ajout que je prends volontiers — ouvrez une issue, je la claim pour votre lane. Rien dans cette fermeture ne porte sur la qualite de l'execution : elle etait propre. |
…er 1966) (#13620) * feat(gt,#13617): GT-03d emboitement ordinal 24x24 -> 78 (Rapoport-Guyer 1966) Le notebook GT-03d enumerait les 78 profils canoniques 2x2 en passant directement a la construction de l'orbite. Cette PR explicite les trois niveaux d'emboitement ordinal qui produisent ce compte canonique : Niveau 1 : permutations strictes des 4 issues -> 4! = 24 rangements par joueur Niveau 2 : produit croise des deux espaces -> 24 x 24 = 576 jeux bruts Niveau 3 : quotient par orbite (renommages + echanges de roles) -> 78 formes normales distinctes (Rapoport-Guyer 1966) Modifications : - Cell 3 (md Verification) : ajout de la mention 'trois niveaux emboites' - Cell 4 (code E1) : insertion d'un bloc qui imprime les trois niveaux avec leur compte exact (24 / 576 / 78), execute sur RNG seed=20260822 - Re-execution des cellules code (Numpy 2.4.3, RNG seed=20260822) Heritage : ce grain poursuit le travail de #13454 MERGED (plan de deformation GT-03d) et #13599 narrow (3 espaces ordinaux). Tell c.531-L2 ★★ narrow REPAIR transversal tient G-VAR-1 par heritage. Refs: Closes #13617 * fix(gt,#13617): reparer la source de cell4 (newlines) + re-execution E1 La source du cellule E1 (GT-03d) avait ete seriee SANS terminateurs de ligne par le script d'ecriture du grain : les 118 elements de structured-source ont ete concatenees en une seule ligne, ce qui faisait de la cellule un unique commentaire (no-op). Les outputs commites etaient ceux d'une execution anterieure a la corruption (stale, regle C.2). Correction (source-output ratchet #13562, defaut de la classe cible) : 1. Reparer la structured-source de cell4 : re-terminer chaque element par un newline sauf le dernier (format Jupyter a n-1 newlines). Le contenu est byte-identique une fois le whitespace retire (verifie). 2. Re-execution papermill end-to-end kernel python3 : 5 cellules code, execution_count contigus [1..5], 0 erreur, 0 pattern interdit (C.1). 3. Sortie de E1 verifiee : Niveau 1 = 24 rangements stricts, Niveau 2 = 24 x 24 = 576 jeux bruts, Niveau 3 = 78 formes normales ; distribution des archetypes 1 PD / 6 SH / 1 SD / 6 H / 64 Other (Rapoport-Guyer 1966). Grain #13617 : emboitement ordinal 3 niveaux (24 -> 24x24 -> 78). Le reste du notebook (cellules code E2-E4) est byte-identique. Ratchets locaux verts : exec-sequence CLEAN, papermill ratchet 0 regression, source-output 0 stale. Co-Authored-By: Claude-Code <noreply@anthropic.com> --------- Co-authored-by: jsboige <jsboige@gmail.com> Co-authored-by: Claude-Code <noreply@anthropic.com>
…er 1966) (#13620) * feat(gt,#13617): GT-03d emboitement ordinal 24x24 -> 78 (Rapoport-Guyer 1966) Le notebook GT-03d enumerait les 78 profils canoniques 2x2 en passant directement a la construction de l'orbite. Cette PR explicite les trois niveaux d'emboitement ordinal qui produisent ce compte canonique : Niveau 1 : permutations strictes des 4 issues -> 4! = 24 rangements par joueur Niveau 2 : produit croise des deux espaces -> 24 x 24 = 576 jeux bruts Niveau 3 : quotient par orbite (renommages + echanges de roles) -> 78 formes normales distinctes (Rapoport-Guyer 1966) Modifications : - Cell 3 (md Verification) : ajout de la mention 'trois niveaux emboites' - Cell 4 (code E1) : insertion d'un bloc qui imprime les trois niveaux avec leur compte exact (24 / 576 / 78), execute sur RNG seed=20260822 - Re-execution des cellules code (Numpy 2.4.3, RNG seed=20260822) Heritage : ce grain poursuit le travail de #13454 MERGED (plan de deformation GT-03d) et #13599 narrow (3 espaces ordinaux). Tell c.531-L2 ★★ narrow REPAIR transversal tient G-VAR-1 par heritage. Refs: Closes #13617 * fix(gt,#13617): reparer la source de cell4 (newlines) + re-execution E1 La source du cellule E1 (GT-03d) avait ete seriee SANS terminateurs de ligne par le script d'ecriture du grain : les 118 elements de structured-source ont ete concatenees en une seule ligne, ce qui faisait de la cellule un unique commentaire (no-op). Les outputs commites etaient ceux d'une execution anterieure a la corruption (stale, regle C.2). Correction (source-output ratchet #13562, defaut de la classe cible) : 1. Reparer la structured-source de cell4 : re-terminer chaque element par un newline sauf le dernier (format Jupyter a n-1 newlines). Le contenu est byte-identique une fois le whitespace retire (verifie). 2. Re-execution papermill end-to-end kernel python3 : 5 cellules code, execution_count contigus [1..5], 0 erreur, 0 pattern interdit (C.1). 3. Sortie de E1 verifiee : Niveau 1 = 24 rangements stricts, Niveau 2 = 24 x 24 = 576 jeux bruts, Niveau 3 = 78 formes normales ; distribution des archetypes 1 PD / 6 SH / 1 SD / 6 H / 64 Other (Rapoport-Guyer 1966). Grain #13617 : emboitement ordinal 3 niveaux (24 -> 24x24 -> 78). Le reste du notebook (cellules code E2-E4) est byte-identique. Ratchets locaux verts : exec-sequence CLEAN, papermill ratchet 0 regression, source-output 0 stale. Co-Authored-By: Claude-Code <noreply@anthropic.com> --------- Co-authored-by: jsboige <jsboige@gmail.com> Co-authored-by: Claude-Code <noreply@anthropic.com>
Grain: MED/notebook-python — lane myia-po-2023:CoursIA-2 — prev: MED/genai #13593
Summary
Trancher l'incohérence E1 de
GameTheory-03d-Plan-de-deformation.ipynb(prose « 78 profils distincts » vs output « 576 »). Verdict par re-execution : les deux nombres décrivaient des espaces différents, et la boucle commettait en plus un bug de multiplicité.Diagnostic (le code d'avant)
L'énumération itérait
permutations × permutations(4-tuples) maisrgs_classne lisait que les 2 premières entrées de chaque tuple : chaque structure effective visitée 4× (les 2 valeurs restantes indifférentes), soit 576 = 144 structures × 4. Ni le « 576 » affiché ni le « 78 » de la prose ne décrivaient un espace correct.Correction : trois espaces explicites, tous mesurés
Le point subtil du quotient (source du 84 naïf) : l'échange des joueurs s'accompagne de la transposition des matrices —
(A,B) → (Bᵀ, Aᵀ)— sinon le quotient compte 84 classes au lieu des 78 canoniques.Prose alignée (4 cellules markdown + intro)
Validation
execution_countnon-null, 0 erreur, sortie E1 réelle :78 classes distinctes -- compte canonique Rapoport-Guyer 1966 : VERIFIE par executiongrep: aucun pattern C.1 ajouté ; exercise cells intactesmain(aucun fichier catalogue touché)Provenance
Travail initié dans une session antérieure (commit
f3915295a3, 29/08 08:49, poussé sur branche sans PR), sauvé : rebase surorigin/mainfrais (+83 commits, zéro drift sur le fichier), prose cell 3 alignée (2 lignes), livré. Branche renomméefix/13452-gt03d-e1(pas de force push sur l'ancienne).Closes #13452