# 完全 NP 問題的匹配論重構：從範疇、泛函到測度的多框架計算哲學

**A Matching-Theoretic Reconstruction of NP-Complete Problems: A Multi-Framework Computational Philosophy from Category, Functional, and Measure Perspectives**

作者：Neo.K（許筌崴）
機構：EveMissLab（一言諾科技有限公司），台灣
版本：公開發表版 v1.0
日期：2026 年 6 月
文件類型：計算哲學／複雜度方法論／數學隱喻框架草案

---

## 摘要

本文不是 P vs NP 問題的正式證明，也不聲稱解決標準複雜度理論中的任何開放問題。本文將原本關於 P vs NP 的若干思考重構為一篇關於「完全 NP 問題」的計算哲學與方法論草案。

本文的核心命題是：對完全 NP 問題而言，所謂「解決」不應只被理解為演算法對問題的單向征服，而應被理解為演算法結構與問題結構之間的匹配。當某個演算法能有效處理某類問題時，真正發生的不是抽象工具對被動對象的支配，而是兩個結構空間在若干關鍵維度上的對齊。

本文首先以範疇論作為語言，將演算法視為一類結構對象，將問題視為另一類結構對象，將「求解」重新理解為兩者之間的部分匹配關係。其次，本文引入泛函分析與測度論作為方法論隱喻：演算法可以被視為從輸入空間到解空間的映射或泛函，而問題則可被視為對演算法行為提出限制的約束結構。當問題空間高度豐富、連續、多樣且難以完全離散化時，單一演算法要覆蓋整個問題族的想像，就會顯得過度理想化。

本文進一步提出「多框架三角測量」概念：集合論、範疇論、幾何語言、泛函分析與測度論並不在本文中構成正式證明鏈，而是提供多種觀察完全 NP 困難的透鏡。若不同數學語言都指向同一種直覺——通用求解方法難以穩定覆蓋高度多樣的問題結構——那麼這種直覺具有方法論意義，但仍不能被誤稱為形式證明。

本文最終主張：完全 NP 問題的工程智慧，不是尋找一把萬能鑰匙，而是建立動態匹配系統。也就是根據問題結構、資料分佈、約束特徵、可接受近似、驗證方式與算力條件，生成或選擇合適的專用方法。計算不是單純征服問題，而是在有限資源中尋找可用匹配。

**關鍵詞：** 完全 NP、NP-complete、範疇論、泛函分析、測度論、演算法空間、問題空間、匹配論、計算哲學、動態演算法、方法論三角測量

---

# 前言：本文的邊界

本文需要先明確界定自身範圍。

本文不是正式複雜度理論論文。

本文不證明 P=NP，也不證明 P≠NP。

本文所謂「完全 NP」，主要指標準複雜度理論中 NP-complete 問題所代表的困難型態。本文不處理其全部形式細節，而將其作為一種計算現象：答案可驗證，但一般求解可能面對巨大解空間、約束耦合、最壞情況爆炸與方法選擇困難。

因此，本文中的範疇論、泛函分析、測度論與幾何語言，主要作為思維模型與方法論隱喻，而不是嚴格證明工具。

本文真正想做的是：

```text id="g7k8qt"
把「完全 NP 問題為什麼難」這件事，
從單純求解困難，
推進到匹配困難、方法搜索困難與通用演算法幻想的限制。
```

換言之，本文不是要給出終極答案，而是要改變提問方式。

---

# 第一章　從解決到匹配

## 1.1 傳統求解圖像

傳統上，我們常用以下方式理解演算法與問題：

```text id="j3x5lc"
演算法 A
↓
作用於問題 P
↓
產生解 S
```

這種圖像隱含三個假設。

第一，演算法是主動工具。

第二，問題是被動對象。

第三，解決是一種單向因果過程。

這種理解在很多簡單問題上是有效的。例如排序、查找、矩陣運算、最短路徑等問題，都可以自然地被理解為「演算法處理輸入，產生輸出」。

但對完全 NP 問題而言，這種圖像容易遮蔽真正的困難。

因為完全 NP 問題的關鍵，不只是輸入很大，也不只是候選答案很多，而是問題結構與演算法結構之間是否存在足夠好的對齊。

## 1.2 匹配論視角

本文提出另一種理解方式：

```text id="xvhq32"
演算法空間 A
↕
匹配／對齊
↕
問題空間 P
```

當我們說某個演算法「解決」某個問題時，實際上是說：

```text id="br2a9p"
該演算法的結構，
在某些關鍵維度上，
與該問題的結構發生了有效匹配。
```

例如：

* 動態規劃能解某些問題，是因為問題具有重疊子問題與最優子結構；
* 貪心法能解某些問題，是因為局部最優能導向全局最優；
* 分治法能解某些問題，是因為問題可以分解成近似獨立子問題；
* 線性規劃能解某些問題，是因為可行域具有可利用的凸性；
* SAT solver 在大量工程實例上有效，是因為實際公式常有可被剪枝與學習利用的結構。

這些都不是演算法對問題的純粹征服，而是演算法形態與問題形態之間的匹配。

## 1.3 完全 NP 的困難：匹配難而非單純求解難

完全 NP 問題之所以困難，可以被重新表述為：

```text id="yq1j7a"
一般形式下，
問題空間過於多樣，
約束結構過於複雜，
使得單一固定演算法難以與所有情境穩定匹配。
```

這不是正式證明，而是一種計算哲學上的重述。

它將問題從：

```text id="icbn72"
能不能找到答案？
```

轉為：

```text id="utizps"
能不能找到一種方法，
使其結構與整個問題族的全部變化都能對齊？
```

這個轉向是本文的核心。

---

# 第二章　範疇論語言：演算法與問題作為兩類結構

## 2.1 演算法範疇

我們可以把演算法看作一類結構對象。

不同演算法之間可以存在轉換關係，例如：

* 化簡；
* 優化；
* 模組替換；
* 資料結構改寫；
* 隨機化；
* 並行化；
* 近似化；
* 參數化；
* 特化。

這些轉換可以被視為演算法之間的態射。

在這種語言下，演算法不是孤立程序，而是位於一個演算法範疇中的對象。

此處不需要嚴格構造完整範疇，只需保留方法論直覺：

```text id="hn4mpy"
演算法不是單一工具，
而是方法空間中的結構點。
```

## 2.2 問題範疇

同樣，問題也可以被看作一類結構對象。

不同問題之間可以存在轉換關係，例如：

* 歸約；
* 特例化；
* 推廣；
* 約束增加；
* 約束刪除；
* 編碼變換；
* 參數變換；
* 分佈改變。

這些關係構成問題空間的結構。

因此，問題也不是孤立題目，而是問題範疇中的對象。

```text id="st06pf"
問題不是單點障礙，
而是結構空間中的位置。
```

## 2.3 求解作為部分匹配

在範疇語言中，我們不必把求解理解為一個全域函子。

更謹慎的說法是：求解是一種部分匹配關係。

某個演算法 A 能有效處理某個問題 P，意味著：

```text id="bf2qog"
A 的結構特徵，
與 P 的結構要求，
在某個局部區域內相容。
```

但這不代表 A 能處理整個問題空間。

因此，完全 NP 問題的通用求解幻想，可以被重新描述為：

```text id="ifbvlt"
是否存在單一演算法對象，
能與整個高度多樣的問題空間形成全域匹配？
```

本文不對此作形式證明，只指出這是一個比「求解」更深層的結構問題。

## 2.4 局部匹配與全局匹配

我們可以區分兩種匹配。

第一種是局部匹配。

```text id="zc5o5r"
演算法 A 能處理某一類具體結構的問題。
```

這在現實中很常見。

第二種是全局匹配。

```text id="g2wwj0"
演算法 A 能處理整個高度多樣的完全 NP 問題族。
```

這是通用演算法幻想。

局部匹配是工程現實。

全局匹配是理論誘惑。

本文主張：完全 NP 問題的實際工程方向，應從追求全局匹配，轉向建立能動態生成局部匹配的方法系統。

---

# 第三章　幾何隱喻：點、流形與覆蓋幻想

## 3.1 演算法作為點

若以幾何語言比喻，每個具體演算法可以被視為演算法空間中的一個點。

這個點具有許多特徵座標，例如：

* 程序長度；
* 時間複雜度；
* 空間複雜度；
* 遞迴深度；
* 使用的資料結構；
* 分支策略；
* 隨機化程度；
* 可並行性；
* 近似保證；
* 對輸入分佈的依賴。

這些維度越多，演算法空間越複雜。

## 3.2 問題作為區域

問題也可以被視為問題空間中的點、區域或子流形。

某個問題族可能具有許多變化維度：

* 輸入規模；
* 約束密度；
* 圖結構；
* 參數範圍；
* 解空間大小；
* 對稱性；
* 隨機性；
* 稀疏性；
* 局部耦合；
* 全局約束。

因此，一個問題族往往不是單點，而是一大片結構區域。

## 3.3 萬能演算法幻想的幾何表述

如果把單一演算法想成一個點，把整個完全 NP 問題族想成一大片高度多樣的區域，那麼萬能演算法幻想就變成：

```text id="jvmy0r"
是否存在一個點，
能同時覆蓋一整片高度多樣的區域？
```

這個問題在幾何直覺上非常可疑。

當然，這不是形式證明。

一個演算法作為程序，並不只是幾何單點；它可以對無限多輸入產生行為。因此不能直接用「點不能覆蓋流形」來證明複雜度結論。

但這個隱喻仍有啟發性。

它提醒我們：

```text id="lhn8lf"
固定方法與多樣問題之間存在結構張力。

問題族越多樣，
固定方法越難穩定匹配所有情境。
```

## 3.4 更好的隱喻：不是萬能鑰匙，而是動態配對

傳統上，我們常把演算法比喻成鑰匙，把問題比喻成鎖。

於是通用演算法就像萬能鑰匙。

但這個隱喻有問題。

因為它假設鎖的結構有限，鑰匙可以被設計成某種總括形態。

對完全 NP 問題，更好的隱喻不是萬能鑰匙，而是動態配對系統。

```text id="uicre4"
問題不是一把固定的鎖。

演算法也不是一把固定的鑰匙。

更合理的模型是：
根據問題的具體結構，
生成、選擇或調整對應的方法。
```

這就是「匹配而非解決」的工程含義。

---

# 第四章　泛函分析語言：演算法作為映射，問題作為約束

## 4.1 演算法作為映射

從泛函分析的語言來看，演算法可以被理解為某種從輸入空間到輸出空間的映射。

```text id="v6s9fk"
A: X → Y
```

其中 X 是輸入空間，Y 是輸出或解空間。

對完全 NP 問題而言，演算法不只要對某個輸入有效，而要在一整個問題族上保持正確性與可接受效率。

這意味著，演算法作為映射，必須滿足大量約束。

## 4.2 問題作為對演算法的約束

問題可以被反向理解為一組對演算法行為的要求。

例如，一個決策問題要求演算法對每個輸入輸出 yes 或 no，並且符合正確語義。

一個搜尋問題要求演算法輸出可驗證的解。

一個最佳化問題要求演算法輸出最優或近似最優解。

因此，問題不是被動對象，而是對演算法行為施加約束的結構。

```text id="gt6c2p"
問題 P 可以被理解為：
一組判斷演算法 A 是否合格的條件。
```

## 4.3 泛函語言下的匹配

在這種視角下，求解不是單向作用，而是：

```text id="f41ypa"
演算法映射 A
是否滿足問題約束 P。
```

若滿足，我們說 A 解決 P。

若不滿足，A 與 P 不匹配。

因此，「求解」可以被重寫為：

```text id="u1dgwn"
A ∈ Sol(P)
```

其中 Sol(P) 是所有能處理問題 P 的演算法集合。

而通用演算法幻想則是：

```text id="mc2aln"
是否存在 A，
使得 A 同時屬於所有 P 的 Sol(P)？
```

換言之：

```text id="jqg26f"
是否存在一個演算法，
位於所有問題可接受演算法集合的交集中？
```

這個表述比「萬能鑰匙」更精確。

## 4.4 交集為何可能極小

對完全 NP 問題而言，不同問題可能需要非常不同的演算法特徵。

有些問題適合分治。

有些問題適合動態規劃。

有些問題適合局部搜索。

有些問題適合隨機化。

有些問題適合 SAT encoding。

有些問題適合整數規劃。

有些問題適合近似。

有些問題必須使用 domain-specific pruning。

因此，不同問題的可接受演算法集合，其交集可能非常小，甚至在現實工程意義上接近空。

這不是形式定理，而是工程事實的抽象表達。

---

# 第五章　測度論語言：有效方法的稀疏性

## 5.1 演算法空間中的有效區域

若把所有可能程序視為一個巨大空間，那麼真正有效的演算法只佔其中極小部分。

大量程序：

* 不停機；
* 輸出錯誤；
* 效率極差；
* 僅對少數輸入有效；
* 依賴錯誤假設；
* 無法擴展；
* 常數成本巨大；
* 不可驗證。

因此，有效演算法在演算法空間中是稀疏的。

## 5.2 問題空間中的困難區域

同樣，問題空間也不是均質的。

有些實例容易。

有些實例困難。

有些實例在實際資料分佈中常見。

有些實例屬於最壞情況但很少出現。

有些實例對某些演算法友好，對另一些演算法極端不友好。

因此，完全 NP 問題不應只被理解為一個整體標籤，而應被理解為一個具有複雜內部測度結構的問題空間。

## 5.3 測度論隱喻的用途

測度論語言的價值，不是提供正式證明，而是提醒我們問：

```text id="dh6f3e"
有效演算法在方法空間中有多稀疏？

困難實例在問題空間中佔多大比例？

某個演算法有效的區域有多大？

演算法失效的區域是否可識別？

工程中遇到的資料分佈是否避開最壞情況？
```

這些問題對實際求解非常重要。

例如，一個演算法也許不能處理全部最壞情況，但能處理 99% 的工業實例。

另一個演算法也許有理論保證，但在實務上常數過大。

測度視角能幫助我們區分：

```text id="rdm2vi"
理論全域有效；
實務高概率有效；
局部結構有效；
對抗性輸入下失效。
```

## 5.4 不要把測度隱喻誤當證明

本文必須再次強調：不能直接用「單點測度為零」來證明不存在通用演算法。

因為一個演算法雖可由有限描述給出，卻能作用於無限多輸入；它不是普通幾何點那樣的物理點。

因此，測度論在本文中的作用是方法論隱喻，而不是嚴格複雜度證明。

正確說法是：

```text id="kcgrrq"
測度論語言幫助我們理解：
有效匹配區域可能稀疏，
問題分佈很重要，
通用方法可能過度理想化。

但它不構成標準 P vs NP 證明。
```

---

# 第六章　多框架三角測量：不是證明，而是收斂直覺

## 6.1 反向同構逆推的重寫

原本的「反向同構逆推」可以改寫成更安全的「多框架三角測量」。

所謂多框架三角測量，是指：

```text id="cotunw"
用多種數學語言觀察同一個困難現象；
若不同語言都導向相似直覺，
則該直覺具有方法論穩健性。
```

這不同於正式證明。

正式證明需要在同一嚴格系統中完成可檢驗推導。

多框架三角測量則是哲學與方法論上的交叉印證。

## 6.2 五種語言的共同指向

本文涉及五種語言。

### 集合論語言

集合論提醒我們注意：

```text id="n85v2p"
演算法描述是可數的；
問題結構可能極其多樣；
有限描述與巨大問題族之間存在張力。
```

### 範疇論語言

範疇論提醒我們注意：

```text id="wsm90z"
求解不是單純作用，
而是結構間的映射、轉換與匹配。
```

### 幾何語言

幾何語言提醒我們注意：

```text id="cch1ho"
固定方法與高維問題區域之間存在覆蓋壓力。
```

### 泛函分析語言

泛函語言提醒我們注意：

```text id="gyd5o8"
演算法是映射，
問題是對映射行為的約束，
求解就是映射滿足約束。
```

### 測度論語言

測度論提醒我們注意：

```text id="th720d"
有效方法與困難實例都不是均勻分佈；
實際可用性取決於有效區域與資料分佈。
```

這些語言雖然不同，但都指向一個共同直覺：

```text id="q4mgjg"
完全 NP 問題不應被理解為等待一把萬能鑰匙；
它更像是需要在問題結構與方法結構之間建立匹配。
```

## 6.3 收斂直覺的價值

多框架三角測量的價值在於，它能幫助我們避免單一隱喻的盲點。

如果只用鑰匙與鎖，容易幻想萬能鑰匙。

如果只用暴力搜索，容易低估結構利用。

如果只用 AI，容易高估模型泛化。

如果只用最壞情況，容易忽略實務可解性。

如果只用實務可解性，容易誤以為理論問題消失。

多框架觀察能讓我們更清楚地看到：

```text id="piujxt"
完全 NP 困難不是單一障礙，
而是解空間、問題結構、方法搜索、驗證成本與語境限制的交疊。
```

---

# 第七章　動態匹配器：從萬能演算法到方法生成系統

## 7.1 萬能演算法的問題

萬能演算法想像是：

```text id="w2a48s"
存在一個固定方法 A*，
可以處理整個問題族。
```

這種想像很自然，但不一定符合工程現實。

因為完全 NP 問題族內部差異極大，不同實例可能需要不同策略。

固定方法即使存在，也可能在實務上不是最佳選擇。

## 7.2 動態匹配器的想法

更現實的方向是建立動態匹配器。

動態匹配器不是單一演算法，而是一個方法生成與選擇系統。

它的流程可以是：

```text id="mxyp4n"
輸入問題實例
↓
分析結構特徵
↓
判斷問題分佈與約束形式
↓
選擇或生成候選方法
↓
執行求解
↓
驗證結果
↓
失敗則切換策略
```

這樣的系統不是要一次性解決所有問題，而是根據問題特徵動態尋找局部匹配。

## 7.3 動態匹配器的組件

一個完整的動態匹配器可能包含：

```text id="pxb2gy"
問題分類器；
結構特徵提取器；
演算法資料庫；
啟發式組合器；
近似策略選擇器；
求解器調度器；
驗證器；
失敗檢測器；
人機協作介面；
結果解釋模組；
自我改進機制。
```

這種系統不承諾理論上的全域多項式解。

它承諾的是工程上的更好匹配。

## 7.4 與 AI 的關係

AI 可以成為動態匹配器的重要組件。

AI 可以：

* 分析問題結構；
* 預測哪種求解器有效；
* 生成候選解；
* 輔助構造歸約；
* 提出啟發式；
* 自動調參；
* 進行大規模搜索；
* 協助驗證與反例生成。

但 AI 不應被誤認為魔法。

AI 仍需要：

```text id="p9r3wc"
驗證；
可解釋性；
失敗處理；
對抗性測試；
資源成本控制；
問題分佈分析。
```

因此，AI 的角色不是終止完全 NP 困難，而是提升匹配能力。

---

# 第八章　完全 NP 問題的工程策略

## 8.1 先問問題結構，而不是先問通用演算法

面對完全 NP 問題，第一個問題不應是：

```text id="ne5qrl"
有沒有一個萬能演算法？
```

而應是：

```text id="x7yjc7"
這個具體實例有什麼結構？
```

需要分析：

* 是否稀疏；
* 是否有局部性；
* 是否有對稱性；
* 是否可分解；
* 是否允許近似；
* 是否只需可行解；
* 是否有資料分佈；
* 是否可參數化；
* 是否能利用歷史案例；
* 是否有驗證器。

## 8.2 用方法族，不用單一方法

成熟系統應該使用方法族。

例如：

```text id="ue23k2"
精確求解；
近似求解；
隨機化；
局部搜索；
SAT/SMT encoding；
整數規劃；
約束規劃；
分支限界；
啟發式；
AI 輔助；
人類專家介入。
```

每種方法都有適用區域。

真正的工程能力，是知道何時使用哪一種。

## 8.3 求解與驗證分離

完全 NP 問題的一個重要特徵是：候選答案通常較容易驗證。

因此，工程系統應該明確區分：

```text id="oqd3rf"
生成答案；
驗證答案。
```

求解可以啟發式。

驗證應盡量嚴格。

AI 可以生成候選解，但不應獨佔判斷。

系統應保留獨立驗證器，避免把「看似合理」誤認為「正確」。

## 8.4 可接受近似與風險分層

許多現實問題不需要最優解，只需要足夠好的解。

因此，應根據場景區分：

```text id="l56xru"
必須最優；
需要可行；
可接受近似；
可接受概率失敗；
需要即時反應；
需要可解釋；
需要可審計；
錯誤成本極高；
錯誤成本可控。
```

不同場景對完全 NP 困難的處理方式完全不同。

---

# 第九章　本文與標準理論的關係

## 9.1 不替代 P vs NP

本文不替代標準 P vs NP 問題。

本文不提供形式證明。

本文不處理標準理論中的全部技術障礙。

本文只是提出：

```text id="g0c2u0"
完全 NP 問題可以被重新理解為匹配困難；
多種數學語言可以幫助我們理解這種困難；
工程上應從萬能演算法幻想轉向動態匹配系統。
```

## 9.2 為什麼仍然值得寫

這篇文章仍然值得存在，因為它提供了另一種理解完全 NP 問題的方法。

它能提醒讀者：

```text id="czmm78"
求解不是征服；
求解是匹配。

演算法不是萬能工具；
演算法是結構適配器。

問題不是被動物件；
問題是約束結構。

有效方法不是從天而降；
有效方法需要在方法空間中被尋找、生成與驗證。
```

這些洞察對演算法設計、AI 輔助求解、複雜系統工程與計算哲學都有啟發意義。

---

# 第十章　結論：匹配，而非萬能解決

本文將兩篇原始思考整合為一個新的公開版框架：完全 NP 問題的匹配論重構。

本文不再宣稱使用範疇論、泛函分析或測度論證明 P vs NP。

相反，本文將這些數學語言作為觀察完全 NP 困難的多重透鏡。

透過這些透鏡，我們得到一個共同直覺：

```text id="rg99kq"
完全 NP 問題的核心，
不是等待某個萬能方法征服所有問題，
而是在高度多樣的問題結構與高度多樣的方法結構之間，
尋找有效匹配。
```

因此，本文的最終命題是：

```text id="vtrw2d"
計算不是征服。

計算是匹配。

解決不是單向支配。

解決是結構對齊。

完全 NP 問題真正教我們的，
不是絕望，
而是謙遜地承認：
沒有萬能鑰匙，
只有不斷生成、選擇、驗證與修正的匹配過程。
```

---

# 附錄一：公開版與原始版的主要差異

1. 將「P vs NP 的範疇論證明」改為「完全 NP 問題的匹配論重構」。
2. 將「泛函分析與測度論證明」改為「泛函分析與測度論語言下的方法論隱喻」。
3. 將「反向同構逆推」改為「多框架三角測量」。
4. 不再宣稱 P≠NP 已被證明。
5. 不再使用「真實性 99.999%」等不適合正式論文的說法。
6. 保留「匹配而非解決」作為核心洞察。
7. 保留「演算法空間與問題空間不對稱」作為方法論直覺。
8. 保留「動態生成專用方法」作為工程結論。
9. 明確聲明本文是計算哲學與方法論草案，不是正式數學證明。

---

# 附錄二：核心概念表

| 概念      | 定義                             | 本文用途             |
| ------- | ------------------------------ | ---------------- |
| 完全 NP   | 作者術語，主要指 NP-complete 問題代表的困難類型 | 避免直接宣稱解決 P vs NP |
| 匹配論     | 將求解理解為演算法結構與問題結構的對齊            | 本文核心             |
| 演算法空間   | 所有可能方法、程序、策略與求解器的結構空間          | 說明方法多樣性          |
| 問題空間    | 所有問題實例、參數、約束與分佈的結構空間           | 說明問題多樣性          |
| 局部匹配    | 演算法能處理某類具體問題結構                 | 工程現實             |
| 全局匹配    | 單一演算法處理整個問題族                   | 通用演算法幻想          |
| 泛函視角    | 演算法作為輸入到輸出的映射                  | 描述求解行為           |
| 測度視角    | 分析有效方法與困難實例的分佈                 | 描述實用可解性          |
| 多框架三角測量 | 多種數學語言共同指向相似直覺                 | 方法論穩健性           |
| 動態匹配器   | 根據問題結構生成或選擇方法的系統               | 工程方向             |

---

# 附錄三：一句話版本

```text id="xqh5fw"
本文不是證明 P vs NP。

本文只是提出：

對完全 NP 問題而言，
真正重要的不是尋找一把萬能鑰匙，
而是理解演算法與問題之間的結構匹配。

有效求解不是單向征服，
而是局部對齊。

工程智慧不是等待通用神諭，
而是建立能根據問題結構動態選擇、生成、驗證方法的匹配系統。
```

---

# 終章短句

```text id="u5m8kp"
演算法不是鑰匙。

問題也不是鎖。

它們更像兩組結構，
在有限資源中尋找可用的對齊。

我們稱這種對齊為解決。

但真正發生的，
其實是匹配。

沒有萬能鑰匙。

只有不斷靠近問題形狀的方法生成。

完全 NP 問題的真正教訓不是：
不要解。

而是：
不要幻想只用一種方式解所有東西。
```

**全文完。**
