您的位置:首頁>正文

從布林代數、電學、開關電路到電腦科學

1 布林代數:用數學的方法解決邏輯問題(邏輯學+數學)

萊布尼茨曾提出, 一旦找到一種通用的精確的符號系統, 一種代數, 一種符號語言, 所有概念就都可以分解為數量不多的原始概念, 所有的知識就能夠統一表達為一種演繹體系。 基於這些數位和它們的組合規則, 所有的問題都可以解決。 到了19世紀, 英國數學家喬治.布林(G.Boole)才完成了萊布尼茨所言的這種演繹體系和組合規律。 布林認為推理即計算, 他試圖用符號演算來表達思維在推理活動中的基本規律, 並創造了一種表達基本邏輯函數的二元代數,

即今日所稱的“布林代數”, 為開關電路和數位電腦設計奠定了數學基礎。

布林(George Boole, 1815-1864) 是十九世紀英國一位小學數學老師。 他生前沒有人認為他是數學家。 布林在工作之餘, 喜歡閱讀數學論著、思考數學問題。 1854 年布林的“思維規律”(An Investigation of the Laws of Thought, on which are founded the Mathematical Theories of Logic and Probabilities)一書, 第一次向人們展示了如何用數學的方法解決邏輯問題。 布林代數簡單得不能再簡單了。 運算的元素只有兩個:1 (TRUE, 真) 和0(FALSE, 假)。 基本的運算只有“與”(AND)、“或” (OR) 和“非”(NOT) 三種(後來發現, 這三種運算都可以轉換成“與” “非” AND-NOT一種運算)。 全部運算只需幾張真值表就能完全地描述清楚。

幾乎像所有的新生事物一樣, 布林代數發明後沒有受到人們的重視。 歐洲大陸著名的數學家輕蔑地稱它沒有數學意義, 在哲學上也屬於稀奇古怪的東西。

直到20世紀初, 數學大量羅素在《數學原理》中認為, 純數學是布林在一部他稱之為《思維規律》的著作中發現的, 這才引起人們對布林代數的重視。

布林代數又稱為邏輯代數, 是一個關於0和1的代數系統。 布林用三個運算子號與、或、非代表邏輯關係, 然後把所有的命題劃分為兩種類型, 或者真, 或者假, 把命題組合起來就構成了真值表, 顯示了可以預言的模式。 假如當兩個命題都為真, 結果永遠是真;而一個真命題與一個假命題組合時, 結果永遠是假, 真假關係就是電腦邏輯的核心。 電腦運行的時候, 程式就像一系列或真或假的命題, 當命題進入電路時, 電路將按布林規定的邏輯關係打開或關閉。 假如當兩個真命題進入一個電路時,

電路打開;但是當一個真命題和一個假命題進入一個電路時, 電路關閉。 利用布林代數, 人們就可以把數以百計的電路結合起來, 編寫也充滿想像力的電腦程式。

另外, 布林代數的應用極為廣泛, 其中最明顯的是在電腦技術中分析、綜合、設計邏輯電路中的應用。

2 神奇的電和電流

18、19世紀人們開始了對電、電流的研究。

電或電流有兩個很是特別的性質:

I 電流的速度很快, 其速度等於光的速度。

II 電能生磁, 磁也能生電。

電工電路與電子電路的區別

電工電路

電子電路

作用電充當的作用

能量或動力

信號傳輸媒介

以4.9V電壓為基準

基準之上

基準之下

使用的元件

把電變為能量的元件

(如發動機、電熱器等)

電子器件

(如二極體、電晶體等)

注:一些電子產品中有時電工電路和電子電路會混合使用。 電腦中的風扇系統、硬碟、光碟機就是電工電路。

3 開關電路

1938年香農(Claude Elwood Shannon, 1916—2001)在MIT獲得電氣工程碩士學位, 碩士論文題目是《A Symbolic Analysis of Relay and Switching Circuits》(繼電器與開關電路的符號分析)。 當時他已經注意到電話交換電路與布林代數之間的類似性, 即把布林代數的“真”與“假”和電路系統的“開”與“關”對應起來, 並用1和0表示。 於是他用布林代數分析並優化開關電路, 這就奠定了數位電路的理論基礎。 哈佛大學的Howard Gardner教授說, “這可能是本世紀最重要、最著名的一篇碩士論文。 ”

用布林代數來實現開關電路, 才使得布林代數成為數位電路的基礎, 所有的數學和邏輯運算, 加、減、乘、除、乘方、開方等,

全都能轉換成二值的布耳運算;

二值布林代數可用於邏輯電路的設計。 具有若干輸入和某種邏輯功能的組合線路可以用一個定義在電路代數上的電路函數表示, 而一個電路函數則可以用二值布林式來表示。 但是, 表示同一種邏輯功能的電路函數可以有許多種, 那麼用其中最簡單的電路函數來設計組合線路, 是一個經濟、可靠、簡便的方法。

開關電路的進一步發展和繼電器有著緊密的聯繫,繼電器使開關的狀態和電路的狀態形成一種平等的關係,任意一個開關的狀態都可以由其它的開關來控制,這是產生現代意義上的邏輯電路的基礎,因此,開關電路的設計和邏輯電路的設計本質上是一致的,布林代數是它們的共同基礎,邏輯電路又構成了電腦的基礎。邏輯門電路,與一般的開關電路相比較,結合加法器、數字顯示器等,能更深刻理解布林代數的本質,並體驗它的應用價值。

I 通過開關電路知道電路和電路的兩種狀態以及它們的數學表示。知道什麼是兩個電路的並聯和串聯電路,什麼是逆反電路,以及它們的狀態是怎樣確定的。

II 通過對開關電路的分析,認識新電路的狀態是由原電路的狀態通過運算形成的。掌握狀態和狀態的運算兩個概念。

III 通過狀態和狀態的運算,抽象出布林代數、電路函數和電路多項式的概念。感悟從實際問題抽象、概括為數學問題的過程和用數學理論解決實際問題的思想方法。

由電路的“並”、“串”聯和“逆反”產生的新電路的狀態{0,1}是由原電路的狀態{0,1},經過運算 、 和餘得到的。此外,由簡單命題通過“或”、“且”和“非”(“否定”)組成的新命題的真與偽,也是由原命題的真與偽,經過運算 、和餘得到的。它們是一脈相承的。這些運算與中學數學所學的數與多項式的運算也有相似之處。

元素或狀態

運算方法、符號

邏輯命題

布林

(布林(邏輯)代數)

符號化(二進位)

1

0

+

.

-

香農

(開關電路)

電路


計算機電路儘管十分複雜,但基本單元卻很簡單,由或閘、及閘、反閘、反及閘、反或閘、異或閘、同或閘等組成。

我們將若干個開關的串聯與並聯構成的電路稱為開關電路。整個開關電路從功能上可看作是一個開關,把電路接通記為1,把電路斷開記為0。

一個具有n個獨立開關組成的開關電路稱為n元開關電路,可以寫成一個二值n元布林式。開關是一種具有一個輸入和一個輸出的器件。對於多輸入單輸出的情形則可以用邏輯門電路來實現。邏輯門電路可以用來作與、或、非等邏輯運算,一個邏輯門的輸出可以用為另一個邏輯門的輸入。這樣得到的邏輯電路可以用一個布林式表示。通過對邏輯電路所對應的布林式進行化簡,我們就能分析電路有功能,並簡化電路,既降低成本又提高可靠性。

計算自動化

發出一步完成的指令

1+1

運算器

發出需多步完成的指令

1+1+1

+寄存中間結果的

寄存器

控制器(帶振盪器)

一發出多條指令讓電腦逐條完成

A=1+1+2

B=3+4

C=A+B

記憶體

4 電腦科學

電腦科學是數學、邏輯學、電學的融合。

電腦科學的大部分研究是基於“馮·諾依曼電腦”和“圖靈機”的,它們是絕大多數實際機器的計算模型。作為此模型的開山鼻祖,邱奇-圖靈論題(Church-Turing Thesis)表明,儘管在計算的時間、空間效率上可能有所差異,現有的各種計算設備在計算的能力上是等同的。儘管這個理論通常被認為是電腦科學的基礎,可是科學家也研究其它種類的機器,如在實際層面上的平行電腦和在理論層面上概率電腦、oracle 電腦和量子電腦。在這個意義上來講,電腦只是一種計算的工具:著名的電腦科學家 Dijkstra 有一句名言“電腦科學之關注於電腦並不甚於天文學之關注於望遠鏡。”

作為一個學科,電腦科學涵蓋了從演算法的理論研究和計算的極限,到如何通過硬體和軟體實現計算系統。CSAB(以前被叫做Computing Sciences Accreditation Board),由Association for Computing Machinery(ACM)和IEEE Computer Society(IEEE-CS)的代表組成,確立了電腦科學學科的4個主要領域:計算理論,演算法與資料結構,程式設計方法與程式設計語言,以及電腦元素與架構。CSAB還確立了其它一些重要領域,如軟體工程,人工智慧,電腦網路與通信,資料庫系統,平行計算,分散式運算,人機交互,機器翻譯,電腦圖形學,作業系統,以及數值和符號計算。

開關電路的進一步發展和繼電器有著緊密的聯繫,繼電器使開關的狀態和電路的狀態形成一種平等的關係,任意一個開關的狀態都可以由其它的開關來控制,這是產生現代意義上的邏輯電路的基礎,因此,開關電路的設計和邏輯電路的設計本質上是一致的,布林代數是它們的共同基礎,邏輯電路又構成了電腦的基礎。邏輯門電路,與一般的開關電路相比較,結合加法器、數字顯示器等,能更深刻理解布林代數的本質,並體驗它的應用價值。

I 通過開關電路知道電路和電路的兩種狀態以及它們的數學表示。知道什麼是兩個電路的並聯和串聯電路,什麼是逆反電路,以及它們的狀態是怎樣確定的。

II 通過對開關電路的分析,認識新電路的狀態是由原電路的狀態通過運算形成的。掌握狀態和狀態的運算兩個概念。

III 通過狀態和狀態的運算,抽象出布林代數、電路函數和電路多項式的概念。感悟從實際問題抽象、概括為數學問題的過程和用數學理論解決實際問題的思想方法。

由電路的“並”、“串”聯和“逆反”產生的新電路的狀態{0,1}是由原電路的狀態{0,1},經過運算 、 和餘得到的。此外,由簡單命題通過“或”、“且”和“非”(“否定”)組成的新命題的真與偽,也是由原命題的真與偽,經過運算 、和餘得到的。它們是一脈相承的。這些運算與中學數學所學的數與多項式的運算也有相似之處。

元素或狀態

運算方法、符號

邏輯命題

布林

(布林(邏輯)代數)

符號化(二進位)

1

0

+

.

-

香農

(開關電路)

電路


計算機電路儘管十分複雜,但基本單元卻很簡單,由或閘、及閘、反閘、反及閘、反或閘、異或閘、同或閘等組成。

我們將若干個開關的串聯與並聯構成的電路稱為開關電路。整個開關電路從功能上可看作是一個開關,把電路接通記為1,把電路斷開記為0。

一個具有n個獨立開關組成的開關電路稱為n元開關電路,可以寫成一個二值n元布林式。開關是一種具有一個輸入和一個輸出的器件。對於多輸入單輸出的情形則可以用邏輯門電路來實現。邏輯門電路可以用來作與、或、非等邏輯運算,一個邏輯門的輸出可以用為另一個邏輯門的輸入。這樣得到的邏輯電路可以用一個布林式表示。通過對邏輯電路所對應的布林式進行化簡,我們就能分析電路有功能,並簡化電路,既降低成本又提高可靠性。

計算自動化

發出一步完成的指令

1+1

運算器

發出需多步完成的指令

1+1+1

+寄存中間結果的

寄存器

控制器(帶振盪器)

一發出多條指令讓電腦逐條完成

A=1+1+2

B=3+4

C=A+B

記憶體

4 電腦科學

電腦科學是數學、邏輯學、電學的融合。

電腦科學的大部分研究是基於“馮·諾依曼電腦”和“圖靈機”的,它們是絕大多數實際機器的計算模型。作為此模型的開山鼻祖,邱奇-圖靈論題(Church-Turing Thesis)表明,儘管在計算的時間、空間效率上可能有所差異,現有的各種計算設備在計算的能力上是等同的。儘管這個理論通常被認為是電腦科學的基礎,可是科學家也研究其它種類的機器,如在實際層面上的平行電腦和在理論層面上概率電腦、oracle 電腦和量子電腦。在這個意義上來講,電腦只是一種計算的工具:著名的電腦科學家 Dijkstra 有一句名言“電腦科學之關注於電腦並不甚於天文學之關注於望遠鏡。”

作為一個學科,電腦科學涵蓋了從演算法的理論研究和計算的極限,到如何通過硬體和軟體實現計算系統。CSAB(以前被叫做Computing Sciences Accreditation Board),由Association for Computing Machinery(ACM)和IEEE Computer Society(IEEE-CS)的代表組成,確立了電腦科學學科的4個主要領域:計算理論,演算法與資料結構,程式設計方法與程式設計語言,以及電腦元素與架構。CSAB還確立了其它一些重要領域,如軟體工程,人工智慧,電腦網路與通信,資料庫系統,平行計算,分散式運算,人機交互,機器翻譯,電腦圖形學,作業系統,以及數值和符號計算。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示