f8b21af4be
10_Wiki/Topics 대규모 정리: - 오류 캡처/미완성 stub 문서 227개 제거 - 교차폴더 중복 43클러스터 병합 (63파일 → redirect) - 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건 - 카테고리 MOC 6개 신규 생성 - Graph 섹션 미해결 related-keyword 링크 10,058건 제거 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
218 lines
6.2 KiB
Markdown
218 lines
6.2 KiB
Markdown
---
|
|
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 |
|