1938:香農與布林邏輯 — 開關電路與布林代數的等價#
案情#
1937 年夏至 1938 年,21 歲的克勞德・香農(Claude Shannon)在 MIT 完成碩士論文〈繼電器與開關電路的符號分析〉(A Symbolic Analysis of Relay and Switching Circuits),1938 年刊於《 Transactions of the AIEE 》。他證明:電話交換機的開關電路,與喬治・布爾(George Boole)1854 年的邏輯代數完全同構——「用電路做邏輯運算」自此有了數學基礎。
前因#
- 布爾 1847/1854 年建立邏輯的代數化;懷海德與羅素的《數學原理》使其成為數理邏輯標準工具,但始終停留在紙上。
- 1930 年代貝爾實驗室的電話網路廣佈繼電器交換系統,電路設計全靠經驗與試誤,缺乏系統方法。
- 香農在 MIT 擔任 differential analyzer(萬用計算機)的維護助理,該機的控制在布什(Vannevar Bush)指示下已部分改用繼電器邏輯——他親眼見到開關電路承載複雜邏輯。
- 指導教授布什建議他研究「計算機器的數學理論」。
線索與推理#
香農的推理是一場完美的「映射破案」:兩個看似無關的系統——布爾代數與開關電路——具有相同的運算結構。串聯 = AND(兩者皆通才通)、並聯 = OR(其一通即通)、常閉觸點 = NOT(動作時斷開)。一旦建立映射,布爾代數一百年累積的化簡定理、範式表示全部可直接用於電路設計與化簡。偵探特別注意他的決策環境:香農並非從邏輯出發找電路,而是身處貝爾實習背景與 MIT 機房之間,同時看到「交換網路在用邏輯」與「邏輯學家在紙上推演」。他的貢獻是點明二者同構,並展示設計範式:先寫真值表 → 得到積之和(SOP)表達式 → 化簡 → 畫電路。這是史上第一個「邏輯綜合」流程,也是數位電路設計自動化的起點。
理論#
布爾代數三基本運算(設 1 = 導通/真,0 = 斷開/假):
| \(A\) | \(B\) | AND \(A\cdot B\) | OR \(A+B\) | NOT \(\bar{A}\) |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 | 0 |
對應的邏輯閘:AND 閘(串聯開關)、OR 閘(並聯開關)、NOT 閘(反相繼電器)。任何開關函數皆可表為積之和範式:
\[ f(A,B,C) = \sum m_i \quad \text{(最小項之和)} \]
香農進一步論證繼電器電路與抽象代數(理想、域)的更深同構,證明該方法的完備性:凡二值邏輯可表達者,繼電器電路皆可實作。
後果#
- 數位電路設計從工匠手藝變為系統工程,貝爾實驗室迅速用於交換機設計。
- 為二進位電子計算機提供設計方法論:1940 年代的繼電器計算器(Model I~V)、乃至一切數位硬體,皆循此邏輯。
- 香農順勢轉攻「通訊」的數學,1948 年再創資訊理論——兩篇論文分別奠基硬體與軟體/通訊。
- 業界沿此發展卡諾圖(1953)、EDA 工具,直至今日晶片邏輯綜合。
冷案檔案#
- 時間:1937 年夏撰寫,1938 年發表,MIT。
- 案由:香農碩士論文證明開關電路與布林代數同構。
- 歷史定位:「史上最有影響力的碩士論文」——數位時代的設計聖經。