Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,538 changes: 1,123 additions & 415 deletions MyIA.AI.Notebooks/Search/Part1-Foundations/Search-05-GeneticAlgorithms.ipynb

Large diffs are not rendered by default.

2,724 changes: 2,724 additions & 0 deletions MyIA.AI.Notebooks/Search/Part1-Foundations/data/equity_panel_daily.csv

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
bridge_verdict: SOTA-OK
bridge_verdict_reason: "Python = `deap` (Distributed Evolutionary Algorithms in Python, Fortin et al. 2012, MIT-license, lib SOTA GA Python : toolbox + creator + base + fitness maximization via `creator.FitnessMax` + algorithms.eaSimple / eaMuPlusLambda) + `pygad` (Ahmed Gad, MIT-license, GA Python SOTA-tier, interface haut-niveau `pygad.GA(...)` + run()). C# = `MetaGeneticSharp` local (wrapper .NET 9 sur GeneticSharp, MIT-license, 4 DLLs : GeneticSharp.Domain.dll + GeneticSharp.Infrastructure.Framework.dll + MetaGeneticSharp.Domain.dll + GeneticSharp.Infrastructure.dll) + `GeneticSharp` NuGet (dbarbosettig, MIT-license, lib SOTA GA .NET). Verdict SOTA-OK (modèle owner PR #10420 MERGED pour Search-11 tranche 2 + PR #10523 c.215 pour Sudoku-03 Genetic) : les DEUX cotes utilisent une vraie lib GA SOTA (deap+pygad cote PY, GeneticSharp+MetaGeneticSharp cote C#), couverture fonctionnelle equivalente (population / fitness / selection / crossover / mutation / elitism), bridge direct sans glue non-SOTA. Asymetrie documentee : PY a 2 libs (deap bas-niveau + pygad haut-niveau) vs C# 2 DLLs (GeneticSharp base + MetaGeneticSharp wrapper), l'API surface est differente (deap toolbox vs GeneticSharp fluent) mais le potentiel est equivalent."
known_differences:
- "2026-11-02 (re-execution integrale un-run #24003, lane myia-po-2024:CoursIA) : remediation de la reserve Hermes classe #22804 (sorties transplantees -> enveloppe menteuse : c89/c91 portaient des horodatages d'un run distinct). Re-execution complete en UN SEUL run papermill (95/95 cellules, 0 erreur, enveloppe unique 2026-11-02T04:55:36Z -> 04:59:18Z, 39/39 cellules code horodatees dedans, c89/c91 contigus). Nouvelle famille de sorties AUTHENTIQUE pour la section 13 : le champion de la demo devient une constante (1.61, fitness 0.761) -- mecanisme mesure : residu d'un ULP du centrage amplifie par l'epsilon 1e-12 de la normalisation en coupe => scores constants -> poids egaux => panier equipondere (0.761 = Sharpe panier fenetre d'entrainement 0.78 - 0.02 x 1 noeud) ; verdict walk-forward INCHANGE en substance (INCONCLUSIVE, DM 0.169, edge +6.92 bps, 5 graines positives). Prose c77/c81/c90/c92 realignee sur ces sorties (retrait des ~1.02-1.03x non ancrees dans une sortie et du timing figure). Sections 1-12 : sorties TSP inchangees (gaps 1.00x aux trois tailles). Cote C# non modifie."
- "2026-11-02 (re-execution canon #24003, lane myia-po-2024:CoursIA) : la tete de la PR tranche 1 portait les sorties de sa re-execution du 2026-11-01 faite sous CPython 3.13.14 -- gaps 1.13x/1.13x aux tailles 9/10, contredisant la table statique re-derivee par la convergence canon du 2026-10-30. Re-execution complete sous le canon (venv CPython 3.13.15, numpy 2.5.4, kernel py31315 ; 95/95 cellules, 0 erreur) : gaps 1.00x aux trois tailles, la sortie dynamique redevient coherente avec la table. Aucune cellule source modifiee (pure re-execution), sections 1-13 inchangees en source, la structure de divergence (section 13 additive cote Python) est inchangee. Cote C# non modifie."
- "2026-11-01 (#23998 tranche 1, lane myia-po-2024:CoursIA) : EDITION DE FOND Python d'abord — nouvelle section 13 « Pont finance : évolution d'expressions alpha » en fin de carnet Python (13 cellules : 6 code + 7 interprétations ; panier gelé data/equity_panel_daily.csv 8 titres 2016→2026, moteur vectorisé dollar-neutre 5 bps/rebal 5 j, grammaire GP deap 6 primitives x 6 features, verdict doctrine §C walk-forward 5 plis x 5 graines + Diebold-Mariano → INCONCLUSIVE, exercice 4). Tranche 2 C# OUVERTE à la livraison (issue dédiée : même dispositif côté CSharp avec l'organe GA natif du jumeau, verdict lu sur ses propres runs) — pattern CSP-9 #23975 → #23993. Les sections 1-12 des deux jumeaux sont inchangées : la divergence est additive côté Python, la parité des sections partagées est inchangee."
- "2026-10-30 (convergence canon #23429, lane myia-po-2027:CoursIA) : carnet Python re-execute sous le canon CPython 3.13.15 (82/82 cellules, 0 erreur, 29 s) -- DIFFERENCE DE REALISATION RNG : le crossover PMX consomme le flux RNG global numpy, donc le GA seed=42 atteint l'optimum exact aux trois tailles (gaps 1.00x) la ou l'execution de reference mesurait 1.02-1.03x (GA 32,73 / 37,63 vs exact 31,66 / 36,99). Deux defauts de coherence preexistants de la section Prong B corriges a la source : la conclusion de la cellule de comparaison est desormais DERIVEE des gaps mesures (elle etait une chaine statique contredite par ses propres lignes dynamiques) et la table + note methodologique sont re-derivees (elles epinglaient 35.75 / 41.71 et des gaps ~1.13x, deja stale vs la sortie de la base, et revendiquaient les distances GA comme invariants structurels du seed=42 -- faux : elles dependent de la version numpy). Cote C# non modifie."
- "2026-10-21 (myia-po-2028:CoursIA, #21770 / tranche 2 #19253) : re-baseline de forme, sans changement de fond. La tranche a aplati `Search/Applications/` en `Search/Part3-Cas-pratiques/` ; ce carnet a suivi mecaniquement pour deux raisons : un lien croise `../Search/Applications/` devenu mort, reancre sur `../Search/Part3-Cas-pratiques/`, et le LF final restaure apres la reecriture JSON. Aucune cellule de code, aucune sortie et aucun enonce ne sont modifies : la divergence entre les deux jumeaux est inchangee."
- "Rebaseline c.34 (ai-01) : #8697 a insere le bloc `metadata.cost` (#8056) a l'identique sur les DEUX jumeaux — les deux blob SHA ont bouge, la parite semantique est inchangee. Attestation de parite, pas reparation."
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-11-01'
by: myia-po-2024:CoursIA
python_sha: b0ac6fb09baa10c25307c8139bcf781590400c31
csharp_sha: c18bafe3d82a1b46485cb0cff16cf0ff9fb220fa
content_python_sha: d7ad0544fc00ae37841c2e0fa8393cceeb0e5dbd7b59443a2d9d15648553de0c
content_csharp_sha: 84a1801421e930871d9dda2e91ba08e5f23d6c708b79c3f126478c8aabd88415
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-11-01'
by: myia-po-2024:CoursIA
python_sha: 1cc0eae3d898b1a04d983a31c026288c5d44a8ea
csharp_sha: c18bafe3d82a1b46485cb0cff16cf0ff9fb220fa
content_python_sha: 2db9e4ff8c668d79465982641f292fedd8fbf9ba64be552df010974f35b56c31
content_csharp_sha: 84a1801421e930871d9dda2e91ba08e5f23d6c708b79c3f126478c8aabd88415
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-11-02'
by: myia-po-2024:CoursIA
python_sha: 47ede0633d82bf6ed365c60ee6ac06aace79ced1
csharp_sha: c18bafe3d82a1b46485cb0cff16cf0ff9fb220fa
content_python_sha: 28805af1ca546973c3775c3783226397ae669e60350f2d1de53af1f70f30fa71
content_csharp_sha: 84a1801421e930871d9dda2e91ba08e5f23d6c708b79c3f126478c8aabd88415
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-11-02'
by: myia-po-2024:CoursIA
python_sha: c7eeb41f4a5d9c09f93a069cc3d6598464595538
csharp_sha: c18bafe3d82a1b46485cb0cff16cf0ff9fb220fa
content_python_sha: f257fe909c2fee2e8203092e9af672e8b59c73a542f9f66695d8788fc0e84a00
content_csharp_sha: 84a1801421e930871d9dda2e91ba08e5f23d6c708b79c3f126478c8aabd88415
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-11-02'
by: myia-po-2024:CoursIA
python_sha: b63a290b9b5b78d6803898f5a70aad4c0d90bb17
csharp_sha: c18bafe3d82a1b46485cb0cff16cf0ff9fb220fa
content_python_sha: 7e29e657c91f499d544f1d8cca3776cf59251a21ab70d6248282c1ddb87de88c
content_csharp_sha: 84a1801421e930871d9dda2e91ba08e5f23d6c708b79c3f126478c8aabd88415
Loading