您現在的位置是:首頁 > 舞蹈首頁舞蹈

讓機器能像人一樣思考的關鍵,是0和1?|秦曾昌專欄

由 我是科學家iScientist 發表于 舞蹈2021-10-08
簡介至此,布林成功地利用布林代數將邏輯推導與數學運算結合到了一起,從而為邏輯問題向代數可計算問題的轉變提供了理論基礎

什麼叫來自低位的進位

作者:白天 秦曾昌

編輯:婉珺

讓機器能像人一樣思考?

有哪些特徵可以將人類與其他生物區分開?最被人廣泛接受的說法是,人類擁有自行設計、製造和使用工具這一獨有的能力。

這個能力體現在一個更廣的過程中:從利用已知設計和使用規則,到設計工具解決特定任務的問題,再到繼續探究這一問題的本質。人在做出行為前,往往有著一套完整的思維過程——我們的大腦中會先有一個思維過程來模擬將要進行的動作,並且對風險進行估計,之後大腦才會透過神經驅動我們的雙手(或其他部分)來完成這個任務。

那麼,如果能透過某種方式描述人類的這一思維模式,再透過程式語言讓機器“學會”它,那麼這臺機器便在一定程度上擁有了類似與人類的思維方式,這也是人類對於智慧的直觀認知。

讓機器能像人一樣思考的關鍵,是0和1?|秦曾昌專欄

圖片來源:123rf。com。cn正版圖片庫

我們用到的就是邏輯的方式。

在亞里士多德的

三段論

之後,邏輯學家們開始嘗試採用特定的符號來表徵多個命題間的邏輯關係,這些符號統稱為

邏輯符號

。常見的邏輯符號如:“→”表示“如果…那麼”,“

讓機器能像人一樣思考的關鍵,是0和1?|秦曾昌專欄

”表示“邏輯合取”,“

讓機器能像人一樣思考的關鍵,是0和1?|秦曾昌專欄

”表示“邏輯析取”,“¬”表示否定。

讓機器能像人一樣思考的關鍵,是0和1?|秦曾昌專欄

“邏輯”三連(霧

到了17世紀,邏輯符號已趨於完善,邏輯學家們又開始思考,

邏輯能否像經典數學問題一樣進行推導及求解,從而把推理過程變成計算過程

。提出這一想法的萊布尼茲雖然並沒有給出解決方案,但其憑藉“率先提出”了這一點,他依舊被公認為數理邏輯的奠基人。

又過了200年,到了19世紀,這一難題才最終被英國數學家布林(George Boole)所解決,其解決問題的核心便是透過“

邏輯代數

”(即

布林代數

)。

讓機器能像人一樣思考的關鍵,是0和1?|秦曾昌專欄

讓機器能像人一樣思考的關鍵,是0和1?|秦曾昌專欄

布林關於邏輯代數的兩本重要著作《思維規律的探索》和《邏輯的數學分析》。圖片來源:blog。stephenwolfram。com

恐怕連布林自己也不曾意識到,布林代數在某種意義上極大地促進了邏輯問題在智慧機器上的解決。

正是在布林代數的基礎上,弗雷格(Gottlob Frege )、羅素(Bertrand Russell)和懷德海(Alfred Whitehead)等人繼續發展數理邏輯;霍恩(Alfred Horn)完成了完整的計算推演步驟;偉大的學者艾倫·圖靈(Alan Turing)提出生活中的絕大多數問題都是可決策問題,而可決策問題都可透過計算解決;最後工程家約翰·馮·諾依曼(John Von Neumann)設計實現了我們今天的計算機。至此我們便可以利用計算機解決各類計算邏輯問題。

布林代數不僅把邏輯學與數學聯絡到了一起,更是極大地提升了人類解決數值及邏輯問題的能力

布林代數是何方神聖?

布林發明布林變數最初的目的,是想透過一系列數學公理來重現經典邏輯的運算結果。他利用等式表示判斷,把推理看作等式的變換,而這種變換的有效性只依賴於符號的組合規律。

布林首先定義了變數x、y、z……,每個變數的取值由兩種狀態組成,即“0”和“1”或“True”和“False”,再透過公式來表示命題間邏輯關係的推導。比如xy表示“與”,(1-x)表示“非”,x+y-xy表示“或”,x+y-2xy表示“異或”。

讓機器能像人一樣思考的關鍵,是0和1?|秦曾昌專欄

摘於布林著作《邏輯的數學分析》。圖片來源:blog。stephenwolfram。com

可以看出,布林將類似於亞里士多德的“三段論”的表述方法,轉化成可求解的數學問題。

為了增強與經典代數理論的聯絡,布林沿用了經典代數的符號,即用“·”來表示“與”,用“+”來表示“或”,用1-x(也用

讓機器能像人一樣思考的關鍵,是0和1?|秦曾昌專欄

)來表示x的“非”。

類似於經典代數中交換律、結合律、分配律等,布林還規定了用於簡化邏輯表示式的公理,更好地簡化了邏輯運算的複雜性,使其能夠符合邏輯推導的規律。至此,布林成功地利用布林代數將邏輯推導與數學運算結合到了一起,從而為邏輯問題向代數可計算問題的轉變提供了理論基礎。

讓機器能像人一樣思考的關鍵,是0和1?|秦曾昌專欄

部分邏輯計算的公理

一個遲到的應用,讓人工智慧成為可能

然而在布林代數提出時,其影響遠不如我們以為的那麼轟動。實際上,在布林代數理論提出後的很長一段時間內,都沒有一個像樣的現實應用,直到1938年克勞德·夏農(Claude Shannon)在他的碩士論文(著名的A Symbolic Analysis of Relay and Switching Circuits,《繼電器與開關電路的符號分析》)中指出當時的電話交換電路與布林代數之間的類似性。

這篇論文把布林代數的“真”與“假”和電路系統的“開”與“關”對應起來,並用1和0進行表示。夏農用布林代數分析並優化了開關電路,就此奠定了數位電路的理論根基。在此基礎上,所有的數學運算,例如加、減、乘、除、乘方等基本代數運算,都可以轉化為二值的布林運算。換言之,

我們可以利用簡單的與邏輯、或邏輯、非邏輯,實現兩個二進位制數的加、減、乘、除、乘方等基本代數運算

讓機器能像人一樣思考的關鍵,是0和1?|秦曾昌專欄

A、B為輸入的二進位制數,Cin為來自低位的進位,Cout為輸出二進位制數,S為此位的進位。利用與門、或門、非門的組合,實現一位有進位的二進位制數加法邏輯電路圖。其中,與門、或門、非門是與邏輯、或邏輯、非邏輯的電路實現,一般利用二極體、三極體搭建所需電路。我們同樣可以利用多個電路相連的方式,來解決多位二進位制數的加法運算。

伴隨著積體電路技術的誕生及發展,人們可以在一塊麵積很小的矽板上實現數量眾多的邏輯閘電路,從而實現複雜的數值與邏輯運算,人類世界的計算能力因此得到了質的提升。計算能力的提升,才使今天的網際網路、移動網際網路和人工智慧技術成為可能。

作者名片

白天:北京航空航天大學在讀研究生

秦曾昌:北京航空航天大學副教授,果殼網科學顧問,未來實驗室創始人

歡迎個人轉發到朋友圈

本文來自果殼網

轉載請聯絡授權: sns@guokr。com

投稿請聯絡scientificguokr@163。com