Reticular Information Dynamics Model. RIDM is an experimental simulation layer for modeling how interpretations, narratives, and attention propagate across reticular information networks.
RIDM is designed as a companion to REIM β the Reticular Epistemic Inference Model. REIM estimates truth from distributed observations; RIDM explores what happens after those estimates enter a social or informational network.
RIDM is a research prototype and simulation framework. It is useful for hypothesis generation, demos, and conceptual experiments around narrative propagation, echo chambers, cascade dynamics, and REIM integration.
It should not be presented as an empirically validated model of real-world discourse dynamics without domain calibration and validation data.
RIDM evolves an activation vector over a directed agent network:
x(t+1) = Ξ» Aα΅ x(t) + (1 - ΞΌ) x(t) + Ξ·(t) + Ξ³ M
Where:
| Symbol | Meaning |
|---|---|
x(t) |
agent activation / attention at time t |
A |
directed adjacency matrix, where A[i, j] means source i influences target j |
Ξ» |
narrative propagation coefficient |
ΞΌ |
attention decay coefficient |
Ξ·(t) |
external trigger vector |
M |
cultural memory vector |
Ξ³ |
memory intensity |
States are clipped to a configurable activation cap. This keeps simulations bounded, but it also means RIDM is best read as a stylized bounded-attention simulator rather than a pure unconstrained linear dynamical system.
- Directed influence networks with agent roles, influence weights, communities, and cultural memory.
- Echo-chamber network generation for reproducible synthetic experiments.
- Single-topic propagation, scheduled trigger events, and cascade analysis.
- Multi-topic competition under a finite per-agent attention budget.
- Analysis metrics for polarization, echo-chamber strength, narrative lifecycle, influence effectiveness, and attention entropy.
- Lightweight REIM β RIDM bridge for turning epistemic uncertainty and reliability into narrative activation.
pip install -e .
python -m ridm.demoRun tests:
pip install -e ".[dev]"
pytestfrom ridm import AgentNetwork, RIDMConfig, RIDMModel
net = AgentNetwork.generate_echo_chamber_network(
n_communities=2,
agents_per_community=10,
seed=42,
)
model = RIDMModel(
net,
RIDMConfig(lambda_prop=0.3, mu_decay=0.1, gamma_memory=0.03),
seed=42,
)
model.reset()
model.set_initial_activation([0], level=1.0)
history = model.run(25)
print(model.get_activation_summary())The integration bridge connects the epistemic layer to the socio-informative layer:
reality β observations β REIM inference β interpretations β RIDM propagation
The current bridge is intentionally lightweight. It uses REIM-style true_state, observer_weights, and uncertainty vectors to seed RIDM activation. A deeper production integration should import the real REIM result objects directly and calibrate the interpretation function against a domain dataset.
- RIDM is not yet empirically validated.
- Parameters require domain calibration.
- Synthetic echo-chamber generation is useful for controlled experiments, not a substitute for real network data.
- The REIM bridge is a conceptual adapter, not a full shared data model.
- Clipping avoids runaway activation but can hide instability if parameters are poorly chosen.
ridm/
βββ agents.py # agents, graph structure, synthetic network generation
βββ model.py # core RIDM update rule
βββ dynamics.py # triggers, cascades, multi-topic competition
βββ analysis.py # metrics and diagnostics
βββ integration.py # lightweight REIM β RIDM bridge
βββ demo.py # runnable demonstration
βββ tests/ # regression and behavior tests
RIDM uses a dual licensing structure:
- Source code is licensed under the GNU Affero General Public License v3.0 or later. See
LICENSE. - Documentation, diagrams, and explanatory theory text are licensed under Creative Commons Attribution-NonCommercial 4.0 International unless otherwise stated. See
LICENSE-DOCS.md.
Commercial licensing is available separately by written agreement with the author.
RIDM is designed by Mariano Viola as part of the Reticular Epistemic Framework.