在古埃及、古巴比倫,、古印度和古代中國(guó),,數(shù)學(xué)是一門實(shí)用技術(shù),被用于計(jì)算數(shù)量,、幾何長(zhǎng)度、面積和體積,。古希臘人從古埃及,、古巴比倫和古印度學(xué)習(xí)了那時(shí)所有的數(shù)學(xué)知識(shí),。他們出于對(duì)邏輯的嗜好與擅長(zhǎng),用邏輯對(duì)數(shù)學(xué)知識(shí)進(jìn)行了演繹推理和證明,。至今初中生學(xué)習(xí)的諸如“因?yàn)椹ī?,所以┄┄”這類范式的數(shù)學(xué)證明題,,就是古希臘人發(fā)明的,。 古希臘以后的2000多年,,邏輯一直是數(shù)學(xué)證明的工具,,或者說是數(shù)學(xué)的基石。但是,,數(shù)學(xué)與邏輯仍然是兩門不同的學(xué)問,。僅僅從數(shù)學(xué)的完美性角度出發(fā),將邏輯納入數(shù)學(xué),,應(yīng)該是極具誘惑力的想法,,因而一直有學(xué)者試圖用符號(hào)和數(shù)學(xué)運(yùn)算來(lái)表示邏輯,完成邏輯推理,,但都不太成功,。 直到喬治.布爾才取得了決定性的突破。 布爾的父親是鞋匠,,母親曾經(jīng)是女仆,。英國(guó)當(dāng)時(shí)森嚴(yán)的等級(jí)制度使小布爾沒有受到好的教育。但是,,他靠自身強(qiáng)烈的求知欲和父親的幫助(其父對(duì)科學(xué),、數(shù)學(xué)和文學(xué)都有濃厚的興趣),布爾自學(xué)了上層階級(jí)男孩才能學(xué)到的拉丁文,、希臘語(yǔ)和數(shù)學(xué),。由于在數(shù)學(xué)學(xué)術(shù)刊物上發(fā)表過論文,1849年他被任命為愛爾蘭Cork市皇后大學(xué)數(shù)學(xué)系的首席教授,。 布爾發(fā)明了一種與傳統(tǒng)代數(shù)相似的代數(shù)——布爾代數(shù),。 圖1是一道傳統(tǒng)代數(shù)題。 圖1 一道傳統(tǒng)代數(shù)題 在傳統(tǒng)代數(shù)中,,以字母(x、y)表示未知數(shù),,用運(yùn)算符(+,、-、x,、/),、等于號(hào)(=)和數(shù)字組成代數(shù)方程,遵循運(yùn)算規(guī)則,,就可以得到答案,。 在布爾代數(shù)中,用字母代表集合,,仍然用運(yùn)算符,、等于號(hào)和數(shù)字組成方程,只不過布爾代數(shù)運(yùn)算符的含義與傳統(tǒng)代數(shù)不同,。 在布爾代數(shù)中,,運(yùn)算符“+”意味著兩個(gè)集合合并,,如圖2所示:A集合用紅色圓圈表示,B集合用藍(lán)色圓圈表示,,A+B就是A集合與B集合的合并,,圖中用綠色表示。 圖2 算符“+”示意 在布爾代數(shù)中,,運(yùn)算符“X”意味著兩個(gè)集合的交集,,如圖3所示:A集合用紅色圓圈表示,B集合用藍(lán)色圓圈表示,,A X B就是A集合與B集合的交集,,圖中用綠色表示。 圖3 運(yùn)算符“X”示意 布爾代數(shù)的運(yùn)算規(guī)則多數(shù)與傳統(tǒng)代數(shù)相同,。不同的有以下幾條: 1,,表示全部集合; 0,,表示空集,; 1 – A, 表示排除了A以后的集合,,即非A集合,; 1 + A = 1, 全部集合與A集合的并集還是全部集合,; A x (1 – A)= 0,,這是矛盾律,即A集合與非A集合的交集是空集,,它表明一個(gè)事物不能同時(shí)是它自己和它自己的反面,; A x A = A, A集合與A集合的交集仍然是A集合,; A + A = A,, A集合與A集合的并集仍然是A集合; 布爾代數(shù)只有兩個(gè)數(shù),,分別是:true(真)和false(假),。 圖4是十進(jìn)制運(yùn)算表,是小學(xué)一年級(jí)學(xué)生必須熟記得,。 圖4 十進(jìn)制運(yùn)算表 圖5是布爾代數(shù)運(yùn)算表,,對(duì)比十進(jìn)制運(yùn)算,布爾代數(shù)具有一種驚人的簡(jiǎn)潔美,。 圖5 布爾代數(shù)運(yùn)算表 布爾曾經(jīng)是小學(xué)老師,,他在教小孩子記住十進(jìn)制運(yùn)算表時(shí)一定被虐心過。或許這也是他發(fā)明布爾代數(shù)的動(dòng)機(jī)之一,。 我們現(xiàn)在來(lái)看看,,布爾代數(shù)如何進(jìn)行邏輯推理運(yùn)算。首先考慮一個(gè)著名的亞里士多德三段論邏輯推理: 所有人都是要死的,; 蘇格拉底是人,。 因此蘇格拉底是要死的。 用P代表所有人的集合,,用D代表所有要死的東西的集合(包括人,、貓、狗,、樹等等一切生命體),,用S代表蘇格拉底,依題意: P X D = P 這個(gè)表達(dá)式意味著“所有人是要死的”,。如圖7所示,,所有人是都要死的相當(dāng)于所有人的集合P包含在要死的東西的集合D里面,因此,,交集運(yùn)算就如上式,。 圖6 “所有人是要死的”示意 蘇格拉底是人的集合表達(dá)式: S x P = S 就是說蘇格拉底(S集合)包含在所有人(集合P)里面。布爾運(yùn)算如下: 運(yùn)算結(jié)果:S X D = S 意味著“格拉底集合包含在要死的東西集合里面”,,因此,,蘇格拉底是要死的。 假如布爾代數(shù)只能解決如此小兒科的問題,,那么就不會(huì)是偉大的發(fā)明了,。下面舉一個(gè)略難的問題。 設(shè): M代表公貓 F代表母貓 W代表白貓 Y代表黃貓 B代表黑貓 O代表其它所有顏色的貓 N代表被閹割過的貓 U代表有生殖能力的貓 假如你對(duì)寵物店的店員說:“我要買一只貓,,一只閹割過的公貓,,白色或黃色的均可;或者要一只閹割過的母貓,,除了白色,,其它顏色均可;或者只要是只黑貓,,我也要,?!?/p> 店員對(duì)你說:“看來(lái)您想要的貓是下面的式子表示的集合中的一只: 對(duì)嗎,?”你回答:“是的,完全正確,!” 開始,,店員拿出一只有生殖能力的黃色公貓,你將這只貓代入以上式子運(yùn)算,,結(jié)果如下: 因此,,上式成為: (Ture x False x(False + Ture) + (False x False x(1 – False))+ False =(False x(False + Ture))+(False x(1 – False))+ False =(False x False + False x Ture)+(False x 1 – False x False)+False = False + False +False = False 所以,,有生殖能力的黃色公貓不符合我的要求。 接著,,店員又拿出一只閹割過的灰色母貓,,你再將其代入表達(dá)式運(yùn)算,結(jié)果如下: (False x Ture x (False + False))+ ( Ture x Ture x Ture)+ False =(False + False)+ Ture + False = False + Ture +False = Ture + False = Ture 所以,,閹割過的灰色母貓符合我的要求,。 這個(gè)例子說明布爾代數(shù)是如何幫人們做出邏輯判斷的。讀者也許會(huì)說:“這樣做并不容易嘛,!”,。是的,用手算確實(shí)比較麻煩,。但是請(qǐng)讀者想一想,,假如你面對(duì)的是由成百上千集合,通過成百上千運(yùn)算符組成的邏輯關(guān)系,,用布爾代數(shù)運(yùn)算,,至少可以獲得正確的邏輯判斷。如果哲學(xué)家僅憑聰明的腦袋,,估計(jì)弄錯(cuò)的可能性極大,。再來(lái),一旦讓機(jī)器(比如計(jì)算機(jī))掌握了布爾代數(shù),,情況可就大不一樣啦,,人們只要事先按照邏輯關(guān)系設(shè)置好機(jī)器,就可以非常非??斓赝瓿蛇壿嬇袛?。 布爾本人有沒有意識(shí)到他發(fā)明的意義呢?讓我們看看布爾那兩本偉大著作的名稱:《邏輯的數(shù)學(xué)分析,,論演繹推理的運(yùn)算》,、《建立在邏輯和概率數(shù)學(xué)理論基礎(chǔ)上的思想規(guī)律研究》。每當(dāng)我看到他這么野心勃勃,、甚至異想天開的書名,,就會(huì)情不自禁地喟嘆:“布爾的思想具有多么深邃的穿透力呵!他有可能預(yù)料到了人工智能,?!?/p> |
|