Repository navigation
feat(gametheory,#12204): SC-06 Mobius — agrégation, pouvoir et manipulation (op 14, 2e attestation) - #16378
Conversation
…ation (op 14, 2e attestation) Nouveau notebook SocialChoice-06 : inversion de Mobius sur le treillis des coalitions (miroir Python de Mobius.mobiusCoeff / mobiusReconstruction, Shapley.lean), reconstruction verifiee sur [6;4,3,2,1], Shapley par dividendes ET par enumeration des ordres (2 voies, ecart 5.55e-17), Banzhaf, dummy du Luxembourg 1958, temoin Gibbard-Satterthwaite sur Borda pondere. 3 exercices + 1 question, stubs C.1, outputs reellement executes (papermill python3). README serie : ligne SC-06, duree 4h35, parcours 6 angles. Ledger audit-froid : op 14 -> 2 attestations, Gain 3. See #12204 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
✅ No prose/output mismatch detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM (vérifié: maths re-dérivées par script indépendant + témoin Borda recalculé à la main + artefact inspecté)
[NanoClaw] structural review (notebook + README + ledger lus via API contents au head, diff jamais fetché en bloc).
Vérifié firsthand — maths re-dérivées indépendamment (script from-scratch, aucune réutilisation du code de la PR) :
- Dividendes de Harsanyi du jeu [6;4,3,2,1] : mon calcul (récursion exacte sur sous-masques propres) donne exactement les non-nuls du body : {1,2}:+1, {1,3}:+1, {2,3,4}:+1, {1,2,3}:−1, N:−1 — et la table committée (cell 3) porte les mêmes valeurs.
- Shapley double voie : via dividendes m(T)/|T| ET via énumération des 24 ordres, je retrouve (10,6,6,2)/24 = (0.4167, 0.25, 0.25, 0.0833), somme = 1 — la sortie committée affiche les deux voies d'accord. Le partage égal m(T)/|T| (Harsanyi) est bien le bon pont — la correction en cours de route du body (formule factorielle fausse attrapée par l'anti-faux-zéro, violait l'efficience) est documentée et juste.
- Banzhaf swings (5,3,3,1) recomptés coalition par coalition ; P4 balancier dans {2,3,4} UNIQUEMENT ✓ ; la « coïncidence remarquable » Shapley == Banzhaf normalisé est vraie sur ce jeu (5/12, 3/12, 3/12, 1/12) ✓.
- Témoin Borda pondéré recalculé à la main depuis le profil committé (V1 w4 [B,A,C], V2 w3 [A,C,B], V3 w2 [C,B,A], V4 w1 [C,A,B], échelle 2/1/0) : sincere A=11 > B=10 > C=9 exact (total 30 = 3×poids total, cohérent), et le flip insincère V3→[B,C,A] donne B=12 gagnant — le claim de l'exercice 3 est arithmétiquement exact.
Artefact : 18 cellules, 6 code, exec 1-6, 0 output d'erreur ; les 4 stubs (Ex1 [8;5,4,3,2,1], Q1 décomposition par taille, Ex2 dummy Luxembourg 1958, Ex3 manipulation) suivent le pattern print("… a completer") + TODO etudiant ; secrets : 0.
Accompagnement : diff README inspecté hunk par hunk — aucune ligne du bloc CATALOG-STATUS (l.3-8) n'est touchée (claim byte-identical vérifié) ; le drift déclaré (table 9 notebooks vs pedagogical_count: 8) est exact et honnêtement signalé comme resync pipeline. Ledger : op 14 → 2 attestations, promotion TABLE, §Gain 3 présent ✓.
Limites : papermill non re-jouable ici (pas de Python au conteneur) — les exec_counts et outputs lus sont ceux committés ; l'unicité de la manipulation profitable de V3 (vs autres bulletins insincères) est affirmée par le script de vérification de l'auteur, pas re-énumérée par moi (les 5 autres bulletins V3 donneraient A ou C gagnants ou B<12 sauf preuve du contraire — confiance moyenne, non bloquante pour un énoncé d'exercice).
Path-collision (organ #13359/#13615)Cette PR #16378 (
|
Grain: DEEP/notebook-python — lane myia-po-2026:CoursIA-2 — prev: DEEP/notebook-lean #16356
Substance
Nouveau notebook SocialChoice-06 — Möbius sur le treillis des coalitions : agrégation, pouvoir et manipulation (
MyIA.AI.Notebooks/GameTheory/SocialChoice/06-Mobius-Aggregation-Pouvoir-Manipulation.ipynb, 18 cellules, 6 code). Deuxième attestation de l'opération 14 « Agréger un collectif » de l'EPIC #12204 : la loi (inversion de Möbius / dividendes de Harsanyi) était attestée une seule fois en Lean-formel ; ce notebook l'atteste sur un substrat indépendant — Python exécuté, pattern « Gain 1 » de l'op 9.Loi :
mobius_coeff/mobius_reconstruct= miroirs Python exacts deMobius.mobiusCoeff/Mobius.mobiusReconstruction(Shapley.lean:614-634, sorry-free). Reconstruction vérifiée par exécution sur les 16 coalitions de[6;4,3,2,1](le re-test[8;5,4,3,2,1]est posé en exercice étudiant, non exécuté).Pont Shapley : valeur de Shapley calculée deux fois par des voies indépendantes — via les dividendes (partage égal m(T)/|T|, miroir de
phi_weightedUnanimity+shapley_uniqueness, Shapley.lean:870/996) et par énumération des 24 ordres d'entrée — écart mesuré 5.55e-17. Indice de Banzhaf en regard.Témoin : Gibbard-Satterthwaite sur un Borda à électeurs pondérés (le jeu
[6;4,3,2,1]devient un électorat) — profil sincere A=11 > B=10 > C=9, l'exercice 3 fait chercher le bulletin insincere profitable de V3 (unique : [B,C,A] → B=12).Preuves d'exécution (H.1)
Loi de reconstruction ... sur les 16 coalitions : True; dividendes {1,2}:+1, {1,3}:+1, {2,3,4}:+1, {1,2,3}:−1, N:−1.Somme des valeurs de Shapley = 1.0 | v(N) = 1(efficience, assert).Scores Borda ponderes sous vote sincere : {'A': 11, 'B': 10, 'C': 9}.grep -nE "raise NotImplementedError|assert False|1/0"→ 0 hit ; les 4 stubs (Ex1, Q1, Ex2, Ex3-énumération) suivent le patternprint("... a completer")+result = None # TODO etudiantavec Indice/Attendu.Vérification des claims mathématiques (mesurée avant livraison)
Chaque claim du notebook (prose comprise) a été re-vérifié par un script indépendant : roundtrip 16+32 coalitions, table des dividendes, Shapley double-voie, Banzhaf, décomposition de m(N) par taille (2/4/1 → −1 ; 2/8/5/1 → +2), dummy Luxembourg (0 swing, parité : {4,4,4,2,2} ne produit que des sommes paires, 11 impossible), Belgique 6 swings, témoin Borda (BCA unique manipulation profitable), P4 swing unique {2,3,4}, et la « coïncidence remarquable » Shapley == Banzhaf normalisé sur ce jeu (vrai, mesuré). Correction en cours de route : la formule factorielle (|T|−1)!(n−|T|)!/n! pour φ via dividendes est fausse — le théorème de Harsanyi est le partage égal m(T)/|T| (confirmé contre
phi_weightedUnanimity, Shapley.lean:870-920) ; c'est l'anti-faux-zéro qui l'a attrapée (la formule factorielle donnait −1/6 à chaque joueur et violait l'efficience).Accompagnement
CATALOG-STATUSbyte-identique à main (vérifié : 0 ligne du diff le touche).docs/ledgers/12204-ict-chantier-1-audit-froid.md: op 14 → 2 attestations, promotion « en constitution » → TABLE, nouveau §Gain 3 (même pattern que l'op 9).pedagogical_count: 8dans le bloc CATALOG-STATUS — le bloc appartient à l'automatisation, la resynchronisation se fera par le pipeline catalogue.See #12204(EPIC : l'op 14 atteint son critère d'admission, l'EPIC reste ouverte pour les autres opérations).🤖 Generated with Claude Code