en un clic
catcolab-causal-loop
CatColab Causal Loop Diagrams - systems dynamics modeling with reinforcing (R) and balancing (B) feedback loops, delays, and Lotka-Volterra semantics for strategic analysis.
Menu
CatColab Causal Loop Diagrams - systems dynamics modeling with reinforcing (R) and balancing (B) feedback loops, delays, and Lotka-Volterra semantics for strategic analysis.
Basé sur la classification professionnelle SOC
Query and explore the 2600: The Hacker Quarterly magazine archive (1984-present) via DuckDB. Provides structured access to 168+ issues covering hacker culture, security, privacy, telephony, and digital rights without loading full content into context.
ACSets (Attributed C-Sets): Algebraic databases with Specter-style bidirectional navigation. Category-theoretic formalism for relational databases.
Attributed C-Sets as algebraic databases. Category-theoretic data structures generalizing graphs and dataframes with Gay.jl color integration.
ACSets (Attributed C-Sets): Algebraic databases with Specter-style bidirectional
Bridge active inference theory with robot control using K-Scale's JAX/MuJoCo stack. Use when connecting predictive coding to locomotion policies, mapping KL divergence minimization to RL training, applying mean field approximation to robotics state estimation, or implementing sim2real as inference about future observations.
Implement affective valence as directional derivative of interoceptive energy landscapes for AI alignment. Use when building alignment-aware RL agents, validating GF(3) conservation in reward signals, training Langevin-based policies, or analyzing fold-change detection signals in POMDP environments.
| name | catcolab-causal-loop |
| description | CatColab Causal Loop Diagrams - systems dynamics modeling with reinforcing (R) and balancing (B) feedback loops, delays, and Lotka-Volterra semantics for strategic analysis. |
| version | 1.0.0 |
Trit: 0 (ERGODIC - coordinator/mediator) Color: Yellow (#FFD700)
Causal Loop Diagrams (CLDs) in CatColab model feedback systems:
CLDs are essential for understanding system behavior, policy analysis, and strategic planning.
A causal loop diagram is a signed directed graph with loop classification:
┌─────────────────────────────────────────────────────┐
│ CAUSAL LOOP DIAGRAM │
├─────────────────────────────────────────────────────┤
│ Variables: │
│ Population, Resources, Pollution, Quality │
│ │
│ Positive Links (+): │
│ Population ──(+)──► Pollution │
│ Resources ──(+)──► Quality │
│ │
│ Negative Links (-): │
│ Pollution ──(-)──► Quality │
│ Quality ──(-)──► Population (emigration) │
│ │
│ Loops: │
│ R1: Population→Births→Population (reinforcing) │
│ B1: Population→Resources→Quality→Pop (balancing) │
└─────────────────────────────────────────────────────┘
Reinforcing Loop (R): Even number of negative links
Balancing Loop (B): Odd number of negative links
REINFORCING (R): BALANCING (B):
A ──(+)──► B A ──(+)──► B
▲ │ ▲ │
│ │ │ │
└──(+)─────┘ └──(-)─────┘
(exponential) (equilibrium)
// Causal loop double theory with decorated edges
pub fn th_causal_loop() -> DiscreteDblTheory {
let mut cat = FpCategory::new();
// Object type
cat.add_ob_generator(name("Variable"));
// Morphism types (polarized links)
cat.add_mor_generator(name("Positive"), name("Variable"), name("Variable"));
cat.add_mor_generator(name("Negative"), name("Variable"), name("Variable"));
// Decorations (CatColab 0.2)
cat.add_mor_generator(name("Delay"), name("Variable"), name("Variable"));
cat.add_mor_generator(name("Indeterminate"), name("Variable"), name("Variable"));
cat.into()
}
{
"type": "ObDecl",
"name": "MarketShare",
"theory_type": "Variable",
"description": "company's percentage of total market"
}
{
"type": "MorDecl",
"name": "growth_effect",
"dom": "MarketShare",
"cod": "Revenue",
"theory_type": "Positive",
"description": "higher market share increases revenue"
}
{
"type": "MorDecl",
"name": "saturation_effect",
"dom": "MarketShare",
"cod": "GrowthRate",
"theory_type": "Negative",
"description": "higher share reduces growth potential"
}
{
"type": "MorDecl",
"name": "investment_lag",
"dom": "RnD_Spending",
"cod": "ProductQuality",
"theory_type": "Delay",
"delay_time": 12, // months
"description": "R&D takes time to improve products"
}
CatColab generates Lotka-Volterra ODEs from causal loops:
For variables X, Y with positive link X→Y:
dY/dt = α·X·Y
For negative link X→Y:
dY/dt = -β·X·Y
General form:
dXᵢ/dt = Xᵢ · Σⱼ aᵢⱼ·Xⱼ
Word of Mouth
↗ (+)
Users ────────► Adoption Rate
▲ │
│ │
└────(+)──────────┘
R1: Viral Growth
Adoption Rate ──(+)──► Users
│
└──(-)──► Potential Users
│
B1: Market Saturation
Desired Temp ──(+)──► Gap
▲ │
│ │
│ (+)
│ ▼
Actual Temp ◄──(+)── Heating
│
└──(-)──► Gap
B1: Temperature Control
Country A Arms ──(+)──► Country A Threat Perception
▲ │
│ (+)
│ ▼
Country B Arms ◄──(+)── Country B Arms Spending
│
└──(+)──► Country A Threat Perception
R1: Escalation Spiral
catcolab-regulatory-networks (-1) ⊗ catcolab-causal-loop (0) ⊗ catcolab-stock-flow (+1) = 0 ✓
open-games (-1) ⊗ catcolab-causal-loop (0) ⊗ dynamical-system-functor (+1) = 0 ✓
# Create causal loop diagram
just catcolab-new causal-loop "market-dynamics"
# Identify all loops
just catcolab-analyze market-dynamics --loops
# Simulate Lotka-Volterra
just catcolab-simulate market-dynamics --lotka-volterra
# Export to Vensim format
just catcolab-export market-dynamics --format=mdl
Skill Name: catcolab-causal-loop Type: Systems Dynamics / Feedback Analysis Trit: 0 (ERGODIC) GF(3): Conserved via triadic composition