本文へ移動
cccskills
無料GitHub で公開

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.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md7.1 KB
  • CONCOMITANT_SKILLS.md2.1 KB
  • NEIGHBOR_SKILLS.md2.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

CatColab Causal Loop Diagrams: Systems Dynamics

Trit: 0 (ERGODIC - coordinator/mediator) Color: Yellow (#FFD700)

Overview

Causal Loop Diagrams (CLDs) in CatColab model feedback systems:

  • Variables: System quantities that change over time
  • Positive links (+): Same-direction influence (increase→increase)
  • Negative links (-): Opposite-direction influence (increase→decrease)
  • Loops: Reinforcing (R) or Balancing (B) feedback

CLDs are essential for understanding system behavior, policy analysis, and strategic planning.

Mathematical Foundation

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)  │
└─────────────────────────────────────────────────────┘

Loop Classification

Reinforcing Loop (R): Even number of negative links

  • Exponential growth or collapse
  • "Snowball effect" or "vicious/virtuous cycle"

Balancing Loop (B): Odd number of negative links

  • Goal-seeking behavior
  • Homeostasis, equilibrium
REINFORCING (R):              BALANCING (B):
   A ──(+)──► B                  A ──(+)──► B
   ▲          │                  ▲          │
   │          │                  │          │
   └──(+)─────┘                  └──(-)─────┘
   (exponential)                 (equilibrium)

Double Theory

// 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()
}

CatColab Implementation

Variable Declaration

{
  "type": "ObDecl",
  "name": "MarketShare",
  "theory_type": "Variable",
  "description": "company's percentage of total market"
}

Positive Link

{
  "type": "MorDecl",
  "name": "growth_effect",
  "dom": "MarketShare",
  "cod": "Revenue",
  "theory_type": "Positive",
  "description": "higher market share increases revenue"
}

Negative Link

{
  "type": "MorDecl",
  "name": "saturation_effect",
  "dom": "MarketShare",
  "cod": "GrowthRate",
  "theory_type": "Negative",
  "description": "higher share reduces growth potential"
}

Delay (CatColab 0.2)

{
  "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"
}

Lotka-Volterra Semantics

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ⱼ

Practical Examples

Example 1: Adoption Dynamics

     Word of Mouth
          ↗ (+)
    Users ────────► Adoption Rate
      ▲                 │
      │                 │
      └────(+)──────────┘
           R1: Viral Growth

    Adoption Rate ──(+)──► Users
         │
         └──(-)──► Potential Users
                       │
              B1: Market Saturation

Example 2: Thermostat (Balancing)

    Desired Temp ──(+)──► Gap
         ▲                 │
         │                 │
         │                (+)
         │                 ▼
    Actual Temp ◄──(+)── Heating
         │
         └──(-)──► Gap
              B1: Temperature Control

Example 3: Arms Race (Reinforcing)

    Country A Arms ──(+)──► Country A Threat Perception
           ▲                        │
           │                       (+)
           │                        ▼
    Country B Arms ◄──(+)── Country B Arms Spending
           │
           └──(+)──► Country A Threat Perception
                R1: Escalation Spiral

Analysis Capabilities

  • Loop identification: Automatic detection of R and B loops
  • Dominant loop analysis: Which loops drive behavior
  • Policy leverage points: Where interventions are most effective
  • Scenario simulation: Lotka-Volterra dynamics

GF(3) Triads

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 ✓

Commands

# 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

References

  • Sterman (2000) "Business Dynamics: Systems Thinking and Modeling"
  • Meadows (2008) "Thinking in Systems"
  • CatColab Causal Loop Help

Skill Name: catcolab-causal-loop Type: Systems Dynamics / Feedback Analysis Trit: 0 (ERGODIC) GF(3): Conserved via triadic composition

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Model ElevenLabs voice synthesis as an ACSet schema with Unison ability handlers for typed voice operations. Use when integrating ElevenLabs TTS into category-theoretic pipelines, building typed voice synthesis workflows, or managing multi-voice narration with GF(3) conservation.

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

Systematic process for analyzing and modernizing legacy applications to comply with the 12-Factor App methodology. Covers code analysis, configuration externalization, dependency management, and container/Kubernetes best practices.

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

13c0e3

無料

Gay MCP skill at invocation 26

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

19d57d

無料

Gay MCP skill at invocation 5

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

1ea91a

無料

Gay MCP skill at invocation 27

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

1eab21

無料

Gay MCP skill at invocation 3

日本語の概要は準備中です。原文の説明を表示しています。

plurigrid/asi672026年7月10日 更新

plurigrid のスキルをすべて見る

このスキルの問題を報告する