跳轉到

2.2 布林代數的工程化(1938)#

1938 年,香農的碩士論文以〈繼電器與開關電路的符號分析〉為題,發表於美國電機工程師學會(AIEE)的《Transactions of the AIEE》。這一年,沉睡了八十餘年的布林代數正式「嫁接」進工程世界:喬治·布林在 1854 年為思維規律發明的代數,從此成為設計電路的標準工具(→ 詳見《布林傳記》第 3、4 章)。

從哲學代數到工程工具#

布林的代數在誕生後長期徘徊於純數學與邏輯哲學的邊緣:

  • 十九世紀:傑文斯、皮爾士等人注意到其潛力,皮爾士的學生甚至做過電磁邏輯電路的構想,但從未系統化;
  • 二十世紀初:它成為數理邏輯課程的內容(羅素與懷特海的《數學原理》即以此為基礎之一,→ 詳見《羅素傳記》第 2 章);
  • 1938 年:香農證明它可以直接指導金屬與銅線的佈局,並推導出化簡定理,供工程師日常使用。

布林身後之名的翻轉#

1938 年的發表,還導致了一場學術史上的罕見事件:一個死者的名聲被後人重新定價。

  • 布林 1864 年去世時,是愛爾蘭科克大學的數學教授,學術聲望侷限於邏輯學的小圈子(→ 詳見《布林傳記》第 4 章);
  • 他生前從未見過自己的代數驅動任何機器;
  • 香農 1938 年的論文每一頁都在使用「Boolean algebra」一詞——工程文獻的引用力遠超哲學期刊;
  • 到 1950 年代,「Boolean」成為全球工程師的日常詞彙,布林的半身像被掛進貝爾實驗室;
  • 2015 年(布林二百歲誕辰),谷歌以「Boolean」為主題製作塗鴉致敬——一位維多利亞時代的邏輯學家,因為一位密西根青年的翻譯,成為數位時代的命名者。

這是「翻譯者」香農的另一功績:他不僅翻譯了符號,還翻譯了歷史地位。

香農的推廣工作#

1938–1940 年間,香農持續在貝爾系統內外宣傳這套方法:

  • 1940 年以博士候選人身分在國家研究理事會資助下,於普林斯頓高等研究院待過一年,接觸了邏輯與數學的頂尖圈層;
  • 1940–1941 年在新罕布什爾撰寫博士論文《理論遺傳學的代數》(An Algebra for Theoretical Genetics)——順便一提,他證明了同樣的代數方法可以移植到孟德爾遺傳學,顯示「代數化」是他的一貫本能;
  • 貝爾實驗室的工程師則把開關代數推向實用化:後來卡諾(Maurice Karnaugh)在 1953 年發明的卡諾圖,正是化簡布林函數的工具,其血統直接來自香農的論文。

博士論文的插曲:遺傳學的代數#

博士論文值得多說兩句,因為它顯露了香農方法論的「可遷移性」:

  • 孟德爾遺傳學的核心是基因的組合與分離,本質上是一種離散符號系統;
  • 香農用與 1937 年幾乎相同的代數工具,刻畫了雜交過程中基因型的傳遞規律;
  • 論文完成於 1940 年,數學上無懈可擊,但遺傳學界反應冷淡——生物學當時尚未準備好用代數思考;
  • 這次「冷遇」的教訓,他記了一輩子:1956 年他反對資訊論的濫用(見 3.3),正是因為親身體驗過「好數學遇錯時間」的滋味。

1938 年的工程界接收史#

論文發表後的傳播路徑,值得作為「理論擴散」的案例細看:

階段 人群 反應
1938–1940 貝爾系統交換機工程師 立即採用:直接省錢
1940–1945 軍方數位系統團隊 火控計算機與密碼設備的電路設計
1945–1950 電腦先驅(ENIAC、EDVAC 團隊) 視為設計聖經,→ 詳見《馮紐曼傳記》第 4 章
1950–1960 大學工程教育 進入課本,「邏輯設計」成為必修課
1960– 半導體產業 EDA 工具鏈的數學核心

值得注意的模式:採用的動機逐級抽象化——從省錢(觸點)到省時間(設計週期)到省腦力(自動綜合)。一個理論的影響力,恰恰以「使用者不再察覺它的存在」為極致:今天的晶片設計師在軟體裡畫 Verilog,完全不覺得自己在寫 1938 年的論文。

深層因果:為什麼是香農而不是皮爾士#

一個史學問題:皮爾士的學生早在 1886 年就提出過「邏輯可用電路實現」的想法,為什麼工程的突破遲到了五十年?

  • 缺需求:1886 年沒有大規模交換網路,電路小到不需要代數;
  • 缺平台:沒有像貝爾系統這樣把「繼電器經濟學」變成核心成本的企業;
  • 缺雙語者:皮爾士是哲學家,其工程觸角有限;工程師則不讀邏輯;
  • 香農恰好在 1936 年同時具備三者:大規模繼電器系統(MIT 與貝爾的電話網)、企業級的成本壓力、以及雙修的翻譯能力(見 1.2)。

發明是需求、平台與翻譯者的三體相遇——1938 年是三者第一次排成一線。

「香農展開」:以他命名的工具#

這段時期還留下了一個正式以他命名的數學工具——香農展開(Shannon expansion):

\[f(x_1, x_2, \dots, x_n) = \bar{x}_1 \cdot f(0, x_2, \dots, x_n) + x_1 \cdot f(1, x_2, \dots, x_n)\]

這個恆等式讓任意布林函數可以沿著某個變數「分裂」成兩個子函數,是今日邏輯綜合與二決策圖(BDD,Binary Decision Diagram)演算法的理論核心。一座龐大的晶片產業,仍然每天在使用這個公式。半個世紀後,BDD 更成為模型檢查(model checking)與形式驗證的基礎資料結構——一個 1938 年代思想的長尾,一直延伸到晶片的正確性證明。

事件關聯與前因後果#

年份 事件 後續影響
1854 布林出版《思維規律的研究》 代數化的邏輯
1937 香農完成碩士論文 見 2.1
1938 論文刊於 AIEE 期刊,獲 Alfred Noble 獎 工程界開始採用開關代數
1940 博士論文:遺傳學代數 證明方法的普適性
1941 入貝爾實驗室 方法在電話交換系統落地(見 2.3)
1945–1950s 數位電腦時代來臨 ENIAC、UNIVAC 全部使用開關代數設計
1953 卡諾圖問世 化簡工具普及到每個工程師

卡諾圖:論文的孫輩#

1953 年,貝爾實驗室的卡諾把香農的化簡思想變成了人人可用的視覺工具:

  • 把布林函數的各種輸入組合排成網格,相鄰格只差一個變數(格雷碼排列);
  • 「相鄰的 1 可以圈在一起」——圈越大,表達式越簡;
  • 這是把香農的代數化簡翻譯成圖形直覺的二次翻譯;
  • 半個世紀裡,全世界電機系學生在考卷上畫的都是它——香農論文的影響因此深入每一間教室。

因果:1938 年的發表,讓一個雙向迴路開始旋轉——工程需要催生理論,理論又回頭放大工程的能力;數位電路越複雜,越需要代數方法;代數方法越好用,工程師越敢造更複雜的電路。這個正回饋環最後在 1970 年代催生了微處理器。而香農本人卻沒有停留在這個戰場:他已經把目光投向更抽象的對象——資訊本身(見第 3 章)。

小結#

  • 1938 年是布林代數的「工程元年」,香農是唯一的翻譯者;
  • 香農展開等工具至今仍支撐晶片設計自動化;卡諾圖則把化簡推向每間教室;
  • 布林身後之名的翻轉證明:翻譯者不只傳遞知識,也重新分配歷史的榮耀;
  • 遺傳學博士論文的冷遇是反面教材——「好數學」也需要「對的時刻」,這成為他 1956 年反對濫用的伏筆;
  • 接下來的問題自然浮現:繼電器可以傳遞邏輯,那麼電話線上傳遞的究竟是什麼?帶著這個問題,1941 年香農走進貝爾實驗室(見 2.3)。