← Archive
lm-002090 · 2026-08

04_從路徑數量到有效覆蓋率

下載 MD 檔 ⬇

04.從路徑數量到有效覆蓋率

系列:《從路徑覆蓋到行星智能:記憶編譯型計算存在論》
部別:第一部——搜尋、記憶與路徑覆蓋
版本:v0.1
日期:2026-08-01


摘要

在高度重疊的知識空間中,「走過更多路徑」並不必然代表「獲得更多有效知識」。多條路徑可能反覆經過相同節點、共享子路徑、抵達同一狀態,甚至只是同一結構的不同表述。因此,路徑數量、節點造訪次數或總展開量,都可能把重複計算誤認為知識增長。

本文提出「有效覆蓋」作為更高階目標,並將新路徑的價值定義為它相對既有覆蓋集合所增加的邊際不可替代結構:

ΔC(pPt)=C(Pt{p})C(Pt)\Delta C(p\mid\mathcal P_t) = C(\mathcal P_t\cup\{p\})-C(\mathcal P_t)

本文借用最大覆蓋與次模函數中的邊際收益遞減觀念,進一步區分節點覆蓋、邊覆蓋、路徑類覆蓋、功能覆蓋與結構殘差覆蓋,並把成本、風險、多樣性、驗證價值與橋接價值納入同一個多目標評分框架。最後,本文建立「記憶化覆蓋流」:利用歷史記憶、去重、等價類壓縮與邊際收益估計,將暴力窮舉改造成帶記憶、帶前沿選擇與帶收益排序的探索過程。

關鍵詞: 有效覆蓋、邊際收益、次模函數、最大覆蓋、路徑多樣性、商空間、記憶化搜尋、快速通道


1.從「走了多少」改成「新增多少」

前三篇已經建立:

答案路徑\text{答案}\neq\text{路徑} 搜尋能力單純算力\text{搜尋能力}\neq\text{單純算力} 搜尋樹底層知識圖\text{搜尋樹}\neq\text{底層知識圖}

因此現在真正要問的是:

如果知識空間高度重疊,智能體應該如何衡量探索進展?

最直覺的量:

Npath=已走路徑數N_{\mathrm{path}} = \text{已走路徑數}

其實非常粗糙。

如果一千條路徑有九成內容相同,則:

Npath=1000N_{\mathrm{path}}=1000

並不代表獲得了一千份獨立知識。

因此,本篇將目標從:

maxP\max |\mathcal P|

改成:

maxCeffective(P)\boxed{ \max C_{\mathrm{effective}}(\mathcal P) }

2.最基本的集合覆蓋

設需要被探索的元素集合為:

U={u1,,uN}U=\{u_1,\ldots,u_N\}

每一條路徑 pp 覆蓋:

S(p)US(p)\subseteq U

已選路徑集合:

Pt={p1,,pt}\mathcal P_t=\{p_1,\ldots,p_t\}

則基本覆蓋量為:

C(Pt)=pPtS(p)C(\mathcal P_t) = \left| \bigcup_{p\in\mathcal P_t}S(p) \right|

如果新路徑:

pt+1p_{t+1}

完全落在既有覆蓋內:

S(pt+1)pPtS(p)S(p_{t+1}) \subseteq \bigcup_{p\in\mathcal P_t}S(p)

那麼:

C(Pt+1)=C(Pt)C(\mathcal P_{t+1}) = C(\mathcal P_t)

所以:

路徑新增⇏覆蓋新增\boxed{ \text{路徑新增} \not\Rightarrow \text{覆蓋新增} }

3.邊際覆蓋增益

定義:

ΔC(pPt)=C(Pt{p})C(Pt)\Delta C(p\mid\mathcal P_t) = C(\mathcal P_t\cup\{p\}) - C(\mathcal P_t)

這個量回答:

現在多走這條路,究竟新增多少真正尚未覆蓋的東西?

若:

ΔC=0\Delta C=0

表示它沒有帶來新的基底元素。

若:

ΔC0\Delta C\gg0

則表示它開拓大量未知區域。

最基本的選路策略因此是:

p=argmaxpAtΔC(pPt)p^\ast = \arg\max_{p\in\mathcal A_t} \Delta C(p\mid\mathcal P_t)

其中 At\mathcal A_t 是當前候選路徑集合。


4.邊際收益遞減

若:

ABA\subseteq B

同一新候選 pp 對較小集合 AA 可能增加很多覆蓋,但對已經更完整的 BB ,新增量通常下降:

ΔC(pA)ΔC(pB)\Delta C(p\mid A) \geq \Delta C(p\mid B)

這就是典型的「邊際收益遞減」。

對集合函數 ff ,若:

ABA\subseteq B

且:

xBx\notin B

滿足:

f(A{x})f(A)f(B{x})f(B)f(A\cup\{x\})-f(A) \geq f(B\cup\{x\})-f(B)

則可稱為次模性的一種等價形式。

覆蓋函數是經典例子。

這正好把我們一開始的直覺形式化:

同一區域探索得越多,後續重複探索的邊際收益通常越低。\boxed{ \text{同一區域探索得越多,後續重複探索的邊際收益通常越低。} }

5.知識覆蓋至少有五層

對知識圖:

G=(V,E,W)G=(V,E,W)

不能只有單一覆蓋量。

5.1 節點覆蓋

CV(P)=pPV(p)C_V(\mathcal P) = \left| \bigcup_{p\in\mathcal P}V(p) \right|

代表接觸多少不同狀態。

5.2 邊覆蓋

CE(P)=pPE(p)C_E(\mathcal P) = \left| \bigcup_{p\in\mathcal P}E(p) \right|

代表理解多少不同狀態轉換。

5.3 關係類型覆蓋

若關係類型集合為:

R={r1,,rm}R=\{r_1,\ldots,r_m\}

則:

CR(P)=pPR(p)C_R(\mathcal P) = \left| \bigcup_{p\in\mathcal P}R(p) \right|

5.4 狀態等價類覆蓋

若節點商空間為:

V/V/{\sim}

則:

CQ(P)={[v]:vV(p),pP}C_Q(\mathcal P) = \left| \{[v]:v\in V(p),p\in\mathcal P\} \right|

5.5 功能覆蓋

若每條路徑能提供一組能力:

F(p)FF(p)\subseteq\mathcal F

則:

CF(P)=pPF(p)C_F(\mathcal P) = \left| \bigcup_{p\in\mathcal P}F(p) \right|

所以更完整的覆蓋不是一個數,而是:

C=(CV,CE,CR,CQ,CF)\mathbf C= (C_V,C_E,C_R,C_Q,C_F)

6.全面覆蓋必須先定義「全面」

如果圖中存在循環:

abcaa\rightarrow b\rightarrow c\rightarrow a

允許重複節點的 walk 可以無限延長。

即使:

V<|V|<\infty

也可能:

W=|\mathcal W|=\infty

所以:

全面覆蓋列舉所有可能 walk\text{全面覆蓋} \neq \text{列舉所有可能 walk}

真正需要先選定覆蓋基底:

B\mathcal B

例如:

B=V\mathcal B=V

或:

B=E\mathcal B=E

或:

B=V/\mathcal B=V/{\sim}

或:

B=P/\mathcal B=\mathcal P/{\sim}

然後才談:

C(P;B)C(\mathcal P;\mathcal B)

因此:

「全面」永遠是相對於某個任務尺度與表示尺度。\boxed{ \text{「全面」永遠是相對於某個任務尺度與表示尺度。} }

7.覆蓋還必須帶權重

不是每個知識元素都同樣重要。

定義:

w:UR0w:U\rightarrow\mathbb R_{\geq0}

帶權覆蓋:

Cw(P)=upPS(p)w(u)C_w(\mathcal P) = \sum_{u\in\cup_{p\in\mathcal P}S(p)} w(u)

高風險狀態、關鍵橋接點、常見問題、核心機制可以具有更高權重。

所以:

覆蓋很多低價值節點\text{覆蓋很多低價值節點}

未必優於:

覆蓋少量關鍵節點\text{覆蓋少量關鍵節點}

8.覆蓋深度:重複並不一定無價值

某個元素「看過一次」不代表已充分理解。

為每個元素定義覆蓋深度:

dt(u)0d_t(u)\geq0

收益函數:

gu(d)g_u(d)

若希望表示「重複驗證仍有價值,但邊際效益下降」,可以令:

gu(d)>0g_u'(d)>0

且:

gu(d)<0g_u''(d)<0

例如:

gu(d)=1eλudg_u(d)=1-e^{-\lambda_ud}

於是:

C(P)=uUw(u)gu(dP(u))C(\mathcal P) = \sum_{u\in U} w(u)g_u(d_{\mathcal P}(u))

第一次探索價值最高,第二次可提供驗證,第三次提供穩健性,但之後逐漸飽和。

因此:

去重不是把第二次以後全部視為零價值。\boxed{ \text{去重不是把第二次以後全部視為零價值。} }

9.有價值冗餘與無效重算

兩條路:

p1zp_1\rightarrow z p2zp_2\rightarrow z

雖然終點相同,但第二條路可能提供:

  • 獨立證據;
  • 替代機制;
  • 故障備援;
  • 魯棒性測試。

所以真正應削減的是:

無效重算\text{無效重算}

而不是:

所有重複\text{所有重複}

也就是:

min 無效冗餘min 總路徑數\boxed{ \min\text{ 無效冗餘} \neq \min\text{ 總路徑數} }

10.路徑多樣性

經典最短路問題即使返回多條結果,也可能高度相似。

例如:

p1=(a,b,c,d,e)p_1=(a,b,c,d,e) p2=(a,b,c,x,e)p_2=(a,b,c,x,e)

只差一小段。

因此可以定義路徑距離:

D(pi,pj)D(p_i,p_j)

並定義集合多樣性:

Div(P)=i<jD(pi,pj)\operatorname{Div}(\mathcal P) = \sum_{i<j}D(p_i,p_j)

但:

DiversityCoverage\text{Diversity} \neq \text{Coverage}

兩條非常不同的路,也可能都在低價值區域;兩條高度相似的路,也可能因獨立驗證而具有價值。

所以多樣性只是覆蓋函數的一個維度。


11.成本必須進入模型

定義路徑成本:

K(p)=αT(p)+βM(p)+γE(p)+δR(p)K(p) = \alpha T(p) + \beta M(p) + \gamma E(p) + \delta R(p)

其中:

  • T(p)T(p) :時間;
  • M(p)M(p) :記憶;
  • E(p)E(p) :算力/能源;
  • R(p)R(p) :風險。

最基本的效率比:

η(pPt)=ΔC(pPt)K(p)\eta(p\mid\mathcal P_t) = \frac{ \Delta C(p\mid\mathcal P_t) }{ K(p) }

因此真正追求的是:

單位成本新增有效覆蓋\boxed{ \text{單位成本新增有效覆蓋} }

12.橋接價值

有時一條新路只增加一條邊:

ABA\rightarrow B

所以:

ΔCV=0\Delta C_V=0

甚至:

ΔCE=1\Delta C_E=1

但如果它第一次連接兩個原本分離的知識區域,未來可能開啟大量新組合。

因此定義橋接價值:

B(p)B(p)

非常重要。

一條橋接路徑可能讓:

A×BA\times B

中的大量組合第一次變得可達。

所以:

新增一條橋可能比新增大量孤立節點更重要。\boxed{ \text{新增一條橋可能比新增大量孤立節點更重要。} }

13.泛函殘差覆蓋

第三篇將知識片段表示為:

ϕH\phi\in\mathcal H

已有知識張成:

St\mathcal S_t

新候選相對既有空間的殘差:

ϕ=ϕΠStϕ\phi^\perp = \phi-\Pi_{\mathcal S_t}\phi

定義:

C(ϕSt)=ϕ2C_\perp(\phi\mid\mathcal S_t) = \|\phi^\perp\|^2

若:

C0C_\perp\approx0

表示它主要是既有結構的重新表達。

若:

C0C_\perp\gg0

表示它真正增加新的方向。

因此有效覆蓋可以同時包含:

ΔCgraph\Delta C_{\mathrm{graph}}

與:

ΔCfunctional\Delta C_{\mathrm{functional}}

14.統一路徑價值函數

綜合以上,可以建立:

S(pPt)=αΔC+βD+γB+δV+ηUλKμOS(p\mid\mathcal P_t) = \alpha\Delta C + \beta D + \gamma B + \delta V + \eta U - \lambda K - \mu O

其中:

  • ΔC\Delta C :新增覆蓋;
  • DD :多樣性;
  • BB :橋接價值;
  • VV :驗證價值;
  • UU :未知性/資訊價值;
  • KK :成本;
  • OO :無效重疊。

下一條路:

pt+1=argmaxpAtS(pPt)p_{t+1} = \arg\max_{p\in\mathcal A_t} S(p\mid\mathcal P_t)

這不是宣稱存在固定係數,而是在給出可調整的理論架構。


15.覆蓋率

若覆蓋基底有限:

B<|\mathcal B|<\infty

可以定義:

RC(t)=C(Pt)CmaxR_C(t) = \frac{ C(\mathcal P_t) }{ C_{\max} }

若:

Cmax=BC_{\max}=|\mathcal B|

則:

RC(t)[0,1]R_C(t)\in[0,1]

但真實知識世界可能是動態的:

Bt\mathcal B_t

會持續增長。

因此即使:

CtC_t\uparrow

也可能:

RC(t)R_C(t)\downarrow

因為未知空間長得更快。

所以:

知識量增加覆蓋率提高\boxed{ \text{知識量增加} \neq \text{覆蓋率提高} }

16.覆蓋速度與有效覆蓋速度

定義:

vC(t)=dCdtv_C(t)=\frac{dC}{dt}

如果原始展開速度為:

vE(t)v_E(t)

重複率:

DtD_t

最簡模型可寫:

vCeff=vE(1Dt)v_C^{\mathrm{eff}} = v_E(1-D_t)

加入品質係數:

QtQ_t

則:

vCeff=vE(1Dt)Qtv_C^{\mathrm{eff}} = v_E(1-D_t)Q_t

這把:

展開得快\text{展開得快}

和:

有效新增得快\text{有效新增得快}

正式分離。


17.覆蓋甚至可以加速

如果智能體會學習,可能出現:

d2Cdt2>0\frac{d^2C}{dt^2}>0

原因包括:

  • 已知區域更容易跳過;
  • 索引越來越成熟;
  • 等價類越來越完整;
  • 快速通道越來越多;
  • 未知前沿定位越來越準。

也就是:

記憶不只增加已知量,也可能提高未來新增覆蓋速度。\boxed{ \text{記憶不只增加已知量,也可能提高未來新增覆蓋速度。} }

這將直接通往第二部。


18.何時停止探索一個區域?

對區域 AA ,若:

E[ΔCA]E[KA]<τ\frac{ \mathbb E[\Delta C_A] }{ \mathbb E[K_A] } < \tau

其中 τ\tau 是最低收益門檻,則可以暫時停止深入。

這不是說:

AA

已經被絕對完全理解。

而是:

在當前資源條件下,繼續探索 AA 的機會成本已高於轉向其他前沿。

因此覆蓋本質上也是資源分配問題。


19.前沿探索

設:

Ωt\partial\Omega_t

為已知與未知的邊界。

每個前沿點 xx 有預期價值:

S(x)S(x)

智能體選:

x=argmaxxΩtS(x)x^\ast = \arg\max_{x\in\partial\Omega_t} S(x)

因此成熟探索不再是:

從根節點重新暴力展開\text{從根節點重新暴力展開}

而是:

直接把計算資源投入已知—未知邊界。\boxed{ \text{直接把計算資源投入已知—未知邊界。} }

20.記憶化覆蓋流

把前三篇與本篇整合。

當前系統:

Xt=(Gt,Mt,Pt,Ωt)\mathcal X_t = ( G_t, \mathcal M_t, \mathcal P_t, \partial\Omega_t )

每輪:

1.生成候選

At=E(Ωt)\mathcal A_t=E(\partial\Omega_t)

2.回憶與去重

判斷:

  • 已走過;
  • 高度重複;
  • 結構等價;
  • 真正新穎。

3.估計邊際覆蓋

ΔC(pPt)\Delta C(p\mid\mathcal P_t)

4.估計成本與風險

K(p)K(p)

5.排序並選擇

p=argmaxS(p)p^\ast=\arg\max S(p)

6.展開並驗證

pGt+1p^\ast\rightarrow G_{t+1}

7.更新記憶

Mt+1=U(Mt,p)\mathcal M_{t+1} = U(\mathcal M_t,p^\ast)

這就是:

帶記憶、帶去重、帶邊際收益預測的覆蓋流\boxed{ \text{帶記憶、帶去重、帶邊際收益預測的覆蓋流} }

21.從暴力窮舉到適應性覆蓋

暴力窮舉近似:

pP:evaluate(p)\forall p\in\mathcal P: \quad \operatorname{evaluate}(p)

記憶化覆蓋則變成:

pt=argmaxExpectedMarginalValue(p)p_t = \arg\max \operatorname{ExpectedMarginalValue}(p)

因此:

Exhaustive Enumeration\text{Exhaustive Enumeration}

轉化為:

Adaptive Coverage\text{Adaptive Coverage}

系統不再要求走完所有表面路徑,而要求:

每一單位新增計算盡量指向尚未被既有知識替代的區域。\boxed{ \text{每一單位新增計算盡量指向尚未被既有知識替代的區域。} }

22.快速通道

當某一結構:

q0q1qnq_0\rightarrow q_1\rightarrow\cdots\rightarrow q_n

已被充分探索並穩定,可以建立宏轉換:

[q0][qn][q_0]\Rightarrow[q_n]

這就是快速通道:

Fast Path\boxed{ \text{Fast Path} }

假設原本成本:

K(p)=100K(p)=100

編譯後:

K(p^)=5K(\hat p)=5

則節省:

ΔK=95\Delta K=95

這些資源可以重新投入未知前沿。

所以:

記憶快速通道已知問題成本下降未知探索資源上升\text{記憶} \rightarrow \text{快速通道} \rightarrow \text{已知問題成本下降} \rightarrow \text{未知探索資源上升}

23.失敗路徑也是覆蓋

如果只保存成功:

P+\mathcal P^+

系統仍可能重複走已知死路。

因此還需要:

P\mathcal P^-

保存:

  • 失敗;
  • 反例;
  • 死端;
  • 不成立條件;
  • 危險狀態。

於是有效覆蓋包含:

C+C^+

與:

CC^-

因為:

知道「這條路不通」也能降低未來搜尋成本。\boxed{ \text{知道「這條路不通」也能降低未來搜尋成本。} }

24.第一部的統一形式

智能體能力:

zt=(κt,μt,ϵt,σt,ρt)z_t= ( \kappa_t, \mu_t, \epsilon_t, \sigma_t, \rho_t )

高重疊知識空間:

K=(G,P,,ω)\mathfrak K= (G,\mathcal P,\sim,\omega)

歷史記憶:

Mt\mathcal M_t

選路規則:

pt+1=argmaxpAtS(pPt,Mt)p_{t+1} = \arg\max_{p\in\mathcal A_t} S(p\mid\mathcal P_t,\mathcal M_t)

總目標則是:

max不可替代新增覆蓋計算、記憶、時間與風險成本\boxed{ \max \frac{ \text{不可替代新增覆蓋} }{ \text{計算、記憶、時間與風險成本} } }

25.從第一部跨向第二部

到這裡,新的問題自然出現。

如果智能體每次探索後都保存:

  • 已知狀態;
  • 等價類;
  • 成功路徑;
  • 失敗路徑;
  • 快速通道;
  • 適用條件;
  • 邊際收益;

則:

Mt\mathcal M_t

會持續增長。

而如果它又能:

極高速分類+極高速索引+極低重複率\text{極高速分類} + \text{極高速索引} + \text{極低重複率}

那麼記憶越大是否反而會讓它:

  • 更快探索;
  • 更少重算;
  • 更容易發現真正的新路徑;
  • 更容易知道什麼其實不新?

這就進入第二部真正的主題:

極強記憶是否可能提高,而不是壓制創新能力?\boxed{ \text{極強記憶是否可能提高,而不是壓制創新能力?} }

26.結論

在高度重疊知識空間中,以下量都可能誤導:

讀了多少\text{讀了多少} 生成多少\text{生成多少} 走過多少\text{走過多少} 保存多少\text{保存多少}

真正重要的是:

相對既有歷史,新的計算增加多少不可替代的狀態、關係、結構、驗證與功能能力?\boxed{ \text{相對既有歷史,新的計算增加多少不可替代的狀態、關係、結構、驗證與功能能力?} }

因此,本篇最核心的形式是:

ΔC(pPt)=C(Pt{p})C(Pt)\boxed{ \Delta C(p\mid\mathcal P_t) = C(\mathcal P_t\cup\{p\}) - C(\mathcal P_t) }

而高效智能追求的不是:

maxP\max|\mathcal P|

而是:

maxΔCeffectiveK\boxed{ \max \frac{ \Delta C_{\mathrm{effective}} }{ K } }

第一部至此完成。

下一篇開始進入第二部:

《極強記憶會壓制創新嗎?》


參考資料

  1. Nemhauser, G. L., Wolsey, L. A., & Fisher, M. L., An Analysis of Approximations for Maximizing Submodular Set Functions—I, Mathematical Programming, 1978.
    https://doi.org/10.1007/BF01588971

  2. Cornell University CS 6820, Submodular Functions — Lecture Notes, 2020.
    https://www.cs.cornell.edu/courses/cs6820/2020fa/handouts/submod.pdf

  3. Calinescu, G., Chekuri, C., Pál, M., & Vondrák, J., Maximizing a Monotone Submodular Function Subject to a Matroid Constraint, SIAM Journal on Computing, 2011.
    https://doi.org/10.1137/080733991

  4. Liu, H., Jin, C., Yang, B., & Zhou, A., Finding Top-k Shortest Paths with Diversity.
    https://vbn.aau.dk/en/publications/finding-top-k-shortest-paths-with-diversity/

  5. Yin, H., Clegg, R. G., & Mondragón, R. J., Simplification of Networks by Conserving Path Diversity and Minimisation of the Search Information, Scientific Reports, 2020.
    https://www.nature.com/articles/s41598-020-75741-y

  6. Anand, P. et al., Graph-Based Algorithms for Diverse Similarity Search, ICML 2025.
    https://proceedings.mlr.press/v267/anand25a.html


系列內部依賴

前置: 01《知道答案之後,真的就容易了嗎?》、02《暴力窮舉不只需要計算力》、03《知識不是樹:高重疊知識空間中的路徑問題》
後續: 05《極強記憶會壓制創新嗎?》、06《記憶編譯型狀態智能體》、07《極致分類、快速索引與計算直覺》。

一句話摘要

高效探索的目標不是走過更多路,而是讓每一次新增計算盡可能增加不可由既有歷史替代的覆蓋。\boxed{ \text{高效探索的目標不是走過更多路,而是讓每一次新增計算盡可能增加不可由既有歷史替代的覆蓋。} }