diff --git a/MyIA.AI.Notebooks/Sudoku/Sudoku-04-SimulatedAnnealing-CSharp.ipynb b/MyIA.AI.Notebooks/Sudoku/Sudoku-04-SimulatedAnnealing-CSharp.ipynb index f80a0fd0d8..44ff2d3e28 100644 --- a/MyIA.AI.Notebooks/Sudoku/Sudoku-04-SimulatedAnnealing-CSharp.ipynb +++ b/MyIA.AI.Notebooks/Sudoku/Sudoku-04-SimulatedAnnealing-CSharp.ipynb @@ -2109,8 +2109,7 @@ "metadata": { "tags": [] }, - "source": [ - "## 9. Resolution via GeneticSharp (moteur metaheuristique .NET)\n", + "source": [ "## 9. Resolution via GeneticSharp (moteur metaheuristique .NET)\n\n> Provenance : livraison historique #10382 (parite lib-vs-lib).\n", "\n", "### Parallele lib-vs-lib avec la jumelle Python\n", "\n", diff --git a/MyIA.AI.Notebooks/Sudoku/Sudoku-05-PSO-CSharp.ipynb b/MyIA.AI.Notebooks/Sudoku/Sudoku-05-PSO-CSharp.ipynb index 613863bac6..e5537a12da 100644 --- a/MyIA.AI.Notebooks/Sudoku/Sudoku-05-PSO-CSharp.ipynb +++ b/MyIA.AI.Notebooks/Sudoku/Sudoku-05-PSO-CSharp.ipynb @@ -2015,7 +2015,7 @@ "tags": [] }, "source": [ - "## Resolution via GeneticSharp (moteur metaheuristique .NET)\n", + "## Résolution via GeneticSharp (moteur metaheuristique .NET)\n", "\n", "Les sections 2 a 6 implementent l'essaim **from scratch** (workers/explorers,\n", "fusion bloc-par-bloc, redemarrages -- BCL .NET, 0 NuGet). C'est le moteur pedagogique :\n", @@ -3369,7 +3369,7 @@ "tags": [] }, "source": [ - "## Pont PythonNet vers mealpy — le même moteur que le jumeau Python\n", + "## Pont PythonNet vers mealpy — parité avec le jumeau Python\n", "\n", "La section précédente branche **GeneticSharp**, un moteur .NET de la famille voisine (GA). Ce pont\n", "complète la parité lib-vs-lib sur le moteur **exact** du jumeau Python : **mealpy** (PyPI, MIT,\n", diff --git a/MyIA.AI.Notebooks/Sudoku/Sudoku-05-PSO-Python.ipynb b/MyIA.AI.Notebooks/Sudoku/Sudoku-05-PSO-Python.ipynb index 2251c3375a..4969ad438d 100644 --- a/MyIA.AI.Notebooks/Sudoku/Sudoku-05-PSO-Python.ipynb +++ b/MyIA.AI.Notebooks/Sudoku/Sudoku-05-PSO-Python.ipynb @@ -2134,8 +2134,8 @@ ], "source": [ "# === mealpy OriginalPSO sur le meme puzzle facile (easy_puzzles[0]) ===\n", - "# Instance partagee avec le jumeau C# (section MetaGeneticSharp) : la chaine 81 ci-dessous est imprimee par\n", - "# les DEUX jumeaux -- l'egalite des chaines dans les outputs conserves fait la preuve\n", + "# Instance partagee avec le jumeau C# (Tranche 3) : la chaine 81 ci-dessous est imprimee par\n", + "# les DEUX jumeaux -- l'egalite des chaines dans les outputs committees fait la preuve\n", "# cross-twin que le meme probleme est attaque par le meme moteur des deux cotes.\n", "import mealpy\n", "\n", @@ -2204,8 +2204,7 @@ }, "tags": [] }, - "source": [ - "## mealpy — le moteur métaheuristique de production\n", + "source": [ "## mealpy : le moteur metaheuristique de production\n\n> Provenance : livraison historique #10382 (parite lib-vs-lib avec le jumeau C#).\n", "\n", "Le corps de ce notebook implement PSO **manuellement** (numpy) : c'est le moteur pédagogique.\n", "Le principe de **parité lib-vs-lib** — chaque jumeau atteint un moteur de production de son écosystème — demande ici un moteur dédié. Pour cette paire, le moteur est **mealpy** (PyPI, MIT, 233+ métaheuristiques) —\n", diff --git a/MyIA.AI.Notebooks/Sudoku/Sudoku-09-GraphColoring-CSharp.ipynb b/MyIA.AI.Notebooks/Sudoku/Sudoku-09-GraphColoring-CSharp.ipynb index 9c5165842f..dc20c2a8a8 100644 --- a/MyIA.AI.Notebooks/Sudoku/Sudoku-09-GraphColoring-CSharp.ipynb +++ b/MyIA.AI.Notebooks/Sudoku/Sudoku-09-GraphColoring-CSharp.ipynb @@ -2176,8 +2176,7 @@ "cell_type": "markdown", "id": "95f6f1fd", "metadata": {}, - "source": [ - "## Graphe Sudoku via QuikGraph (moteur .NET natif)\n", + "source": [ "## Graphe Sudoku via QuikGraph (moteur .NET natif)\n\n> Provenance : livraison historique 'Tranche 2' sans numero d'issue; le sujet pedagogique est la reduction coloriage-du-graphe sur QuikGraph.\n", "\n", "La section précédente construit le graphe de contraintes Sudoku **à la main** (`class SudokuGraph`, liste d'adjacence `List[]`). Le jumeau Python, lui, délègue cette construction à **`networkx`** via `nx.sudoku_graph()` — un générateur qui produit directement le graphe 81 sommets / 810 arêtes avec les contraintes ligne / colonne / bloc.\n", "\n", diff --git a/MyIA.AI.Notebooks/Sudoku/Sudoku-15-Infer-CSharp.ipynb b/MyIA.AI.Notebooks/Sudoku/Sudoku-15-Infer-CSharp.ipynb index 082a844663..2a824141a7 100644 --- a/MyIA.AI.Notebooks/Sudoku/Sudoku-15-Infer-CSharp.ipynb +++ b/MyIA.AI.Notebooks/Sudoku/Sudoku-15-Infer-CSharp.ipynb @@ -2851,7 +2851,7 @@ "id": "test-11778-md", "metadata": {}, "source": [ - "#### Test : resilience du loader apres elargissement du `catch`\n", + "#### Test de resilience du loader apres elargissement du `catch`\n", "\n", "A l'origine, le `catch (IOException exc)` du loader Infer.NET ne rattrapait que les erreurs de type fichier verrouille. Toute autre erreur de chargement (DLL obsolete / framework mismatch / reflection failure) remontait et faisait planter la cellule. Ce test verifie que le catch elargi attrape bien une DLL corrompue simulee et declenche la cascade de fallback (level 2 ou level 3).\n", "\n", @@ -3670,4 +3670,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} \ No newline at end of file +} diff --git a/MyIA.AI.Notebooks/Sudoku/Sudoku-15-Infer-Python.ipynb b/MyIA.AI.Notebooks/Sudoku/Sudoku-15-Infer-Python.ipynb index f147d54740..0e4817d94e 100644 --- a/MyIA.AI.Notebooks/Sudoku/Sudoku-15-Infer-Python.ipynb +++ b/MyIA.AI.Notebooks/Sudoku/Sudoku-15-Infer-Python.ipynb @@ -1894,7 +1894,7 @@ "\n", "**Parallèle structurant** (fil rouge de la série) : la v2 est montée d'un cran sur le **modèle** (paramètre recompilé par instance → prior Dirichlet observé) ; la v4 monte d'un cran sur le **graphe** (relaxation par paires → facteur structurel d'arité 9). Les deux gestes restent dans le paradigme probabiliste : aucun apport déterministe externe, pas de propagation de contraintes, pas de repli/backtracking. Les redémarrages randomisés (bruit d'initialisation des messages, tirage selon la croyance sur les plateaux) sont de l'inférence probabiliste randomisée — l'équivalent exact des restarts de MCMC.\n", "\n", - "> Trois gestes candidats existaient pour franchir ce mur : arité 9 natif, encodage one-hot + exactly-one, régions Kikuchi/GBP — la v4 implémente le premier.\n" + "> Trois gestes candidats ont été considérés pour franchir le cap Medium : (a) arité 9 natif, (b) encodage one-hot + exactement-un, (c) régions Kikuchi / generalized belief propagation. La v4 retient (a) — les messages exacts par permanente, sur 9 arités, rendent l'ensemble de Hall directement visible au graphe, sans couche déterministe supplémentaire. (Référence de la discussion initiale : #11801.)\n" ] }, { diff --git a/scripts/notebook_tools/twin_pairs.d/app-1-nqueens/0011-2026-10-07-myia-po-2026-CoursIA-2.yaml b/scripts/notebook_tools/twin_pairs.d/app-1-nqueens/0011-2026-10-07-myia-po-2026-CoursIA-2.yaml new file mode 100644 index 0000000000..4e8146b648 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/app-1-nqueens/0011-2026-10-07-myia-po-2026-CoursIA-2.yaml @@ -0,0 +1,6 @@ +date: '2026-10-07' +by: myia-po-2026:CoursIA-2 +python_sha: b4340188b2bad3f9c05b78a5f658838116fee768 +csharp_sha: 220c073d77fe16d33f89f16191762fd0fd8c99a4 +content_python_sha: 9a4d60c485a287b4b90d79240438bdfce044d567c3f085290d861e7b7f63c1a4 +content_csharp_sha: f61f18b3e483b85fb66297d436223a00b07edd2f9f1c62d79441b586580db17a diff --git a/scripts/notebook_tools/twin_pairs.d/app-12-connectfour/0011-2026-10-07-myia-po-2026-CoursIA-2.yaml b/scripts/notebook_tools/twin_pairs.d/app-12-connectfour/0011-2026-10-07-myia-po-2026-CoursIA-2.yaml new file mode 100644 index 0000000000..dc502806eb --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/app-12-connectfour/0011-2026-10-07-myia-po-2026-CoursIA-2.yaml @@ -0,0 +1,6 @@ +date: '2026-10-07' +by: myia-po-2026:CoursIA-2 +python_sha: 152af2e25712bef55805e00628a7c437648b21fe +csharp_sha: 957ecad6e3dfea69b137ae4a1206f47dfc319b8a +content_python_sha: 5352dca14f33cf4929a5f45520a8b9417d9c12b36cace3ce77cbcdb94ee03379 +content_csharp_sha: b21378f4fabf2c5900fce09e11b798a723d49867cbf046d0bb526bf9a7223157 diff --git a/scripts/notebook_tools/twin_pairs.d/probas-15-recommenders/0023-2026-10-07-myia-po-2026-CoursIA-2.yaml b/scripts/notebook_tools/twin_pairs.d/probas-15-recommenders/0023-2026-10-07-myia-po-2026-CoursIA-2.yaml new file mode 100644 index 0000000000..01cbcfa7ff --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/probas-15-recommenders/0023-2026-10-07-myia-po-2026-CoursIA-2.yaml @@ -0,0 +1,6 @@ +date: '2026-10-07' +by: myia-po-2026:CoursIA-2 +python_sha: 2f864839d52002078dedd535db030630feb886f0 +csharp_sha: bd49f34e54f98b8d08d996787837e5ad8f4850be +content_python_sha: a823b4a4af771f1b3d3c549233e59a7c2552eb89697ae6bc4fc9cd0376954dca +content_csharp_sha: fe193d0258714ebe345b1caa37fa3c8b4c3485c88f5760bf05704f3a39341d88 diff --git a/scripts/notebook_tools/twin_pairs.d/probas-3-factor-graphs/0017-2026-10-07-myia-po-2026-CoursIA-2.yaml b/scripts/notebook_tools/twin_pairs.d/probas-3-factor-graphs/0017-2026-10-07-myia-po-2026-CoursIA-2.yaml new file mode 100644 index 0000000000..90bcc75214 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/probas-3-factor-graphs/0017-2026-10-07-myia-po-2026-CoursIA-2.yaml @@ -0,0 +1,6 @@ +date: '2026-10-07' +by: myia-po-2026:CoursIA-2 +python_sha: c1c0ab1a48c40bc0b50d0b24d7553e2ecfd020b3 +csharp_sha: c4e9157d2b318356c7c446779b0681517bef47a9 +content_python_sha: d82affe7d9fcdd7ddac09d7a7b0e818fb492447aa705ae260f765294b7f4cd9d +content_csharp_sha: 90b1ed14401fb3ca5fb7e27daf11465cf2a6782f5a56254b447e972a249d202a diff --git a/scripts/notebook_tools/twin_pairs.d/probas-5-causal-inference/0017-2026-10-07-myia-po-2026-CoursIA-2.yaml b/scripts/notebook_tools/twin_pairs.d/probas-5-causal-inference/0017-2026-10-07-myia-po-2026-CoursIA-2.yaml new file mode 100644 index 0000000000..f6b7e4a202 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/probas-5-causal-inference/0017-2026-10-07-myia-po-2026-CoursIA-2.yaml @@ -0,0 +1,6 @@ +date: '2026-10-07' +by: myia-po-2026:CoursIA-2 +python_sha: a7b1fc6408be364075dfa01064f1acc481ea400d +csharp_sha: 41244574ca62f3249d4f448c75e93c8059e1cd0d +content_python_sha: cea12c81a9f61527147c4846c47158c80d01edc14d7ba19bdbcff955937965bc +content_csharp_sha: 3bd660f505adda253ce501a04dedec5856a09c22e4e51143305eb3ea41ed4d1d diff --git a/scripts/notebook_tools/twin_pairs.d/search-03-informed/0021-2026-10-07-myia-po-2026-CoursIA-2.yaml b/scripts/notebook_tools/twin_pairs.d/search-03-informed/0021-2026-10-07-myia-po-2026-CoursIA-2.yaml new file mode 100644 index 0000000000..f2a3aba504 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/search-03-informed/0021-2026-10-07-myia-po-2026-CoursIA-2.yaml @@ -0,0 +1,6 @@ +date: '2026-10-07' +by: myia-po-2026:CoursIA-2 +python_sha: 794968d219a110f709f7d8c2b80598805a5103a8 +csharp_sha: 8ea8bf4ebe2196b0d09e9c0735ed9cb04b6750f0 +content_python_sha: f471c4265d078af03f5354bf1e94a5235535963ccdae9ef5850dae09755dcf31 +content_csharp_sha: 4e29734e57cc8da8250ab2e71920f069ba4b2784bf0febca0b5dff7a2b11a453 diff --git a/scripts/notebook_tools/twin_pairs.d/sudoku-04-simulatedannealing/0020-2026-10-07-myia-po-2026-CoursIA-2.yaml b/scripts/notebook_tools/twin_pairs.d/sudoku-04-simulatedannealing/0020-2026-10-07-myia-po-2026-CoursIA-2.yaml new file mode 100644 index 0000000000..764e2a92ea --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/sudoku-04-simulatedannealing/0020-2026-10-07-myia-po-2026-CoursIA-2.yaml @@ -0,0 +1,6 @@ +date: '2026-10-07' +by: myia-po-2026:CoursIA-2 +python_sha: 7b0c2845416e25c8293c18b4dfa1af693e838ad9 +csharp_sha: 44ff2d3e2844cc17ea7076258e4b60c92b947cbd +content_python_sha: cecf27fe2c778b9b91b2315276952c16c478939eda6d29f3fb179655d9e569ca +content_csharp_sha: a0701c70254c1434ae6ec5925e92cb441462ae81473949882b47984f977b2fed diff --git a/scripts/notebook_tools/twin_pairs.d/sudoku-05-pso/0021-2026-10-07-myia-po-2026-CoursIA-2.yaml b/scripts/notebook_tools/twin_pairs.d/sudoku-05-pso/0021-2026-10-07-myia-po-2026-CoursIA-2.yaml new file mode 100644 index 0000000000..faa8d31548 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/sudoku-05-pso/0021-2026-10-07-myia-po-2026-CoursIA-2.yaml @@ -0,0 +1,6 @@ +date: '2026-10-07' +by: myia-po-2026:CoursIA-2 +python_sha: 4969ad438dacf83dc13fcc154818932827ea8ee0 +csharp_sha: e5537a12da13d4113cbe3b20426ab04f3bb07319 +content_python_sha: e16fc148c825707e6702c73800603e589a66d0ec7afb037bce264050ab4b3c1c +content_csharp_sha: 944eb74b776eca035020edf4a9912840f20ca8905d53b729b87de72d8a555aa2 diff --git a/scripts/notebook_tools/twin_pairs.d/sudoku-09-graphcoloring/0018-2026-10-07-myia-po-2026-CoursIA-2.yaml b/scripts/notebook_tools/twin_pairs.d/sudoku-09-graphcoloring/0018-2026-10-07-myia-po-2026-CoursIA-2.yaml new file mode 100644 index 0000000000..012d4b14b8 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/sudoku-09-graphcoloring/0018-2026-10-07-myia-po-2026-CoursIA-2.yaml @@ -0,0 +1,6 @@ +date: '2026-10-07' +by: myia-po-2026:CoursIA-2 +python_sha: 88c6f5ae56c75b604ebefa0be61d6060f961ecef +csharp_sha: dc20c2a8a8968e280d0169f2505100a9f40b2294 +content_python_sha: 76a7a64fade11ace3b667bf109a939f27aea9b12ad24e4e5f8b3a60418fc2e4b +content_csharp_sha: 2be20938aa8e9adedff9d1c50b847f775dbc6bf1699b63c71f71dd305ffb89a7 diff --git a/scripts/notebook_tools/twin_pairs.d/sudoku-15-infer/0029-2026-10-07-myia-po-2026-CoursIA-2.yaml b/scripts/notebook_tools/twin_pairs.d/sudoku-15-infer/0029-2026-10-07-myia-po-2026-CoursIA-2.yaml new file mode 100644 index 0000000000..a9ade515df --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/sudoku-15-infer/0029-2026-10-07-myia-po-2026-CoursIA-2.yaml @@ -0,0 +1,6 @@ +date: '2026-10-07' +by: myia-po-2026:CoursIA-2 +python_sha: 0e4817d94e7feed46ea1afdf0f15685647be3863 +csharp_sha: 2a824141a79d55ff55b1670ddb58432d1921e11c +content_python_sha: b0652b39a031dd16329a776b7ae5a3017959b1a7fcf6a8073f52b78aea0e0be6 +content_csharp_sha: b3f53f1bbb92ef5f94fa3a1eceb484217a940dee65c61179f56014e2a7989143