**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
132 lines
4.6 KiB
Markdown
132 lines
4.6 KiB
Markdown
# Scripts Collatz
|
|
|
|
Scripts dédiés au projet `applications/collatz`, dérivés de `commandes.md`.
|
|
|
|
## Structure
|
|
|
|
| Script | Section commandes.md | Statut |
|
|
|--------|----------------------|--------|
|
|
| `00-run-all.sh` | 1+2 | Exécute setup + pipeline |
|
|
| `01-setup.sh` | 1 | Préparation environnement |
|
|
| `02-run-pipeline.sh` | 2 | Pipeline principal (reproduce_all_audits) |
|
|
| `03-run-direct-pipeline.sh` | - | Pipeline avec chemins explicites |
|
|
| `04-paliers-initials.sh` | 2 | Paliers D10/D11 (partiel) |
|
|
| `05-paliers-intermediaires.sh` | 3 | D12-D14 (intégré au pipeline) |
|
|
| `06-fusion-pipeline.sh` | 4 | Fusion F11/F12/F14 (intégré) |
|
|
| `07-paliers-avances.sh` | 5 | D16/D17 (intégré au pipeline) |
|
|
| `08-paliers-finale.sh` | 6 | D18-D21, F15, F16, extinction noyau both |
|
|
| `09-validation-certificat.sh` | 7 | Validation certificat |
|
|
| `10-documents-academiques.sh` | 8 | Documents académiques (MD) |
|
|
| `11-verification-independante.sh` | 9 | Vérificateurs externes |
|
|
| `12-suivi-documentation.sh` | 10 | Journal, docs |
|
|
| `run-full-workflow.sh` | 1-10 | Workflow complet aligné sur commandes.md |
|
|
|
|
## Utilisation
|
|
|
|
### Environnement Python
|
|
|
|
Utiliser un venv si l'environnement système est géré :
|
|
|
|
```bash
|
|
python3 -m venv .venv && source .venv/bin/activate
|
|
pip install -r collatz_k_scripts/requirements.txt
|
|
```
|
|
|
|
### Prérequis
|
|
|
|
Fichiers d'entrée dans `collatz_k_scripts/` (ou `ROOT`) :
|
|
|
|
- `audit_60_etats_B12_mod4096_horizon7.json` (format: `residue_to_state`, `state_table`)
|
|
- `complétion_minorée_m15_vers_m16.md`
|
|
- `candidats_D10_palier2p17.md`
|
|
|
|
### Exécution rapide
|
|
|
|
```bash
|
|
./scripts/00-run-all.sh
|
|
```
|
|
|
|
### Workflow complet
|
|
|
|
```bash
|
|
./scripts/run-full-workflow.sh
|
|
```
|
|
|
|
### Exécution par étapes
|
|
|
|
```bash
|
|
./scripts/01-setup.sh
|
|
./scripts/02-run-pipeline.sh
|
|
./scripts/08-paliers-finale.sh # D18-D21, F15, F16 (nécessite noyau_post_D17)
|
|
./scripts/09-validation-certificat.sh
|
|
./scripts/10-documents-academiques.sh
|
|
./scripts/11-verification-independante.sh
|
|
./scripts/12-suivi-documentation.sh
|
|
```
|
|
|
|
### Reprise après interruption (D20)
|
|
|
|
Si `08-paliers-finale` a été interrompu après l'écriture de `candidats_D20` mais avant `noyau_post_D20.json` :
|
|
|
|
```bash
|
|
./scripts/08-paliers-finale.sh
|
|
```
|
|
|
|
Le pipeline détecte automatiquement le CSV existant et recrée `noyau_post_D20.json` via `collatz_recover_noyau.py`, puis poursuit F16 et D21.
|
|
|
|
Reprise explicite à partir de D20 (sans recalculer D18, D19, F15) :
|
|
|
|
```bash
|
|
RESUME_FROM=D20 ./scripts/08-paliers-finale.sh
|
|
```
|
|
|
|
Prérequis : `out/noyaux/noyau_post_F15.json` doit exister (produit par une exécution complète de `08-paliers-finale.sh` jusqu'à F15). Utile après un crash en D20 pour reprendre sans refaire D18/D19/F15. Les logs mémoire (`rss_max_mb`) et la dernière étape sont dans `out/pipeline_extend.log` ; en cas de crash une ligne `[CRASH]` y est écrite avec l'exception et la mémoire.
|
|
|
|
### Chemins personnalisés
|
|
|
|
```bash
|
|
ROOT=/chemin/vers/sources OUT=/chemin/vers/sorties ./scripts/02-run-pipeline.sh
|
|
```
|
|
|
|
```bash
|
|
AUDIT60=... M15M16=... D10=... OUT=... ./scripts/03-run-direct-pipeline.sh
|
|
```
|
|
|
|
## Variables d'environnement
|
|
|
|
- `ROOT` : répertoire des fichiers source (défaut: `collatz_k_scripts`)
|
|
- `OUT` : répertoire de sortie (défaut: `out`)
|
|
- `DATA_ROOT` : racine des données (défaut: `data`)
|
|
- `OUT_ROOT` : racine des sorties (défaut: `out`)
|
|
|
|
## Modules Python implémentés
|
|
|
|
- `collatz_k_core.py` : noyau arithmétique
|
|
- `collatz_k_utils.py` : utilitaires
|
|
- `collatz_k_fusion.py` : clauses de fusion
|
|
- `collatz_k_pipeline.py` : pipeline D11-D17 après fusion
|
|
- `reproduce_all_audits.py` : orchestrateur
|
|
|
|
## Modules implémentés (complets)
|
|
|
|
- `md_to_audit_json.py` : conversion audit MD → JSON
|
|
- `collatz_base_projective.py`
|
|
- `collatz_audit.py`
|
|
- `collatz_scission.py`
|
|
- `collatz_fusion_pipeline.py`, `collatz_update_noyau.py`
|
|
- `collatz_verify_both_extinction.py`
|
|
- `collatz_calculate_Nstar.py`, `collatz_generate_full_certificate.py`
|
|
- `collatz_verify_coverage.py`, `collatz_verify_Nstar_range.py`
|
|
- `collatz_verifier_minimal.py`, `collatz_verifier_alternative.py`, `collatz_compare_verifiers.py`
|
|
- `collatz_generate_progress_log.py`, `collatz_document_base_states.py`, `collatz_generate_readme.py`
|
|
|
|
## Modules supplémentaires implémentés
|
|
|
|
- `collatz_k_pipeline.py` : mode `--horizon --palier --valeur --input-noyau --output` (palier isolé)
|
|
- `collatz_compute_survival_rate.py`
|
|
- `collatz_fusion_pipeline.py` : options `--cible`, `--modulo`
|
|
- `collatz_generate_audit_report.py`, `collatz_generate_coverage_proof.py`
|
|
- `collatz_generate_threshold_audit.py`, `collatz_generate_base_validation.py`
|
|
- `collatz_generate_full_proof.py`
|
|
- `collatz_build_initial_noyau.py`
|