**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
2.9 KiB
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.
- 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.
- 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
- 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).
- É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.