Analyse exploratoire et détection de transitions dans des systèmes complexes
Fuente:
Zenodo
Gespeichert in:
| 1. Verfasser: | |
|---|---|
| Format: | Recurso digital |
| Veröffentlicht: |
Zenodo
2026
|
| Online-Zugang: | |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| _version_ | 1866902328480628736 |
|---|---|
| author | FRADIER, Kevin |
| author_facet | FRADIER, Kevin |
| contents | <p> </p> <h1><strong>Analyse exploratoire et détection de transitions dans des systèmes complexes</strong></h1> <h3>Auteur : Kevin Fradier</h3> <h3>Date : Janvier 2026</h3> <h3>Statut : Publication méthodologique expérimentale, complémentaire</h3> <h3>Licence : © 2026 Kevin Fradier — Creative Commons Attribution – Pas d'Utilisation Commerciale – Pas de Modification 4.0 International (CC BY‑NC‑ND 4.0)</h3> <h2>CV</h2> <p>Cette publication propose une méthode <strong>complémentaire</strong> au pipeline de détection d’invariants émergents.<br>L’objectif est de <strong>suivre l’évolution temporelle</strong> des systèmes complexes et de détecter des <strong>transitions de régime</strong> par des indicateurs strictement opérationnels.<br>La démarche reste <strong>agnostique et traçable</strong>, sans hypothèse descendante ni modèle explicatif.</p> <h2>1. Problème traité</h2> <p>Dans les systèmes complexes (réseaux sociaux, matrices de corrélation, systèmes multi‑agents), on observe souvent :</p> <ul> <li>Changements abrupts dans la structure relationnelle</li> <li>Dépendance aux hypothèses de modèle pour la détection de transitions</li> <li>Difficulté à quantifier la stabilité d’un invariant au fil du temps</li> </ul> <p>L’objectif opérationnel :</p> <ul> <li>Détecter des changements structurels <strong>sans supposer leur cause</strong></li> <li>Suivre la <strong>robustesse des motifs émergents</strong></li> <li>Fournir des indicateurs traçables et comparables</li> </ul> <h2>2. Méthode générale</h2> <p>Le pipeline complémentaire suit une approche <strong>temporelle et différentielle</strong> :</p> <ol> <li><strong>Séquence d’entrées</strong> : matrices représentant le système à différents instants</li> <li><strong>Extraction des motifs émergents</strong> à chaque instant (cycles, sous‑graphes)</li> <li><strong>Indicateurs globaux</strong> : invariant global (IG), entropie contributive (EC), delta de stabilité (ΔS)</li> <li><strong>Différence temporelle</strong> : ΔIG(t) = IG(t) − IG(t−1), ΔEC(t) = EC(t) − EC(t−1)</li> <li><strong>Score de transition</strong> : combinaison normalisée des deltas pour détecter ruptures structurelles</li> <li><strong>Hash traçable</strong> : signature cryptographique pour chaque étape, assurant reproductibilité</li> </ol> <h2>3. Implémentation minimale (Python)</h2> <pre><code>import numpy as np import hashlib AUTHOR_SIGNATURE = "Kevin Fradier | Emergent Invariant Transition | 2026" def _signature_vector(size, seed=None): if seed is None: seed = int(hashlib.sha256(AUTHOR_SIGNATURE.encode()).hexdigest(), 16) % (2**32) rng = np.random.default_rng(seed) return rng.random(size) def transition_metrics(M_prev, M_curr): """Calcul différentiel d'invariants émergents""" n = M_curr.shape[0] sig_vec = _signature_vector(n) signed_prev = M_prev * sig_vec[:, None] * sig_vec[None, :] signed_curr = M_curr * sig_vec[:, None] * sig_vec[None, :] IG_prev = np.mean(signed_prev) IG_curr = np.mean(signed_curr) EC_prev = -np.sum((signed_prev / np.sum(signed_prev)) * np.log(signed_prev / np.sum(signed_prev) + 1e-12)) EC_curr = -np.sum((signed_curr / np.sum(signed_curr)) * np.log(signed_curr / np.sum(signed_curr) + 1e-12)) ΔIG = IG_curr - IG_prev ΔEC = EC_curr - EC_prev # Score de transition (simple combinaison) transition_score = np.sqrt(ΔIG**2 + ΔEC**2) # Hash traçable h = hashlib.sha256() h.update(signed_prev.tobytes()) h.update(signed_curr.tobytes()) h.update(AUTHOR_SIGNATURE.encode()) hash_signature = h.hexdigest() return { "Delta_IG": float(ΔIG), "Delta_EC": float(ΔEC), "Transition_score": float(transition_score), "Hash_traçable": hash_signature, "Signature_auteur": AUTHOR_SIGNATURE } </code></pre> <h2>4. Exemple d’usage</h2> <pre><code>import numpy as np from transition_pipeline import transition_metrics # Simuler deux matrices consécutives np.random.seed(42) M1 = np.random.rand(10,10) M1 = (M1 + M1.T)/2 M2 = M1 + 0.05 * np.random.randn(10,10) M2 = (M2 + M2.T)/2 metrics = transition_metrics(M1, M2) for k, v in metrics.items(): print(f"{k} : {v}") </code></pre> <h2>5. Indicateurs opérationnels</h2> <ul> <li><strong>ΔIG</strong> : variation de l’invariant global</li> <li><strong>ΔEC</strong> : variation de l’entropie contributive</li> <li><strong>Transition_score</strong> : indice combiné pour rupture structurelle</li> <li><strong>Hash traçable</strong> : signature reproductible</li> <li><strong>Signature auteur</strong> : intégrée dans toutes les étapes</li> </ul> <p>Ces indicateurs sont <strong>strictement descriptifs</strong>, <strong>comparables entre systèmes</strong>, et permettent de détecter des <strong>ruptures précoces</strong> sans hypothèse explicative.</p> <h2>6. Robustesse et contrôles</h2> <ul> <li>Test sur matrices aléatoires → transition_score ≈ 0</li> <li>Perturbations modérées → ΔIG et ΔEC faibles</li> <li>Contrôles croisés entre systèmes de tailles différentes → indicateurs normalisés</li> <li>Chaque exécution est traçable via hash et signature auteur</li> </ul> <h2>7. Conclusion</h2> <p>Cette publication complémentaire permet :</p> <ul> <li>de suivre la <strong>dynamique temporelle</strong> des invariants émergents</li> <li>de détecter les <strong>transitions de régime</strong> dans des systèmes complexes</li> <li>de rester <strong>agnostique et traçable</strong></li> <li>de fournir des mesures <strong>publiables et comparables</strong></li> </ul> <h2>8. Licence</h2> <p>CC BY-NC-ND 4.0 — Attribution obligatoire, pas d’usage commercial, pas de modification</p> <p>.</p> <h1><strong>Structure du dépôt public “Emergent Transition Framework”</strong></h1> <pre><code>EmergentTransitionFramework/ │ ├── README.md ├── LICENSE.md ├── transition_pipeline.py ├── examples/ │ └── demo.py └── data/ └── example_matrices.npz </code></pre> <h2>1️⃣ README.md</h2> <pre><code># Emergent Transition Framework ### Auteur : Kevin Fradier ### Date : Janvier 2026 ### Licence : © 2026 Kevin Fradier — Creative Commons Attribution – Pas d'Utilisation Commerciale – Pas de Modification 4.0 International (CC BY‑NC‑ND 4.0) --- ## Description Ce dépôt propose un pipeline **opérationnel et traçable** pour la détection de **transitions de régime** dans des systèmes complexes représentés par des matrices de relations. L'approche est complémentaire à la détection d’invariants émergents et permet de : - Suivre l’évolution temporelle d’un système - Détecter des changements structurels - Fournir des indicateurs descriptifs, agnostiques et reproductibles --- ## Fonctionnalités - Calcul différentiel des invariants globaux et entropie contributive - Score combiné de transition - Hash traçable pour chaque calcul - Signature auteur intégrée dans le pipeline --- ## Installation ```bash git clone https://github.com/ton_compte/EmergentTransitionFramework.git cd EmergentTransitionFramework pip install numpy </code></pre> <h2>Utilisation</h2> <pre><code>from transition_pipeline import transition_metrics import numpy as np # Charger ou simuler matrices consécutives np.random.seed(42) M1 = np.random.rand(10,10) M1 = (M1 + M1.T)/2 M2 = M1 + 0.05 * np.random.randn(10,10) M2 = (M2 + M2.T)/2 metrics = transition_metrics(M1, M2) for k, v in metrics.items(): print(f"{k} : {v}") </code></pre> <h2>Structure du dépôt</h2> <ul> <li><code>transition_pipeline.py</code> : pipeline public signé</li> <li><code>examples/demo.py</code> : exemple d’usage complet</li> <li><code>data/</code> : matrices de test</li> <li><code>README.md</code> : documentation</li> <li><code>LICENSE.md</code> : licence officielle CC BY-NC-ND 4.0</li> </ul> <h2>Licence</h2> <p>© 2026 Kevin Fradier — Creative Commons Attribution – Pas d'Utilisation Commerciale – Pas de Modification 4.0 International (CC BY‑NC‑ND 4.0)</p> <pre><code> --- ## 2️⃣ LICENSE.md ```markdown # Licence CC BY-NC-ND 4.0 © 2026 Kevin Fradier Vous êtes libre de : - Partager — copier et redistribuer le matériel dans n’importe quel format ou support Sous les conditions suivantes : - Attribution — Vous devez créditer l’auteur de manière appropriée - Pas d’utilisation commerciale - Pas de modification ou de travail dérivé Pour le texte complet : https://creativecommons.org/licenses/by-nc-nd/4.0/ </code></pre> <h2>3️⃣ transition_pipeline.py</h2> <pre><code>import numpy as np import hashlib # =============================== # Signature auteur figée # =============================== AUTHOR_SIGNATURE = "Kevin Fradier | Emergent Invariant Transition | 2026" def _signature_vector(size, seed=None): """Vecteur déterministe dérivé de la signature auteur""" if seed is None: seed = int(hashlib.sha256(AUTHOR_SIGNATURE.encode()).hexdigest(), 16) % (2**32) rng = np.random.default_rng(seed) return rng.random(size) def transition_metrics(M_prev, M_curr): """ Pipeline public signé pour calcul d'invariants émergents et transitions. Paramètres : - M_prev : matrice du pas t-1 - M_curr : matrice du pas t Retours : - Delta_IG : variation de l'invariant global - Delta_EC : variation de l'entropie contributive - Transition_score : combinaison des variations - Hash_traçable : hash signé pour reproductibilité - Signature_auteur : signature intégrée """ n = M_curr.shape[0] # Injection signature sig_vec = _signature_vector(n) signed_prev = M_prev * sig_vec[:, None] * sig_vec[None, :] signed_curr = M_curr * sig_vec[:, None] * sig_vec[None, :] # Invariants globaux IG_prev = np.mean(signed_prev) IG_curr = np.mean(signed_curr) # Entropie contributive EC_prev = -np.sum((signed_prev / np.sum(signed_prev)) * np.log(signed_prev / np.sum(signed_prev) + 1e-12)) EC_curr = -np.sum((signed_curr / np.sum(signed_curr)) * np.log(signed_curr / np.sum(signed_curr) + 1e-12)) ΔIG = IG_curr - IG_prev ΔEC = EC_curr - EC_prev transition_score = np.sqrt(ΔIG**2 + ΔEC**2) # Hash traçable h = hashlib.sha256() h.update(signed_prev.tobytes()) h.update(signed_curr.tobytes()) h.update(AUTHOR_SIGNATURE.encode()) hash_signature = h.hexdigest() return { "Delta_IG": float(ΔIG), "Delta_EC": float(ΔEC), "Transition_score": float(transition_score), "Hash_traçable": hash_signature, "Signature_auteur": AUTHOR_SIGNATURE } </code></pre> <h2>4️⃣ examples/demo.py</h2> <pre><code>import numpy as np from transition_pipeline import transition_metrics np.random.seed(42) # Simuler matrices temporelles M1 = np.random.rand(10,10) M1 = (M1 + M1.T)/2 M2 = M1 + 0.05 * np.random.randn(10,10) M2 = (M2 + M2.T)/2 metrics = transition_metrics(M1, M2) print("=== Résultats du pipeline de transition ===") for k, v in metrics.items(): print(f"{k} : {v}") </code></pre> <h2>5️⃣ data/example_matrices.npz</h2> <ul> <li>Contient des matrices simulées pour tests (<code>M1</code>, <code>M2</code>, …)</li> <li>Utilisable pour <strong>reproduction immédiate</strong> du pipeline</li> </ul> <p> </p> <p> </p> |
| format | Recurso digital |
| id | zenodo_https___doi_org_10_5281_zenodo_18189180 |
| institution | Zenodo |
| language | |
| publishDate | 2026 |
| publisher | Zenodo |
| record_format | zenodo |
| spellingShingle | Analyse exploratoire et détection de transitions dans des systèmes complexes FRADIER, Kevin <p> </p> <h1><strong>Analyse exploratoire et détection de transitions dans des systèmes complexes</strong></h1> <h3>Auteur : Kevin Fradier</h3> <h3>Date : Janvier 2026</h3> <h3>Statut : Publication méthodologique expérimentale, complémentaire</h3> <h3>Licence : © 2026 Kevin Fradier — Creative Commons Attribution – Pas d'Utilisation Commerciale – Pas de Modification 4.0 International (CC BY‑NC‑ND 4.0)</h3> <h2>CV</h2> <p>Cette publication propose une méthode <strong>complémentaire</strong> au pipeline de détection d’invariants émergents.<br>L’objectif est de <strong>suivre l’évolution temporelle</strong> des systèmes complexes et de détecter des <strong>transitions de régime</strong> par des indicateurs strictement opérationnels.<br>La démarche reste <strong>agnostique et traçable</strong>, sans hypothèse descendante ni modèle explicatif.</p> <h2>1. Problème traité</h2> <p>Dans les systèmes complexes (réseaux sociaux, matrices de corrélation, systèmes multi‑agents), on observe souvent :</p> <ul> <li>Changements abrupts dans la structure relationnelle</li> <li>Dépendance aux hypothèses de modèle pour la détection de transitions</li> <li>Difficulté à quantifier la stabilité d’un invariant au fil du temps</li> </ul> <p>L’objectif opérationnel :</p> <ul> <li>Détecter des changements structurels <strong>sans supposer leur cause</strong></li> <li>Suivre la <strong>robustesse des motifs émergents</strong></li> <li>Fournir des indicateurs traçables et comparables</li> </ul> <h2>2. Méthode générale</h2> <p>Le pipeline complémentaire suit une approche <strong>temporelle et différentielle</strong> :</p> <ol> <li><strong>Séquence d’entrées</strong> : matrices représentant le système à différents instants</li> <li><strong>Extraction des motifs émergents</strong> à chaque instant (cycles, sous‑graphes)</li> <li><strong>Indicateurs globaux</strong> : invariant global (IG), entropie contributive (EC), delta de stabilité (ΔS)</li> <li><strong>Différence temporelle</strong> : ΔIG(t) = IG(t) − IG(t−1), ΔEC(t) = EC(t) − EC(t−1)</li> <li><strong>Score de transition</strong> : combinaison normalisée des deltas pour détecter ruptures structurelles</li> <li><strong>Hash traçable</strong> : signature cryptographique pour chaque étape, assurant reproductibilité</li> </ol> <h2>3. Implémentation minimale (Python)</h2> <pre><code>import numpy as np import hashlib AUTHOR_SIGNATURE = "Kevin Fradier | Emergent Invariant Transition | 2026" def _signature_vector(size, seed=None): if seed is None: seed = int(hashlib.sha256(AUTHOR_SIGNATURE.encode()).hexdigest(), 16) % (2**32) rng = np.random.default_rng(seed) return rng.random(size) def transition_metrics(M_prev, M_curr): """Calcul différentiel d'invariants émergents""" n = M_curr.shape[0] sig_vec = _signature_vector(n) signed_prev = M_prev * sig_vec[:, None] * sig_vec[None, :] signed_curr = M_curr * sig_vec[:, None] * sig_vec[None, :] IG_prev = np.mean(signed_prev) IG_curr = np.mean(signed_curr) EC_prev = -np.sum((signed_prev / np.sum(signed_prev)) * np.log(signed_prev / np.sum(signed_prev) + 1e-12)) EC_curr = -np.sum((signed_curr / np.sum(signed_curr)) * np.log(signed_curr / np.sum(signed_curr) + 1e-12)) ΔIG = IG_curr - IG_prev ΔEC = EC_curr - EC_prev # Score de transition (simple combinaison) transition_score = np.sqrt(ΔIG**2 + ΔEC**2) # Hash traçable h = hashlib.sha256() h.update(signed_prev.tobytes()) h.update(signed_curr.tobytes()) h.update(AUTHOR_SIGNATURE.encode()) hash_signature = h.hexdigest() return { "Delta_IG": float(ΔIG), "Delta_EC": float(ΔEC), "Transition_score": float(transition_score), "Hash_traçable": hash_signature, "Signature_auteur": AUTHOR_SIGNATURE } </code></pre> <h2>4. Exemple d’usage</h2> <pre><code>import numpy as np from transition_pipeline import transition_metrics # Simuler deux matrices consécutives np.random.seed(42) M1 = np.random.rand(10,10) M1 = (M1 + M1.T)/2 M2 = M1 + 0.05 * np.random.randn(10,10) M2 = (M2 + M2.T)/2 metrics = transition_metrics(M1, M2) for k, v in metrics.items(): print(f"{k} : {v}") </code></pre> <h2>5. Indicateurs opérationnels</h2> <ul> <li><strong>ΔIG</strong> : variation de l’invariant global</li> <li><strong>ΔEC</strong> : variation de l’entropie contributive</li> <li><strong>Transition_score</strong> : indice combiné pour rupture structurelle</li> <li><strong>Hash traçable</strong> : signature reproductible</li> <li><strong>Signature auteur</strong> : intégrée dans toutes les étapes</li> </ul> <p>Ces indicateurs sont <strong>strictement descriptifs</strong>, <strong>comparables entre systèmes</strong>, et permettent de détecter des <strong>ruptures précoces</strong> sans hypothèse explicative.</p> <h2>6. Robustesse et contrôles</h2> <ul> <li>Test sur matrices aléatoires → transition_score ≈ 0</li> <li>Perturbations modérées → ΔIG et ΔEC faibles</li> <li>Contrôles croisés entre systèmes de tailles différentes → indicateurs normalisés</li> <li>Chaque exécution est traçable via hash et signature auteur</li> </ul> <h2>7. Conclusion</h2> <p>Cette publication complémentaire permet :</p> <ul> <li>de suivre la <strong>dynamique temporelle</strong> des invariants émergents</li> <li>de détecter les <strong>transitions de régime</strong> dans des systèmes complexes</li> <li>de rester <strong>agnostique et traçable</strong></li> <li>de fournir des mesures <strong>publiables et comparables</strong></li> </ul> <h2>8. Licence</h2> <p>CC BY-NC-ND 4.0 — Attribution obligatoire, pas d’usage commercial, pas de modification</p> <p>.</p> <h1><strong>Structure du dépôt public “Emergent Transition Framework”</strong></h1> <pre><code>EmergentTransitionFramework/ │ ├── README.md ├── LICENSE.md ├── transition_pipeline.py ├── examples/ │ └── demo.py └── data/ └── example_matrices.npz </code></pre> <h2>1️⃣ README.md</h2> <pre><code># Emergent Transition Framework ### Auteur : Kevin Fradier ### Date : Janvier 2026 ### Licence : © 2026 Kevin Fradier — Creative Commons Attribution – Pas d'Utilisation Commerciale – Pas de Modification 4.0 International (CC BY‑NC‑ND 4.0) --- ## Description Ce dépôt propose un pipeline **opérationnel et traçable** pour la détection de **transitions de régime** dans des systèmes complexes représentés par des matrices de relations. L'approche est complémentaire à la détection d’invariants émergents et permet de : - Suivre l’évolution temporelle d’un système - Détecter des changements structurels - Fournir des indicateurs descriptifs, agnostiques et reproductibles --- ## Fonctionnalités - Calcul différentiel des invariants globaux et entropie contributive - Score combiné de transition - Hash traçable pour chaque calcul - Signature auteur intégrée dans le pipeline --- ## Installation ```bash git clone https://github.com/ton_compte/EmergentTransitionFramework.git cd EmergentTransitionFramework pip install numpy </code></pre> <h2>Utilisation</h2> <pre><code>from transition_pipeline import transition_metrics import numpy as np # Charger ou simuler matrices consécutives np.random.seed(42) M1 = np.random.rand(10,10) M1 = (M1 + M1.T)/2 M2 = M1 + 0.05 * np.random.randn(10,10) M2 = (M2 + M2.T)/2 metrics = transition_metrics(M1, M2) for k, v in metrics.items(): print(f"{k} : {v}") </code></pre> <h2>Structure du dépôt</h2> <ul> <li><code>transition_pipeline.py</code> : pipeline public signé</li> <li><code>examples/demo.py</code> : exemple d’usage complet</li> <li><code>data/</code> : matrices de test</li> <li><code>README.md</code> : documentation</li> <li><code>LICENSE.md</code> : licence officielle CC BY-NC-ND 4.0</li> </ul> <h2>Licence</h2> <p>© 2026 Kevin Fradier — Creative Commons Attribution – Pas d'Utilisation Commerciale – Pas de Modification 4.0 International (CC BY‑NC‑ND 4.0)</p> <pre><code> --- ## 2️⃣ LICENSE.md ```markdown # Licence CC BY-NC-ND 4.0 © 2026 Kevin Fradier Vous êtes libre de : - Partager — copier et redistribuer le matériel dans n’importe quel format ou support Sous les conditions suivantes : - Attribution — Vous devez créditer l’auteur de manière appropriée - Pas d’utilisation commerciale - Pas de modification ou de travail dérivé Pour le texte complet : https://creativecommons.org/licenses/by-nc-nd/4.0/ </code></pre> <h2>3️⃣ transition_pipeline.py</h2> <pre><code>import numpy as np import hashlib # =============================== # Signature auteur figée # =============================== AUTHOR_SIGNATURE = "Kevin Fradier | Emergent Invariant Transition | 2026" def _signature_vector(size, seed=None): """Vecteur déterministe dérivé de la signature auteur""" if seed is None: seed = int(hashlib.sha256(AUTHOR_SIGNATURE.encode()).hexdigest(), 16) % (2**32) rng = np.random.default_rng(seed) return rng.random(size) def transition_metrics(M_prev, M_curr): """ Pipeline public signé pour calcul d'invariants émergents et transitions. Paramètres : - M_prev : matrice du pas t-1 - M_curr : matrice du pas t Retours : - Delta_IG : variation de l'invariant global - Delta_EC : variation de l'entropie contributive - Transition_score : combinaison des variations - Hash_traçable : hash signé pour reproductibilité - Signature_auteur : signature intégrée """ n = M_curr.shape[0] # Injection signature sig_vec = _signature_vector(n) signed_prev = M_prev * sig_vec[:, None] * sig_vec[None, :] signed_curr = M_curr * sig_vec[:, None] * sig_vec[None, :] # Invariants globaux IG_prev = np.mean(signed_prev) IG_curr = np.mean(signed_curr) # Entropie contributive EC_prev = -np.sum((signed_prev / np.sum(signed_prev)) * np.log(signed_prev / np.sum(signed_prev) + 1e-12)) EC_curr = -np.sum((signed_curr / np.sum(signed_curr)) * np.log(signed_curr / np.sum(signed_curr) + 1e-12)) ΔIG = IG_curr - IG_prev ΔEC = EC_curr - EC_prev transition_score = np.sqrt(ΔIG**2 + ΔEC**2) # Hash traçable h = hashlib.sha256() h.update(signed_prev.tobytes()) h.update(signed_curr.tobytes()) h.update(AUTHOR_SIGNATURE.encode()) hash_signature = h.hexdigest() return { "Delta_IG": float(ΔIG), "Delta_EC": float(ΔEC), "Transition_score": float(transition_score), "Hash_traçable": hash_signature, "Signature_auteur": AUTHOR_SIGNATURE } </code></pre> <h2>4️⃣ examples/demo.py</h2> <pre><code>import numpy as np from transition_pipeline import transition_metrics np.random.seed(42) # Simuler matrices temporelles M1 = np.random.rand(10,10) M1 = (M1 + M1.T)/2 M2 = M1 + 0.05 * np.random.randn(10,10) M2 = (M2 + M2.T)/2 metrics = transition_metrics(M1, M2) print("=== Résultats du pipeline de transition ===") for k, v in metrics.items(): print(f"{k} : {v}") </code></pre> <h2>5️⃣ data/example_matrices.npz</h2> <ul> <li>Contient des matrices simulées pour tests (<code>M1</code>, <code>M2</code>, …)</li> <li>Utilisable pour <strong>reproduction immédiate</strong> du pipeline</li> </ul> <p> </p> <p> </p> |
| title | Analyse exploratoire et détection de transitions dans des systèmes complexes |
| url | https://doi.org/10.5281/zenodo.18189180 |