META_PIPELINE_2026 – Invariants émergents bottom-up💥

Read full text
Authors: Kevin FRADIER
Cited by: 0

Abstract

" : META_PIPELINE_2026 – Invariants émergents bottom-up Titre : Invariants émergents bottom-up : méta-pipeline testable et extensible Auteur : Kevin Fradier Date : Janvier 2026 Licence : CC BY-NC-ND 4.0 (LICENSE.txt) Structure du dépôt META_PIPELINE_2026/ │ ├── code/ │ ├── meta_pipeline.py # Méta-pipeline Python complet │ └── mini_dataset.npy # Mini-dataset simulé 10x10 (généré si absent) │ ├── figures/ │ ├── example_network.png # Réseau généré automatiquement │ └── example_histogram.png # Histogramme des traces locales │ ├── README.md # Documentation complète └── LICENSE.txt # Licence CC BY-NC-ND 4.0 README.md # META-PIPELINE 2026 – Invariants émergents bottom-up ## Publication pilier Ce dépôt accompagne la publication **"Invariants émergents bottom-up : méta-pipeline testable"**. Il constitue une **porte d’entrée stable** vers un corpus plus large de travaux bottom-up, permettant d’extraire, quantifier et visualiser des signatures émergentes à partir de corrélations locales uniquement. ## Contenu - `code/meta_pipeline.py` : pipeline principal (extraction de cycles, signature topologique, rétro-action, bootstrap, visualisation) - `code/mini_dataset.npy` : mini-dataset simulé 10x10 (généré automatiquement si absent) - `figures/example_network.png` : réseau généré à partir du mini-dataset - `figures/example_histogram.png` : histogramme des traces locales - `LICENSE.txt` : licence CC BY-NC-ND 4.0 ## Installation ```bash pip install numpy networkx matplotlib scipy Exemple d'utilisation from code.meta_pipeline import MetaBottomUp import numpy as np # Charger mini-dataset ou générer si absent try: A = np.load("code/mini_dataset.npy") except FileNotFoundError: np.random.seed(42) A = np.random.randint(0,2,(10,10)) np.save("code/mini_dataset.npy", A) states = np.random.choice([-1,1], size=(A.shape[0],5)) # Initialiser pipeline pipeline = MetaBottomUp(A, local_states=states, min_cycle=3, max_cycle=5) # Extraire cycles et calculer signature pipeline.extract_cycles() signature = pipeline.compute_signature() signature_stable = pipeline.stabilize_signature() ci_low, ci_high = pipeline.bootstrap_signature() print("Signature brute :", signature) print("Signature stabilisée :", signature_stable) print("Intervalle bootstrap :", ci_low, ci_high) # Visualisation pipeline.plot_network(node_colors=states[:,0], title="Mini Réseau") pipeline.plot_signature_distribution() Notes Mini-dataset inclus pour test immédiat Pipeline extensible : nouvelles métriques et types de données possibles Figures générées automatiquement pour visualiser les invariants émergents Peut être appliqué à des matrices de connectivité type HCP (non incluses dans ce dépôt). Licence : CC BY-NC-ND 4.0 (voir LICENSE.txt) --- ## **LICENSE.txt** © 2026 Kevin Fradier — Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International (CC BY-NC-ND 4.0) Conditions : Attribution obligatoire Pas d'usage commercial Pas de modification / dérivation --- ## **meta_pipeline.py** *(Le code consolidé prêt à exécuter, complet avec :)* - Extraction de cycles locaux - Signature topologique (trace ou spectral) - Stabilisation sous bruit - Bootstrap intervalle confiance - Visualisation réseaux et histogrammes - Création automatique du mini-dataset si absent - Création automatique des dossiers `figures/` et sauvegarde des figures --- Licence : CC BY-NC-ND 4.0 (LICENSE.txt)Bonus. Killer💥 1️⃣ Ajout dans meta_pipeline.py : génération figure signature émergente On ajoute une nouvelle méthode plot_signature_heatmap : def plot_signature_heatmap(self, save_path=None): """ Heatmap illustrant la contribution de chaque nœud aux cycles extraits -> montre visuellement où les invariants émergents se concentrent """ node_scores = np.zeros(self.A.shape[0]) for c in self.cycles: val = np.trace(self.A[np.ix_(c,c)]) for n in c: node_scores[n] += val / len(c) plt.figure(figsize=(8,6)) plt.bar(range(len(node_scores)), node_scores, color='skyblue', edgecolor='k') plt.xlabel("Noeud") plt.ylabel("Contribution à l'invariant") plt.title("Contribution locale des nœuds aux invariants émergents") if save_path: os.makedirs(os.path.dirname(save_path), exist_ok=True) plt.savefig(save_path, dpi=300) plt.show() 2️⃣ Exemple d'utilisation dans le script principal On ajoute après les figures existantes : # Heatmap signature émergente pipeline.plot_signature_heatmap(save_path="figures/example_signature_heatmap.png") 3️⃣ README.md : ajout section figure killer # Figures - plot_network : réseau coloré par état initial - plot_signature_distribution : histogramme des traces locales - plot_signature_heatmap : contribution de chaque nœud aux invariants émergents (mini-résultat visuel impactant)

Publication details

Journal / source
Zenodo (CERN European Organization for Nuclear Research)
Publication date
8 January 2026