• 沒有找到結果。

問題的難與易一一介紹

N/A
N/A
Protected

Academic year: 2022

Share "問題的難與易一一介紹"

Copied!
9
0
0

加載中.... (立即查看全文)

全文

(1)

問題的難與易一 一介紹 NP 完備的概念

江南波

在數學的領域裡, 數學的結構、 性質的 探討, 自然是一件賞心悅目的事; 可是, 問題 的提出及解的追求卻又是另一件更原始、 更 能引人入勝的事。 在本期的數學傳播裡, 傅恆 霖教授將圖論中幾個重要的問題歸納成圖上 的數字問題提出; 黃國卿教授則對演算法 −−

解問題的一種方法 −− 加以討論。 問題一旦 提出, 解法一旦求出, 我們常會想到的是: 這 問題還有沒有更好的解法? 要回答這一疑問, 應該要先了解問題本身的難易度及解法的好 壞程度才能加以判斷。 有一種很有意思的觀 念 −− NP 完備性 −− 可用來描述問題的 難易程度。 本文就是想以較鬆散的方式將此 觀念加以介紹。

1. 演算法的複雜度

如何判斷一個演算法的好壞呢? 一般我 們以此演算法在最壞的情況下在計算機中所 需要使用的記憶空間的多少 (稱為此演算法 的空間複雜度) 及此演算法在最壞的情況下 所需要完成的運算 (包括加、 減、 乘、 除及比 較等) 的多少 (稱為此演算法的時間複雜度) 二方面去衡量。

問題: 給定任一個網路 (G, w), 其中 G 為一個圖而 w 為給G的邊填上數字的重量函 數, 如何求出 G 中邊的重量和為最小之生成 樹。

對於這個問題, 有一個 Prim 的演算法 是這樣求解的:

演算法: 設 G 有 n 個點。 按下列步驟 去求

1. 求出 G 中重量最小的邊 e 放入空集合 T 中。

2. 若 T 中邊的個數未達 n − 1 時, 繼續從 G 中一端點在 T 中而另一端點不在 T 中的邊裡, 求出重量最小的邊加入 T 中, 直到 T 中的邊數達到 n − 1 時停止。

3. 當此演算法停止時所得到的 T 即為所欲 求的G中重量和為最小的生成樹。

圖 1(a) 表給定的一個網路 (G, w), 圖 1(b) 表用 Prim 的演算法, 求出 G 中重量和最小 的生成樹 T 的過程。

1

(2)

圖一 (a)

(1) T = {gh}

(2) T = {gh, gf } (3) T = {gh, gf, eg}

(4) T = {gh, gf, eg, de}

(5) T = {gh, gf, eg, de, bd}

(6) T = {gh, gf, eg, de, bd, ab}

(7) T = {gh, gf, eg, de, bd, ab, ce}

並停止。

圖一 (b)

讓我 們 算 算 看 此 演 算 法 的 空 間 複 雜 度ϕ(n) 及時間複雜度 ψ(n)。 由於此演算法 求解過程須記憶下前後求出的 n − 1 個邊, 故其空間複雜度 ϕ(n) = n − 1。 至於時間的

複雜度 ψ(n), 我們粗略的估計其上界如下:

選第一邊, 是由 e 邊中選出重量最小的一邊, 故需 e − 1 個比較; 若已經選了 k 邊加入 T 後, 第 k + 1 邊的選取只需在與 T 中 k + 1 點 x1, x2, . . . , xk+1 相連且另一端點不在 T 中的邊中選出重量最小的一邊即可, 故頂多 只需 d(x1) + d(x2) + · · · + d(xk+1) ≤ 2e 個比較即可, 故 ψ(n) ≤ e + 2e + · · ·+ 2e = e+ 2e(n − 2) ≤ e(2n − 3) ≤ n(n−1)(2n−3)

2

到底怎樣的複雜度才算是好的演算法 呢? 為了區分方便, 我們先討論“大 O”的 符號。 我們說 “f (n) = O(g(n))” 乃表示 存在二常數 c 及 N 使得 “n ≥ N ⇒ f(n) ≤ cg(n)”。 如上面所提的二函數則有 ϕ(n) = O(n); 而 ψ(n) = O(n3)。 一般而 言, 若對一演算法之時間複雜度 ψ(n) 存在 有一多項式 p(n) 使得 ψ(n) = O(p(n)), 則此演算法稱為多項式型演算法, 並被歸類 為好的演算法。 而對一個問題若存在有多項 式型的演算法來解它, 則此問題 q 稱為易處 理的問題, 並記為 q ∈ P , 其中 P 表由所 有的易處理的問題所構成的問題類。 不過, 對 於易處理的問題一般希望能有時間複雜度為 O(n2) 之演算法才滿意。 當問題參數有多個 時複雜度亦可同樣的定義。

8000 運算/秒 400,000 運算/秒 1,500,000 運算/秒

時間複雜度 所需時間 所需時間 所需時間

n 0.125 0.0025 0.00067

n2 125 2.5 0.67

n3 125000 2500 670

1.1n 1038 2 × 1036 5.3 × 1035

(3)

表一 表 一 表 示 在 不 同 速 率 的 計 算 機 上 模 擬 不 同 時 間 複 雜 度 的 演 算 法, 當 問 題 的 參 數 n = 1000 時 所 需 要 的 時 間。 從 此 表 可 看 出 時 間 複 雜 度 為 1.1n 之 演 算 法, 即 使 在 每 秒 鐘 能 處 理 1,500,000 個 運 算 的 計 算 機 上 解 參 數 n = 1000 的 個 案 時, 需 要 時 間 約 5.3 × 1035 秒 ≈ 6.1 × 1030日 ≈ 1.7 × 1028 年, 根 本 就 是 一 件 不 可 能 辦 到 的 事。

事 實 上 從 第 一 個 人 類 出 現 在 這 世 上 到 現 在 也 沒 有 這 麼 長 的 時 間。 而 時 間 複 雜 度 為 n3 的 演 算 法 即 使 在 每 秒 僅 能 處 理 8000 運 算 的 計 算 機 上 解 參 數 n = 1000 的 個 案, 只 需 約 1.5 日 即 可 完 成。

2. 判斷性的問題

在進一步討論集合 P 之前, 我們將所 有的問題限定成判斷性的問題 −− 即答案僅 為是或否的問題。 我們這樣做的原因, 一方面 是圖論的問題很容易就可改為判斷性的問題, 而且原問題屬於 P 之充分而且必要的條件 是改成的判斷性問題屬於 P 。 例如給定任一 圖 G, 求 G 之著色數 χ(G) 之問題 (將圖 G 的點塗上顏色使得有邊相接的任二點均塗 不同的顏色, 則稱為 G 之一著色。 G 之任意 著色所用到的顏色數中最小的值稱為 G 之著 色數), 可改為給定任一圖 G 是否存在使用 k 個顏色的著色的問題; 而且這種改法, 若原問 題有多項式型的演算法求出 χ(G), 則該演算

法即能使我們得到當 k < χ(G) 時改得的 問題答案為否, 而 k ≥ χ(G) 時改得的問 題的答案為是; 反之, 若改得的問題對 k = 1, 2, . . . , n 均有時間複雜度為 O(n) 之演 算法, 則原問題就有時間複雜度為 O(nℓ+1) 之演算法。 故我們將問題限定成判斷性的問 題並不影響我們對 P 中問題的討論。

3. 非確定性的演算法

關於圖論的問題, 有很多都有多項式型 的演算法來解它們; 可是卻也有很多的問題, 到現在都沒有辦法提出多項式型的演算法來 解它們, 例如求任一圖之著色數、 邊著色數、

全著色數的問題, 都沒有發現多項式型的演 算法可用來求解。 那麼, 到底是努力不夠呢?

還是這些問題根本就不屬於 P 呢? 由於對 這一問題的思考, Cook發展出了 NP 完備 性的觀念。 為了了解這一觀念, 我們先要有非 確定性的演算法的概念。

一般我們所說的演算法, 我們把它歸類 為確定性的演算法, 它的特色是當我們在執 行演算法的過程中, 若遇到分岐點時, 我們 必須每一分支都檢驗過才能確定我們的答案。

而非確定性的演算法則是一種想像中的演算 法, 它與確定性演算法唯一不同的地方就是, 當非確定性演算法, 遇到分岐點時, 此演算法 能自動的選擇出一個適當的分支並保證只要 檢驗此一分支即可確定答案。

(4)

圖2(a)

圖2(b)

圖 2(a),(b) 分別表示給定一樹圖, 欲判 斷此樹圖上是否有點塗黑的問題的二例。 當 非確定性演算法遇到圖 2(a) 時會自動選擇出 a− d − l 路徑並判斷出該圖中有塗黑的點;

而該演算法遇到圖 2(b) 時, 則可能選出路徑 a−b−g 而判斷出此樹圖中沒有點被塗黑; 這 二情況, 非確定性演算法只要檢驗三點有無 被塗黑。 而確定性演算法遇到圖 2(a) 時, 可 能會檢驗過 a−d−m 及 a−d−l 二路徑而判 斷出有塗黑的點; 而遇到圖 2(b) 時, 則會檢 驗過所有的 9 個路徑後判斷出沒有塗黑的點;

確定性的演算法處理這二例, 分別需檢驗4點

及 13 點。

對於非確定性的演算法, 我們一樣的可 仿照確定性演算法定義它的時間複雜度。 一 問題 q 若存在有時間複雜度為 O(p(n)) 之 非確定性的演算法求解其答案, 則稱此問題 q 為非確定性多項式型問題並記做 q ∈ NP , 其中 NP 即為由所有非確定性多項式型問題 所成的問題類。

為什麼非確定性演算法有這麼大的選擇 能力呢? 或者說為什麼我們要考慮這麼奇 怪的演算法呢? 大概可以用下面二層面來解 釋:

1. 若想像在每個分岐點上, 有幾個分支就配 置幾個計算機, 則以這種模式作平行處理 的話, 處理問題所需要的時間就是非確定 性的演算法的時間複雜度, 因此此演算法 可看成是平行處理的一種推廣。

2. 當我們對一問題答 「是」 的充分條件及必 要條件有相當充分的了解時, 我們在分岐 點上常常可以做適當的選擇。 若一問題可 經由充分、 必要條件的討論而提供出問題 參數 n 之多項式 P1(n) 種選擇, 而此問 題又有時間複雜度為 P2(n) 之非確定性 演算法加以求解, 則該問題自然就有時間 複雜度為 O(P1(n)P2(n)) 之演算法求出 答案。

由 P 與 N P 之定義, 自然可知 P ⊆ N P 。 但 P 會是 N P 的真子集合嗎? 由非確 定性演算法的強有力的選擇能力, 直覺上我 們可能會認為 P 應該是 N P 的真子集合;

可是由上面 (ii) 的層面上看, 感情上我們又 希望 P = NP 。 事實上, 直到目前為止, 我

(5)

們即未能證明 P = NP , 也未能提出反例證 明 P 6= NP ; 不過, 對這一問題的討論卻引 導出一蠻有趣的觀念 −− NP 完備性。

4. NP 完備性

設 L 為一判斷性的問題。 則 L 中的例 子, 即稱為 L 的一個輸入, 而 L 之所有的 輸入所構成的集合則稱為 L 的輸入空間。 令 L1 與 L2 為二判斷性問題, 而 U1 及 U2 分 別為 L1 與 L2 之輸入空間。 若存在有一時 間複雜度為多項式函數的演算法將 U1 中的 任一輸入 u1 轉變為 U2 中的輸入 u2 使得 u1 在 L1 中的答案為是的充分而且必要的條 件為 u2 在 L2 中的答案為是, 則稱 L1 可多 項式時間內化為 L2

在看例子之前, 讓我們先瞭解圖論中的 兩個常見的術語。 設 G 為一圖, 其點集合為 V 而其邊集合為 E。 令 A 為 V 之子集合。

若 A 中任二點 a1, a2 均沒有 E 中的邊連接 它們, 則稱 A 為 G 中之一獨立集。 反之, 若 A 中任二點 a1, a2 均存在有 E 中的邊連接 它們, 則稱 A 為 G 中之一團。 若 B 為 V 之子集合且 E 中任一邊均與 B 中某一點相 連, 則 B 稱為 G 之一邊覆蓋。 如圖 3中之圖 G 中, A1 = {a, b, c, d} 為 G 之一團。

圖3. G 圖

A2 = {b, e} 為 G 之一獨立集, 而 B = {a, c, d, e} 為 G 之一邊覆蓋。

例: 令 L1 表給定任一圖 G1 及非負整 數 k1 (小於或等於 G1 之點數), 判斷 G1 有 沒有多於或等於 k1 個點的團的問題; 而 L2

表給定任一圖 G2 及非負整數 k2, 判斷 G2 有沒有少於等於 k2 的邊覆蓋的問題。 則 L1 之輸入空間 U1 = {(G1, k1) : 若 G1 之點 數為 n1, 則 0 ≤ k1 ≤ n1} 而 L2 之輸 入空間 U2 = {(G2, k2) : k2 ≥ 0}。 考慮 將 U1 中之輸入 (G1, k1) 化為 U2 中之輸入 (G2, k2) 之演算法 A, 其中 k2 = n1 − k1, 而 G2 為 G1 之補圖, 即以 G1 之點集合 V 為 G2 之點集合, 而任二點在 G1 中有邊相 連之充分而且必要的條件為此二點在 G2 中 沒有邊連接它們 (如圖4, G2 為 G1 之補圖)。

則 A 確將 U1 中任一元素均轉化為 U2 中之 元素, 且 A 之時間複雜度 ψ(n1) = O(n21)。

而且若 G1 有多於或等於 k 個點的團 A1, 則 G2 中之任一邊均不可能連接 A1 中之二點, 即 G2 中之任一邊均至少連接 A1 以外的一 點。 故 V − A1 即為 G2 之點數少於或等於 n1− k1 = k2 之邊覆蓋。 反之, 若 A2 為 G2 中點數少於或等於 k2 = n1 − k1 的邊覆蓋, 則 G2 中之任一邊均至少與 A2 中某一點相 連接, 即 G2 之任一點均不可能連接 A2 以 外之二點, 故 V − A2 為 G1 之一團。 故 L1

可多項式時間內化為 L2

(6)

圖4

設 L1 可多項式時間內化為 L2。 若 L2

存在有時間複雜度為多項式函數的演算法解 之, 則只要結合這兩個演算法而得一新的演 算法, 則此新的演算法即為 L1 之時間複雜 度為多項式函數的演算法。 故顯然直覺上會 認為 L2 比 L1 較困難。 故我們接受下面的 定義:

定義: 令 X 為一問題, 且 NP 中的任 一問題均可多項式時間內化為 X, 則稱 X 為 一 N P 難的問題。 若更進一步, X ∈ NP , 則稱 X 為 N P 完備的問題。

Cook建立起 NP 完備性的觀念後, 在 1971 的一篇論文裡證明了一個很引人注目的 定理, 這大概也是他獲得計算機科學中之一 個大獎 − Turing 獎的原因之一吧! 在介紹 他的定理之前, 讓我們看一下布爾代數的一 些概念。

設 S 為一 n 變數的布爾代數式, 則 S 可表為此 n 變數及其補數的和的乘積(這 種式子稱為合取正規式)。 如 S = (x2 + (x1 · x2)) · ((x1+ x3) · x2) 可表為 S = (x2+ x1) · (x2) · (x1 + x2) · (x3 + x2) = x2·(x1+x2)·(x3+x2)。 若我們給此 n 變數

指定其值為 0 或 1, 則 S 亦有值為 0 或 1。 若 可以適當的指定變數之值而使 S 之值為1時, S 稱為可滿足的。 如若指定 x1 = 0, x2 = 1, x3 = 0, 則 S = 1。 故 S 為可滿足的。

SAT問題: 給定一寫成合取正規式的 布爾代數式 S, 判斷 S 是否為可滿足的。

Cook定理: SAT 問題是 NP 完備的。

5. NP 完備性證明的例子

Cook證明了 SAT 問題是 NP 完備 的第二年 (1972), Karp一口氣提出了 24 個 重要的 N P 完備的問題 (後來 Karp 也獲 得 Turing 獎)。 從此以後, NP 完備的問題 就像雨後春筍一般在圖論裡到處被發現。 但 是仍然有些問題我們依舊無法判斷它是屬於 P? 還是屬於 NP 完備? 下面就讓我們看看 一些證明問題是 N P 完備的例子。 當然, 當 我們已知一些 N P 完備的問題以後, 我們要 證明一問題是 N P 完備的就簡單多了, 我們 只要證明此問題屬於 N P , 且有一已知 NP 完備的問題可多項式時間內化為此問題即可;

不必像 Cook 當年證明 SAT 問題是 NP 完備的那麼辛苦。 這也難怪到 1979 年發現的 N P 完備的問題就有約300 種。

3SAT問題: 給定一寫成每一項都是 3 個變數或其補數的和的合取正規式的布爾代 數式 S, 判斷 S 是否為可滿足的?

定理: 3SAT 問題是 NP 完備的。

證明: (1) 設 S 為給定的布爾代數式。

由於非確定性演算法可適當的指定各變數的

(7)

值, 故而要判斷 S 的值是 1 或是 0, 只要 S 之項數 n 之 O(n) 的時間複雜度內即可完 成, 故 3SAT 問題屬於 NP。

(2) 設 S 為任一寫成合取正規式的布爾 代數式。 令 C = (x1+ x2+ · · · + xk) 為 S 中之一項。 考慮將 C 化為每一項均為三變數 或其補數之和的合取正規式 C 的演算法分 別如下:

(i) 當 k ≥ 4 時, 取 C = (x1+ x2+ y1) · (x3 + y1+ y2) · (x4+ y2+ y3) · · · · · (xk−1+ xk+ yk−3), 其中 y1, y2, . . . , yk−3 為新加入的變數。 若 C 為可滿足的, 則可指 定每一 xi 之值使 C 之值為1, 當然必有某一 xj 之值被指定為 1; 故可指定 xi為原來的值, 而 y1, y2 · · · yj−2 為 1 而其餘 y 之值為 0, 則 C 之值為 1, 故 C 為可滿足的。 反之, 若 C 為可滿足的, 則可適當的指定 xi 及 yj

之值使得 C 之值為 1, 顯然必有某一 x 之 值被指定為 1, 否則 y1· (y1+ y2) · · · (yk−3) 為 1, 此將使 yk−3 與 yk−3 均為 1, 矛盾; 故 原 xi 之指定值即能使 C 之值為 1。 故 C 為 可滿足的充要條件為 C 為可滿足的。

(ii) 當 k = 3 時, 取 C = C。 顯然, C 與 C 同時為可滿足的或同時為不可滿足的。

(iii) 當 k = 2 時, 取 C = (x1+ x2+ z) · (x1+ x2+ z)。 若 C = (x1+ x2) 為可 滿足的, 則可指定 x1 與 x2 之值使 x1+ x2

之值為 1, 故可任意指定 z 之值 使 C 之值 為 1。 反之, 若 C 為可滿足的, 則可指定 x1, x2 及 z 之值使 C 之值為 1, 則該指定即能 使 C 之值為 1, 故 C 為可滿足的。 故 C 與 C 同為可滿足的或同為不可滿足的。

(iv) 當 k = 1 時, 取 C = (x1 + y + z) · (x1+ y + z) · (x1+ y + z) · (x1+ y + z)。

則 C 與 C 顯然同時為可滿足的或同時為不 可滿足的。

故由 (i)-(iv) 的討論知 SAT 問題可多 項式時間內化為 3SAT 問題。

故知 3SAT 問題是 NP 完備的。

看完了 N P 完備性的 1個證明後, 我們 再看看圖論中證明 N P 完備性的例子。

3−著色問題: 給定任一點集合為 V 、 邊 集合為 E 之圖 G, 判斷 G 是否可用 3 種顏 色著色?

定理: 3−著色問題是 NP 完備的。

證明: (1) 設 G 為給定之任一圖。 由 非確定性演算法可適當的選取 3 顏色該著的 各點, 故只要判斷此選取是否為一著色, 即可 分辨 G 是否可用 3 種顏色著色, 而判斷該選 取是否為一著色, 可在 O(e) 或 O(n2) 時間 複雜度內完成 (其中 e, n 分別表 G 之邊數 及點數)。 故 3-著色問題屬於 NP 。

(2) 欲證: 3SAT 問題可多項式時間內 化為 3-著色問題。 令 E 為任一寫成每項均為 三變數或其補數和之合取正規式的布爾代數 式。 我們考慮將 E 如下化為圖 G 之演算法 A:

(i) 若 E 共有 x1, x2, . . . , xn 共 n 個 變數, 則構造 G 圖之中心部分如圖 4所示。

(8)

圖4

(ii) 若 E 有一項 (xi1 + xi2 + xi3), 則 G 除中心部分之外, 增加一個由另外 6 點加 上 xi1, xi2, xi3 及 T 所構成如圖 5 所示的部 分。

圖5

圖 6表示當 E = (x+y+z)·(x+y+z) 時所化成的圖 G。

圖6

若 E 為可滿足的, 則可適當的指定 x1, x2, . . . , xn 之值使 E 之值為 1, 按照“若 xi 指定為 1則 xi 著 T 且 xi 著 F , 若 xi 指 定為 0則 xi 著 F 且 xi 著 T ” 將 G 之中心 部分加以著色; 又由於 x1, x2, . . . , xn 之值 的指定, 能使 E 之每一項 (xi1 + xi2 + xi3) 中至少有一 xi 為 1, 就說是 xi1 為 1吧! 則將 此項對應的部分中 O1 著 F , O2、 O3 都著 A 而 I1 著 A, I2、 I3 分別著 T 、 F , 則顯然 構成 G 之用 3種顏色的著色, 故 G 可用 3種 顏色著色。 反之, 若 G 可用三種顏色著色, 則 指定與 T 點著同色的變數為 1 而與 F 同色 的變數為 0, 則 E 之每一項 (xi1+ xi2+ xi3) 中必有某一變數 xij 為 1, 否則此項對應的部 分中 Ii (i = 1, 2, 3) 三點則不可能著不相同 的三色, 矛盾。 故 E 為可滿足的。

由定義知此問題為一 N P 完備的問題。

看完了證明某一問題是 N P 完備的兩 個例子後, 相信對 NP 完備性的概念已有了 一個初步的認識。 事實上 N P 完備的問題相 信只要 P =?NP 未被確定之前都會一再被 發現出來。 因此, Johnson從 1981 年起在演

(9)

算法期刊 (Journal of Algorithms) 開闢有 一個 N P 完備性的專欄, 專門報導關於 NP 完備性的最新消息。

6. 結語

建立了 N P 完備性的概念後, 也許有一 個問題一直遺留在我們的腦海裡: 到底 P = N P 還是 P 6= NP ? 從 NP 完備性的 定義看來, 若是 P = NP , 則只有能給某一 N P 完備的問題提出一個多項式時間複雜度 的演算法, 則過去所有發現的 NP 完備的問 題都一口氣通通被解決了, 似乎是故事裡的 情節, 現實生活裡不太容易出現吧! 可是, 若 P 6= NP , 則 Ledner 卻又證明了在 P 與 N P 困難的問題之間將有無限困難度等級的 問題類介於此二極端之間, 似乎又與我們當 初考慮 N P 問題的動機相違背! 這就是本 文介紹 N P 完備性的目的, 希望能引起讀者 的興趣而解決這一疑問, 畢竟我們讀者中有

些人是注定將要解決一些重要且困難的問題 的!

7. 參考資料

1. S. A. Cook, The complexity of theo- rem proving procedures, Third Annual ACM Symposium on Theory of Com- puting, New York (1971), pp.151-158.

2. R. M. Karp, Reducibilities among com- binatorial problems, Complexity of Computer Computations, R. E. Miller and J. W. Thatcher, eds., Plenum Press, New York (1972), pp.85-103.

3. R. E. Ladner, On the structure of poly- nomial time reducibility, Journal of the ACM, 22 (1975), pp.155-171.

4. U. Manber, Introduction to algorithms, Addison-Wesley, New York (1989).

—本文作者任教於大同工學院應用數學系

參考文獻

相關文件

在 第一講的開始, 我們就明確地指出: 線性代數是研究線性空間, 即向量空間、 模和其上 的線性變換以及與之相關的問題的數學學科。 這一講中,

我們提供受訪者兩個或多個問題, 一個是敏感性的問題, 另一個則是不傷大雅的是 非題。 接著, 請受訪者隨機性的回答其中的一個問題, 例如: 受訪者自行丟銅板, 若得正面就回

在 小一的教學中,教的是紮 實、基礎的功夫,老師教學的 每一步路走的都是耐心與毅力

命題工作誠然不是一件容易的事, 尤其 是大學聯考的命題, 它影響十數萬考生的前 途, 以及數學教育的方向, 豈能隨心所欲掉以 輕 心。 相信命題教授一定是戰戰兢兢, 如臨深 淵,

怎樣把一真分數分解成若干個相異的 「單位分數」 (即分子為 1的分數) 之和是一個古埃及 的數學問題。 雖經歷數千載, 然而其吸引力絲毫未減, 至今仍然是一個有研究價值的題材。

隨著影像呈現的電影敘事,我們看到,如今提問這永恆性問題的人們,是一群活 在高度現代化時代的人,大家的思維,都被訓練成圓周式的迂迴往返的思考:

Kilpatrick, J., Problem formulating: Where do good problems come

例如, 從歷史的角度看, 數學對象的實 在性問題 (本體論問題) 和數學的真理性問 題 (認識論問題) 可以被看成數學哲學研究 的兩個基本問題;