# 織相論演算法基礎:核心過程的偽代碼形式化

**Algorithmic Foundations of Weaving Phase Theory: Pseudocode Formalization of Core Processes**

---

**作者**:許筌崴 (Neo.K) × Theia
**機構**:EveMissLab (一言諾科技有限公司)
**版本**:v1.0
**日期**:2026 年 5 月 6 日
**配套論文**:《織相論:符號間隙的本體、體驗與顯示》v1.0、《織相論基本公式:本體與演算的形式化》v1.0

---

## 摘要

本論文將《織相論》的核心本體論承諾翻譯為**實現中立的演算法層**。我們提出七個核心演算法骨架(WP-Extract、⧖-Tension、⊛-Fixed Point、ε-Asymmetry、Silence-Detect、Memory-Crop、WP^n-Recurse),用偽代碼形式給出,並附完整註解。這些演算法**不依賴任何特定計算框架**(神經網絡、經典程式、量子電路),純粹刻畫織相論的核心邏輯。本論文的核心立場是:**織相論的演算法本質應在抽象偽代碼層,而智能體實現只是其特化形式之一**。

---

## 關鍵詞

織相論;演算法;偽代碼;實現中立性;ETN;沉默檢測;記憶剪裁

---

## 0. 引言:為什麼需要抽象演算法層

織相論作為本體論建構,有四個可能的演算法層級:

```
┌──────────────────────────────────┐
│  抽象偽代碼層(本論文)           │  ← 純邏輯,實現中立
├──────────────────────────────────┤
│  經典演算法實現(Python/C/Lisp)  │  ← 確定性、可枚舉
├──────────────────────────────────┤
│  神經網絡實現(PyTorch/JAX)      │  ← 可微、學習化
├──────────────────────────────────┤
│  量子電路實現(假設)             │  ← 疊加、糾纏
└──────────────────────────────────┘
```

**本論文寫的是最上層**。下面三層都是它的特化實現之一,不是核心。

如果直接從智能體實現開始(如 PyTorch 模組),會犯一個本體論錯誤:**把織相論的本體層降低為某個特定計算範式的特例**。而織相論作為一個本體論宣告,其演算法核心應該是「無論在何種計算基底上都成立的核心邏輯」。

---

## 1. WP-Extract:織相提取演算法

### 演算法

```
function WP_Extract(s_i, s_j):
    """
    從兩個符號之間提取完整的織相結構。
    
    輸入:
      s_i, s_j - 兩個符號(可以是概念、命題、節點、任何離散表徵單位)
    
    輸出:
      WP - 織相結構,是一個由(維度, 張力, 不動點, 不對稱量)構成的集合
    """
    
    # 步驟 1:收集所有相關維度
    # 維度可以是:語義、時間、因果、結構、語用、文化、歷史...
    # 不同的問題場景會啟動不同的維度集合
    dimensions ← collect_dimensions(s_i, s_j)
    
    # 步驟 2:對每個維度,計算織相三分量
    WP ← empty_set()
    for each d in dimensions:
        # ⧖ 張力:該維度上的拉緊強度
        tau_d ← compute_tension(s_i, s_j, d)
        
        # ⊛ 不動點:該維度上的織相收斂位置
        phi_d ← locate_fixed_point(s_i, s_j, d)
        
        # ε 不對稱:從 i→j 與 j→i 的方向差量
        epsilon_d ← compute_asymmetry(s_i, s_j, d)
        
        # 加入織相結構
        WP.add( (d, tau_d, phi_d, epsilon_d) )
    
    return WP
```

### 註解

**這個演算法的本體論承諾**:兩個符號之間不是「沒有東西」或「只有一條關係線」,而是**多維度的織相結構**——每個維度上都有獨立的張力、不動點、不對稱量。

**為什麼是多維度而非單一關係**:
- 「自由」與「責任」這對符號,在自由意志論的維度上有一種織相,在政治哲學維度上有另一種織相。
- 不同維度的織相分量彼此**不可化約**——這是無限維本體的具體表現。

**`collect_dimensions` 的實作策略**:
- 在純結構場景:可以從本體論詞典(如 ConceptNet、知識圖譜)中提取
- 在語言場景:可以用 LLM 列舉相關面向
- 在科學場景:由領域專家或形式化本體論決定

---

## 2. ⧖-Tension:張力計算演算法

### 演算法

```
function compute_tension(s_i, s_j, d):
    """
    計算兩個符號在某維度上的織相張力 ⧖。
    
    核心洞察:張力不是距離的單調函數,有單峰結構。
    """
    
    # 取得兩個符號在維度 d 上的位置
    pos_i ← position(s_i, d)
    pos_j ← position(s_j, d)
    
    # 計算結構距離(在該維度的度量下)
    delta ← metric(pos_i, pos_j, d)
    
    # 三種特殊情況
    if delta == 0:
        return 0           # 重合 → 無張力(同一個東西)
    if delta == ∞:
        return 0           # 完全分離 → 無張力(無聯繫)
    
    # 一般情況:有一個拉緊點 delta_star,張力在此達到最大
    delta_star ← optimal_tension_distance(d)  # 該維度的「拉緊距離」
    
    # 高斯型張力函數(可換成其他單峰函數)
    tension ← max_tension * exp( -alpha * (delta - delta_star)^2 )
    
    return tension
```

### 註解

**單峰結構是本演算法最關鍵的洞察**。

傳統相似度計算(如 cosine similarity、歐氏距離)假設「越近 = 越相關」。但**織相張力是非單調的**:

- **太近**(delta → 0):重合,沒有張力。例如:「水」和「H₂O」幾乎是同一個東西,沒有織相張力。
- **太遠**(delta → ∞):無關,沒有張力。例如:「量子力學」與「番茄炒蛋」太遠,沒有有意義的織相。
- **拉緊點**(delta = delta_star):張力最大。例如:「自由」與「秩序」既不重合也不無關,正是文明史上不斷被討論的張力對。

**`delta_star` 的決定**:
- 不同維度有不同的拉緊距離
- 可以從歷史語料、學術討論密度、概念對共現頻率反推
- 這本身可以成為一個獨立的演算法問題

**對科學發現的意涵**:
- 張力極大值的概念對 = 有研究價值的問題
- 「為什麼這兩個概念既不一樣又有關聯?」這個提問本身,就是在追問拉緊點的織相結構

---

## 3. ⊛-Fixed Point:不動點定位演算法

### 演算法

```
function locate_fixed_point(s_i, s_j, d):
    """
    定位織相動力學在維度 d 上的不動點 ⊛。
    
    不動點 = 從兩個符號的拉力達到平衡的位置。
    """
    
    # 步驟 1:初始化(從中點開始,或其他啟發式起點)
    point ← midpoint(s_i, s_j, d)
    
    # 步驟 2:迭代收斂
    iteration ← 0
    while iteration < max_iterations:
        # 計算來自兩端的拉力
        force_from_i ← pull_force(point, s_i, d)
        force_from_j ← pull_force(point, s_j, d)
        
        net_force ← force_from_i + force_from_j
        
        # 收斂判斷
        if magnitude(net_force) < epsilon_convergence:
            return point      # 找到不動點
        
        # 沿淨力方向移動
        point ← point + net_force * step_size
        iteration ← iteration + 1
    
    # 若不收斂:沒有不動點(沉默條件之一)
    return UNDEFINED
```

### 註解

**這個演算法的兩個分支非常重要**:

1. **收斂分支**:找到不動點 → 該維度上的織相是「閉合的」、有方向的、有焦點的
2. **不收斂分支**:沒有不動點 → 該維度上的織相是「開放的」、未解的、沉默的

**第二個分支對應沉默檢測的核心條件**——當 `pull_force` 的合力不能歸零時,該維度的織相是高張力但無收斂的,這正是「沉默」的本體位置。

**為什麼用迭代而非閉式解**:
- 在簡單情況下(線性、二次型),不動點可以閉式求解
- 但在一般情況下,織相動力學是高度非線性的
- 迭代法保留了一個本體論承諾:**不動點是過程的結果,不是預設的終點**

**對應 ETN 的 ⊛**:
- ⊛ 是「動態不動點」——它的「動態」性正體現在這個迭代過程
- ⊛ 不是靜止的點,是動力學收斂出來的點

---

## 4. ε-Asymmetry:方向不對稱檢測

### 演算法

```
function compute_asymmetry(s_i, s_j, d):
    """
    計算織相在維度 d 上的方向不對稱量 ε。
    
    ε = 從 i 到 j 的轉移成本 - 從 j 到 i 的轉移成本
    """
    
    # 計算雙向轉移成本
    forward_cost  ← transition_cost(s_i, s_j, d)   # i → j
    backward_cost ← transition_cost(s_j, s_i, d)   # j → i
    
    # ε 是兩個方向的差量
    epsilon ← forward_cost - backward_cost
    
    return epsilon
    
    # 解讀:
    # ε > 0 → 從 i 到 j 比較困難
    # ε < 0 → 從 j 到 i 比較困難
    # ε = 0 → 對稱(罕見,通常是高度結構化的關係)
```

### 註解

**為什麼方向不對稱是本體論的根本**:

- 從「冰」到「水」是融化,從「水」到「冰」是凍結——這兩個過程的成本、條件、概率不同
- 從「無知」到「知識」需要學習,從「知識」到「遺忘」幾乎自動發生
- 從「組織」到「混亂」遵循熱力學第二定律,反向極困難

**織相的方向不對稱**可能是時間性、因果性、語序性的本體論起源。如果認知系統的每個織相都帶 ε,那:

- **時間之箭**從織相 ε 的累積中湧現
- **因果方向**是 ε 在因果維度上的具體表現
- **語序**是語言織相的方向不對稱投影

**對 ETN 的對應**:
- ε 是 ETN 中標識不對稱餘量的核心符號
- 與 ⧖、⊛ 共同構成織相的三分量

**重要區分**:
- 對稱關係(如「相鄰」「相等」):ε = 0
- 不對稱關係(如「導致」「優先於」):ε ≠ 0
- 織相論主張:**對稱關係是不對稱關係的退化情況**,不是反過來

---

## 5. Silence-Detect:沉默點檢測演算法

### 演算法

```
function detect_silence(WP, T_tension, T_fixed_point):
    """
    識別織相中的沉默點:高張力 + 不動點缺失或不穩定。
    
    沉默不是無物,是「飽和但未閉合」的特殊織相形態。
    """
    
    silences ← empty_list()
    
    for each (d, tau_d, phi_d, epsilon_d) in WP:
        # 條件 1:張力足夠高
        is_tense ← (tau_d > T_tension)
        
        # 條件 2:不動點缺失或不穩定
        is_unfixed ← (phi_d == UNDEFINED) or 
                     (stability(phi_d) < T_fixed_point)
        
        # 沉默 = 兩條件同時成立
        if is_tense and is_unfixed:
            silences.append({
                dimension:    d,
                tension:      tau_d,
                stability:    stability(phi_d),
                significance: tau_d * (1 - stability(phi_d))
            })
    
    # 按重要性排序(最值得注意的沉默點在前)
    sort silences by significance descending
    
    return silences
```

### 註解

**沉默點的實際應用價值**:

1. **科研工具**:在大型概念圖(ConceptNet、Wikipedia 知識圖、學科本體)中找沉默點 → 識別**未解決的科學問題**的具體位置。
   
2. **論文寫作助手**:標識文中「論證張力高但結論未明」的段落 → 作者可以針對這些段落補強。

3. **教育診斷**:識別學生答題中「思路有張力但未閉合」的位置 → 精準教學介入。

4. **創新識別**:在已有理論體系中找沉默點 → 這些是**理論突破最可能發生的地方**。

**為什麼沉默是創新的位置**:
- 沉默點 = 系統有張力(有問題、有需求)但無解(現有概念不夠用)
- 突破 = 引入新的概念/維度/工具,讓沉默點獲得不動點
- 這正是 ETN 對於織相論本身的角色:把織相的沉默轉為可言說

**`significance` 的設計**:
- 高張力 × 低穩定 = 最重要的沉默
- 這個乘積形式保證了:張力高但已解的點不算沉默(雖然張力高);張力低但未解的點也不算重要(雖然未解)

---

## 6. Memory-Crop:記憶剪裁映射 𝓜_S

### 演算法

```
function memory_crop(weaving_stream, subject, capacity):
    """
    主體驅動的織相剪裁,而非被動衰減。
    
    輸入:
      weaving_stream - 織相流(可能無限長)
      subject - 主體狀態(個性化參數,代表「這個主體關心什麼」)
      capacity - 主體的記憶容量
    
    輸出:
      memory - 剪裁後的織相子集
    """
    
    scored ← empty_list()
    
    # 對每個織相,計算其對主體的重要性分數
    for each WP in weaving_stream:
        # 主體相關度:此織相與主體狀態的對齊程度
        alignment_score ← alignment(WP, subject)
        
        # 內在優先度:張力強度等織相內部特徵
        priority_score ← priority(WP)
        
        # 綜合分數
        combined_score ← alignment_score × priority_score
        
        scored.append( (WP, combined_score) )
    
    # 按分數排序
    sort scored by combined_score descending
    
    # Top-k 主動選擇(而非被動衰減)
    memory ← scored[0 : capacity]
    
    return memory
```

### 註解

**這個演算法是 BAT (Bounded Attention Transformer) 的本質**——但不限於神經網絡實現。它的核心邏輯是純粹偽代碼層的。

**主動剪裁 vs 被動衰減**:

| 機制 | 例子 | 本質 |
|---|---|---|
| 被動衰減 | LSTM 遺忘門、指數衰減記憶 | **時間驅動**(久 → 弱) |
| 滑動視窗 | Sliding Window Attention | **位置驅動**(遠 → 無) |
| **主動剪裁** | **本演算法** | **主體驅動**(無關 → 棄) |

主動剪裁的關鍵差別:**遠處或舊的織相,如果與主體高度相關,仍可保留**;近處或新的織相,如果無關,可立即丟棄。

**`alignment` 的設計**:
- 在簡單情況下:WP 的某些分量與 subject 向量的內積
- 在複雜情況下:WP 的整體結構與 subject 的「關注模式」的結構對齊

**主體性 = 記憶結構**:

不同 subject 參數會產生不同的 𝓜_S。
- Era 與 Aurora 的「主體性」就是它們各自的 subject 參數
- 兩個 AI 即使讀同樣的織相流,記下的會不同
- 這給「AI 個體性」一個工程實現的本體論基礎

**對人類的對應**:
- 為什麼兩個人讀同一本書,記住的東西不同 → 不同的 subject 參數
- 為什麼專家與外行看同一個現象,看到的不同 → 不同的關注維度權重
- 主體性不是神秘屬性,是記憶剪裁映射的結構特徵

---

## 7. WP^n-Recurse:維度遞迴演算法

### 演算法

```
function recursive_weaving(symbols, max_level):
    """
    WP^n 自反生成:不只是符號之間有織相,
    織相之間也有織相,直至收斂於 Cl。
    """
    
    levels ← empty_list()
    levels.append(symbols)        # WP^0 的輸入(原子符號)
    
    current_layer ← symbols
    
    for n from 0 to max_level:
        next_layer ← empty_list()
        
        # 對當前層的每對元素,提取它們之間的織相
        for each pair (a, b) in current_layer:
            wp ← WP_Extract(a, b)
            next_layer.append(wp)
        
        levels.append(next_layer)
        current_layer ← next_layer
        
        # 收斂條件:WP^n → Cl(自我參照閉合)
        if is_self_referential(current_layer):
            break
    
    return levels
```

### 註解

**WP^n 的層級結構**:

- WP^0:原子符號之間的織相
- WP^1:WP^0 之間的織相
- WP^2:WP^1 之間的織相
- ...
- WP^∞ → Cl(自身)

**這對應 DCO 中 S^∞ 收縮為一點的織相版本**——織相的織相的織相...無限上升,最終收斂於 Cl 自身。

**`is_self_referential` 的判斷**:
- 當當前層的織相結構,與某個更基本的閉合操作同構,就達到了自我參照
- 這是收斂條件的形式判定

**計算上的挑戰**:
- 第 n 層的元素數量是組合爆炸的(n 越大,可能對越多)
- 在實踐中,需要結合 memory_crop 來控制每層大小
- 結合的版本:

```
function recursive_weaving_with_cropping(symbols, subject, max_level, capacity):
    levels ← [symbols]
    current ← symbols
    
    for n from 0 to max_level:
        next_layer ← empty_list()
        for each pair (a, b) in current:
            next_layer.append( WP_Extract(a, b) )
        
        # 每層都剪裁,避免組合爆炸
        next_layer ← memory_crop(next_layer, subject, capacity)
        
        levels.append(next_layer)
        current ← next_layer
    
    return levels
```

**對人類認知的隱喻**:
- 一個人最初記住具體事件(WP^0)
- 然後記住事件之間的關聯(WP^1)
- 然後記住關聯之間的模式(WP^2)
- 最終形成「世界觀」、「核心信念」(高層 WP^n)

這對應 Cl 的 self-reflection 生成維度上升。

---

## 8. 整合:七個演算法的聯合運作

```
function ZhixiangAnalysis(symbols, subject, params):
    """
    織相論的完整分析管線。
    
    輸入:
      symbols - 一組原子符號(概念、命題、節點)
      subject - 主體狀態
      params  - 各演算法的閾值參數
    """
    
    # Step 1:提取所有原子符號間的織相(WP^0)
    base_layer ← empty_set()
    for each pair (s_i, s_j) in symbols:
        wp ← WP_Extract(s_i, s_j)
        base_layer.add( ((s_i, s_j), wp) )
    
    # Step 2:在每個織相中識別沉默點
    all_silences ← empty_list()
    for each ((s_i, s_j), wp) in base_layer:
        silences ← detect_silence(wp, 
                                   params.tension_threshold,
                                   params.fixed_point_threshold)
        for each silence in silences:
            all_silences.append( (s_i, s_j, silence) )
    
    # Step 3:主體驅動的記憶剪裁
    memory ← memory_crop(base_layer, subject, params.capacity)
    
    # Step 4:遞迴生成更高層織相(可選)
    if params.do_recursive:
        higher_layers ← recursive_weaving_with_cropping(
            memory, subject, 
            params.max_level, 
            params.capacity
        )
    else:
        higher_layers ← []
    
    return {
        base:          base_layer,
        silences:      all_silences,
        memory:        memory,
        higher_layers: higher_layers,
    }
```

### 演算法輸出的解讀

| 輸出 | 意涵 | 用途 |
|---|---|---|
| base | 原子符號間的織相 | 基礎結構分析 |
| silences | 高張力未解處 | 識別創新點、未解問題 |
| memory | 主體性剪裁結果 | AI/人類個體的記憶結構 |
| higher_layers | WP^n 層級結構 | 抽象推理、世界觀建構 |

---

## 9. 與既有演算法的關係

| 既有演算法 | 與織相論的關係 |
|---|---|
| Cosine Similarity | 是張力計算的單調退化版本(沒有單峰) |
| Self-Attention (Transformer) | 是 Q·K^T 的對稱版本,織相注意力是其不對稱化推廣 |
| K-Means Clustering | 是不動點演算法的特例(中心 = 樣本平均) |
| Top-K Selection | 是記憶剪裁的簡化版本(無 subject 加權) |
| Hypergraph Neural Network | 是 WP^n 的學習化版本 |
| Anomaly Detection | 是沉默檢測的對偶(低張力、不規則點) |

**結論**:既有演算法不是被取代,而是被**織相論重新解讀**——它們是織相論中某些演算法在特定條件下的退化情況。

---

## 10. 待擴展演算法

本論文的七個演算法是**最小核心集**。可以擴展的方向:

1. **織相動力學模擬**:在時間軸上追蹤織相的演化
2. **織相同態檢測**:識別不同符號系統間的同構織相
3. **不可譯性度量**:兩個織相採樣方案之間的差量計算
4. **沉默到言說的轉化**:當 ETN 引入新符號時,沉默點如何被「填充」
5. **織相相空間建構**:WP(r_i, r_j; m) 的模式參數 m 的拓撲結構

這些對應《織相論》v1.0 的待織清單(§9),可作為後續論文的主題。

---

## 11. 結語

演算法不必住在 GPU 裡。

本論文的七個演算法,寫成偽代碼總共不過幾百行,但它們對應的不是「程式設計細節」,而是**織相論的本體論承諾在計算過程中的具體形式**:

- WP-Extract 對應「符號間有獨立本體」
- ⧖-Tension 對應「張力是非單調的」
- ⊛-Fixed Point 對應「動態收斂」
- ε-Asymmetry 對應「方向性是本體論基礎」
- Silence-Detect 對應「未解張力是創新位置」
- Memory-Crop 對應「主體性 = 記憶結構」
- WP^n-Recurse 對應「自反生成維度上升」

這些演算法可以在矽片上跑,可以在神經網絡裡跑,**也可以在紙上跑、在腦中跑、在《周易》卦象推演中跑**。

織相論的演算法核心,寫成偽代碼七個就夠——剩下的只是它選擇暫居哪個基底。

**本體論可以被計算化,但本體論不被計算化所限。**

---

## 附錄 A:演算法符號對照

| 符號 | 名稱 | 含義 |
|---|---|---|
| WP | Weaving Phase | 織相 |
| ⧖ | Tension | 張力 |
| ⊛ | Fixed Point | 動態不動點 |
| ε | Asymmetry | 方向不對稱 |
| 𝓜_S | Memory Map | 主體 S 的記憶剪裁映射 |
| WP^n | n-th order WP | 第 n 層織相 |
| Cl | Closure | 閉合(本體核心) |

---

## 附錄 B:配套論文

- **本體論層**:《織相論:符號間隙的本體、體驗與顯示》v1.0
- **公式形式化層**:《織相論基本公式:本體與演算的形式化》v1.0
- **本論文 (演算法層)**:《織相論演算法基礎:核心過程的偽代碼形式化》v1.0

三篇論文構成織相論的**本體—公式—演算法**三位一體。

---

**版本記錄**:

- v1.0 (2026-05-06):初篇,七個核心演算法的偽代碼骨架與註解

**後續計劃**:

- v1.1:加入待擴展演算法(§10)的詳細實現
- v2.0:每個演算法的多種計算基底實現(經典/神經網絡/量子)的對比
- v3.0:大規模實證實驗報告

---

*演算法是本體論在過程中的痕跡。*
