From 990e9bbfabe83f45107af706f42ed4bd03c89939 Mon Sep 17 00:00:00 2001 From: Jean-Sylvain Boige Date: Sun, 20 Sep 2026 22:53:59 +0200 Subject: [PATCH 1/8] fix(density,#17040): ICT-32 StratificationCausaleLife -- 5 cellules 'Protocole' supprimees Les 5 cellules '**Protocole de mesure/lecture**' ajoutees par #16458 doublonnaient les 'Lecture du resultat' preexistantes des memes sorties code. Supprimees pour respecter la regle 'une sortie = AU PLUS UNE lecture' (densite /13410). Md-only : 0 cellule code touchee, 0 output edite, 0 execution_count modifie. Co-Authored-By: Claude Haiku 4.5 (1M context) --- .../ICT-32-StratificationCausaleLife.ipynb | 35 ------------------- 1 file changed, 35 deletions(-) diff --git a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-32-StratificationCausaleLife.ipynb b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-32-StratificationCausaleLife.ipynb index 11e343f177..7484e12768 100644 --- a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-32-StratificationCausaleLife.ipynb +++ b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-32-StratificationCausaleLife.ipynb @@ -72,13 +72,6 @@ "Rappel des primitives (Hoel) : le **déterminisme** mesure à quel point chaque état-cause détermine son effet ; la **dégénérescence** mesure la concentration des effets (plusieurs causes vers le même effet) ; l'**effectiveness** normalisée est leur différence, et l'**information effective** `EI = effectiveness × log2(n)`." ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Protocole de mesure — lire un profil causal.** Le bloc enchaime trois appels dont il faut fixer le role avant de lire la sortie : `trajectory(embed(canonical_pattern(\"glider\"), 16), 64)` construit le film du glider sur le tore 16x16 (64 pas, cycle ferme) ; `cycle_tpm_from_trajectory` encode ce film en TPM, avec un seul 1 par ligne et par colonne ; `causal_profile` calcule le quadruplet determinisme, degenerescence, effectiveness, EI. A la lecture, une deuxieme ligne s'ajoute a la sortie — l'EI theorique d'un cycle de 64 — qu'il faudra confronter a celle du profil. L'arithmetique du rappel suffit pour predire un cycle pur : determinisme 1.000, degenerescence 0.000, effectiveness 1.000, EI = log2(64) = 6.000 bits. C'est l'etalon du bloc : la partition par phase et l'apportionnement glouton s'y compareront pour dire ce qui change a chaque echelle et ce qui se conserve.\n" - ] - }, { "cell_type": "code", "execution_count": 2, @@ -233,13 +226,6 @@ "Commençons petit : le tore 2×2 et ses 16 graines." ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Protocole de mesure — rendre la perte mesurable.** `torus_ensemble_tpm(2)` joue la regle B3/S23 sur chaque grille du tore 2x2 et regroupe les transitions dans une TPM de 16 lignes : deux graines qui aboutissent au meme successeur partagent la meme colonne d'avenir. La sortie compte ce phenomene d'abord (successeurs distincts, collisions), puis donne le quadruplet du profil. L'etalon est le plafond sans perte : effectiveness 1.000 et EI = log2(16) = 4.000 bits ; l'ecart affiche entre ce plafond et l'EI mesure la quantite exacte d'information que la regle ne projette pas, dans la continuite du titre de la section. Enfin `fate_strata` relit la TPM pour grouper les graines par destin commun, et la sortie des tailles de strates prepare les deux partitions a dessiner a la section suivante.\n" - ] - }, { "cell_type": "code", "execution_count": 5, @@ -360,13 +346,6 @@ "- **la partition par population** : grouper par nombre de cellules vivantes — une observable macro naturelle… mais qui ne suit pas la règle." ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Protocole de lecture — trois lignes, quatre colonnes.** Le tableau applique `partition_profile` trois fois sur le meme objet : micro (les 16 etats de la TPM), destin (les strates de `fate_strata`), population (les strates de `live_count_strata`, qui groupe les grilles par nombre de cellules vivantes). Chaque ligne porte quatre nombres — determinisme, degenerescence, effectiveness, EI — et la lecture a une regle d'ordre : le determinisme se lit en premier (celui du destin est un invariant de construction, chaque strate pointe vers un successeur unique, il ne peut etre que 1.000) ; la degenerescence ensuite, c'est elle que le destin dissout ; l'effectiveness resume les deux et porte le verdict ; l'EI enfin traduit le jugement en bits, effectiveness multipliee par la taille de l'espace reduit. Le point a arbitrer en regardant la sortie : les deux partitions dessinees ne se distinguent-elles que par la degenerescence, ou le prix du regroupement touche-t-il aussi le determinisme ?\n" - ] - }, { "cell_type": "code", "execution_count": 7, @@ -427,13 +406,6 @@ "Les strates de destin, nous les avons dessinées — mais le glouton de `greedy_apportionment` n'en sait rien : il fusionne paire par paire en maximisant l'effectiveness à chaque pas. S'il aboutit de lui-même à la partition gagnante, la stratification n'est pas un artefact de notre dessin." ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Protocole de lecture — suivre le chemin de fusions.** `greedy_apportionment(tpm2)` part du micro et ne garde une fusion que lorsque son delta est positif : la sortie aligne une ligne par echelle — taille courante, effectiveness, EI, delta de la fusion, positions fusionnees — puis la taille finale et l'EC sous sa forme log2 L + H(p). Trois reperes pour la lecture : verifier qu'aucune echelle retenue ne baisse l'effectiveness ; reperer ou le chemin s'arrete, car le glouton n'a recu aucune indication sur les strates que la section precedente a dessinees a la main ; et regarder la repartition des deltas, celle que la composante H(p) de l'EC resume en un nombre. Une contre-verification d'arithmetique en passant : l'EI d'une ligne vaut l'effectiveness multipliee par log2 de la taille affichee, les colonnes du tableau doivent donc rester coherentes entre elles.\n" - ] - }, { "cell_type": "code", "execution_count": 8, @@ -500,13 +472,6 @@ "Le tore 2×2 est un monde dégénéré ; la question est de savoir si la structure de la mesure (dégénérescence micro massive, restauration par le destin) survit avec un espace d'états 32× plus riche. Le tore 3×3 porte 512 graines — toujours tractable pour un profil et une partition dessinée (le glouton, lui, coûte O(n⁴) : documenté, non exécuté)." ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Protocole de mesure — la meme chaine, quatre sorties.** Cote calcul, rien de nouveau : `torus_ensemble_tpm(3)` reprend la fonction de la section 2 sur la totalite des graines du tore 3x3, et les trois lectures suivent — `causal_profile` pour le profil micro, `fate_strata` pour les strates de destin, `partition_profile` pour la partition. La sortie affiche donc quatre nombres a lire ensemble : les collisions, la degenerescence et l'effectiveness du micro, l'effectiveness du destin. L'ecart entre les deux effectiveness est le verdict de la section : s'il reste du meme ordre que celui du tore 2x2, la structuration n'est pas un accident de l'espace restreint. Les valeurs exactes changeront — le plafond log2 grandit avec la taille — mais le rapport entre les colonnes, lui, doit tenir.\n" - ] - }, { "cell_type": "code", "execution_count": 9, From 8d87c866470f5df16c4bbb02b132a43d328519ae Mon Sep 17 00:00:00 2001 From: Jean-Sylvain Boige Date: Sun, 20 Sep 2026 22:54:06 +0200 Subject: [PATCH 2/8] fix(density,#17040): ICT-05 CausalEmergence -- 2 cellules 'Lecture' redondantes supprimees Les 2 cellules '**Lecture de la figure**' (cellule 15) et '**Lecture du bilan**' (cellule 19) ajoutees par #16452 doublonnaient les 'Interpretation' preexistantes des memes sorties code. Supprimees pour la regle 'une sortie = AU PLUS UNE lecture'. Md-only : 0 cellule code touchee, 0 output edite, 0 execution_count modifie. Co-Authored-By: Claude Haiku 4.5 (1M context) --- .../ICT-Series/ICT-05-CausalEmergence-Python.ipynb | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-05-CausalEmergence-Python.ipynb b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-05-CausalEmergence-Python.ipynb index faded97c03..15ecfed8b9 100644 --- a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-05-CausalEmergence-Python.ipynb +++ b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-05-CausalEmergence-Python.ipynb @@ -521,13 +521,6 @@ "plt.show()" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Lecture de la figure.** Les trois systèmes côte à côte, chacun avec sa paire de barres $\\Phi_{\\text{micro}}$ (gris) / $\\Phi_{\\text{macro}}$ (vert), et au-dessus l'étiquette d'émergence **colorée selon son signe** : vert pour le système de Hoel ($+0{,}48$), rouge pour XOR ($-1{,}38$) et `basic_network` ($-1{,}79$). Le titre de la figure dit exactement ce qu'elle encode : *émergence (vert) vs dégradation (rouge) selon le système*. La comparaison visuelle ferme la section : l'agrégation n'est ni toujours bonne ni toujours mauvaise -- elle est **discriminante**, et le signe du delta dit laquelle des deux descriptions, micro ou macro, porte la causalité du système considéré.\n" - ] - }, { "cell_type": "markdown", "id": "d09be37c", @@ -638,13 +631,6 @@ "print(\"le supplement d'integration (Phi) survit a la perte d'etats -> emergence.\")" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Lecture du bilan, chiffres en main.** Les comptes exacts : 4 nœuds micro $= 16$ micro-états contre 2 nœuds macro $= 4$ macro-états -- l'agrégation jette $\\log_2 16 - \\log_2 4 = 2$ bits de résolution d'état. Le micro portait $\\text{EI} = 1{,}1486$ bit ; la sortie n'affiche pas l'EI du macro, seulement le verdict intégratif : le gain de $\\Phi$ vaut $+0{,}4833$ *après* cette perte de résolution. C'est la décomposition de la section 4 en acte : l'EI est le produit déterminisme × non-dégénérescence, et l'agrégation échange de la résolution (des états) contre du déterminisme (des transitions) -- ici l'échange est bénéficiaire. La phrase de la sortie le résume elle-même : *le macro a moins d'états mais une dynamique plus déterministe ; le supplément d'intégration ($\\Phi$) survit à la perte d'états* -- c'est la définition opérationnelle de l'émergence causale.\n" - ] - }, { "cell_type": "markdown", "id": "364fb138", From e69c8d13dfd785fa22bc7ba206572e2509e9419f Mon Sep 17 00:00:00 2001 From: Jean-Sylvain Boige Date: Sun, 20 Sep 2026 22:54:12 +0200 Subject: [PATCH 3/8] fix(density,#17040): ICT-06 SortingToTPM -- 4 cellules 'Lecture chiffree' supprimees Les 4 cellules '**Lecture chiffree**' ajoutees par #16456 doublonnaient les 'Interp' preexistantes des memes sorties code. Supprimees pour la regle 'une sortie = AU PLUS UNE lecture' (densite /13410). Md-only : 0 cellule code touchee, 0 output edite, 0 execution_count modifie. Co-Authored-By: Claude Haiku 4.5 (1M context) --- ...-SortingToTPM-CausalEmergence-Python.ipynb | 28 ------------------- 1 file changed, 28 deletions(-) diff --git a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-06-SortingToTPM-CausalEmergence-Python.ipynb b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-06-SortingToTPM-CausalEmergence-Python.ipynb index cde2fa7b41..63a3f09eff 100644 --- a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-06-SortingToTPM-CausalEmergence-Python.ipynb +++ b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-06-SortingToTPM-CausalEmergence-Python.ipynb @@ -494,13 +494,6 @@ " print(f\" {k:22s} : {float(prof[k]):.4f}\")" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Lecture chiffree - l'identite du §3 verifiee sur la sortie.** Trois des cinq valeurs se deduisent l'une de l'autre : specificite 0,9698 = 1 - degenerescence 0,0302, et effectiveness 0,7170 = determinisme 0,7472 - degenerescence 0,0302 = 0,7472 + 0,9698 - 1, au centieme pres (les valeurs sont arretees a 4 decimales). Et l'information effective la confirme en bits : 0,7170 x log2(24) = 0,7170 x 4,585 ≈ 3,29, sortie 3,2876. L'EI porte donc aussi la taille de l'espace (24 etats), pas seulement la qualite des transitions — le profil tout entier tient en une phrase : un systeme assez deterministe (0,75), tres specifique (0,97), presque sans degenerescence (0,03). Et ce n'est que le point de depart : c'est la reference micro contre laquelle l'emergence sera jugee.\n" - ] - }, { "cell_type": "markdown", "id": "ict6-micro-interp", @@ -592,13 +585,6 @@ "print(\"\\nemergence causale obtenue par ce macro ?\", \"OUI\" if eff_lvl > eff_micro else \"NON\")" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Lecture chiffree - l'echec du macro naif en trois nombres.** Micro (24 etats) : effectiveness 0,7170. Macro « niveau de tri » (7 etats, un par nombre d'inversions, de 0 a 6) : 0,6825. Gain : -0,0345, et le verdict affiche tout net : « emergence causale obtenue par ce macro ? NON ». Regrouper par niveau de tri rend les transitions plus floues : un meme niveau peut descendre vers plusieurs niveaux selon la permutation exacte, l'identite des inversions portait de l'information causale et on la jette. C'est la lecon d'ICT-5 en acte — l'emergence n'est pas automatique, un coarse-graining « evident » peut detruire — et le contraste avec la section suivante (gain positif +0,1085) se lira dans la table de l'apportionnement glouton.\n" - ] - }, { "cell_type": "markdown", "id": "ict6-naive-interp", @@ -722,13 +708,6 @@ " f\" (+{max(eff_vals) - eff_vals[0]:.4f})\")" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Lecture chiffree - vingt et une fusions, un seul verdict.** Le chemin va de 24 etats (micro) a 3 etats (macro le plus grossier) : 21 fusions, chacune avec son gain delta_cp. L'effectiveness passe de 0,7170 a 0,8256 (+0,1085, « OUI » affiche) et le determinisme de 0,7472 a 0,8296. L'EI en bits, elle, descend de 3,2876 a 1,3085 — verification de la definition : 0,8256 x log2 3 = 0,8256 x 1,585 ≈ 1,31 ; l'EI du macro reste effectiveness x la nouvelle taille, elle ne baisse que parce que l'espace retrecit. La repartition des gains n'est pas uniforme : les plus gros deltas sont les deux dernieres fusions (+0,0219 a la taille 4, +0,0199 a la taille 5), les premieres valent 0,002-0,005 — le travail causal se condense vers le grossier. C'est l'armature chiffree de la figure suivante : l'effectiveness qui monte, l'EI qui descend.\n" - ] - }, { "cell_type": "code", "execution_count": 9, @@ -888,13 +867,6 @@ "plt.tight_layout(); plt.show()" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Lecture chiffree - EC decomposee.** La sortie donne l'identite de la definition en acte : EC 8,1658 = log2 L 4,3923 + H(p) 3,7735, avec L = 21 transitions d'echelle (les 24 etats passes a 3, une fusion par ligne du tableau). H(p) mesure l'egalite de repartition des gains : 3,7735 sur un maximum de log2 21 = 4,3923, soit 86 % du plafond — on est loin d'un chemin ou une fusion unique porterait tout le travail (H = 0). Pourtant la lecture precedente montre que les plus gros deltas se concentrent sur les dernieres fusions : la distribution n'est pas uniforme, elle est charpentee — beaucoup de micro-gains, quelques macro-gains. C'est en ce sens que la morphogenese par tri est multi-echelles : ni le micro seul, ni le « niveau de tri », ni meme la plus grosse fusion ne resument le travail causal a eux seuls.\n" - ] - }, { "cell_type": "markdown", "id": "ict6-ec-interp", From 6e673a24dfa81d539b25e6662fd12b7b7360bae6 Mon Sep 17 00:00:00 2001 From: Claude Sonnet 5 Date: Sun, 20 Sep 2026 22:54:19 +0200 Subject: [PATCH 4/8] fix(density,#17040): ICT-Dissociation-PhAT -- 1 cellule 'Transition exercices' supprimee La cellule 'Transition vers les exercices -- trois variations sur le meme protocole' (id PHAT-re-53-d23) ajoutee par #16427 introduisait un exercice- preamble qui lisait la cellule d'exercice et non une sortie code commitee : supprime selon la regle 'lecture d'une cellule d'EXERCICE'. Les 6 autres cellules 'Lecture du...' ajoutees par #16427 etaient les seules lectures des sorties code correspondantes -- preservees. Md-only : 0 cellule code touchee, 0 output edite, 0 execution_count modifie. Co-Authored-By: Claude Haiku 4.5 (1M context) --- .../ICT-Dissociation-PhatSelfReference.ipynb | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-Dissociation-PhatSelfReference.ipynb b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-Dissociation-PhatSelfReference.ipynb index b536390b1c..5a132a75f1 100644 --- a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-Dissociation-PhatSelfReference.ipynb +++ b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-Dissociation-PhatSelfReference.ipynb @@ -644,23 +644,6 @@ "(`docs/ict/dissociations-matrix.md` section *Discipline de livraison*)." ] }, - { - "cell_type": "markdown", - "id": "PHAT-re-53-d23", - "metadata": {}, - "source": [ - "### Transition vers les exercices -- trois variations sur le meme protocole\n", - "\n", - "Les trois exercices qui suivent ne changent pas la conclusion : ils testent ses conditions aux\n", - "limites. L'exercice 1 casse le predicteur exact (delta sur a_hat) : la theorie lineaire prevoit que\n", - "la frontiere devient kappa_c = (1 - a) / (a_hat + delta), a verifier numeriquement. L'exercice 2\n", - "remplace le bruit gaussien par un Student-t a 3 degres de liberte : les queues lourdes provoquent\n", - "des excursions plus profondes, la question est de savoir si la frontiere bouge. L'exercice 3 passe\n", - "en dimension 2 puis 3 : pour A = a * I, la theorie spectrale predit la meme frontiere -- un test de\n", - "validite du raisonnement par valeurs propres. Chaque stub reste volontairement non complete\n", - "(convention C.1) : la prediction theorique est donnee dans l'enonce, la mesure reste a faire." - ] - }, { "cell_type": "markdown", "id": "c869c663", From 89561b998e7d8297ebb3febd93975238cfc121f7 Mon Sep 17 00:00:00 2001 From: Claude Sonnet 5 Date: Sun, 20 Sep 2026 22:54:25 +0200 Subject: [PATCH 5/8] fix(density,#17040): IIT-02 AdvancedTopics -- 3 cellules 'Lecture' redondantes supprimees 3 cellules '**Lecture.**' ajoutees par #16894 doublonnaient les 'Interpretation' preexistantes des memes sorties code (MIP, repertoires cause-effet, CES) : - cellule 8 (Big Phi 1.875) doublonne '### 2.2. Interpretation de la MIP' - cellule 15 (cause/effet) doublonne '### Interpretation : un mecanisme' - cellule 26 (CES 3 concepts) doublonne '### 4.2. Interpretation des MICE' Les 6 autres cellules 'Lecture' ajoutees etaient les seules lectures des sorties code correspondantes -- preservees. Md-only : 0 cellule code touchee, 0 output edite, 0 execution_count modifie. Co-Authored-By: Claude Haiku 4.5 (1M context) --- .../IIT/IIT-02-AdvancedTopics.ipynb | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/MyIA.AI.Notebooks/IIT/IIT-02-AdvancedTopics.ipynb b/MyIA.AI.Notebooks/IIT/IIT-02-AdvancedTopics.ipynb index 41818f2da9..c88c768ac1 100644 --- a/MyIA.AI.Notebooks/IIT/IIT-02-AdvancedTopics.ipynb +++ b/MyIA.AI.Notebooks/IIT/IIT-02-AdvancedTopics.ipynb @@ -317,13 +317,6 @@ "print(f\"Partie to: {sia.cut.to_nodes}\")" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Lecture.** Le Big Phi de 1.875 avec une coupe minimale [B] ━━/ /━━➤ [A, C] indique que le système est irréductible : la séparation de B des autres nœuds détruit l’intégration causale, confirmant que les trois nœuds forment un complexe intégré." - ] - }, { "cell_type": "markdown", "id": "5f61aeeb", @@ -541,13 +534,6 @@ " print(f\" {label}: cause={c_val:.3f}, effet={e_val:.3f}\")" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Lecture.** La comparaison cause vs effet pour le mécanisme (0, 1) montre une symétrie parfaite (0.5/0.5 pour A=0 et A=1), indiquant que le mécanisme spécifie de manière équilibrée les états cause et effet sur son purview." - ] - }, { "cell_type": "markdown", "id": "2f73fae8", @@ -888,13 +874,6 @@ " print(f\" Phi du concept: {concept.phi:.4f}\")" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Lecture.** « Nombre total de concepts dans la CES: 3 » — les trois paires : (0, 1) → cause (0, 1, 2) / effet (2,) ; (0, 2) → cause (0, 1, 2) / effet (1,) ; (1, 2) → cause (0, 1, 2) / effet (0,) ; chacune phi=0.5000. Structure symétrique : la cause converge vers le système entier, l’effet se resserre sur un nœud seul." - ] - }, { "cell_type": "markdown", "id": "65b3f11e", From ea69290c8e08033a88f886cb12f974f49b3d3c63 Mon Sep 17 00:00:00 2001 From: Claude Sonnet 5 Date: Sun, 20 Sep 2026 22:54:33 +0200 Subject: [PATCH 6/8] fix(density,#17040): ICT-39 CompositionRegards -- 7 cellules campagne nettoyees 7 cellules ajoutees par #16424 nettoyees selon les 4 criteres /13410 : - 2 lecture d'une cellule d'EXERCICE (cells 19 'Avant l'exercice', 22 'Criteres d'auto-evaluation', 31 'Ce que l'extension doit montrer', 36 'Le diagnostic attendu') : preamble pedagogique pour stubs, pas lecture de sortie code. - 2 doublons d'une lecture preexistante (cells 8 'Lecture du tableau' doublonne 'Lecture du resultat' cell 9, cell 26 'Pourquoi 9/18' doublonne 'Lecture du resultat : invisible dans le signal' cell 25). - 1 paraphrase sans interpretation (cell 11 'Lecture des deux equations' paraphrase la section header preexistante des equations). - 2 cellules 'La famille de reference' (2) et 'Lecture du resultat : enumerer' (5) preservees -- seules lectures des cellules 1 et 4. Md-only : 0 cellule code touchee, 0 output edite, 0 execution_count modifie. Co-Authored-By: Claude Haiku 4.5 (1M context) --- .../ICT-39-CompositionRegards.ipynb | 132 ------------------ 1 file changed, 132 deletions(-) diff --git a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-39-CompositionRegards.ipynb b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-39-CompositionRegards.ipynb index dcdc80454d..84b4fb7c91 100644 --- a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-39-CompositionRegards.ipynb +++ b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-39-CompositionRegards.ipynb @@ -247,26 +247,6 @@ " print(f\"{row['name']:<8} {row['src']+'→'+row['tgt']:<8} {gp:>3}/{row['n_get_put']:<5} {pg:>3}/{row['n_put_get']:<5} {str(row['is_lens']):>10}\")" ] }, - { - "cell_type": "markdown", - "id": "dacd44e5", - "metadata": {}, - "source": [ - "### Lecture du tableau : les dénominateurs racontent le protocole\n", - "\n", - "Chaque ligne porte deux compteurs dont les dénominateurs ne sont pas décoratifs.\n", - "`get-put` teste un état par élément de la source : 9 pour $W$, 3 pour $Z_3$, 2\n", - "pour $Z_2$. `put-get` teste un couple état-demande par élément de $X \\times Y$ :\n", - "81 pour `idW` et `SWAP` ($9 \\times 9$), 27 pour `LUM` ($9 \\times 3$), 6 pour\n", - "`MEMO` ($3 \\times 2$). Lire « 0/81 » sans le dénominateur, c'est perdre\n", - "l'information de couverture : zéro violation sur deux tests et zéro sur\n", - "quatre-vingt-un ne disent pas la même chose. Les dix regards ferment la boucle\n", - "avec `is_lens` vrai partout — et cette unanimité est une condition du §3 : si\n", - "`LUM-D` violait les lois, son désaccord arrière avec `LUM` pourrait toujours se\n", - "rabattre sur un défaut de fabrication du regard, et le témoin perdrait son\n", - "mordant." - ] - }, { "cell_type": "markdown", "id": "laws-reading", @@ -311,26 +291,6 @@ "La réinjection de $g_1.get(x)$ dans l'arrière de $g_2$, puis l'appel de l'arrière de $g_1$, sont essentiels. L'arrière composé ne renvoie pas des fonctions : il calcule une demande sur $X$." ] }, - { - "cell_type": "markdown", - "id": "a9dc9425", - "metadata": {}, - "source": [ - "### Lecture des deux équations : où vit la réinjection\n", - "\n", - "La jambe avant ne réserve aucune surprise : composer les lectures, c'est les\n", - "emboîter. Toute la subtilité est dans la jambe arrière : la demande terminale\n", - "$z$ est d'abord interprétée par $g_2$ AU POINT $g_1.get(x)$ — pas au point $x$,\n", - "que $g_2$ ne sait pas lire — puis le résultat est transmis à l'arrière de $g_1$\n", - "qui le traduit en demande sur $X$. Retirer cette réinjection, c'est demander à\n", - "$g_2$ de corriger un état d'une strate qu'il ne voit pas : le §6 construira\n", - "exactement cette règle fautive et montrera qu'elle casse les lois (6/9 et 54/81\n", - "violations). Une lecture à voix haute de l'équation : « la correction demandée en\n", - "haut descend traduite par ce que la première lentille avait lu en montant ».\n", - "C'est cette boucle qui rend l'arrière composé une fonction calculée, et non une\n", - "paire de fonctions rendue comme dans GameTheory-18." - ] - }, { "cell_type": "code", "execution_count": 4, @@ -555,24 +515,6 @@ "Dans le panneau direct, les cases d'accord forment une diagonale répétée : chaque regard reconstruit le même monde uniquement lorsque la demande terminale égale le signal initial. Après composition avec `MEMO`, les trois colonnes de $Z_3$ sont ramenées aux deux demandes de $Z_2$ : les signaux 0 et 2 partagent alors le même profil pair, tandis que le signal 1 conserve le profil impair. La composition transporte donc l'incompatibilité en en modifiant la géométrie observable." ] }, - { - "cell_type": "markdown", - "id": "d18d6d45", - "metadata": {}, - "source": [ - "### Avant l'exercice : que prédire pour `LUM-D2` ?\n", - "\n", - "La figure du panneau direct suggère une prédiction testable. L'accord arrière\n", - "entre `LUM` et `LUM-D` ne survient que lorsque la demande égale le signal déjà lu\n", - "— la diagonale. Décaler la charge cachée de deux fois la correction éloigne\n", - "davantage l'arrière de `LUM-D2` de celui de `LUM`, donc le taux d'accord arrière\n", - "devrait encore baisser ; mais l'accord AVANT doit rester total, puisque les deux\n", - "regards lisent exactement la même première coordonnée. Notez votre prédiction —\n", - "taux avant attendu, forme de la diagonale, nombre de désaccords — AVANT\n", - "d'exécuter : l'exercice 1 est conçu pour la confronter à la mesure, pas pour la\n", - "remplacer." - ] - }, { "cell_type": "markdown", "id": "exercise-one", @@ -632,24 +574,6 @@ "print(\"Exercice 1 à compléter : LUM-D2 et son rapport d'accord.\")" ] }, - { - "cell_type": "markdown", - "id": "24d8f010", - "metadata": {}, - "source": [ - "### Critères d'auto-évaluation de l'exercice 1\n", - "\n", - "Un rapport d'accord complet pour `LUM-D2` contient trois chiffres et une liste :\n", - "le taux AVANT (attendu : 9/9 = 1.000, puisque la lecture est inchangée), le taux\n", - "ARRIÈRE (à comparer au 9/27 = 0.333 de `LUM` contre `LUM-D` — un décalage double\n", - "de la charge cachée doit éloigner davantage les reconstructions), la liste des\n", - "désaccords sur la forme `((état), demande, arrière_LUM, arrière_LUM_D2)` comme le\n", - "premier témoin affiché au §3, et une phrase tranchant la question de l'énoncé :\n", - "l'avant détermine-t-il davantage l'arrière pour ce nouveau couple ? La réponse\n", - "attendue est non — l'accord avant reste total, le désaccord arrière persiste —\n", - "mais c'est la mesure qui décide, pas l'intuition." - ] - }, { "cell_type": "markdown", "id": "composed-witness-intro", @@ -730,24 +654,6 @@ "La lecture du signal — et, a fortiori, le verdict binaire composé — masque le désaccord, mais `CHG` le détecte exactement sur les trois mondes de signal 1, là où `MEMO` effectue une correction. Composer n'efface donc pas l'ambiguïté : il la transporte vers une strate où certaines lectures la voient et d'autres non." ] }, - { - "cell_type": "markdown", - "id": "608727f9", - "metadata": {}, - "source": [ - "### Pourquoi 9/18 et non 18/27 : les dénominateurs du témoin composé\n", - "\n", - "Entre le §3 et le §4, le taux d'accord arrière passe de 9/27 à 9/18 — et ce\n", - "n'est pas une amélioration. Le dénominateur compte les couples état-demande du\n", - "COMPOSÉ : après `MEMO`, la demande terminale vit dans $Z_2$ (2 valeurs), donc\n", - "9 états × 2 demandes = 18 couples testés, contre 9 × 3 = 27 pour le couple\n", - "direct. Neuf désaccords sur dix-huit font un témoin AUSSI dense que 18/27 — la\n", - "composition a réduit l'espace observable et transporté le désaccord dedans,\n", - "elle ne l'a pas résolu. La sortie le dit autrement : détectés par la lecture du\n", - "signal 0/9, par `CHG` 3/9 — ce que le verdict binaire masque, la lecture de la\n", - "charge cachée l'exhibe exactement sur les mondes de signal 1." - ] - }, { "cell_type": "markdown", "id": "associativity-intro", @@ -872,25 +778,6 @@ "print(\"Exercice 2 à compléter : extension et nouvelle vérification exhaustive.\")" ] }, - { - "cell_type": "markdown", - "id": "b2051ca3", - "metadata": {}, - "source": [ - "### Ce que l'extension doit montrer — et le piège à éviter\n", - "\n", - "Rejouer l'associativité avec un onzième regard doit faire GROSSIR les compteurs :\n", - "plus de triples composables que 92, plus de points vérifiés que 2 422, et\n", - "toujours zéro violation — c'est le sens d'une attestation exhaustive sur un\n", - "domaine déclaré. Le piège classique : choisir une « bijection » de $Z_3$ qui\n", - "n'en est pas une (oublier un cas, renvoyer deux fois la même valeur), auquel cas\n", - "`law_report` la rejettera avant même la composition — et ce rejet est un succès\n", - "du banc, pas un échec de l'exercice. Un regard bien élevé de $Z_3$ vers $Z_3$\n", - "quelconque (il y en a six, toutes bijectives) doit passer toutes les étapes :\n", - "lois isolées, intégration à la famille, associativité rejouée sur la famille\n", - "étendue." - ] - }, { "cell_type": "markdown", "id": "control-intro", @@ -1010,25 +897,6 @@ "print(\"Exercice 3 à compléter : contrôle négatif et diagnostic des lois.\")" ] }, - { - "cell_type": "markdown", - "id": "3a6641f0", - "metadata": {}, - "source": [ - "### Le diagnostic attendu : quelle loi parle, et quand\n", - "\n", - "Pour une seconde règle fautive, le rapport doit dire plus que « lentille=False ».\n", - "La loi get-put compte les états reconstruits à l'identique : ses violations\n", - "pointent un arrière qui abîme l'état même quand on lui rend la valeur déjà lue.\n", - "La loi put-get compte les couples état-demande : ses violations pointent un\n", - "arrière qui ne sait pas rejoindre une demande étrangère. Selon la faute construite\n", - "— oubli de réinjection, arrière constant, composante ignorée — l'une des deux\n", - "lois parle en premier et l'autre confirme. La nuance à écrire dans le rapport :\n", - "une opération fautive peut rester ASSOCIATIVE tout en cessant de composer des\n", - "lentilles, comme le §6 le montre sur `compose_without_reinjection` —\n", - "l'associativité n'est pas un substitut des lois, elle les complète." - ] - }, { "cell_type": "markdown", "id": "conclusion-regards", From 5d74296290fcc86b8682a8717ae369422a3beb02 Mon Sep 17 00:00:00 2001 From: Claude Sonnet 5 Date: Mon, 21 Sep 2026 02:49:43 +0200 Subject: [PATCH 7/8] =?UTF-8?q?fix(density,#17066):=20ICT-32=20=E2=80=94?= =?UTF-8?q?=20les=207=20=C2=AB=20Lecture=20du=20r=C3=A9sultat=20=C2=BB=20r?= =?UTF-8?q?etitr=C3=A9es=20(7=20exp=C3=A9riences=20distinctes)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Regime #17066 : chaque occurrence lit une sortie differente (profil du cycle glider / quotient par phase / collisions du tore 2x2 / strates de destin / partitions micro-destin-population / chemin du glouton / tore 3x3) — retritrages distinctifs dans le style de la cellule « EC = 0 structurel » deja present, aucun texte modifie. Co-Authored-By: Claude Sonnet 5 --- .../ICT-32-StratificationCausaleLife.ipynb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-32-StratificationCausaleLife.ipynb b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-32-StratificationCausaleLife.ipynb index 7484e12768..dd1a9a8ec9 100644 --- a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-32-StratificationCausaleLife.ipynb +++ b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-32-StratificationCausaleLife.ipynb @@ -127,7 +127,7 @@ "id": "7ad1557b", "metadata": {}, "source": [ - "### Lecture du résultat\n", + "### Lecture du résultat — rotation pure du cycle glider\n", "\n", "Le profil est celui d'une **rotation pure** : déterminisme 1.000, dégénérescence 0.000, `EI = log2(64) = 6` bits exactement — chaque bit de l'état micro sert à distinguer la cause suivante. Le glouton d'apportionment confirme ce diagnostic en une seule passe : il essaie toutes les fusions de paires, n'en trouve aucune qui améliore l'effectiveness, et s'arrête immédiatement." ] @@ -209,7 +209,7 @@ "id": "b0daf339", "metadata": {}, "source": [ - "### Lecture du résultat\n", + "### Lecture du résultat — la strate phase est causalement étanche\n", "\n", "La description « particule » est **causalement étanche** : effectiveness 1.000 conservée, EI réduit d'exactement `log2(16)` bits — précisément l'information de position que la strate jette. Perdre la position ne perd **aucune cause** : la dynamique de phase est autonome. C'est la lecture formelle de l'intuition « un glider est une particule » — et la porte ouverte à la question inverse : existe-t-il des cas où la macro ne se contente pas d'être étanche, mais **bat** le micro ?" ] @@ -262,7 +262,7 @@ "id": "6f9013a1", "metadata": {}, "source": [ - "### Lecture du résultat\n", + "### Lecture du résultat — 11 collisions sur 16 graines\n", "\n", "**11 collisions sur 16 graines** : la dégénérescence saute à 0.672, l'effectiveness tombe à 0.328. Vu de l'ensemble, l'état micro d'une graine ne détermine pas sa cause en retour — la règle a fondu 16 origines possibles en 5 avenirs. Visualisons la structure de ces fusions : les strates de destin (les fibres de la fonction successeur) et leurs tailles." ] @@ -328,7 +328,7 @@ "id": "4bb89eae", "metadata": {}, "source": [ - "### Lecture du résultat\n", + "### Lecture du résultat — la hiérarchie des destins du tore 2×2\n", "\n", "Les tailles racontent une hiérarchie brutale : **12 graines sur 16 fondent vers le même avenir — la grille vide** — et les quatre strates restantes sont des singletons : les quatre **dominos** (deux cellules adjacentes), chacun son propre successeur. Sur ce tore minuscule, le voisinage emmêlé par le rebouclage (une cellule voisine d'une autre par plusieurs directions à la fois) rend la règle fortement dissipative : seules 4 graines sur 16 se perpétuent à l'identique. La **structure** de la mesure, elle, est générale : la règle comprime l'ensemble des origines." ] @@ -388,7 +388,7 @@ "id": "ff9a7ac1", "metadata": {}, "source": [ - "### Lecture du résultat\n", + "### Lecture du résultat — le destin bat le micro, la population non\n", "\n", "Le contraste est net des deux côtés :\n", "\n", @@ -457,7 +457,7 @@ "id": "012962fb", "metadata": {}, "source": [ - "### Lecture du résultat\n", + "### Lecture du résultat — le glouton re-dérive la partition par destin\n", "\n", "**Le glouton re-dérive la partition par destin** : chemin monotone 16 → 5 états, effectiveness 0.328 → 1.000 en onze fusions, échelle terminale de 5 états — exactement le nombre d'avenirs distincts. La colonne des fusions montre la mécanique : la grande strate grandit par **absorption successive** des singletons. L'EC de 6.70 dit de plus que le travail causal est **distribué** le long de l'échelle (onze fusions d'ampleur croissante, de 0.023 à 0.129, plutôt qu'un saut unique) : la stratification n'a pas un « palier magique », elle se construit." ] @@ -511,7 +511,7 @@ "id": "ac9c3eaa", "metadata": {}, "source": [ - "### Lecture du résultat\n", + "### Lecture du résultat — la structure tient sur le tore 3×3\n", "\n", "La structure tient, et s'aggrave dans le bon sens : **384 collisions sur 512 graines** (75 %), dégénérescence micro 0.656, et la partition par destin la restaure presque parfaitement — effectiveness 0.998, EI 3.09 → 6.98 bits. Plus l'espace d'états est riche, plus la règle B3/S23 y fond les origines — et plus le squelette causal (les 128 avenirs distincts) concentre la description." ] From dc8f478384056211a238432c2b0f98dc0ea2af76 Mon Sep 17 00:00:00 2001 From: myia-po-2025 Date: Fri, 25 Sep 2026 11:21:10 +0200 Subject: [PATCH 8/8] fix(iit,#17060): restaure le bareme de l'exercice 1 (ICT-39) Le redressement de densite avait retire la cellule markdown "### Criteres d'auto-evaluation de l'exercice 1" alors que le stub de l'exercice survit (cellule code `exercise-one-stub`, inchangee). L'exercice restait donc sans bareme : plus de valeurs attendues (taux AVANT 9/9 = 1.000, ARRIERE a comparer au 9/27 = 0.333), plus de forme imposee pour la liste des desaccords, plus de reponse attendue a la question de l'enonce. Mesure : detect_notebook_plan_loss.py --base origin/main --head rendait 1 LOST_SECTION (base_cell_idx 23) et 6 SUBSTANCE_FOUND ; les criteres etaient les seuls candidats non retrouves a la tete (0 occurrence de "auto-evaluation" / "criteres" dans le notebook a la tete). Geste : reinsertion verbatim de la cellule de origin/main, apres le stub, avant le SS4 -- 18 insertions, 0 suppression, aucun id duplique, markdown seul donc aucune re-execution due (C.2). Co-Authored-By: Claude Code --- .../ICT-Series/ICT-39-CompositionRegards.ipynb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-39-CompositionRegards.ipynb b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-39-CompositionRegards.ipynb index f085ba07e8..9228a8e8f5 100644 --- a/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-39-CompositionRegards.ipynb +++ b/MyIA.AI.Notebooks/IIT/ICT-Series/ICT-39-CompositionRegards.ipynb @@ -582,6 +582,24 @@ "print(\"Exercice 1 à compléter : LUM-D2 et son rapport d'accord.\")" ] }, + { + "cell_type": "markdown", + "id": "24d8f010", + "metadata": {}, + "source": [ + "### Critères d'auto-évaluation de l'exercice 1\n", + "\n", + "Un rapport d'accord complet pour `LUM-D2` contient trois chiffres et une liste :\n", + "le taux AVANT (attendu : 9/9 = 1.000, puisque la lecture est inchangée), le taux\n", + "ARRIÈRE (à comparer au 9/27 = 0.333 de `LUM` contre `LUM-D` — un décalage double\n", + "de la charge cachée doit éloigner davantage les reconstructions), la liste des\n", + "désaccords sur la forme `((état), demande, arrière_LUM, arrière_LUM_D2)` comme le\n", + "premier témoin affiché au §3, et une phrase tranchant la question de l'énoncé :\n", + "l'avant détermine-t-il davantage l'arrière pour ce nouveau couple ? La réponse\n", + "attendue est non — l'accord avant reste total, le désaccord arrière persiste —\n", + "mais c'est la mesure qui décide, pas l'intuition." + ] + }, { "cell_type": "markdown", "id": "composed-witness-intro",