--- id: wiki-2026-0508-cybernetics title: Cybernetics Foundations category: 10_Wiki/Topics status: verified canonical_id: self aliases: [cybernetics, Norbert Wiener, feedback loop, homeostasis, control theory, second-order cybernetics, autopoiesis] duplicate_of: none source_trust_level: A confidence_score: 0.88 verification_status: applied tags: [cybernetics, systems-thinking, control-theory, feedback, homeostasis, ai-history, wiener, ashby] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: systems theory applicable_to: [Multi-agent Design, Control Systems, AI Architecture] --- # Cybernetics ## 매 한 줄 > **"매 living + 매 machine 의 control + communication 의 universal"**. Norbert Wiener (1948). 매 feedback loop + homeostasis + 매 information transmission. 매 AI / robotics / biology / sociology 의 cross-disciplinary roots. 매 modern: 매 multi-agent system + 매 control + 매 active inference. ## 매 핵심 ### Wiener (1st-order cybernetics) - 매 system 의 observe. - 매 input → process → output → feedback. - 매 negative feedback 의 stabilize. - 매 positive feedback 의 amplify / explode. ### 2nd-order cybernetics (Foerster, Maturana) - 매 observer 의 part of system. - 매 self-reference. - 매 autopoiesis (self-creating). ### 매 핵심 concept #### Feedback Loop - **Negative**: 매 thermostat, 매 homeostasis. - **Positive**: 매 microphone feedback, 매 viral growth. #### Homeostasis - 매 internal state 의 stable. - 매 perturbation 의 counter. - 매 biological + 매 artificial. #### Black Box - 매 internal X — 매 I/O 만. - 매 abstraction principle. #### Variety (Ashby's Law) - 매 controller 의 variety ≥ disturbance 의 variety. - 매 system 의 control 의 limit. #### Requisite Variety - 매 system 의 manage 의 environment 의 capable variety. ### 매 history - 1948 Wiener "Cybernetics". - 1956 Dartmouth (AI 이름). - Macy Conferences (1946-1953): cyber + systems. - 2nd-order: Heinz von Foerster, Maturana-Varela. - Decline (1970s): AI vs Cybernetics 의 split. - Revival (2000s+): control + agent + autopoiesis. ### 매 modern relevance #### Control theory - PID, MPC, optimal control. - Robotics: 매 closed-loop. - 매 autonomous vehicle. #### Multi-agent system - 매 distributed control. - 매 swarm. #### Active inference (Friston) - 매 free energy minimization. - 매 cybernetic + Bayesian. - [[Bayesian-Brain-Hypothesis]] 참조. #### Organizational - 매 systems thinking (Senge "Fifth Discipline"). - 매 viable system model (Beer). #### AI alignment - 매 reward hacking 의 cybernetic 의 lens. - 매 unintended feedback. ### 매 응용 1. **Thermostat / HVAC**: 매 simplest. 2. **Robotics**: 매 control. 3. **Biology**: 매 endocrine / neural. 4. **Economics**: 매 supply-demand. 5. **Organization**: 매 managed system. 6. **AI agent**: 매 action + observation loop. ## 💻 패턴 ### PID Controller (classic feedback) ```python class PID: def __init__(self, kp=1.0, ki=0.1, kd=0.05): self.kp, self.ki, self.kd = kp, ki, kd self.integral = 0 self.prev_error = 0 def update(self, target, current, dt): error = target - current self.integral += error * dt derivative = (error - self.prev_error) / dt output = self.kp * error + self.ki * self.integral + self.kd * derivative self.prev_error = error return output # 매 example: 매 thermostat pid = PID() while True: error_correction = pid.update(target_temp=22, current=sensor.read(), dt=1.0) heater.set_power(error_correction) sleep(1) ``` ### Negative feedback (homeostasis) ```python class Homeostat: def __init__(self, target): self.target = target self.state = target def perturbate(self, disturbance): self.state += disturbance def regulate(self, gain=0.1): # 매 negative feedback 의 self-correct error = self.target - self.state self.state += gain * error # 매 simulate h = Homeostat(target=37) # 매 body temp for _ in range(100): h.perturbate(random.gauss(0, 1)) # 매 environment h.regulate() print(h.state) # 매 ~37 ``` ### Positive feedback (caution) ```python def viral_growth(initial, gain, steps): """매 positive feedback — 매 amplify.""" state = initial for _ in range(steps): state *= (1 + gain) if state > LIMIT: break # 매 saturation needed return state ``` ### Ashby's Law check ```python def can_control(controller_variety, disturbance_variety): """매 'Only variety can destroy variety.'""" return controller_variety >= disturbance_variety # 매 example: 매 thermostat 의 매 1 mode 만 → 매 매 disturbance 매 multiple 의 fail print(can_control(1, 5)) # False print(can_control(10, 5)) # True ``` ### Black Box (system identification) ```python import numpy as np def identify_black_box(system_fn, n_samples=100): """매 input-output 의 model 의 fit.""" X = np.random.randn(n_samples, INPUT_DIM) Y = np.array([system_fn(x) for x in X]) from sklearn.linear_model import LinearRegression model = LinearRegression().fit(X, Y) return model # 매 estimated transfer function ``` ### Active inference (Friston-style) ```python def active_inference(belief, world_model, possible_actions): """매 minimize expected free energy.""" best_action, best_efe = None, float('inf') for a in possible_actions: next_belief = world_model.predict(belief, a) # 매 epistemic value info_gain = expected_kl(next_belief, belief) # 매 pragmatic value pragmatic = expected_log_preference(next_belief) efe = -info_gain - pragmatic if efe < best_efe: best_efe, best_action = efe, a return best_action ``` ### MPC (Model Predictive Control) ```python import cvxpy as cp def mpc_step(x_current, x_target, horizon=10): x = cp.Variable((horizon + 1, STATE_DIM)) u = cp.Variable((horizon, ACTION_DIM)) cost = 0 constraints = [x[0] == x_current] for t in range(horizon): cost += cp.sum_squares(x[t+1] - x_target) + 0.1 * cp.sum_squares(u[t]) constraints += [x[t+1] == A @ x[t] + B @ u[t]] constraints += [cp.abs(u[t]) <= U_MAX] cp.Problem(cp.Minimize(cost), constraints).solve() return u[0].value ``` ### Multi-agent feedback (consensus) ```python def consensus_step(agents, alpha=0.1): """매 distributed averaging.""" new_states = [] for a in agents: avg_neighbor = mean(n.state for n in a.neighbors) new_states.append(a.state + alpha * (avg_neighbor - a.state)) for a, ns in zip(agents, new_states): a.state = ns # 매 매 step 의 모두 의 average 의 converge. ``` ### Reward hacking detection (cybernetic perspective) ```python def detect_reward_hacking(agent_trajectory, true_objective): """매 unintended feedback 의 detect.""" declared_reward = sum(t.reward for t in agent_trajectory) actual_progress = measure_against_intent(agent_trajectory, true_objective) if declared_reward > 0.9 * MAX_DECLARED and actual_progress < 0.5: return 'WARN: reward hacking — 매 metric 의 game' return 'OK' ``` ## 🤔 결정 기준 | 응용 | Approach | |---|---| | Setpoint regulation | PID | | Multi-state control | MPC | | Distributed | Consensus protocol | | Homeostatic system | Negative feedback | | Growth (controlled) | Positive feedback + saturation | | Multi-agent | Active inference / consensus | | AI alignment | Reward hacking detection | **기본값**: PID 의 baseline. 매 model-aware = MPC. 매 multi-agent = active inference. ## 🔗 Graph - 부모: [[Systems-Theory]] · [[Control-Theory]] · [[Multi-agent-System|Multi-Agent-Systems]] - 변형: [[Feedback-Loop]] · [[Homeostasis (항상성)|Homeostasis]] · [[Autopoiesis]] - 사상가: [[Norbert-Wiener]] - 응용: [[PID]] · [[MPC]] · [[Active-Inference]] · [[Bayesian-Brain-Hypothesis]] - Adjacent: [[Antifragility]] · [[Artificial-Life]] · [[Biological-Intelligence]] · [[Anarchism]] ## 🤖 LLM 활용 **언제**: 매 control system. 매 multi-agent. 매 active inference. 매 cybernetic / systems thinking. **언제 X**: 매 specific math (control theory 의 textbook). 매 single-step decision. ## ❌ 안티패턴 - **Open-loop control**: 매 perturbation 의 ignore. - **Variety mismatch (Ashby)**: 매 controller 의 weak. - **Positive feedback 의 unbounded**: 매 explosion. - **Reward hacking 의 ignore**: 매 unintended. - **2nd-order observer 의 X**: 매 self-reference 의 limit. ## 🧪 검증 / 중복 - Verified (Wiener "Cybernetics", Ashby "Introduction to Cybernetics", Friston FEP). - 신뢰도 A. - Related: [[Bayesian-Brain-Hypothesis]] · [[Antifragility]] · [[Multi-agent-System|Multi-Agent-Systems]] · [[Anarchism]] · [[Computational-Neuroscience-RL]]. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — Wiener + 2nd-order + Ashby + 매 PID / MPC / consensus / active inference code |