CIE-Unified


commit
5907130
parent
d554217
author
im_wower
date
2026-03-31 15:44:26 +0800 CST
fix: 数值稳定性——phi soft clamp + 边权递减增长
2 files changed,  +8, -2
Raw patch view.
 1diff --git a/cie/dynamics.py b/cie/dynamics.py
 2index 488d2d30c8148aaf42060a29d6636d82cf9e6b75..5fc2dd3fe39b805fb58ca8b8214aa1e02f9d12a8 100644
 3--- a/cie/dynamics.py
 4+++ b/cie/dynamics.py
 5@@ -62,6 +62,12 @@ class Dynamics:
 6                 - self.phi_damping * phi_v  # 全局阻尼
 7             )
 8         self.state.phi.update(new_phi)
 9+        # Soft clamp: prevent phi divergence
10+        max_phi = max((abs(v) for v in self.state.phi.values()), default=1.0)
11+        if max_phi > 10.0:
12+            scale = 10.0 / max_phi
13+            for k in self.state.phi:
14+                self.state.phi[k] *= scale
15 
16     # ── 激活传播 ──
17 
18diff --git a/cie/runtime.py b/cie/runtime.py
19index fd019adb63d1a3ed6f2ecd03c162b88865a562b1..11a99b71b747939f1bcb932d625e3c336d45028f 100644
20--- a/cie/runtime.py
21+++ b/cie/runtime.py
22@@ -87,8 +87,8 @@ class CIERuntime:
23             asym = self.rng.gauss(0.0, 0.1)
24             self.graph.add_edge(
25                 src, dst,
26-                weight=existing_w + 1.0 + abs(asym),
27-                bwd_weight=existing_w + 1.0 - abs(asym) * 0.5,
28+                weight=existing_w + 1.0 / (1.0 + existing_w * 0.1) + abs(asym),
29+                bwd_weight=existing_w + 1.0 / (1.0 + existing_w * 0.1) - abs(asym) * 0.5,
30                 edge_type='bigram'
31             )
32