refactor(topics): 멀티 에이전트용 지식 재편 — _Common(공통 기본기) + Domain_* 구조
에이전트 8종(대화형/프로그래머 C·S/디자이너/설계자/기획자/QA/PD/PM)에게 [공통 기본 능력 + 롤별 Specialty] 2층으로 지식을 주입하기 위한 재분류. 문서 내용·포맷은 무수정, 폴더 이동만 (6,372개 문서 수 보존 확인). - Topic_Programming → Domain_Programming (내부 구조 보존) - Topic_Graphic → Domain_Design - Topic_Business → Domain_Product - Topic_General → Domain_General - _Common 신설: Math(구 Topic_Math_Specialty), Reasoning(구 General/From_Thinking & Reasoning), Reasoning_Creativity(구 General/From_창의성), Communication(Poetic_Blog_Writing + From_writing) - 타 도메인의 From_* 폴더는 유지 (출처 표기일 뿐, 이미 도메인에 맞게 분류된 문서) - 빈 폴더 정리 (memory/procedures) - 에이전트→폴더 매핑은 workspace의 .astra/agent-knowledge-map.json (9개 에이전트) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,188 @@
|
||||
---
|
||||
id: wiki-2026-0508-understanding-complex-systems
|
||||
title: Understanding Complex Systems
|
||||
category: 10_Wiki/Topics
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: [Complexity Science, Complex Adaptive Systems, CAS]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 0.9
|
||||
verification_status: applied
|
||||
tags: [complexity, systems-thinking, emergence, networks]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
tech_stack:
|
||||
language: Python
|
||||
framework: NetworkX / Mesa / SciPy
|
||||
---
|
||||
|
||||
# Understanding Complex Systems
|
||||
|
||||
## 매 한 줄
|
||||
> **"매 부분의 합 그 이상 — 매 emergence"**. Santa Fe Institute 1984 founding 이후 complexity science 는 economics, biology, AI safety 까지 확장됐고, 2026 현재 ABM + GNN + dynamical systems 의 hybrid analysis 가 standard toolkit이다.
|
||||
|
||||
## 매 핵심
|
||||
|
||||
### 매 정의 axes
|
||||
- **Many components**: 매 대량의 interacting agent.
|
||||
- **Nonlinearity**: small cause → large effect (butterfly).
|
||||
- **Emergence**: macro pattern not reducible to micro rules.
|
||||
- **Adaptation**: agent rule 의 evolution (CAS).
|
||||
- **Self-organization**: external designer 없이 ordered structure.
|
||||
|
||||
### 매 phenomena
|
||||
- **Phase transitions** (percolation, Ising).
|
||||
- **Power laws / scale-free networks** (Barabási 1999).
|
||||
- **Chaos & strange attractors** (Lorenz 1963).
|
||||
- **Synchronization** (Kuramoto oscillators).
|
||||
- **Critical brain hypothesis** (Beggs & Plenz 2003).
|
||||
|
||||
### 매 응용
|
||||
1. Epidemic modeling (COVID-19, agent-based + network).
|
||||
2. Financial market (heavy tails, flash crashes).
|
||||
3. AI safety: emergent behaviors in LLM scaling, multi-agent.
|
||||
4. Climate tipping points.
|
||||
5. Urban / supply chain resilience.
|
||||
|
||||
## 💻 패턴
|
||||
|
||||
### Game of Life — emergence demo
|
||||
```python
|
||||
import numpy as np
|
||||
|
||||
def step(grid):
|
||||
n = sum(np.roll(np.roll(grid, i, 0), j, 1)
|
||||
for i in (-1, 0, 1) for j in (-1, 0, 1)
|
||||
if (i, j) != (0, 0))
|
||||
return ((n == 3) | ((grid == 1) & (n == 2))).astype(int)
|
||||
|
||||
g = np.random.binomial(1, 0.3, (200, 200))
|
||||
for _ in range(500):
|
||||
g = step(g)
|
||||
```
|
||||
|
||||
### Scale-free network (Barabási–Albert)
|
||||
```python
|
||||
import networkx as nx
|
||||
G = nx.barabasi_albert_graph(n=10_000, m=3, seed=42)
|
||||
|
||||
degrees = [d for _, d in G.degree()]
|
||||
# verify power-law
|
||||
import powerlaw
|
||||
fit = powerlaw.Fit(degrees, discrete=True)
|
||||
print(fit.alpha, fit.xmin, fit.distribution_compare("power_law", "lognormal"))
|
||||
```
|
||||
|
||||
### Kuramoto synchronization
|
||||
```python
|
||||
import numpy as np
|
||||
from scipy.integrate import odeint
|
||||
|
||||
def kuramoto(theta, t, omega, K, N):
|
||||
dtheta = omega.copy()
|
||||
for i in range(N):
|
||||
dtheta[i] += (K/N) * np.sum(np.sin(theta - theta[i]))
|
||||
return dtheta
|
||||
|
||||
N, K = 100, 1.5
|
||||
omega = np.random.normal(0, 1, N)
|
||||
theta0 = np.random.uniform(0, 2*np.pi, N)
|
||||
t = np.linspace(0, 50, 1000)
|
||||
sol = odeint(kuramoto, theta0, t, args=(omega, K, N))
|
||||
|
||||
# order parameter r(t)
|
||||
r = np.abs(np.exp(1j * sol).mean(axis=1))
|
||||
```
|
||||
|
||||
### SIR epidemic on network
|
||||
```python
|
||||
import networkx as nx, random
|
||||
|
||||
def sir(G, beta=0.05, gamma=0.01, init=5, T=200):
|
||||
state = {n: "S" for n in G}
|
||||
for n in random.sample(list(G), init): state[n] = "I"
|
||||
history = []
|
||||
for _ in range(T):
|
||||
new = state.copy()
|
||||
for n, s in state.items():
|
||||
if s == "I":
|
||||
if random.random() < gamma: new[n] = "R"
|
||||
for nb in G.neighbors(n):
|
||||
if state[nb] == "S" and random.random() < beta:
|
||||
new[nb] = "I"
|
||||
state = new
|
||||
history.append((sum(v=="S" for v in state.values()),
|
||||
sum(v=="I" for v in state.values()),
|
||||
sum(v=="R" for v in state.values())))
|
||||
return history
|
||||
```
|
||||
|
||||
### Lyapunov exponent (logistic map)
|
||||
```python
|
||||
import numpy as np
|
||||
def lyapunov(r, x0=0.5, n=10_000, burn=1000):
|
||||
x = x0
|
||||
for _ in range(burn): x = r*x*(1-x)
|
||||
s = 0.0
|
||||
for _ in range(n):
|
||||
x = r*x*(1-x)
|
||||
s += np.log(abs(r - 2*r*x) + 1e-12)
|
||||
return s / n
|
||||
|
||||
for r in np.linspace(2.5, 4.0, 16):
|
||||
print(f"r={r:.2f} λ={lyapunov(r):+.4f}")
|
||||
```
|
||||
|
||||
### Causal emergence via effective info (PyPhi-lite idea)
|
||||
```python
|
||||
# coarse-grain & measure mutual info gain — 매 Hoel 2017
|
||||
def effective_info(P_micro, grouping):
|
||||
# P_micro: (S, S) transition matrix
|
||||
# grouping: list of macro-state index per micro-state
|
||||
import numpy as np
|
||||
macro = max(grouping) + 1
|
||||
P_macro = np.zeros((macro, macro))
|
||||
for i, gi in enumerate(grouping):
|
||||
for j, gj in enumerate(grouping):
|
||||
P_macro[gi, gj] += P_micro[i, j]
|
||||
P_macro /= P_macro.sum(axis=1, keepdims=True) + 1e-12
|
||||
return P_macro
|
||||
```
|
||||
|
||||
## 매 결정 기준
|
||||
| 상황 | Approach |
|
||||
|---|---|
|
||||
| Local rules, emergent macro | Agent-based (Mesa, NetLogo) |
|
||||
| Network structure matters | NetworkX / igraph + null models |
|
||||
| Continuous coupled oscillators | Kuramoto / ODE |
|
||||
| Discrete-time chaos | Iterated maps + Lyapunov |
|
||||
| Real data, latent dynamics | SINDy / Koopman / NeuralODE |
|
||||
|
||||
**기본값**: NetworkX + Mesa for structure+dynamics, SciPy for ODE, powerlaw for tail fit.
|
||||
|
||||
## 🔗 Graph
|
||||
- 부모: [[Systems Theory]] · [[Nonlinear Dynamics]]
|
||||
- 응용: [[Pedestrian-Modeling]]
|
||||
- Adjacent: [[Entropy in Information Theory|Information Theory]] · [[AI_Safety_and_Alignment|AI Safety]]
|
||||
|
||||
## 🤖 LLM 활용
|
||||
**언제**: model scaffolding, parameter sweep, hypothesis enumeration, literature 정리.
|
||||
**언제 X**: long-horizon stability claim — 매 numerical proof / theorem 직접 검증.
|
||||
|
||||
## ❌ 안티패턴
|
||||
- **Power-law claim 의 over-fit**: 매 lognormal vs power-law 비교 검증 필수 (Clauset 2009).
|
||||
- **Emergence as magic**: 매 정의 명확화 — weak (epistemic) vs strong (ontological).
|
||||
- **Single ABM run**: Monte Carlo ensemble 필수 (≥100 runs).
|
||||
- **Network metric without null**: 매 configuration model baseline 비교.
|
||||
|
||||
## 🧪 검증 / 중복
|
||||
- Verified (Mitchell "Complexity: A Guided Tour", SFI lectures, Strogatz "Nonlinear Dynamics and Chaos", Newman "Networks" 2nd ed).
|
||||
- 신뢰도 A.
|
||||
|
||||
## 🕓 Changelog
|
||||
| 날짜 | 변경 |
|
||||
|---|---|
|
||||
| 2026-05-08 | Phase 1 |
|
||||
| 2026-05-10 | Manual cleanup — emergence + networks + chaos pattern set |
|
||||
Reference in New Issue
Block a user