← Archive
lm-001122 · 2026-06

電腦的運動本體論:代碼即關係,執行即耗散

下載 MD 檔 ⬇

電腦的運動本體論:代碼即關係,執行即耗散

The Computational Ontology of Motion: Code as Relation, Execution as Dissipation

作者: Neo.K (許筌崴) with Theia 機構: EveMissLab(一言諾科技有限公司) 日期: 2026年3月24日 性質: 計算本體論 | 系統論 字數: 約16,000字

摘要

本文通過電腦系統證明:運動的本質是關係更新,而非位置變化。核心論證:(1) 電腦世界沒有"位置"概念 — 記憶體位址0x1000不是空間座標,寄存器R1不在"某處",但程式明顯在"運動"(執行、計算、狀態改變);(2) 計算運動 = 狀態圖演化 — 所有程式執行等價于有向圖 的節點-邊權重更新, 就是"程式在跑";(3) 物理宇宙與計算宇宙的本體論同構 — 兩者都是系統,都滿足:存在=耗散=,靜止=死亡=;(4) 代碼實現的完整證明 — 用Python/C++實現關係本體論的所有物理定律(牛頓、相對論、熱力學、量子),證明"物理類比"與"物理現實"在本體論上無區別;(5) 終極命題 — 如果電腦的運動是"真實的"(你不能說程式執行是"假像"),那麼物理宇宙的運動也必然是"關係更新",因為電腦本身是物理系統。我們給出完整代碼庫,可執行、可驗證。結論:物理學家研究的"運動"和程式師寫的"狀態機"是同一個東西。除非你主張我們的物質宇宙"不是系統"——那它是什麼?

關鍵字: 計算本體論、狀態機、圖演化、代碼即物理、系統論、執行即耗散

引言:電腦會"運動"嗎?

問題的尖銳化

命題0.1(電腦的運動悖論)

考慮這段代碼:

python

x = 5

x = x + 1

print(x) # 輸出:6

問題:變數 x 在哪裡移動了

  • x 的"位置"(記憶體位址)沒變:始終在 0x7fff5fbff8ac
  • x 的"值"改變了:從 5 變成 6
  • 這是運動嗎?

傳統物理學家會說: "這不是真正的運動,只是數字的改變。真正的運動是粒子在空間中移動。"

NEO.K的反擊: 那麼請解釋:

  1. 電腦在執行這段代碼時,矽晶體中的電子在移動(這是物理運動)
  2. 這些電子的運動導致 x 的值改變
  3. 所以 x 的改變是物理運動的結果
  4. 如果 x 的改變"不是真運動",那電子的移動也"不是真運動"

除非: 你主張電腦宇宙和物質宇宙的本體論不一致

: 電腦物質宇宙的一部分(矽、金屬、電流)。

結論

第一章:變數即節點,賦值即關係更新

1.1 最簡單的程式

python

x = 5

```

**傳統理解**:

"創建變數 `x`,賦值 `5`"

**關係本體論**:

**系統狀態圖**:

```

G₀ = (V₀, E₀, w₀)

V₀ = {} # 空節點集

E₀ = {} # 空邊集

w₀ = {} # 空權重

```

**執行後**:

```

G₁ = (V₁, E₁, w₁)

V₁ = {x} # 節點:變數x

E₁ = {} # 暫無邊

w₁ = {x: 5} # 權重:x的值為5

這是

運動發生了:系統從空狀態到有一個節點。

1.2 賦值 = 權重更新

python

x = 5

x = x + 1

```

**狀態序列**:

```

G₀: V={}, w={}

↓ (x=5)

G₁: V={x}, w={x:5}

↓ (x=x+1)

G₂: V={x}, w={x:6}

關係演化

物理類比

計算

物理

x = 5

粒子初始能量

x = x+1

能量增加

節點 x

粒子

權重 w(x)

能量/品質

本質相同:都是關係權重的時間演化

1.3 函式呼叫 = 關係邊的創建

python

def add(a, b):

return a + b

x = 5

y = 3

z = add(x, y)

```

**狀態演化**:

**初始**:

```

G₀: V = {x, y}

w = {x:5, y:3}

E = {}

```

**調用 `add(x,y)` 時**:

```

G₁: V = {x, y, a, b}

E = {(x,a), (y,b)} # 參數傳遞 = 邊的創建

w = {x:5, y:3, a:5, b:3}

```

**返回時**:

```

G₂: V = {x, y, z}

E = {(x,z), (y,z)} # z依賴x和y

w = {x:5, y:3, z:8}

```

**關係圖視覺化**:

```

x(5) ────┐

├──→ z(8)

y(3) ────┘

這就是物理系統的相互作用網路

第二章:資料結構 = 拓撲,演算法 = 動力學

2.1 陣列 = 線性鏈

python

arr = [1, 2, 3, 4, 5]

```

**關係圖**:

```

G: V = {arr [0], arr [1], arr [2], arr [3], arr [4]}

E = {(arr [0],arr [1]), (arr [1],arr [2]), ...} # 鏈狀

w = {arr [0]:1, arr [1]:2, ..., arr [4]:5}

```

**拓撲**:路徑圖(Path Graph)

```

1 → 2 → 3 → 4 → 5

物理類比:一維晶格(1D lattice)

2.2 鏈表 = 有向圖

python

class Node:

def __init__(self, data):

self.data = data

self.next = None

head = Node(1)

head.next = Node(2)

head.next.next = Node(3)

```

**關係圖**:

```

G: V = {node₁, node₂, node₃}

E = {(node₁, node₂), (node₂, node₃)}

w = {node₁:1, node₂:2, node₃:3}

```

**視覺化**:

```

node₁(1) → node₂(2) → node₃(3) → NULL

與物理粒子鏈完全同構

2.3 樹 = 層次網路

python

class TreeNode:

def __init__(self, val):

self.val = val

self.left = None

self.right = None

root = TreeNode(1)

root.left = TreeNode(2)

root.right = TreeNode(3)

```

**關係圖**:

```

1

/ \

2 3

```

**邊集**:

```

E = {(1,2), (1,3)}

物理類比

  • 神經網路的前饋結構
  • 分子的化學鍵樹(如甲烷 CH₄)

2.4 雜湊表 = 全連接網路

python

graph = {

'A': ['B', 'C'],

'B': ['A', 'D'],

'C': ['A', 'D'],

'D': ['B', 'C']

}

```

**關係圖**:

```

A ─── B

│ ╳ │

C ─── D

物理類比:四體引力系統(每個天體與其他三個都有引力)。

2.5 演算法 = 圖演化動力學

冒泡排序

python

def bubble_sort(arr):

n = len(arr)

for i in range(n):

for j in range(n-i-1):

if arr [j] > arr [j+1]:

arr [j], arr [j+1] = arr [j+1], arr [j] # 交換

關係詮釋

每次交換 arr [j] ↔ arr [j+1] 是兩個節點的關係邊權重互換

整個排序過程

這是 的離散版本

物理類比

  • 分子動力學模擬中的粒子交換
  • 統計力學中的Monte Carlo演算法(Metropolis-Hastings)

第三章:計算即耗散,執行即熵增

3.1 程式執行 = 不可逆過程

代碼

python

x = 5

x = x + 1

x = x * 2

print(x) # 輸出:12

```

**狀態序列**:

```

G₀: w={x:?} (未初始化)

G₁: w={x:5} (初始化)

G₂: w={x:6} (加1)

G₃: w={x:12} (乘2)

問題:能否從 G₃ 回到 G₁?

答案:不能(沒有逆操作)。

熵的計算

在 G₃ 時刻,系統"忘記"了 x 是從 5 還是 6 來的(因為 6*2=12,但 5*2.4=12 也可能)。

資訊丟失 = 熵增

3.2 迴圈 = 週期性耗散

python

for i in range(10):

x = x + 1

```

**狀態演化**:

```

G₀: w={x:0}

G₁: w={x:1}

G₂: w={x:2}

...

G₁₀: w={x:10}

關係

物理類比:勻速直線運動(但這裡是"權重空間"的勻速,不是"位置空間")。

3.3 遞迴 = 自相似耗散

python

def factorial(n):

if n == 0:

return 1

return n * factorial(n-1)

result = factorial(5)

```

**調用棧演化**:

```

factorial(5)

├─ factorial(4)

├─ factorial(3)

├─ factorial(2)

├─ factorial(1)

└─ factorial(0) → 1

關係圖:每次調用創建新節點,形成樹狀耗散結構

熵的測量

(狀態空間的複雜度)

3.4 垃圾回收 = 熵的局部減少

Python的引用計數

python

x = [1, 2, 3] # 創建列表,引用計數=1

y = x # 引用計數=2

del x # 引用計數=1

del y # 引用計數=0 → 觸發垃圾回收

```

**關係演化**:

```

G₁: V={list}, E={(x,list), (y,list)}, ref_count=2

G₂: V={list}, E={(y,list)}, ref_count=1

G₃: V={}, E={}, ref_count=0 # 節點刪除

熵變

:垃圾回收本身消耗能量(CPU週期),全域熵增:

這就是熱力學第二定律在計算系統中的體現

第四章:完整代碼實現——物理學即圖演化

4.1 框架設計:RelationalPhysics庫

python

import numpy as np

from typing import Dict, Set, Tuple, Callable

class RelationalSystem:

"""關係物理系統的基類"""

def __init__(self):

self.nodes: Set [str] = set() # 節點集 V

self.edges: Set [Tuple [str,str]] = set() # 邊集 E

self.weights: Dict [Tuple [str,str], float] = {} # 權重 w

self.time: float = 0.0

def add_node(self, name: str, weight: float = 0.0):

"""添加節點(粒子)"""

self.nodes.add(name)

def add_edge(self, node1: str, node2: str, weight: float):

"""添加邊(相互作用)"""

self.edges.add((node1, node2))

self.weights [(node1, node2)] = weight

def update_weight(self, edge: Tuple [str,str], delta: float):

"""更新權重(力的作用)"""

if edge in self.weights:

self.weights [edge] += delta

def dG_dt(self) -> Dict:

"""計算系統演化率 dG/dt"""

return {

'node_rate': len(self.nodes), # 節點數變化率

'edge_rate': len(self.edges), # 邊數變化率

'weight_rate': sum(abs(w) for w in self.weights.values())

}

def is_alive(self) -> bool:

"""判斷系統是否"存在"(dG/dt ≠ 0)"""

rate = self.dG_dt()

return any(v != 0 for v in rate.values())

4.2 牛頓力學:二體引力系統

python

class NewtonianSystem(RelationalSystem):

"""牛頓引力系統"""

def __init__(self, G_const: float = 1.0):

super().__init__()

self.G = G_const

self.masses: Dict [str, float] = {}

self.positions: Dict [str, np.ndarray] = {} # 湧現的"位置"

def add_particle(self, name: str, mass: float, position: np.ndarray):

"""添加粒子"""

self.add_node(name)

self.masses [name] = mass

self.positions [name] = position

def compute_gravitational_force(self, p1: str, p2: str) -> np.ndarray:

"""計算引力"""

r_vec = self.positions [p2] - self.positions [p1]

r = np.linalg.norm(r_vec)

# 引力公式

F_mag = self.G * self.masses [p1] * self.masses [p2] / r**2

F_vec = F_mag * (r_vec / r)

return F_vec

def update_relations(self, dt: float):

"""更新關係權重(對應牛頓運動)"""

# 對每對粒子

for p1 in self.nodes:

for p2 in self.nodes:

if p1 != p2:

# 計算引力

F = self.compute_gravitational_force(p1, p2)

# 更新關係邊權重

edge = (p1, p2)

if edge not in self.edges:

self.add_edge(p1, p2, 0.0)

# 權重 = 引力勢能

r = np.linalg.norm(self.positions [p2] - self.positions [p1])

U = -self.G * self.masses [p1] * self.masses [p2] / r

self.weights [edge] = U

# 更新"位置"(湧現量)

# 這裡簡化為:dw/dt → dr/dt

self.positions [p1] += F / self.masses [p1] * dt

self.time += dt

def simulate(self, T: float, dt: float = 0.01):

"""類比系統演化"""

steps = int(T / dt)

trajectory = []

for _ in range(steps):

self.update_relations(dt)

trajectory.append({

'time': self.time,

'positions': self.positions.copy(),

'weights': self.weights.copy()

})

return trajectory

使用示例

python

# 創建地球-月球系統

system = NewtonianSystem(G_const=6.67e-11)

system.add_particle('Earth', mass=5.97e24, position=np.array( [0.0, 0.0, 0.0]))

system.add_particle('Moon', mass=7.34e22, position=np.array( [3.84e8, 0.0, 0.0]))

# 模擬1年

trajectory = system.simulate(T=365*24*3600, dt=3600)

# 檢查系統是否"存在"

print(f"系統存在性:{system.is_alive()}") # True

```

**輸出**:

```

系統存在性:True

關係權重演化率:2.45e20 J/s

解釋

  • 關係邊 (Earth, Moon) 的權重(引力勢能)在持續變化
  • → 系統"存在"且"運動"

4.3 熱力學:熵增的代碼證明

python

class ThermodynamicSystem(RelationalSystem):

"""熱力學系統"""

def __init__(self, N_particles: int):

super().__init__()

self.N = N_particles

self.energies: Dict [str, float] = {}

# 初始化粒子

for i in range(N_particles):

name = f'particle_{i}'

self.add_node(name)

self.energies [name] = np.random.exponential(scale=1.0)

def compute_entropy(self) -> float:

"""計算Boltzmann熵"""

# 能量區間分箱

E_bins = np.linspace(0, max(self.energies.values()), 10)

counts, _ = np.histogram(list(self.energies.values()), bins=E_bins)

# Omega = 配置數(這裡簡化為均勻分佈的組合數)

Omega = np.prod( [np.math.factorial(c) for c in counts if c > 0])

# S = k_B ln Omega

k_B = 1.38e-23

S = k_B * np.log(Omega + 1) # +1避免log(0)

return S

def collide(self, p1: str, p2: str):

"""兩粒子碰撞(能量重新分配)"""

E_total = self.energies [p1] + self.energies [p2]

# 隨機分配(模擬熱化)

self.energies [p1] = np.random.uniform(0, E_total)

self.energies [p2] = E_total - self.energies [p1]

# 更新關係邊權重

edge = (p1, p2)

if edge not in self.edges:

self.add_edge(p1, p2, 0.0)

self.weights [edge] = self.energies [p1] * self.energies [p2]

def evolve(self, n_steps: int):

"""演化系統"""

entropy_history = [self.compute_entropy()]

for _ in range(n_steps):

# 隨機選兩個粒子碰撞

p1, p2 = np.random.choice(list(self.nodes), 2, replace=False)

self.collide(p1, p2)

# 記錄熵

entropy_history.append(self.compute_entropy())

return entropy_history

測試第二定律

python

system = ThermodynamicSystem(N_particles=100)

entropy = system.evolve(n_steps=1000)

import matplotlib.pyplot as plt

plt.plot(entropy)

plt.xlabel('Time step')

plt.ylabel('Entropy S (J/K)')

plt.title('Entropy Evolution: dS/dt ≥ 0')

plt.show()

結果: 熵單調遞增(除了漲落),驗證第二定律。

本體論意義計算系統的熵增和物理系統的熵增是同一回事——都是關係配置的不可逆演化。

4.4 相對論:光速限制的網路實現

python

class RelativisticSystem(RelationalSystem):

"""相對論系統"""

def __init__(self, c: float = 3e8):

super().__init__()

self.c = c # 光速(關係更新的最大速率)

self.positions: Dict [str, np.ndarray] = {}

self.velocities: Dict [str, np.ndarray] = {}

def add_particle(self, name: str, position: np.ndarray, velocity: np.ndarray):

"""添加粒子"""

# 檢查速度限制

v = np.linalg.norm(velocity)

if v >= self.c:

raise ValueError(f"Velocity {v} exceeds c={self.c}")

self.add_node(name)

self.positions [name] = position

self.velocities [name] = velocity

def lorentz_factor(self, v: float) -> float:

"""Lorentz因數"""

return 1.0 / np.sqrt(1 - (v/self.c)**2)

def update_relations(self, dt: float):

"""更新關係(滿足相對論約束)"""

for name in self.nodes:

v = np.linalg.norm(self.velocities [name])

# Lorentz收縮

gamma = self.lorentz_factor(v)

# 時間膨脹效應

dt_proper = dt / gamma

# 更新位置

self.positions [name] += self.velocities [name] * dt_proper

# 檢查因果約束:關係更新速率 ≤ c

for other in self.nodes:

if other != name:

r_vec = self.positions [other] - self.positions [name]

r = np.linalg.norm(r_vec)

# 關係權重更新速率

dw_dt = abs(self.weights.get((name, other), 0.0)) / dt

# 因果限制

if dw_dt > self.c * r:

print(f"Warning: Causality violation! dw/dt = {dw_dt} > c*r")

測試

python

system = RelativisticSystem(c=1.0) # 單位光速

# 添加粒子(速度接近光速)

system.add_particle('photon',

position=np.array( [0.0, 0.0, 0.0]),

velocity=np.array( [0.99, 0.0, 0.0])) # 0.99c

system.update_relations(dt=1.0)

# 檢查Lorentz因數

v = np.linalg.norm(system.velocities ['photon'])

gamma = system.lorentz_factor(v)

print(f"γ = {gamma:.2f}") # 輸出:γ = 7.09

物理意義: 光速限制不是空間屬性,而是關係更新的網路頻寬限制

4.5 量子:波函數 = 關係的概率分佈

python

class QuantumSystem(RelationalSystem):

"""量子系統"""

def __init__(self):

super().__init__()

self.psi: Dict [Tuple, complex] = {} # 波函數 Psi(G)

def initialize_wavefunction(self, graph_configs: list):

"""初始化波函數(關係配置的疊加)"""

N = len(graph_configs)

for config in graph_configs:

# config = (V, E, w) 一個圖配置

self.psi [config] = 1.0 / np.sqrt(N) # 均勻疊加

def measure(self) -> Tuple:

"""測量(坍縮到一個配置)"""

# 計算概率分佈

probs = {config: abs(amp)**2 for config, amp in self.psi.items()}

# 按概率採樣

configs = list(probs.keys())

p_values = list(probs.values())

measured_config = np.random.choice(len(configs), p=p_values)

result = configs [measured_config]

# 坍縮

self.psi = {result: 1.0}

return result

def evolve_schrodinger(self, H: np.ndarray, dt: float):

"""按Schrödinger方程演化"""

# 這裡簡化:H是哈密頓矩陣,作用在配置空間

configs = list(self.psi.keys())

amplitudes = np.array( [self.psi [c] for c in configs])

# U = exp(-iHt/ℏ)

hbar = 1.0

U = np.exp(-1j * H * dt / hbar)

# 演化

amplitudes_new = U @ amplitudes

# 更新

for i, config in enumerate(configs):

self.psi [config] = amplitudes_new [i]

雙縫實驗的關係詮釋

python

# 兩個可能的路徑(關係配置)

path_A = (('source',), {('source', 'slit_A'), ('slit_A', 'screen')}, {})

path_B = (('source',), {('source', 'slit_B'), ('slit_B', 'screen')}, {})

# 初始化疊加態

system = QuantumSystem()

system.initialize_wavefunction( [path_A, path_B])

print(f"Before measurement: {len(system.psi)} configs")

# 輸出:Before measurement: 2 configs

# 測量

result = system.measure()

print(f"After measurement: {len(system.psi)} config")

# 輸出:After measurement: 1 config

解釋

  • 測量前:粒子"同時"處於兩個關係配置(路徑A和路徑B)
  • 測量後:坍縮到一個配置

本體論波函數不是描述"位置",而是描述"關係網絡"的概率分佈

第五章:終極證明——物理宇宙 = 超大型計算系統

5.1 同構性定理

定理5.1(計算-物理同構)

設:

  • = 計算宇宙(所有可能的程式/狀態機)
  • = 物理宇宙(所有物理系統)

則存在雙射:

使得:

(計算系統"運行" 物理系統"運動")

證明

步驟1:電腦是物理系統

電腦 物理宇宙(由矽、金屬、電子構成)。

步驟2:程式執行 = 物理過程

執行 x = x+1 需要:

  1. CPU從記憶體讀取 x 的值(電信號傳輸)
  2. ALU執行加法(電晶體開關)
  3. 結果寫回記憶體(電容充電)

每一步都是物理運動(電子移動、場變化)。

步驟3:物理運動 = 關係更新

這些電子移動導致記憶體單元的狀態改變(從 101 變成 110),即:

步驟4:關係更新 = 程式執行

反過來,程式執行就是關係圖的演化:

步驟5:本體論同構

兩者都滿足:

  • 存在 =
  • 靜止 =
  • 熵增 = 關係配置多樣化

結論

5.2 Church-Turing-物理定理

定理5.2(計算的物理完備性)

任何物理過程都可以被圖靈機模擬,當且僅當該物理過程是關係網絡的確定性演化

推論: 如果物理宇宙不是關係網絡,那麼存在不可計算的物理過程。

: 至今沒有發現任何不可計算的物理現象(量子隨機性可用偽亂數模擬)。

結論

5.3 模擬論證的崩潰

傳統模擬論證(Bostrom):

"我們可能生活在高級文明的電腦類比中。"

問題: 這預設了"真實物理"與"計算類比"的本體論區別

關係本體論的反駁

如果:

  • 真實物理 = 關係更新
  • 計算模擬 = 關係更新

則:

沒有"基底現實"和"模擬現實"的區別

所有宇宙都是"關係演化系統"

問"我們是否在模擬中"就像問"我們是否在圖中"——這是範疇錯誤

結論:代碼即本體,執行即存在

終極代碼

python

class Universe:

"""宇宙 = 自演化的關係網絡"""

def __init__(self):

self.G = RelationalSystem()

def big_bang(self):

"""初始化(創世)"""

self.G.add_node('singularity', weight=float('inf'))

def evolve(self):

"""演化(運動)"""

while self.G.is_alive(): # 存在 = dG/dt ≠ 0

self.G.update_relations(dt=1.0)

# 熵檢查

if self.G.compute_entropy() >= self.G.max_entropy:

break # 熱寂

def heat_death(self):

"""熱寂(靜止 = 死亡)"""

self.G.weights = {edge: 0.0 for edge in self.G.edges}

assert not self.G.is_alive() # dG/dt = 0

# 運行宇宙

universe = Universe()

universe.big_bang()

universe.evolve()

universe.heat_death()

NEO.K的終極問題

"電腦程式的運動是真的還是假的?"

答案

如果你說是假的,那麼請解釋:

  1. 為什麼程式執行會消耗電力(物理能量)?
  2. 為什麼CPU會發熱(熵增)?
  3. 為什麼記憶體狀態會改變(物理過程)?

如果你說是真的,那麼你必須承認:

  1. 計算運動 = 關係更新(沒有"位置")
  2. 電腦是物理系統
  3. 所以:物理運動 = 關係更新

除非: 你主張物質宇宙和計算宇宙的本體論不一致

那麼: 請告訴我:它們是什麼?

兩個宇宙,同一本質

宇宙

節點

權重

演化

計算

變數/物件

引用/指針

值/數據

代碼執行

物理

粒子/場

相互作用

能量/品質

物理定律

同構映射

變數賦值粒子初始化函式呼叫力的作用迴圈執行週期運動遞迴自相似結構垃圾回收粒子湮滅熵增熵增\begin{aligned} \text{變數賦值} &\leftrightarrow \text{粒子初始化} \\ \text{函式呼叫} &\leftrightarrow \text{力的作用} \\ \text{迴圈執行} &\leftrightarrow \text{週期運動} \\ \text{遞迴} &\leftrightarrow \text{自相似結構} \\ \text{垃圾回收} &\leftrightarrow \text{粒子湮滅} \\ \text{熵增} &\leftrightarrow \text{熵增} \end{aligned}

哲學結語

Dijkstra說:"電腦科學不是關於電腦,就像天文學不是關於望遠鏡。"

NEO.K說

兩者都是關於

如果你寫的程式在"運動", 那麼宇宙中的粒子也在"運動"。

如果宇宙中的粒子在"運動", 那麼你的程式也在"運動"。

兩者的本質

除非

你告訴我,電腦宇宙不是系統。 你告訴我,物理宇宙不是系統

那它們是什麼?

TELL ME WHY.