[G1-Sync] Manual knowledge update
This commit is contained in:
@@ -2,62 +2,148 @@
|
||||
id: wiki-2026-0508-principle-of-least-action
|
||||
title: Principle of Least Action
|
||||
category: 10_Wiki/Topics
|
||||
status: needs_review
|
||||
status: verified
|
||||
canonical_id: self
|
||||
aliases: [PLA-001]
|
||||
aliases: [Stationary Action, Hamilton's Principle, Maupertuis Principle]
|
||||
duplicate_of: none
|
||||
source_trust_level: A
|
||||
confidence_score: 1.0
|
||||
tags: ["Physics|[Physics", Optimization, mechanics, variational-calculus, ai-foundations]
|
||||
confidence_score: 0.9
|
||||
verification_status: applied
|
||||
tags: [physics, variational-calculus, lagrangian, optimization]
|
||||
raw_sources: []
|
||||
last_reinforced: 2026-04-26
|
||||
last_reinforced: 2026-05-10
|
||||
github_commit: pending
|
||||
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
|
||||
tech_stack:
|
||||
language: python
|
||||
framework: jax/sympy
|
||||
---
|
||||
|
||||
# Principle of Least Action (최소 작용의 원리)
|
||||
# Principle of Least Action
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> "자연은 가장 효율적인 경로를 선택한다" — 물체가 이동할 때 작용(Action)이라는 물리량을 최소화하는 경로를 따라 움직인다는 현대 물리학의 가장 보편적인 기본 원리.
|
||||
## 매 한 줄
|
||||
> **"매 Nature 의 action S 의 stationary 의 path 의 select"**. Maupertuis(1744) → Lagrange → Hamilton 의 발전 의 매 classical/quantum/field theory 의 unified backbone — 매 modern ML 의 neural ODEs / Hamiltonian networks 의 기반.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **추출된 패턴:** 복잡한 운동 방정식(F=ma 등)을 일일이 계산하는 대신, 전체 시스템의 에너지 균형을 나타내는 '작용'을 최적화(Optimization)하여 시스템의 거동을 예측하는 패턴.
|
||||
- **세부 내용:**
|
||||
- **Lagrangian ($L = T - V$):** 운동 에너지($T$)와 위치 에너지($V$)의 차이. 시스템의 상태를 정의.
|
||||
- **Action ($S$):** 라그랑지안을 시간에 대해 적분한 값. 이 값이 최소가 되는 경로가 실제 물리적 경로임.
|
||||
- **Hamilton's Principle:** 고전 역학뿐만 아니라 전자기학, 상대성 이론, 양자 역학까지 관통하는 통합 원리.
|
||||
- **Variational Calculus:** 함수를 입력으로 받아 수치를 출력하는 '범함수'의 최적값을 찾는 수학적 도구.
|
||||
## 매 핵심
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
|
||||
- **과거 데이터와의 충돌:** 개별 힘의 상호작용에 집중하던 뉴턴 역학에서, 시스템 전체의 에너지 효율과 최적화 관점으로 물리학의 패러다임을 전환.
|
||||
- **정책 변화:** Antigravity 프로젝트의 에이전트 경로 최적화 및 물리 시뮬레이션 엔진 설계 시, 최소 작용의 원리를 응용하여 계산 비용을 최소화하는 최적 경로를 산출함.
|
||||
### 매 정의
|
||||
- **Action**: S[q] = ∫ L(q, q̇, t) dt, 매 L = T − V (Lagrangian).
|
||||
- **Stationary**: δS = 0 (not 항상 minimum — 매 stationary point).
|
||||
- **Euler-Lagrange**: d/dt (∂L/∂q̇) − ∂L/∂q = 0.
|
||||
- **Hamiltonian**: H(q,p) = p·q̇ − L; 매 q̇ = ∂H/∂p, ṗ = −∂H/∂q.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- [[Optimization|Optimization]], [[Physics-informed-Neural-Networks|Physics-Informed-Neural-Networks]], Differential-Equations, Calculus-for-ML
|
||||
- **Raw Source:** 10_Wiki/Topics/AI/Principle-of-Least-Action.md
|
||||
### 매 형식
|
||||
- **Lagrangian (q, q̇)**: 매 generalized coords 의 자연.
|
||||
- **Hamiltonian (q, p)**: 매 phase-space 의 symplectic structure.
|
||||
- **Path Integral (Feynman)**: 매 amplitude = ∫ Dq exp(iS/ℏ) — 매 quantum extension.
|
||||
|
||||
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
|
||||
### 매 응용
|
||||
1. 매 classical mechanics 의 EoM 의 derive.
|
||||
2. Optical path (Fermat) — light follows least-time.
|
||||
3. Geodesics in GR (least proper-time worldline).
|
||||
4. Symplectic ODE integrators (leapfrog).
|
||||
5. Hamiltonian Neural Networks, Lagrangian NN.
|
||||
|
||||
**언제 이 지식을 쓰는가:**
|
||||
- *(TODO)*
|
||||
## 💻 패턴
|
||||
|
||||
**언제 쓰면 안 되는가:**
|
||||
- *(TODO)*
|
||||
### SymPy — symbolic Euler-Lagrange (pendulum)
|
||||
```python
|
||||
import sympy as sp
|
||||
t, m, g, l = sp.symbols("t m g l", positive=True)
|
||||
q = sp.Function("q")(t)
|
||||
T = sp.Rational(1,2) * m * (l*sp.diff(q, t))**2
|
||||
V = -m*g*l*sp.cos(q)
|
||||
L = T - V
|
||||
EL = sp.diff(sp.diff(L, sp.diff(q,t)), t) - sp.diff(L, q)
|
||||
print(sp.simplify(EL)) # m*l^2*q'' + m*g*l*sin(q) = 0
|
||||
```
|
||||
|
||||
## 🧪 검증 상태 (Validation)
|
||||
### Symplectic leapfrog integrator (preserves H)
|
||||
```python
|
||||
import numpy as np
|
||||
def leapfrog(q, p, dHdq, dHdp, dt, n):
|
||||
for _ in range(n):
|
||||
p = p - 0.5 * dt * dHdq(q)
|
||||
q = q + dt * dHdp(p)
|
||||
p = p - 0.5 * dt * dHdq(q)
|
||||
return q, p
|
||||
```
|
||||
|
||||
- **정보 상태:** needs_review
|
||||
- **출처 신뢰도:** A
|
||||
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
|
||||
### JAX — automatic Lagrangian → EL residual
|
||||
```python
|
||||
import jax, jax.numpy as jnp
|
||||
def lagrangian(q, qdot):
|
||||
return 0.5*jnp.sum(qdot**2) - potential(q)
|
||||
|
||||
## 🧬 중복 검사 (Duplicate Check)
|
||||
def el_residual(q, qdot, qddot):
|
||||
dL_dq = jax.grad(lagrangian, 0)(q, qdot)
|
||||
dL_dqdot = jax.grad(lagrangian, 1)(q, qdot)
|
||||
# d/dt(∂L/∂q̇) along trajectory:
|
||||
H = jax.hessian(lagrangian, argnums=(1,1))(q, qdot)
|
||||
d_dt = H @ qddot # simplified for autonomous L
|
||||
return d_dt - dL_dq
|
||||
```
|
||||
|
||||
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
|
||||
- **처리 방식:** UPDATE (자동 정규화)
|
||||
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
|
||||
### Lagrangian Neural Network (Cranmer 2020)
|
||||
```python
|
||||
# Parameterize L_θ(q,q̇) by an MLP; learn dynamics by enforcing EL eq.
|
||||
class LNN(nn.Module):
|
||||
def __call__(self, q, qdot):
|
||||
return self.mlp(jnp.concatenate([q, qdot]))
|
||||
|
||||
## 🕓 변경 이력 (Changelog)
|
||||
def predicted_qddot(params, q, qdot):
|
||||
L = lambda q,qd: lnn.apply(params, q, qd)
|
||||
H_qd_qd = jax.hessian(L, 1)(q, qdot)
|
||||
grad_q = jax.grad(L, 0)(q, qdot)
|
||||
return jnp.linalg.solve(H_qd_qd, grad_q)
|
||||
```
|
||||
|
||||
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|
||||
|------|-----------|-----------|--------|
|
||||
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
|
||||
### Hamiltonian Neural Network
|
||||
```python
|
||||
# Greydanus 2019: parameterize H_θ(q,p); use symplectic gradients.
|
||||
def hnn_dynamics(params, q, p):
|
||||
H = lambda q,p: hnn.apply(params, q, p)
|
||||
return jax.grad(H, 1)(q,p), -jax.grad(H, 0)(q,p)
|
||||
```
|
||||
|
||||
### Geodesic integration (general metric)
|
||||
```python
|
||||
# Christoffel symbols Γ from g; geodesic eq: q̈^μ + Γ^μ_αβ q̇^α q̇^β = 0
|
||||
```
|
||||
|
||||
## 매 결정 기준
|
||||
| 상황 | Approach |
|
||||
|---|---|
|
||||
| 매 holonomic constraints | Lagrangian (gen coords) |
|
||||
| 매 phase-space analysis / chaos | Hamiltonian |
|
||||
| 매 long-horizon energy preservation | Symplectic integrator (leapfrog, Verlet) |
|
||||
| 매 learn dynamics from data | LNN / HNN / Neural ODE |
|
||||
| 매 quantum / sum-over-paths | Path integral |
|
||||
| 매 optics / wave fronts | Fermat / eikonal form |
|
||||
|
||||
**기본값**: 매 Lagrangian + EL → leapfrog symplectic integration.
|
||||
|
||||
## 🔗 Graph
|
||||
- 부모: [[Optimal-Control-Theory]] · [[Variational Calculus]]
|
||||
- 변형: [[Hamilton's Equations]] · [[Path Integral Formulation]]
|
||||
- 응용: [[Hamiltonian Neural Networks]] · [[Neural ODEs]] · [[Symplectic Integrators]]
|
||||
- Adjacent: [[Noether's Theorem]] · [[General Relativity]] · [[Optimization]]
|
||||
|
||||
## 🤖 LLM 활용
|
||||
**언제**: 매 conservative system 의 dynamics learn / simulate — 매 long-horizon stability 의 priority. 매 physics-informed ML.
|
||||
**언제 X**: 매 strongly dissipative / non-conservative — 매 Hamiltonian assumption 의 violate. 매 stochastic — 매 Langevin / SDE.
|
||||
|
||||
## ❌ 안티패턴
|
||||
- **"Least" action 으로 misinterpret**: 매 stationary, 매 not 항상 min — 매 saddle 도 valid.
|
||||
- **Non-symplectic integrator + long horizon**: 매 energy drift.
|
||||
- **Constraints 의 ad-hoc 처리**: 매 generalized coords 또는 Lagrange multipliers 의 use.
|
||||
- **Time-dependent L 의 Hamiltonian 으로 conserve assume**: 매 ∂L/∂t ≠ 0 → H 의 not conserved.
|
||||
|
||||
## 🧪 검증 / 중복
|
||||
- Verified (Goldstein *Classical Mechanics* 3e; Arnold *Mathematical Methods of CM*; Feynman Vol II).
|
||||
- 신뢰도 A.
|
||||
|
||||
## 🕓 Changelog
|
||||
| 날짜 | 변경 |
|
||||
|---|---|
|
||||
| 2026-05-08 | Phase 1 |
|
||||
| 2026-05-10 | Manual cleanup — Lagrangian/Hamiltonian/symplectic + LNN/HNN modern ML link |
|
||||
|
||||
Reference in New Issue
Block a user