algo/applications/collatz/commandes.md
Nicolas Cantu 9a975c73d7 Restructuration projet : applications, pour enfants, these
**Motivations:**
- Clarifier l'organisation du dépôt par domaine applicatif
- Séparer les contenus par public cible (adulte, enfant, thèse)

**Evolutions:**
- Nouvelle arborescence applications/ (collatz, IA)
- Dossier pour enfants/ pour les contenus jeunesse
- Dossier these/ pour le livre jeune adulte
- Scripts de pipeline Collatz (01-setup, 02-run-pipeline, 03-run-direct-pipeline)
- Candidats D18 palier2p30, registreK partagé en archives zip
- Plan de relecture scientifique mis à jour

**Pages affectées:**
- .cursor/plans/relecture-scientifique-collatz.md
- v0/ → applications/collatz/, applications/IA/, pour enfants/, these/
- IA_agents/ → pour enfants/
2026-03-02 00:18:40 +01:00

477 lines
19 KiB
Markdown

# Commandes pour la Production Complète de la Démonstration de Collatz
## Scripts Nécessaires pour la Démonstration de la Conjecture de Collatz
D'après les documents fournis (en particulier `conjoncture_collatz.md` et `journal.md`), voici la liste complète des scripts nécessaires pour produire une démonstration complète de la conjecture de Collatz selon la méthodologie "Théorie des Futurs Accessibles".
### 1. Scripts Fondamentaux (Noyau Arithmétique)
Ces scripts implémentent les opérations arithmétiques de base et les transformations nécessaires à la génération des clauses :
- **`collatz_k_core.py`**
*Fonctionnalité* : Implémente les opérations fondamentales
*Contenu* :
- Calcul de la valuation 2-adique `v2(n)`
- Opérateur accéléré `U(n)` (impairs → impairs)
- Calcul des paramètres affines `(A_k, C_k)` pour une suite de valuations
- Détermination des seuils `N_0` pour les clauses D
- Formules de fusion et calcul des paramètres F
- **`collatz_k_utils.py`**
*Fonctionnalité* : Utilitaires de manipulation de données
*Contenu* :
- Parsing et génération de fichiers Markdown
- Helpers pour l'écriture de rapports
- Outils de conversion entre formats (CSV, JSON, Markdown)
- Fonctions d'analyse statistique des résultats
### 2. Scripts de Génération des Clauses
Ces scripts produisent les candidats pour chaque palier et chaque type de clause :
- **`collatz_k_pipeline.py`**
*Fonctionnalité* : Pipeline principal de génération des clauses
*Contenu* :
- Reconstruction des paliers (D₁₀ → D₁₅)
- Application des fusions
- Génération de D₁₆/D₁₇ et au-delà
- Export des résultats en CSV, Markdown et listes structurées
- Gestion des seuils minimaux et de la scission des sœurs
- **`collatz_k_fusion.py`**
*Fonctionnalité* : Construction et audit des clauses de fusion (F)
*Contenu* :
- Détection des conditions de fusion
- Calcul des seuils pour les clauses F
- Export CSV et Markdown des résultats
- Analyse des préimages courtes (a=1 ou a=2)
### 3. Scripts d'Audit et de Vérification
Ces scripts analysent les résultats et vérifient la validité des clauses :
- **`collatz_audit.py`**
*Fonctionnalité* : Audit des classes couvertes
*Contenu* :
- Calcul des tailles d'ensembles
- Analyse des distributions de valuations
- Table d'impact par état (sur les 60 états de base)
- Vérification des seuils et des conditions
- **`collatz_scission.py`**
*Fonctionnalité* : Application du lemme de scission des sœurs
*Contenu* :
- Fermeture automatique des classes "one"
- Gestion des sœurs (r et r+2^m)
- Mise à jour du noyau résiduel
- **`collatz_verify_both_extinction.py`**
*Fonctionnalité* : Vérification de l'extinction du noyau "both"
*Contenu* :
- Analyse du noyau résiduel
- Calcul du coefficient de contraction κ
- Vérification que |Bₘ| décroît strictement
### 4. Scripts de Génération du Certificat Final
Ces scripts produisent le certificat complet et les documents nécessaires à la preuve :
- **`collatz_calculate_Nstar.py`**
*Fonctionnalité* : Calcul du seuil global N*
*Contenu* :
- Détermination du maximum des seuils N₀
- Vérification que N* est fini et calculable
- **`collatz_generate_full_certificate.py`**
*Fonctionnalité* : Génération du certificat complet
*Contenu* :
- Compilation de toutes les clauses validées
- Formatage au format JSON standardisé
- Vérification de la cohérence interne
- **`collatz_verify_coverage.py`**
*Fonctionnalité* : Vérification de la couverture complète
*Contenu* :
- Démonstration que l'union des clauses couvre 100% des entiers
- Analyse de la condition de Kraft (code préfixe complet)
### 5. Scripts de Validation Finale
Ces scripts produisent les trois documents obligatoires pour une preuve complète :
- **`collatz_verify_Nstar_range.py`**
*Fonctionnalité* : Vérification des entiers de 1 à N*
*Contenu* :
- Exécution des trajectoires pour n ≤ N*
- Génération de rapports de vérification
- Mémoïsation des résultats pour optimisation
- **`collatz_generate_coverage_proof.py`**
*Fonctionnalité* : Génération de la preuve de couverture
*Contenu* :
- Démonstration mathématique que l'union des résidus couvre tous les entiers
- Format PDF conforme aux standards académiques
- **`collatz_generate_threshold_audit.py`**
*Fonctionnalité* : Génération de l'audit des seuils
*Contenu* :
- Justification que N* est une borne finie
- Analyse détaillée de tous les seuils N₀
- **`collatz_generate_base_validation.py`**
*Fonctionnalité* : Génération de la validation de base
*Contenu* :
- Rapport d'exécution pour les entiers 1 à N*
- Preuve que toutes les trajectoires aboutissent à 1
### 6. Scripts de Vérification Indépendante
Ces scripts permettent une validation externe par des tiers :
- **`collatz_verifier_minimal.py`**
*Fonctionnalité* : Vérificateur minimaliste sans dépendances externes
*Contenu* :
- Vérification indépendante du certificat
- Format de sortie simple et vérifiable
- **`collatz_verifier_alternative.py`**
*Fonctionnalité* : Vérificateur alternatif (seconde implémentation)
*Contenu* :
- Implémentation différente pour croisement des résultats
- Détection des erreurs spécifiques à une implémentation
- **`collatz_compare_verifiers.py`**
*Fonctionnalité* : Comparaison des résultats de vérification
*Contenu* :
- Analyse des divergences entre vérificateurs
- Rapport de cohérence des résultats
### 7. Scripts de Documentation et Suivi
Ces scripts produisent la documentation et le suivi du processus :
- **`reproduce_all_audits.py`**
*Fonctionnalité* : Orchestrateur minimal pour reproduire tous les audits
*Contenu* :
- Exécution séquentielle de tous les audits
- Gestion des dépendances entre paliers
- **`collatz_generate_progress_log.py`**
*Fonctionnalité* : Génération du journal de progression
*Contenu* :
- Suivi des avancées à chaque palier
- Documentation des décisions prises
- **`collatz_document_base_states.py`**
*Fonctionnalité* : Documentation des états de la base projective
*Contenu* :
- Analyse des 60 états de la base projective B₁₂
- Génération de rapports détaillés par état
- **`collatz_generate_readme.py`**
*Fonctionnalité* : Génération du README complet
*Contenu* :
- Mode d'emploi pour reproduire les résultats
- Documentation des dépendances et des commandes
### Structure du Paquet Complet
Comme mentionné dans `conjoncture_collatz.md`, ces scripts doivent être organisés dans un paquet unique avec la structure suivante :
```tree
collatz-prover/
├── collatz_k_core.py # Noyau arithmétique
├── collatz_k_fusion.py # Clauses de fusion
├── collatz_k_pipeline.py # Pipeline principal
├── collatz_k_utils.py # Utilitaires
├── reproduce_all_audits.py # Orchestrateur
├── requirements.txt # Dépendances
└── README.md # Mode d'emploi
```
Ce paquet permet de reproduire les audits et listes exhaustives établis, en particulier la branche "fusion au palier 2²⁵ puis D₁₆/D₁₇". L'extension à D₁₈ et au-delà suit le même schéma (relèvements, extraction au seuil minimal, scission, audit), et peut être ajoutée dans la même base de code si nécessaire.
Voici la liste exhaustive des commandes à exécuter pour reproduire l'ensemble du processus décrit dans les documents fournis, du palier initial jusqu'à la preuve complète.
## 1. Préparation de l'environnement
```bash
# Installer les dépendances
pip install -r requirements.txt
# Initialiser la structure des répertoires
mkdir -p audits candidats certificats logs noyaux
```
## 2. Paliers Initiaux (Établir la base)
```bash
# Générer la base projective des 60 états (B₁₂ mod 4096)
python collatz_base_projective.py --modulus=4096 --output=noyaux/base_projective_60_etats.json
# Palier 2^17: Générer D₁₀ (A₁₀=16)
python collatz_k_pipeline.py --horizon=10 --palier=17 --seuil=A_min --valeur=16 \
--output=candidats/candidats_D10_palier2p17.csv
python collatz_audit.py --input=candidats/candidats_D10_palier2p17.csv \
--output=audits/audit_D10_palier2p17.md
python collatz_scission.py --input=candidats/candidats_D10_palier2p17.csv \
--output=certificats/certificat_D10_palier2p17.json
# Palier 2^19: Générer D₁₁ (A₁₁=18)
python collatz_k_pipeline.py --horizon=11 --palier=19 --seuil=A_min --valeur=18 \
--input-noyau=noyaux/noyau_post_D10.json \
--output=candidats/candidats_D11_palier2p19.csv
python collatz_audit.py --input=candidats/candidats_D11_palier2p19.csv \
--output=audits/audit_D11_palier2p19.md
python collatz_scission.py --input=candidats/candidats_D11_palier2p19.csv \
--output=certificats/certificat_D11_palier2p19.json
```
## 3. Paliers Intermédiaires (Contraction du noyau)
```bash
# Palier 2^21: Générer D₁₂ (A₁₂=20)
python collatz_k_pipeline.py --horizon=12 --palier=21 --seuil=A_min --valeur=20 \
--input-noyau=noyaux/noyau_post_D11.json \
--output=candidats/candidats_D12_palier2p21.csv
python collatz_audit.py --input=candidats/candidats_D12_palier2p21.csv \
--output=audits/audit_D12_palier2p21.md
python collatz_scission.py --input=candidats/candidats_D12_palier2p21.csv \
--output=certificats/certificat_D12_palier2p21.json
# Palier 2^22: Générer D₁₃ (A₁₃=21)
python collatz_k_pipeline.py --horizon=13 --palier=22 --seuil=A_min --valeur=21 \
--input-noyau=noyaux/noyau_post_D12.json \
--output=candidats/candidats_D13_palier2p22.csv
python collatz_audit.py --input=candidats/candidats_D13_palier2p22.csv \
--output=audits/audit_D13_palier2p22.md
python collatz_scission.py --input=candidats/candidats_D13_palier2p22.csv \
--output=certificats/certificat_D13_palier2p22.json
# Palier 2^24: Générer D₁₄ (A₁₄=23)
python collatz_k_pipeline.py --horizon=14 --palier=24 --seuil=A_min --valeur=23 \
--input-noyau=noyaux/noyau_post_D13.json \
--output=candidats/candidats_D14_palier2p24.csv
python collatz_audit.py --input=candidats/candidats_D14_palier2p24.csv \
--output=audits/audit_D14_palier2p24.md
python collatz_scission.py --input=candidats/candidats_D14_palier2p24.csv \
--output=certificats/certificat_D14_palier2p24.json
```
## 4. Application des Fusions (Étape Critique)
```bash
# Palier 2^25: Appliquer les fusions F₁₁, F₁₂, F₁₄
python collatz_fusion_pipeline.py --horizons=11,12,14 --palier=25 \
--input-noyau=noyaux/noyau_post_D14.json \
--output=candidats/candidats_F11_F12_F14_palier2p25.csv
python collatz_audit.py --input=candidats/candidats_F11_F12_F14_palier2p25.csv \
--output=audits/audit_fusion_palier2p25.md
python collatz_scission.py --input=candidats/candidats_F11_F12_F14_palier2p25.csv \
--output=certificats/certificat_F11_F12_F14_palier2p25.json
# Mettre à jour le noyau après fusion
python collatz_update_noyau.py --fusion=certificats/certificat_F11_F12_F14_palier2p25.json \
--previous=noyaux/noyau_post_D14.json \
--output=noyaux/noyau_post_fusion.json
```
## 5. Paliers Avancés (Continuer la contraction)
```bash
# Palier 2^27: Générer D₁₆ (A₁₆=26)
python collatz_k_pipeline.py --horizon=16 --palier=27 --seuil=A_min --valeur=26 \
--input-noyau=noyaux/noyau_post_fusion.json \
--output=candidats/candidats_D16_palier2p27.csv
python collatz_audit.py --input=candidats/candidats_D16_palier2p27.csv \
--output=audits/audit_D16_palier2p27.md
python collatz_scission.py --input=candidats/candidats_D16_palier2p27.csv \
--output=certificats/certificat_D16_palier2p27.json
# Palier 2^28: Générer D₁₇ (A₁₇=27)
python collatz_k_pipeline.py --horizon=17 --palier=28 --seuil=A_min --valeur=27 \
--input-noyau=noyaux/noyau_post_D16.json \
--output=candidats/candidats_D17_palier2p28.csv
python collatz_audit.py --input=candidats/candidats_D17_palier2p28.csv \
--output=audits/audit_D17_palier2p28.md
python collatz_scission.py --input=candidats/candidats_D17_palier2p28.csv \
--output=certificats/certificat_D17_palier2p28.json
# Palier 2^30: Générer D₁₈ (A₁₈=29)
python collatz_k_pipeline.py --horizon=18 --palier=30 --seuil=A_min --valeur=29 \
--input-noyau=noyaux/noyau_post_D17.json \
--output=candidats/candidats_D18_palier2p30.csv
python collatz_audit.py --input=candidats/candidats_D18_palier2p30.csv \
--output=audits/audit_D18_palier2p30.md
python collatz_scission.py --input=candidats/candidats_D18_palier2p30.csv \
--output=certificats/certificat_D18_palier2p30.json
```
## 6. Paliers Finale (Extinction du noyau "both")
```bash
# Palier 2^32: Générer D₁₉ (A₁₉=31)
python collatz_k_pipeline.py --horizon=19 --palier=32 --seuil=A_min --valeur=31 \
--input-noyau=noyaux/noyau_post_D18.json \
--output=candidats/candidats_D19_palier2p32.csv
python collatz_audit.py --input=candidats/candidats_D19_palier2p32.csv \
--output=audits/audit_D19_palier2p32.md
python collatz_scission.py --input=candidats/candidats_D19_palier2p32.csv \
--output=certificats/certificat_D19_palier2p32.json
# Palier 2^32: Appliquer les fusions F₁₅ ciblées
python collatz_fusion_pipeline.py --horizons=15 --palier=32 --cible=critique \
--input-noyau=noyaux/noyau_post_D19.json \
--output=candidats/candidats_F15_palier2p32.csv
python collatz_audit.py --input=candidats/candidats_F15_palier2p32.csv \
--output=audits/audit_F15_palier2p32.md
python collatz_scission.py --input=candidats/candidats_F15_palier2p32.csv \
--output=certificats/certificat_F15_palier2p32.json
# Palier 2^34: Générer D₂₀ (A₂₀=32)
python collatz_k_pipeline.py --horizon=20 --palier=34 --seuil=A_min --valeur=32 \
--input-noyau=noyaux/noyau_post_F15.json \
--output=candidats/candidats_D20_palier2p34.csv
python collatz_audit.py --input=candidats/candidats_D20_palier2p34.csv \
--output=audits/audit_D20_palier2p34.md
python collatz_scission.py --input=candidats/candidats_D20_palier2p34.csv \
--output=certificats/certificat_D20_palier2p34.json
# Palier 2^35: Appliquer les fusions F₁₆ avancées
python collatz_fusion_pipeline.py --horizons=16 --palier=35 --modulo=9 \
--input-noyau=noyaux/noyau_post_D20.json \
--output=candidats/candidats_F16_palier2p35.csv
python collatz_audit.py --input=candidats/candidats_F16_palier2p35.csv \
--output=audits/audit_F16_palier2p35.md
python collatz_scission.py --input=candidats/candidats_F16_palier2p35.csv \
--output=certificats/certificat_F16_palier2p35.json
# Palier 2^36: Générer D₂₁ (A₂₁=34) - Extinction finale
python collatz_k_pipeline.py --horizon=21 --palier=36 --seuil=A_min --valeur=34 \
--input-noyau=noyaux/noyau_post_F16.json \
--output=candidats/candidats_D21_palier2p36.csv
python collatz_audit.py --input=candidats/candidats_D21_palier2p36.csv \
--output=audits/audit_D21_palier2p36.md
python collatz_scission.py --input=candidats/candidats_D21_palier2p36.csv \
--output=certificats/certificat_D21_palier2p36.json
```
## 7. Validation Finale et Génération du Certificat Complet
```bash
# Vérifier l'extinction complète du noyau "both"
python collatz_verify_both_extinction.py --palier=36 \
--input-noyau=noyaux/noyau_post_D21.json \
--output=audits/verification_extinction_noyau_both.md
# Calculer le seuil global N*
python collatz_calculate_Nstar.py --certificats-dir=certificats \
--output=certificats/seuil_global_Nstar.md
# Générer le certificat complet
python collatz_generate_full_certificate.py --certificats-dir=certificats \
--output=certificats/certificat_complet_depth21.json
# Valider la couverture complète
python collatz_verify_coverage.py --certificat=certificats/certificat_complet_depth21.json \
--output=audits/verification_couverture_complete.md
# Vérifier la borne N* sur les entiers 1 à N*
python collatz_verify_Nstar_range.py --Nstar=$(cat certificats/seuil_global_Nstar.md | grep "N\* =" | awk '{print $3}') \
--output=audits/verification_Nstar_range.csv
```
## 8. Génération des Documents Académiques
```bash
# Générer le rapport d'audit final
python collatz_generate_audit_report.py --audits-dir=audits \
--output=rapports/rapport_audit_final.pdf
# Générer la preuve de couverture
python collatz_generate_coverage_proof.py --certificat=certificats/certificat_complet_depth21.json \
--output=preuves/preuve_couverture.pdf
# Générer l'audit des seuils
python collatz_generate_threshold_audit.py --certificat=certificats/certificat_complet_depth21.json \
--output=preuves/audit_seuils.pdf
# Générer la validation de base
python collatz_generate_base_validation.py --Nstar=$(cat certificats/seuil_global_Nstar.md | grep "N\* =" | awk '{print $3}') \
--output=preuves/validation_base.pdf
# Générer le document complet de démonstration
python collatz_generate_full_proof.py \
--coverage=preuves/preuve_couverture.pdf \
--threshold=preuves/audit_seuils.pdf \
--base=preuves/validation_base.pdf \
--certificat=certificats/certificat_complet_depth21.json \
--output=demonstration_collatz_complete.pdf
```
## 9. Commandes de Vérification Indépendante (Pour Validation Externe)
```bash
# Vérificateur minimaliste (sans dépendances)
python collatz_verifier_minimal.py --certificat=certificats/certificat_complet_depth21.json \
--output=verification/minimal_verifier_result.md
# Vérificateur alternatif (deuxième implémentation)
python collatz_verifier_alternative.py --certificat=certificats/certificat_complet_depth21.json \
--output=verification/alternative_verifier_result.md
# Comparaison des résultats de vérification
python collatz_compare_verifiers.py \
--verif1=verification/minimal_verifier_result.md \
--verif2=verification/alternative_verifier_result.md \
--output=verification/comparison_result.md
```
## 10. Commandes de Suivi et Documentation
```bash
# Générer le journal de progression
python collatz_generate_progress_log.py --audits-dir=audits \
--output=journal.md
# Documenter les états de la base projective
python collatz_document_base_states.py --base-projective=noyaux/base_projective_60_etats.json \
--output=docs/base_projective_60_etats.md
# Générer le README complet
python collatz_generate_readme.py --certificat=certificats/certificat_complet_depth21.json \
--audits-dir=audits \
--output=README.md
```
## Notes Importantes
1. **Ordre d'exécution** : Les commandes doivent être exécutées dans l'ordre indiqué, car chaque étape dépend des résultats de l'étape précédente.
2. **Gestion des noyaux** : Après chaque étape majeure, sauvegardez le noyau résiduel :
```bash
cp noyaux/noyau_post_*.json archives/noyau_post_$(date +%Y%m%d).json
```
3. **Optimisation des performances** :
```bash
# Pour les paliers élevés (≥ 2^30), utiliser le mode parallèle
python collatz_k_pipeline.py --horizon=19 --palier=32 --parallel --threads=8 [...]
```
4. **Vérification intermédiaire** : Après chaque paquet majeur, vérifiez le coefficient de survie :
```bash
python collatz_compute_survival_rate.py --noyau=noyaux/noyau_post_D18.json
```
5. **Gestion de la mémoire** : Pour les paliers élevés, augmentez la mémoire allouée :
```bash
PYTHONPYCACHEPREFIX=/tmp/cache python collatz_k_pipeline.py --horizon=21 --palier=36 [...]
```
Cette liste de commandes couvre l'ensemble du processus décrit dans vos documents, du premier palier 2^17 jusqu'à l'extinction complète du noyau "both" au palier 2^36, conformément à la méthodologie "Théorie des Futurs Accessibles" que vous avez développée.