--- id: wiki-2026-0508-emergence-in-complex-systems title: Emergence in Complex Systems category: 10_Wiki/Topics status: verified canonical_id: self aliases: [emergence, complex systems, self-organization, weak emergence, strong emergence] duplicate_of: none source_trust_level: A confidence_score: 0.94 verification_status: applied tags: [systems-thinking, emergence, complexity, self-organization, swarm, abm, nonlinearity] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: Python / NetLogo applicable_to: [Systems, ABM, Swarm, ML] --- # Emergence in Complex Systems ## 매 한 줄 > **"매 part 의 sum 의 X — 매 interaction 의 의 의 macro property"**. 매 ant colony 의 path, 매 flock 의 V-formation, 매 traffic jam, 매 LLM 의 in-context learning. 매 weak (predictable) vs strong (irreducible). 매 modern AI: 매 emergent abilities (Wei 2022). ## 매 핵심 ### 매 type - **Weak**: 매 simulate 의 predictable. - **Strong**: 매 reduce 의 X (consciousness?). - **Nominal**: 매 just labeling. ### 매 example - **Boids**: 매 3 rule → 매 flocking. - **Game of Life**: 매 4 rule → 매 glider. - **Ant colony**: 매 pheromone → 매 shortest path. - **Sandpile**: 매 SOC (self-organized criticality). - **LLM emergent**: 매 scale → 매 capability jump. - **Traffic**: 매 individual driver → 매 jam. ### 매 hallmark - **Nonlinearity**. - **Many interacting agents**. - **Local rule → global pattern**. - **Phase transition**. - **Sensitivity to initial condition**. ### 매 modern AI emergence - **Few-shot learning**: 매 GPT-3 emergence. - **CoT reasoning**: 매 scale 의 emerge. - **Tool use**: 매 instruction-tuning. - **Theory of mind**: 매 large model. - **Caveat**: Schaeffer 2023 의 매 metric artifact 의 argue. ### 매 응용 1. **ABM**: 매 emergent traffic / market. 2. **Swarm robotics**: 매 collective task. 3. **Neural network**: 매 feature emergence. 4. **Economy**: 매 market price. 5. **Biology**: 매 morphogenesis. ## 💻 패턴 ### Boids (3 rules) ```python import numpy as np def boids_step(positions, velocities, R=10, max_v=2): N = len(positions) new_v = velocities.copy() for i in range(N): neighbors = [j for j in range(N) if j != i and np.linalg.norm(positions[j] - positions[i]) < R] if not neighbors: continue # 매 separation sep = sum(positions[i] - positions[j] for j in neighbors) / len(neighbors) # 매 alignment align = sum(velocities[j] for j in neighbors) / len(neighbors) - velocities[i] # 매 cohesion cent = sum(positions[j] for j in neighbors) / len(neighbors) cohe = cent - positions[i] new_v[i] += 0.5 * sep + 0.3 * align + 0.2 * cohe if np.linalg.norm(new_v[i]) > max_v: new_v[i] = new_v[i] / np.linalg.norm(new_v[i]) * max_v return positions + new_v, new_v ``` ### Conway Game of Life ```python def life_step(grid): n = grid.shape[0] new = grid.copy() for i in range(1, n - 1): for j in range(1, n - 1): neighbors = grid[i-1:i+2, j-1:j+2].sum() - grid[i, j] if grid[i, j] == 1: new[i, j] = 1 if neighbors in (2, 3) else 0 else: new[i, j] = 1 if neighbors == 3 else 0 return new ``` ### Ant colony optimization ```python class ACO: def __init__(self, n, n_ants=20, alpha=1, beta=2, rho=0.5): self.pheromone = np.ones((n, n)) self.alpha, self.beta, self.rho = alpha, beta, rho self.n_ants = n_ants def step(self, distances): all_paths = [] for _ in range(self.n_ants): path = self.ant_walk(distances) length = self.path_length(path, distances) all_paths.append((path, length)) # 매 evaporate self.pheromone *= (1 - self.rho) # 매 deposit for path, length in all_paths: for i in range(len(path) - 1): self.pheromone[path[i], path[i+1]] += 1 / length ``` ### Self-organized criticality (sandpile) ```python def sandpile_topple(grid, threshold=4): """매 BTW model. 매 power-law avalanche.""" while (grid >= threshold).any(): i, j = np.unravel_index(grid.argmax(), grid.shape) grid[i, j] -= threshold for di, dj in [(-1, 0), (1, 0), (0, -1), (0, 1)]: ni, nj = i + di, j + dj if 0 <= ni < grid.shape[0] and 0 <= nj < grid.shape[1]: grid[ni, nj] += 1 return grid ``` ### Schelling segregation ```python def schelling_step(grid, threshold=0.3): """매 mild preference → 매 stark segregation.""" H, W = grid.shape moved = True while moved: moved = False for i in range(H): for j in range(W): if grid[i, j] == 0: continue neighbors = grid[max(0,i-1):i+2, max(0,j-1):j+2].flatten() same = (neighbors == grid[i, j]).sum() - 1 total = (neighbors > 0).sum() - 1 if total > 0 and same / total < threshold: # 매 move to empty empties = list(zip(*np.where(grid == 0))) if empties: ni, nj = empties[np.random.randint(len(empties))] grid[ni, nj] = grid[i, j] grid[i, j] = 0 moved = True return grid ``` ### Detect phase transition ```python def detect_phase_transition(order_param, control_param): """매 derivative 의 spike.""" derivs = np.gradient(order_param, control_param) threshold = np.std(derivs) * 3 transitions = np.where(np.abs(derivs) > threshold)[0] return [control_param[i] for i in transitions] ``` ### Emergence metric (transfer entropy) ```python def transfer_entropy(X, Y, k=1): """매 X → Y information flow.""" from sklearn.feature_selection import mutual_info_regression Y_future = Y[k:] Y_past = Y[:-k] X_past = X[:-k] H_y_given_ypast = mutual_info_regression(Y_past.reshape(-1, 1), Y_future)[0] XY_past = np.column_stack([X_past, Y_past]) H_y_given_xy = mutual_info_regression(XY_past, Y_future)[0] return H_y_given_xy - H_y_given_ypast ``` ### LLM scaling law (emergence test) ```python def is_emergent(model_sizes, accuracies, metric='step'): """매 Wei 2022-style emergence detection.""" if metric == 'step': # 매 sudden jump diffs = np.diff(accuracies) return np.max(diffs) > 3 * np.std(diffs) elif metric == 'continuous': # 매 Schaeffer 2023 의 critique 의 sensitivity return False # 매 use continuous metric instead ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | Animal behavior | Boids / Schelling | | Optimization | ACO | | Critical phenomena | Sandpile / Ising | | Market | ABM economic | | Neural net | Mechanistic interpretability | | LLM scale | Emergence + critique | **기본값**: 매 ABM + 매 phase transition 의 detect + 매 emergent 의 careful (metric artifact). 매 rules 의 simple 의 prefer. ## 🔗 Graph - 부모: [[Complex Systems]] · [[Systems_Thinking|Systems-Thinking]] - 변형: [[Self-Organization]] - 응용: [[Swarm_Intelligence|Swarm-Intelligence]] · [[Cellular Automata]] - Adjacent: [[Cybernetics Foundations|Cybernetics]] · [[Computational_Creativity|Computational-Creativity]] · [[Drama Management Systems]] ## 🤖 LLM 활용 **언제**: 매 systems analysis. 매 ABM. 매 emergent capability research. **언제 X**: 매 reductionist sufficient. ## ❌ 안티패턴 - **Mistake nominal for genuine**: 매 just labeling. - **Strong emergence claim**: 매 unfalsifiable. - **No baseline**: 매 emergence vs random. - **Metric artifact**: 매 step metric only. - **Reductionism only**: 매 macro property 의 miss. ## 🧪 검증 / 중복 - Verified (Mitchell Complexity, Wei 2022, Schaeffer 2023). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-04-20 | Auto-reinforced | | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — emergence + 매 boids / GoL / ACO / Schelling / TE / scaling code |