**Motivations:** - Conserver l'état des scripts Collatz k, pipelines et démonstration - Documenter diagnostic D18/D21, errata, plan de preuve et correctif OOM paliers **Root causes:** - Consommation mémoire excessive (OOM) sur script paliers finale f16 **Correctifs:** - Documentation du crash OOM paliers finale f16 et pistes de correction **Evolutions:** - Évolutions des pipelines fusion/k, recover/update noyau, script 08-paliers-finale - Ajout de docs (diagnostic, errata, plan lemmes, fixKnowledge OOM) **Pages affectées:** - applications/collatz/collatz_k_scripts/*.py, note.md, requirements.txt - applications/collatz/collatz_k_scripts/*.md (diagnostic, errata, plan) - applications/collatz/scripts/08-paliers-finale.sh, README.md - docs/fixKnowledge/crash_paliers_finale_f16_oom.md
64 lines
2.9 KiB
Markdown
64 lines
2.9 KiB
Markdown
Documentation Technique : Pipeline de Preuve Collatz-K
|
|
|
|
Ce document détaille l'architecture et le fonctionnement du paquet de scripts collatz_k_scripts.zip, conçu pour la reproduction des audits du registre de couverture $K$.
|
|
|
|
1. Architecture des Modules
|
|
|
|
1.1. collatz_k_core.py (Le Noyau)
|
|
|
|
C'est le moteur arithmétique. Il ne dépend d'aucune bibliothèque externe.
|
|
|
|
U_step(n) : Calcule un pas de la dynamique accélérée (impair vers impair).
|
|
|
|
PrefixData : Classe de données stockant le "mot" de valuations, la somme $A$, la constante $C$ et le résidu final $y$.
|
|
|
|
Calcul des Seuils : Implémente N0_D (Seuil de descente) et Nf_F (Seuil de fusion) pour garantir que la réduction est effective pour tout $n > N^*$.
|
|
|
|
1.2. collatz_k_fusion.py (La Logique de Collision)
|
|
|
|
Ce module est dédié à l'injection des clauses de fusion (F).
|
|
|
|
Principe : Il identifie les classes où $U^{(t)}(n) \equiv 1 \text{ ou } 2 \pmod 3$.
|
|
|
|
Audit d'Impact : Calcule la fraction de la mesure de Haar couverte par la fusion pour chacun des 60 états de la base $B_{12}$.
|
|
|
|
1.3. collatz_k_pipeline.py (L'Orchestrateur de Flux)
|
|
|
|
C'est le module de haut niveau qui gère la progression des paliers :
|
|
|
|
Reconstruction : Reprend les données de $D_{10}$ (palier $2^{17}$).
|
|
|
|
Élévation : Monte jusqu'au palier $2^{25}$ pour injecter la fusion.
|
|
|
|
Expansion : Génère les candidats pour $D_{16}$ (palier $2^{27}$) et $D_{17}$ (palier $2^{28}$).
|
|
|
|
Optimisations mémoire : run_single_palier et run_recover n'allouent pas la liste « lifted » complète ; deux passes sur les résidus ; écriture JSON du noyau en flux. run_update_noyau écrit aussi le noyau en flux.
|
|
|
|
1.4. collatz_k_utils.py
|
|
|
|
Fournit les outils de parsing pour extraire les entiers et les tables depuis les fichiers Markdown existants, assurant la continuité avec les rapports précédents.
|
|
|
|
2. Procédure de Reproduction
|
|
|
|
Pour reproduire l'intégralité de l'audit actuel :
|
|
|
|
Placer les fichiers sources (.json et .md) dans un dossier /inputs.
|
|
|
|
Lancer l'orchestrateur :
|
|
|
|
python reproduce_all_audits.py --root ./inputs --out ./results
|
|
|
|
|
|
3. Invariants de Sécurité du Code
|
|
|
|
Intégrité p-adique : Le code utilise exclusivement des entiers de précision arbitraire (Python int) pour éviter toute erreur de flottant.
|
|
|
|
Validation des Deltas : Avant de valider une clause, le script vérifie systématiquement que $\Delta_D > 0$ ou $\Delta_F > 0$.
|
|
|
|
Reproductibilité : Les sorties CSV contiennent tous les paramètres nécessaires ($A, C, \gamma, N_0$) pour vérifier chaque ligne à la main ou avec un autre outil (type Mathematica/Maple).
|
|
|
|
4. Évolutivité
|
|
|
|
Le pipeline est conçu pour accepter de nouveaux paliers. Pour tester $D_{18}$, il suffit d'étendre la boucle de recherche dans run_after_fusion_D16_D17 en incrémentant le module de puissance.
|
|
|
|
Note : Ce code est optimisé pour la clarté mathématique plutôt que pour la performance brute, afin de faciliter l'audit par les pairs. |