微分方程(哈密頓量動態)的數值解來描述權力場的演化; 用蒙特卡羅方法的具體實現來模擬不確定性下的權力重組。
1. 權力場動態的微分方程數值解
模型細化
我們從之前的權力場哈密頓量出發: [ H = \int d^3x \left[ \frac{1}{2} (\partial_t \phi)^2 + \frac{1}{2} (\nabla \phi)^2 + \frac{\lambda}{4} (\phi^2 - a^2)^2 \right] ] 運動方程為: [ \partial_t^2 \phi - \nabla^2 \phi + \lambda \phi (\phi^2 - a^2) = 0 ] 為模擬真實政治系統,加入阻尼項(代表權力衰減,如內耗)與外力項(外部干預,如清軍): [ \partial_t^2 \phi + \gamma \partial_t \phi - \nabla^2 \phi + \lambda \phi (\phi^2 - a^2) = F(x,t) ]
- (\gamma):阻尼係數,模擬內部摩擦(如派系鬥爭)。
- (F(x,t)):外力場,隨時間和空間變化。
參數設定(明朝末年)
- (\phi(x,t)):權力強度,初始時崇禮在位,(\phi \approx a = 1)(中央集權)。
- (\lambda = 0.5):耦合強度,反映權力集中的穩定性。
- (\gamma = 0.1):內耗(如宦官與東林黨衝突)。
- (F(x,t)):模擬李自成起義與清軍入關,設為脈衝函數,在 (t = t_0)(1644年)後突增。
- 空間:簡化為一維 (x \in [0, L]),代表從北京到邊疆的權力分佈。
數值解法
使用有限差分法求解:
- 離散化:
- 時間步長 (\Delta t = 0.01),空間步長 (\Delta x = 0.1)。
- (\partial_t^2 \phi \approx \frac{\phi(t+\Delta t) - 2\phi(t) + \phi(t-\Delta t)}{\Delta t^2})。
- (\nabla^2 \phi \approx \frac{\phi(x+\Delta x) - 2\phi(x) + \phi(x-\Delta x)}{\Delta x^2})。
- 初始條件:
- (t = 0):(\phi(x,0) = a = 1)(崇禎穩定統治)。
- (\partial_t \phi(x,0) = 0)(初始無動量)。
- 邊界條件:
- (\phi(0,t) = 1)(北京核心權力),(\phi(L,t) = 0)(邊疆薄弱)。
- 模擬過程:
- (t < t_0):(\phi) 穩定在 (a) 附近,小幅振盪(內部壓力)。
- (t = t_0)(崇禎死):設 (\phi(0,t_0) \to 0),(F(x,t) = F_0 e^{-(x-x_0)^2/\sigma^2})(李自成從陝西崛起,(x_0 = L/2))。
- (t > t_0):觀察 (\phi) 如何崩潰並局部重建(清軍入關)。
結果預測
- (t < t_0):(\phi) 在 (1) 附近振盪,反映明朝末年的危機但未崩潰。
- (t = t_0):(\phi) 迅速跌至 (0)(真空),空間梯度 (\nabla \phi) 增大(地方割據)。
- (t > t_0):(F(x,t)) 驅動 (\phi) 在某些 (x) 重建(如清朝穩定北京),但邊疆波動持續。
2. 蒙特卡羅模擬的不確定性演化
模型細化
系統能量為: [ H = -\sum_{i,j} J_{ij} s_i s_j + \sum_i h_i s_i ]
- (s_i \in [-1, 1]):行為者 (i) 的權力狀態。
- (J_{ij}):相互作用矩陣。
- (h_i):外部場。
參數設定(明朝末年)
- 行為者:崇禎(1)、李自成(2)、清軍(3)、南明(4)。
- 初始狀態:(s_1 = 1)(崇禎),(s_2 = s_3 = s_4 = 0)(潛在勢力)。
- (J_{ij}) 矩陣: [ J = \begin{bmatrix} 0 & -0.5 & -0.5 & -0.2 \ -0.5 & 0 & -0.3 & 0.1 \ -0.5 & -0.3 & 0 & -0.1 \ -0.2 & 0.1 & -0.1 & 0 \end{bmatrix} ]
- (J_{12}, J_{13}) 負值:李自成、清軍反叛。
- (J_{24}) 正值:李自成與南明短暫合作可能。
- (h_i(t)):
- (t < t_0):(h_1 = 1),其他為 (0)。
- (t = t_0):(h_1 \to 0)(崇禎死),(h_2 = 0.8)(李自成崛起),(h_3 = 0.5)(清軍增強)。
- (\beta = 1)(混亂度適中)。
蒙特卡羅實現
- 初始化:(s_i) 如上,隨機擾動 (\pm 0.1)。
- 迭代步驟:
- 隨機選一 (i),提議新狀態 (s_i’ = s_i + \delta)((\delta \sim [-0.2, 0.2]))。
- 計算 (\Delta H = H(s_i’) - H(s_i))。
- 若 (\Delta H < 0) 或 (e^{-\beta \Delta H} > \text{rand}(0,1)),接受 (s_i’)。
- 模擬次數:10000步,記錄 (s_i(t)) 軌跡。
結果預測
- (t < t_0):(s_1 \approx 1),其他 (s_i) 小幅波動。
- (t = t_0):(s_1 \to 0),(s_2) 快速升至 (0.8)(李自成佔北京),(s_3) 緩慢增長。
- (t > t_0):(s_3) 最終主導(清軍勝出),(s_2, s_4) 衰減,反映歷史結局。
細節實現與驗證
數值解
- 用Python實現差分法:
import numpy as np - import matplotlib.pyplot as plt
- L, T = 10, 20 # 空間和時間範圍
- dx, dt = 0.1, 0.01
- x = np.arange(0, L, dx)
- t = np.arange(0, T, dt)
- phi = np.ones((len(t), len(x))) # 初始權力場
- phi_dot = np.zeros_like(phi)
- lam, gamma, a = 0.5, 0.1, 1
- t0 = 10 # 崇禎死時間
- for n in range(1, len(t)-1):
- if n * dt == t0:
- phi[n, 0] = 0 # 北京權力崩潰
- F = 0.5 * np.exp(-((x-5)**2)/2) * (n*dt > t0) # 李自成崛起
- phi_ddot = (phi[n+1] - 2*phi[n] + phi[n-1])/dt**2
- laplace = (phi[n, 2:] - 2*phi[n, 1:-1] + phi[n, :-2])/dx**2
- phi[n+1, 1:-1] = 2*phi[n, 1:-1] - phi[n-1, 1:-1] + dt**2 * (
- laplace - gamma*phi_dot[n, 1:-1] - lam*phi[n, 1:-1]*(phi[n, 1:-1]**2 - a**2) + F[1:-1])
- phi_dot[n+1] = (phi[n+1] - phi[n])/dt
- plt.imshow(phi, extent=[0, L, 0, T], aspect='auto')
- plt.colorbar(label='Power Strength')
- plt.show()
蒙特卡羅
- 簡單實現:
import numpy as np - N = 4 # 4個行為者
- J = np.array([[0, -0.5, -0.5, -0.2], [-0.5, 0, -0.3, 0.1],
- [-0.5, -0.3, 0, -0.1], [-0.2, 0.1, -0.1, 0]])
- s = np.array([1, 0, 0, 0]) # 初始狀態
- h = np.array([1, 0, 0, 0])
- beta = 1
- steps = 10000
- history = np.zeros((steps, N))
- for t in range(steps):
- if t == 5000: # t0
- h = np.array([0, 0.8, 0.5, 0])
- i = np.random.randint(N)
- s_new = s.copy()
- s_new[i] += np.random.uniform(-0.2, 0.2)
- s_new = np.clip(s_new, -1, 1)
- dH = -np.sum(J[i] * (s_new[i] * s_new - s[i] * s)) + h[i] * (s_new[i] - s[i])
- if dH < 0 or np.exp(-beta * dH) > np.random.rand():
- s = s_new
- history[t] = s
- plt.plot(history)
- plt.legend(['Chongzhen', 'Li Zicheng', 'Qing', 'Nanming'])
- plt.show()
結論
- 微分方程:捕捉權力場的連續動態,適合分析空間-時間演化。
- 蒙特卡羅:模擬離散行為者的不確定性,適合多勢力競爭。
- 將上面LaTeX 公式解析為符號表達式,並用 Unicode 符號(如
∂
、∑
)替換對應部分,可以生成更接近手寫風格的數學表達式。
留言
張貼留言