Network Entropy as a key to the past: Quantifying adaptive cycles in complex networks: SUPPLEMENTARY MATERIAL
Authors/Creators
Description
How can we objectively measure and characterize the phases of complex adaptive systems? Despite widespread recognition of the Adaptive Cycle Model's value for understanding system dynamics, its application has been constrained by the predominance of qualitative approaches. This paper introduces a novel methodological framework that channels the analytical power of entropy to quantify and characterize adaptive cycle phases in complex networks. Our approach proposes integrating four sophisticated entropy measures—degree, eigenvector, community, and betweenness entropy—into a comprehensive system for identifying and measuring phase transitions. We validate this innovative framework through an empirical test case analyzing archaeological networks from Eastern Iberia (5300-3800 cal BP), where entropy patterns reveal previously undetectable signatures of system transformation. The method's application demonstrates remarkable precision in phase identification, with entropy variations providing clear mathematical signatures for each adaptive cycle phase. This breakthrough in quantitative analysis enables objective comparison of system states. It reveals subtle patterns in phase transitions that traditional approaches miss entirely, opening new possibilities for studying complex system dynamics across multiple disciplines.
PANARCH (Phase Analysis of Network Adaptive Research & Complex Hierarchies)
This compendium accompanies the manuscript "Entropy as a key to the past: Quantifying adaptive cycles in complex networks" by Joaquín Jiménez-Puerto.
Repository Structure
- PANARCH.py: Main script implementing adaptive cycle analysis in networks. Contains core classes for phase detection and metric calculations.
- ABM.py: Agent-based model implementation for network simulation.
- Sensitivity Analysis.py: Script for sensitivity analysis and advanced statistical testing.
- .graphml files: Network files used in the analysis (in the root directory).
- tests/: Directory containing unit tests.
- docs/: Additional documentation.
Software Requirements
Core Dependencies
- Python 3.8+
- Key libraries (specific versions in requirements.txt):
- networkx
- numpy
- scipy
- matplotlib
- seaborn
- pandas
- plotly
- statsmodels
- scikit-learn
Verifying Your Setup
Before starting with the analysis, verify your environment:
# Make the verification script executable
chmod +x verify_setup.sh
# Run verification
./verify_setup.sh
This will:
- Check Python installation
- Verify all required packages
- Create necessary directories
- Run basic functionality tests
- Run unit tests
If any step fails, check the error message and consult the Troubleshooting section below.
Getting Started
-
Download the archive from Zenodo:
- Visit https://doi.org/10.5281/zenodo.14709949
- Click the "Download" button to get all files
-
Extract the archive to your working directory:
unzip panarch.zip cd panarch -
Create and activate a virtual environment:
python -m venv panarch-env # On Unix/macOS: source panarch-env/bin/activate # On Windows: panarch-env\Scripts\activate -
Install dependencies:
pip install -r requirements.txt
Usage Instructions
Running with Python
-
Start with the main analysis:
python PANARCH.pyThis will process the network files and generate initial visualizations.
-
Run the agent-based simulations:
python ABM.pyThis generates simulation results and related plots.
-
Perform sensitivity analysis:
python "Sensitivity Analysis.py"This conducts statistical tests and creates additional visualizations.
Running with Docker
# Build the Docker image
docker build -t panarch .
# Run the analysis
docker run -it panarch
Relationship to Manuscript Figures and Tables
PANARCH.py Output
- Figure 1: 3D trajectory plot showing network evolution
- Figure 2: Phase space visualization
- Figure 3: Transition network diagram
- Table 1: Summary metrics by adaptive phase
ABM.py Output
- Figure 4: Agent-based model simulation results
- Figure 5: Phase distribution in simulations
- Figure 6: Network metrics over time
- Table 2: Simulation statistics
Sensitivity Analysis.py Output
- Figure 7: Phase distribution in sensitivity analysis
- Figure 8: Weight space heatmap
- Figure 9: Statistical test results
- Figure 10: Transition probability matrix
- Table 3: Statistical test summary
- Table 4: Sensitivity analysis results
Reproducibility Notes
- All random seeds are fixed (set to 42) for reproducibility
- Input data files (.graphml) are included in the root directory
- Each script includes detailed logging for traceability
- Unit tests ensure core functionality
License and Citation
This software is released under the MIT License with Academic Citation Requirement. If you use this code in your research, please cite:
Jiménez-Puerto, J. (2025). PANARCH (Phase Analysis of Network Adaptive Research & Complex Hierarchies) Entropy as a key to the past: Quantifying adaptive cycles in complex networks DOI: [DOI number]
Files
dockerfile.txt
Files
(1.7 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:6000ad589ad26618ec0bdf39f0338993
|
33.7 kB | Download |
|
md5:e1d96d1886b455dce3410d37ada73971
|
1.1 kB | Preview Download |
|
md5:c82e2eff769b57fc31a166435ad9c933
|
1.4 kB | Preview Download |
|
md5:fecb177b4360b850b94386aaca2cadc9
|
63.9 kB | Download |
|
md5:1fb27c1433b0d3cc460926400931ed47
|
2.4 kB | Preview Download |
|
md5:fdb5a479b48baf4f9826d27d05da5d6c
|
239 Bytes | Preview Download |
|
md5:6ae437ba7f32b0acada289cc2738aaf9
|
25.4 kB | Download |
|
md5:f88114b4d68aba055d0ee44fba0dcb32
|
3.8 kB | Download |
|
md5:cd27b6587c2c367e1c73f7c03b63e387
|
3.1 kB | Download |
|
md5:1994e62437f5562f9dd85f70d59f83e7
|
151.3 kB | Download |
|
md5:41fa424f6be3685456212915a5a6d464
|
55.0 kB | Download |
|
md5:08ae47e5cefbcbc7d6e3a4caabbe613e
|
559.7 kB | Download |
|
md5:cc30a572ab92276b5a7d84b751e2dbe4
|
76.6 kB | Download |
|
md5:3945ca8d4d615fda99ad5eee451ba679
|
92.3 kB | Download |
|
md5:e7397a9e4102bf22bfb7f59a836f021e
|
287.2 kB | Download |
|
md5:c73c76472e35fc0a72236471fb8c7a96
|
103.8 kB | Download |
|
md5:1f4fa3d3b644133309d8e8736d81e73e
|
82.1 kB | Download |
|
md5:67cb69b38cf793183d46906ba631ff0b
|
62.5 kB | Download |
|
md5:554b254744d0dcd03c51b899286b078e
|
89.0 kB | Download |
|
md5:71597501a8f672853e11c40a1271dc97
|
1.7 kB | Download |
Additional details
Additional titles
- Subtitle (En)
- PANARCH (Phase Analysis of Network Adaptive Research & Complex Hierarchies)
Software
- Programming language
- Python