跳轉到

1986 John Hopcroft & Robert Tarjan —— 圖演算法的效率革命#

「同樣一張圖,笨方法要跑到天荒地老,聰明方法瞬間結案。 兩位史丹佛/康乃爾學者如何把圖論變成可執行的數學?」

案件檔案#

項目 內容
得主 John Hopcroft (1939–)、Robert Tarjan (1948–)
得獎理由 演算法與資料結構設計的奠基成就
關鍵詞 平面圖、DFS、Union-Find、攤還分析

前因#

1970 年代,組合優化領域只問「能不能解」,不問「多快」。 Knuth(1974 案)建立了分析框架,但圖與資料結構的深層 效率理論尚待開拓。兩條線索:Hopcroft 的自動機與複雜度 背景、Tarjan 的高中生傳奇(18 歲與 Knuth 合作)。

線索與推理#

線索一:Hopcroft–Tarjan 平面圖測試(1974)#

判定 n 節點圖是否平面,達到線性時間 O(n)——在此之前 連存圖都要 O(n²)。技法:深度優先搜尋(DFS)把圖化為 搜尋樹 + 返回邊 的結構,一切性質在樹上提取。

線索二:DFS 作為萬用解剖刀(Tarjan, 1972–75)#

一次 DFS 即可線性時間求出:

強連通分量(SCC)、關節點、雙連通分量、橋
關鍵量:low-link v = min(disc[v], 所有返回邊可達的最小探索序號)
SCC 條件:low[v] == disc[v] 時彈出棧

「探索序 + 回溯值」的設計模式成為圖演算法的通用語言。

線索三:Union-Find 與攤還分析的誕生#

Tarjan 1975 年證明帶路徑壓縮 + 按秩合併的 Union-Find:

n 次操作的總成本 O(n · α(n)),α 為反 Ackermann 函數
α(n) < 5,對一切實際 n 而言近乎常數

攤還分析(amortized analysis):不看單次操作,看序列 總帳——此後成為資料結構理論的標準方法論(影響 Fibonacci 堆、 splay tree,皆 Tarjan 系)。

線索四:Hopcroft 的複雜度側線#

Hopcroft–Ullman 教科書(《形式語言與自動機》)與 Hopcroft–Karp 二分圖最大匹配 O(E√V)(1973)—— 理論敘事與演算法改良雙軌並進。

理論評析#

本案的偵探學核心:效能界不是統計,是定理。線性時間 的證明依賴「計數論證」:每次操作都為某個勢函數(potential) 存款或提款,總帳有界即總時間有界——這是把演算法變成 可證明對象的又一里程碑(接續 Floyd 1978 案)。

後果#

  • 網路路由、社群圖分析、編譯器資料流分析、Git 的 DAG 運算,底層皆為 DFS/Union-Find 系技法。
  • 攤還分析進入所有演算法教科書的必備章節。

關聯案件#

→ 1974-Donald-Knuth與演算法分析及TAOCP、1978-Robert-Floyd與演算法分析方法論、1985-Richard-Karp與NP完全問題的證明