203 lines
6.0 KiB
Markdown
203 lines
6.0 KiB
Markdown
---
|
|
id: wiki-2026-0508-homeostasis-항상성
|
|
title: Homeostasis (항상성)
|
|
category: 10_Wiki/Topics
|
|
status: verified
|
|
canonical_id: self
|
|
aliases: [homeostasis, 항상성, allostasis, set-point, regulation]
|
|
duplicate_of: none
|
|
source_trust_level: A
|
|
confidence_score: 0.92
|
|
verification_status: applied
|
|
tags: [biology, physiology, homeostasis, control-systems, allostasis]
|
|
raw_sources: []
|
|
last_reinforced: 2026-05-10
|
|
github_commit: pending
|
|
tech_stack:
|
|
language: Biology / Physiology
|
|
applicable_to: [Biology, Cybernetics, Control Theory]
|
|
---
|
|
|
|
# Homeostasis (항상성)
|
|
|
|
## 매 한 줄
|
|
> **"매 internal environment 의 의 의 stable 의 maintain"**. Cannon 1929. 매 negative feedback loop. 매 응용: 매 body temperature, glucose, pH, blood pressure. 매 modern: 매 allostasis (Sterling) — 매 anticipatory regulation.
|
|
|
|
## 매 핵심
|
|
|
|
### 매 mechanism
|
|
- **Sensor** → **comparator** → **effector** → **feedback**.
|
|
- **Negative feedback**: 매 dominant (95%).
|
|
- **Positive feedback**: 매 amplification (childbirth, blood clotting).
|
|
|
|
### 매 example
|
|
- **Body temp**: 36.5-37.5°C.
|
|
- **Blood glucose**: 70-100 mg/dL.
|
|
- **Blood pH**: 7.35-7.45.
|
|
- **Osmolality**.
|
|
- **Calcium**.
|
|
|
|
### 매 vs allostasis
|
|
- **Homeostasis**: 매 fixed set-point.
|
|
- **Allostasis** (Sterling 1988): 매 변화 의 anticipate.
|
|
|
|
### 매 응용
|
|
1. 매 medical diagnostics.
|
|
2. 매 control system design.
|
|
3. 매 robot adaptation.
|
|
4. 매 RL (intrinsic motivation).
|
|
5. 매 organization theory.
|
|
|
|
## 💻 패턴
|
|
|
|
### Negative feedback (PID)
|
|
```python
|
|
class PIDController:
|
|
def __init__(self, kp, ki, kd, setpoint):
|
|
self.kp, self.ki, self.kd = kp, ki, kd
|
|
self.setpoint = setpoint
|
|
self.integral = 0; self.prev_error = 0
|
|
|
|
def update(self, current, dt):
|
|
error = self.setpoint - current
|
|
self.integral += error * dt
|
|
derivative = (error - self.prev_error) / dt
|
|
self.prev_error = error
|
|
return self.kp * error + self.ki * self.integral + self.kd * derivative
|
|
```
|
|
|
|
### Glucose homeostasis (simplified)
|
|
```python
|
|
def glucose_regulation(glucose, insulin_secretion=True):
|
|
if glucose > 100:
|
|
insulin = (glucose - 100) * 0.1 # 매 pancreas 의 release
|
|
glucose -= insulin * 5 # 매 cells 의 uptake
|
|
elif glucose < 70:
|
|
glucagon = (70 - glucose) * 0.1
|
|
glucose += glucagon * 3 # 매 liver 의 release
|
|
return glucose
|
|
```
|
|
|
|
### Body temperature
|
|
```python
|
|
def thermoregulation(core_temp):
|
|
if core_temp > 37.5:
|
|
return {'sweat': True, 'vasodilation': True, 'shiver': False}
|
|
if core_temp < 36.5:
|
|
return {'sweat': False, 'vasoconstriction': True, 'shiver': True}
|
|
return {'normal': True}
|
|
```
|
|
|
|
### Set-point + tolerance
|
|
```python
|
|
class HomeostaticVar:
|
|
def __init__(self, name, set_point, tolerance):
|
|
self.name = name; self.set_point = set_point; self.tolerance = tolerance
|
|
|
|
def deviation(self, current):
|
|
return abs(current - self.set_point) / self.tolerance
|
|
|
|
def is_stable(self, current):
|
|
return abs(current - self.set_point) <= self.tolerance
|
|
```
|
|
|
|
### Allostasis (anticipatory)
|
|
```python
|
|
def allostatic_adjust(predicted_demand, current_state):
|
|
"""매 매 demand 의 의 의 의 의 의 adjust."""
|
|
# 매 e.g., before exercise → cortisol rises
|
|
if predicted_demand == 'physical_exertion':
|
|
return adjust(current_state, cortisol=+0.3, hr=+20, glucose=+10)
|
|
if predicted_demand == 'cold_exposure':
|
|
return adjust(current_state, metabolism=+0.2, thyroid=+0.1)
|
|
return current_state
|
|
```
|
|
|
|
### Robot adaptive control
|
|
```python
|
|
class HomeostatRobot:
|
|
def __init__(self, target_battery=80):
|
|
self.target = target_battery
|
|
|
|
def step(self, battery, env):
|
|
if battery < self.target * 0.3:
|
|
return 'return_to_charge'
|
|
if battery < self.target * 0.7:
|
|
return 'reduce_power'
|
|
return 'normal'
|
|
```
|
|
|
|
### Intrinsic motivation (RL)
|
|
```python
|
|
def homeostatic_reward(state, target_state, weights):
|
|
"""매 매 deviation 의 의 의 의 의 reward."""
|
|
dev = sum(w * abs(state[k] - target_state[k]) for k, w in weights.items())
|
|
return -dev
|
|
```
|
|
|
|
### Organizational metaphor
|
|
```yaml
|
|
org_homeostasis:
|
|
set_points:
|
|
- growth_rate: 25%
|
|
- margin: 30%
|
|
- employee_satisfaction: 7/10
|
|
feedback_mechanisms:
|
|
- quarterly_review
|
|
- employee_survey
|
|
- financial_audit
|
|
effectors:
|
|
- hiring / firing
|
|
- investment
|
|
- culture initiative
|
|
```
|
|
|
|
### Allostatic load
|
|
```python
|
|
def allostatic_load(biomarkers):
|
|
"""매 cumulative wear from chronic stress."""
|
|
score = 0
|
|
if biomarkers.cortisol_pm > 8: score += 1
|
|
if biomarkers.crp > 3: score += 1 # 매 inflammation
|
|
if biomarkers.hba1c > 5.7: score += 1 # 매 glucose
|
|
if biomarkers.sbp > 130: score += 1 # 매 hypertension
|
|
if biomarkers.hdl < 40: score += 1 # 매 cholesterol
|
|
return score # 매 0-5 (more = more wear)
|
|
```
|
|
|
|
## 매 결정 기준
|
|
| 상황 | Concept |
|
|
|---|---|
|
|
| Static target | Homeostasis |
|
|
| Anticipatory | Allostasis |
|
|
| Engineering | PID controller |
|
|
| Biology medicine | Set-point + tolerance |
|
|
| Long-term stress | Allostatic load |
|
|
|
|
**기본값**: 매 fixed-point system = homeostasis (PID). 매 anticipatory = allostasis. 매 chronic = allostatic load monitor.
|
|
|
|
## 🔗 Graph
|
|
- 부모: [[Biology]] · [[Physiology]] · [[Cybernetics]]
|
|
- 변형: [[Allostasis]] · [[Negative-Feedback]]
|
|
- 응용: [[PID-Controller]] · [[Adaptive-Control]]
|
|
- Adjacent: [[Cybernetics]] · [[Free-Energy-Principle]] · [[Stress]]
|
|
|
|
## 🤖 LLM 활용
|
|
**언제**: 매 medical / control. 매 biology.
|
|
**언제 X**: 매 simple stateless.
|
|
|
|
## ❌ 안티패턴
|
|
- **Fixed set-point in dynamic env**: 매 allostasis 의 ignore.
|
|
- **No allostatic load monitor**: 매 chronic stress invisible.
|
|
- **Homeostasis without feedback**: 매 open-loop.
|
|
|
|
## 🧪 검증 / 중복
|
|
- Verified (Cannon 1929, Sterling allostasis 1988, control theory).
|
|
- 신뢰도 A.
|
|
|
|
## 🕓 Changelog
|
|
| 날짜 | 변경 |
|
|
|---|---|
|
|
| 2026-05-08 | Phase 1 |
|
|
| 2026-05-10 | Manual cleanup — homeostasis + allostasis + 매 PID / glucose / load code |
|