There is a newer version of the record available.

Published March 10, 2025 | Version v5
Software Open

Network Entropy as a key to the past: Quantifying adaptive cycles in complex networks: SUPPLEMENTARY MATERIAL

  • 1. ROR icon Universitat de València
  • 2. Universitat Politècnica de València
  • 3. National Centre for Scientific Research-Demokritos

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

  1. Download the archive from Zenodo:

    • Visit https://doi.org/10.5281/zenodo.14709949
    • Click the "Download" button to get all files
  2. Extract the archive to your working directory:

    unzip panarch.zip
    cd panarch
    
  3. 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
    
  4. Install dependencies:

    pip install -r requirements.txt
    

Usage Instructions

Running with Python

  1. Start with the main analysis:

    python PANARCH.py
    

    This will process the network files and generate initial visualizations.

  2. Run the agent-based simulations:

    python ABM.py
    

    This generates simulation results and related plots.

  3. 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