docs(10_Wiki): Topic_Business/General/Graphic/Programming을 Topics/ 하위로 이동
최상위 10_Wiki/Topic_*였던 4개 카테고리 폴더를 10_Wiki/Topics/Topic_* 로 재배치. 콘텐츠 변경 없음(순수 폴더 이동) — Topics/ 하위 나머지 폴더는 이미 지난 커밋에서 전부 정리된 상태(잔존 항목은 에이전트 운영 상태 및 사용자가 보존을 요청한 업데이트0615/무제 3.canvas 뿐).
This commit is contained in:
@@ -0,0 +1,217 @@
|
||||
---
|
||||
id: wiki-2026-0508-exponential-growth
|
||||
title: Exponential Growth
|
||||
category: 10_Wiki/Topics
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: [exponential, compound growth, doubling time, k-factor, viral coefficient, Moore's law]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 0.95
|
||||
verification_status: applied
|
||||
tags: [math, growth, exponential, viral, compound, scaling, doubling-time]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
tech_stack:
|
||||
language: Math / Python
|
||||
applicable_to: [Growth, Modeling, Finance, Tech Forecast]
|
||||
---
|
||||
|
||||
# Exponential Growth
|
||||
|
||||
## 매 한 줄
|
||||
> **"매 N(t) = N₀ · e^(rt) — 매 rate ∝ size"**. 매 doubling time = ln(2)/r. 매 famous: Moore's law, COVID, viral, compound interest, ML scaling. 매 modern: 매 sigmoid (logistic) 의 의 의 cap.
|
||||
|
||||
## 매 핵심
|
||||
|
||||
### 매 form
|
||||
- **Continuous**: N(t) = N₀ · e^(rt).
|
||||
- **Discrete**: N_t = N₀ · (1+r)^t.
|
||||
- **Doubling time**: t₂ = ln(2)/r ≈ 0.693/r.
|
||||
- **Rule of 72**: 매 % rate 의 의 의 72 의 divide.
|
||||
|
||||
### 매 응용
|
||||
1. **Population**: 매 unconstrained.
|
||||
2. **Compound interest**.
|
||||
3. **Moore's law**: 매 doubling 18-24mo.
|
||||
4. **Viral spread**: 매 R0 > 1.
|
||||
5. **Startup growth**: 매 viral coefficient k.
|
||||
6. **ML scaling laws** (Hoffmann, Kaplan).
|
||||
7. **AGI timeline** (controversial).
|
||||
|
||||
### 매 cap (logistic)
|
||||
- 매 real world 의 의 logistic 의 settle (carrying capacity).
|
||||
- 매 dN/dt = rN(1 - N/K).
|
||||
|
||||
### 매 sub-exponential alternatives
|
||||
- Linear: y = a + bt.
|
||||
- Polynomial: y = a + bt^n.
|
||||
- Logistic: 매 S-curve.
|
||||
- Power-law: y = at^b.
|
||||
|
||||
## 💻 패턴
|
||||
|
||||
### Doubling time
|
||||
```python
|
||||
import math
|
||||
def doubling_time(growth_rate_per_period):
|
||||
return math.log(2) / growth_rate_per_period
|
||||
|
||||
# 매 5% per year
|
||||
print(doubling_time(0.05)) # 매 ~13.86 years
|
||||
# 매 Rule of 72: 72/5 = 14.4 (close)
|
||||
```
|
||||
|
||||
### Viral coefficient (k-factor)
|
||||
```python
|
||||
def k_factor(invites_per_user, conversion_rate):
|
||||
return invites_per_user * conversion_rate
|
||||
|
||||
def viral_growth(initial, k, cycles):
|
||||
"""매 k > 1 → exponential."""
|
||||
return [initial * (k ** c) for c in range(cycles)]
|
||||
```
|
||||
|
||||
### Compound interest
|
||||
```python
|
||||
def compound(principal, rate, periods, n_compoundings_per_period=12):
|
||||
return principal * (1 + rate / n_compoundings_per_period) ** (n_compoundings_per_period * periods)
|
||||
|
||||
def continuous_compound(principal, rate, time):
|
||||
return principal * math.exp(rate * time)
|
||||
```
|
||||
|
||||
### Logistic (real-world cap)
|
||||
```python
|
||||
import numpy as np
|
||||
from scipy.integrate import odeint
|
||||
|
||||
def logistic_growth(N, t, r, K):
|
||||
return r * N * (1 - N / K)
|
||||
|
||||
t = np.linspace(0, 50, 500)
|
||||
N = odeint(logistic_growth, 10, t, args=(0.3, 1000))
|
||||
```
|
||||
|
||||
### Detect exponential vs not
|
||||
```python
|
||||
def is_exponential(timeseries):
|
||||
"""매 log(y) 의 linear 의 fit?"""
|
||||
log_y = np.log(np.maximum(timeseries, 1e-9))
|
||||
t = np.arange(len(log_y))
|
||||
r2 = np.corrcoef(t, log_y)[0, 1] ** 2
|
||||
return r2 > 0.95
|
||||
```
|
||||
|
||||
### Fit growth rate
|
||||
```python
|
||||
from scipy.optimize import curve_fit
|
||||
|
||||
def exp_func(t, N0, r):
|
||||
return N0 * np.exp(r * t)
|
||||
|
||||
def fit_exp(t, y):
|
||||
popt, _ = curve_fit(exp_func, t, y, p0=[y[0], 0.1])
|
||||
return {'N0': popt[0], 'r': popt[1], 'doubling_time': math.log(2) / popt[1]}
|
||||
```
|
||||
|
||||
### Moore's law forecast
|
||||
```python
|
||||
def moores_forecast(transistor_count_now, year_now, year_target):
|
||||
years = year_target - year_now
|
||||
return transistor_count_now * 2 ** (years / 1.5) # 매 2x per 1.5y
|
||||
```
|
||||
|
||||
### COVID-style
|
||||
```python
|
||||
def epidemic_R(cases_today, cases_5days_ago, gen_time_days=5):
|
||||
"""매 매 5d 의 doubling 매 매 R."""
|
||||
growth_rate = math.log(cases_today / cases_5days_ago) / 5
|
||||
return math.exp(growth_rate * gen_time_days)
|
||||
```
|
||||
|
||||
### Cohort retention (counter-exponential)
|
||||
```python
|
||||
def retention_curve(d1=0.4, decay_rate=0.05):
|
||||
"""매 retention 의 typically 매 power-law / exponential decay."""
|
||||
return [d1 * math.exp(-decay_rate * d) for d in range(0, 365)]
|
||||
```
|
||||
|
||||
### Detect inflection (saturation)
|
||||
```python
|
||||
def detect_saturation(series, window=10):
|
||||
"""매 derivative 의 decrease 의 detect."""
|
||||
deltas = np.diff(series)
|
||||
recent_delta = np.mean(deltas[-window:])
|
||||
earlier_delta = np.mean(deltas[-2*window:-window])
|
||||
return recent_delta < earlier_delta * 0.7 # 매 30% slowdown
|
||||
```
|
||||
|
||||
### LLM scaling law (Chinchilla)
|
||||
```python
|
||||
def chinchilla_optimal(N_params, D_tokens):
|
||||
"""매 optimal: D ≈ 20 * N (Hoffmann 2022)."""
|
||||
optimal_D = 20 * N_params
|
||||
if D_tokens < optimal_D * 0.5: return 'undertrained'
|
||||
if D_tokens > optimal_D * 2: return 'overtrained'
|
||||
return 'near_optimal'
|
||||
```
|
||||
|
||||
### Viral campaign forecast
|
||||
```python
|
||||
def viral_campaign(seed_users, k, cycles, cycle_days):
|
||||
users = [seed_users]
|
||||
for _ in range(cycles):
|
||||
users.append(users[-1] * (1 + k))
|
||||
return {'final_users': users[-1], 'days': cycles * cycle_days, 'series': users}
|
||||
```
|
||||
|
||||
### Linear-log plot helper
|
||||
```python
|
||||
import matplotlib.pyplot as plt
|
||||
def plot_growth(t, y):
|
||||
fig, ax = plt.subplots(1, 2, figsize=(10, 4))
|
||||
ax[0].plot(t, y); ax[0].set_title('Linear')
|
||||
ax[1].semilogy(t, y); ax[1].set_title('Log-y (exp = straight)')
|
||||
plt.show()
|
||||
```
|
||||
|
||||
## 매 결정 기준
|
||||
| 상황 | Approach |
|
||||
|---|---|
|
||||
| Population | Logistic (capped) |
|
||||
| Tech transistor | Moore's law (exp) |
|
||||
| Startup | Viral k + retention |
|
||||
| Disease | R + gen time |
|
||||
| Investment | Compound |
|
||||
| Hype curve | Logistic + decay |
|
||||
|
||||
**기본값**: 매 short-horizon 의 exponential model + 매 long-horizon 의 logistic + 매 detect saturation 의 monitor.
|
||||
|
||||
## 🔗 Graph
|
||||
- 부모: [[Math]]
|
||||
- 변형: [[Power-Law]]
|
||||
- 응용: [[Epidemiological-Modeling]] · [[Moores-Law]]
|
||||
- Adjacent: [[Scaling-Laws]] · [[Singularity]] · [[Doubling-Time]]
|
||||
|
||||
## 🤖 LLM 활용
|
||||
**언제**: 매 growth model. 매 forecast. 매 viral / scaling.
|
||||
**언제 X**: 매 saturation evident.
|
||||
|
||||
## ❌ 안티패턴
|
||||
- **Extrapolate forever**: 매 cap 의 ignore.
|
||||
- **Linear intuition for exp**: 매 trillion vs million 의 underestimate.
|
||||
- **No log-y plot**: 매 detect 의 fail.
|
||||
- **Cherry-pick window**: 매 trend manipulate.
|
||||
|
||||
## 🧪 검증 / 중복
|
||||
- Verified (math textbook, Hoffmann 2022 Chinchilla, COVID literature).
|
||||
- 신뢰도 A.
|
||||
|
||||
## 🕓 Changelog
|
||||
| 날짜 | 변경 |
|
||||
|---|---|
|
||||
| 2026-04-20 | Auto-reinforced |
|
||||
| 2026-05-08 | Phase 1 |
|
||||
| 2026-05-10 | Manual cleanup — exp + 매 doubling / viral / logistic / scaling code |
|
||||
Reference in New Issue
Block a user