平常上過(guò)有道小圖靈少兒編程課的小朋友一定知道,編程是培養(yǎng)邏輯能力最好的工具之一。 不過(guò)也有小朋友會(huì)問(wèn),究竟什么是邏輯能力呢? 甚至說(shuō)的更大一些,編程和邏輯學(xué)究竟有什么關(guān)系呢? 相信對(duì)編程充滿(mǎn)好奇的小朋友們,一定對(duì)這些問(wèn)題都非常地好奇。 關(guān)于這些問(wèn)題,我們想和小朋友推薦一部來(lái)自BBC的紀(jì)錄片《the Joy of Logic》(邏輯的樂(lè)趣)。 這部紀(jì)錄片不僅介紹了生動(dòng)地介紹了邏輯的內(nèi)涵,還讓關(guān)于邏輯的一切都不再那么抽象,變得生動(dòng)有趣。 一 什么是邏輯? 這部紀(jì)錄片的主持人,是一位來(lái)自計(jì)算機(jī)領(lǐng)域的教授。 最開(kāi)始,主持人向我們提出了一系列問(wèn)題。
所以關(guān)于這些問(wèn)題的判斷,其實(shí)都來(lái)自于我們最簡(jiǎn)單而有力的能力——邏輯。 緊接著,接下來(lái)講的這個(gè)故事,可以讓小朋友可以更好地理解邏輯。 在一家餐廳里,有三個(gè)邏輯學(xué)家坐了下來(lái)。 這時(shí)服務(wù)員走過(guò)來(lái)問(wèn)道:“先生們,你們?nèi)欢夹枰【茊???/span>
本來(lái)這是一個(gè)無(wú)厘頭的笑話(huà),邏輯學(xué)家呆萌的樣子和回答,好像都無(wú)法做出判斷,讓人忍俊不禁。 不過(guò)主持人給出了解釋?zhuān)?/span> 因?yàn)榉?wù)員的提問(wèn)是,“你們?nèi)欢夹枰【茊幔?/span>” 這個(gè)問(wèn)題的關(guān)鍵就在“你們?nèi)欢肌?。如果他們?nèi)酥械娜魏我粋€(gè)不想喝啤酒的話(huà),他都可以回答“不”。這是因?yàn)椋?strong>如果一個(gè)人不喝啤酒,他們就不是“都”要啤酒了。 第一個(gè)邏輯學(xué)家想喝啤酒,但他不知道別人的想法,所以他不得不說(shuō)“我不知道”。 同樣第二個(gè)邏輯學(xué)家聽(tīng)到第一個(gè)人的回答后,他能猜測(cè)到第一個(gè)人要喝啤酒,但是他并不知道第三個(gè)人是否要喝,于是也回答“我不知道”。 等到第三個(gè)邏輯學(xué)家回答的時(shí)候,因?yàn)榍懊鎯蓚€(gè)人都是“不知道”,而不是“我們不喝酒”。 他從前面兩個(gè)人的回答知道他們都要喝啤酒,而他本身也打算喝啤酒,所以他給了“我們都要喝酒”的答案。 主持人也是通過(guò)這個(gè)故事,給我們解釋了邏輯的概念。 就如同主持人總結(jié)的:“邏輯其實(shí)就是關(guān)于正確推理的規(guī)則,邏輯不是知識(shí),也不生產(chǎn)知識(shí)?!?/span> “它所做的就是提供我們一套嚴(yán)謹(jǐn)?shù)囊?guī)則用來(lái)組織和運(yùn)用知識(shí)。” 二 邏輯和哲學(xué) 緊接著,主持人開(kāi)始介紹邏輯學(xué)的發(fā)展,以及很多其他的邏輯概念,比如:三段論、布爾運(yùn)算、邏輯計(jì)算過(guò)程的自動(dòng)化、悖論、不確定性、不完全性等等。 這部分對(duì)于小朋友之所以可以稱(chēng)之為“邏輯啟蒙”,更是每一位小朋友在未來(lái)學(xué)習(xí)中,必須學(xué)習(xí)的底層方法。 比如在孩子學(xué)習(xí)的少兒編程、小學(xué)奧數(shù)和公式記憶,其實(shí)都是和這樣的邏輯有關(guān),也就是前面說(shuō)的——用一套嚴(yán)謹(jǐn)?shù)囊?guī)則用來(lái)組織和運(yùn)用知識(shí)。 主持人提到了邏輯學(xué)的創(chuàng)始人——亞里士多德,最早從古希臘的哲學(xué)家開(kāi)始,就開(kāi)始了邏輯的研究。而其中最著名的,就是“三段論”。 比如:
但是,三段論也是有局限性的,比如亞里士多德256種三段論,他只確認(rèn)了19種,并不是所有的都成立。 比如:
顯然,這是一個(gè)錯(cuò)誤的結(jié)論。 因此邏輯在哲學(xué)上的發(fā)展,也在后來(lái)轉(zhuǎn)向了其他領(lǐng)域。 三 數(shù)學(xué)的發(fā)展和邏輯 伴隨著時(shí)代的發(fā)展,有無(wú)數(shù)的邏輯學(xué)家向人民普及了邏輯學(xué)的知識(shí),比如路易斯·卡羅爾,不僅寫(xiě)下了《愛(ài)麗絲夢(mèng)游仙境》,還向人們極大范圍地普及了邏輯學(xué),用數(shù)學(xué)來(lái)解釋邏輯。 但直到1847年,喬治·布爾出版了《邏輯的數(shù)學(xué)分析》,邏輯才有了新的可能。 只是連布爾可能都沒(méi)想到的是,在接下來(lái)接近200年的時(shí)間里,這些思想極大地改變了我們的生活。 喬治·布爾認(rèn)為只需要將邏輯語(yǔ)言改成數(shù)學(xué)符號(hào),就可以像方程式一樣解決問(wèn)題。布爾將其稱(chēng)之為推理運(yùn)算。 而現(xiàn)在,幾乎所有的計(jì)算機(jī)都采用了他的二進(jìn)制處理信息。 連紀(jì)錄片中的教授也不住地感慨:“布爾運(yùn)算是那么簡(jiǎn)潔,可以那么基礎(chǔ)地解決問(wèn)題。” 布爾發(fā)明的二進(jìn)制和“and、or 、not”等數(shù)學(xué)符號(hào),也成為了現(xiàn)在計(jì)算機(jī)運(yùn)算的基礎(chǔ)。 記錄片為了介紹這三個(gè)符號(hào)所對(duì)應(yīng)的結(jié)果,專(zhuān)門(mén)用了兩張圓形圖案來(lái)表示。 不同顏色代表不同符號(hào),比如or對(duì)應(yīng)的就是綠色部分,not對(duì)應(yīng)的是紅色部分,而藍(lán)綠色代表的是and。 緊接著,通過(guò)這個(gè)布爾運(yùn)算進(jìn)而聯(lián)想到二進(jìn)制,而二進(jìn)制就是現(xiàn)代計(jì)算機(jī)的核心。 事實(shí)上,每次你看到計(jì)算機(jī)在運(yùn)行,無(wú)論是把兩個(gè)數(shù)字相加,還是計(jì)算股票市場(chǎng),在計(jì)算機(jī)的內(nèi)部,都是用布爾型邏輯在計(jì)算。 有趣的是,主持人在解釋布爾運(yùn)算的二進(jìn)制和演算邏輯時(shí),還找來(lái)很多小朋友,分別扮演二進(jìn)制的0和1,以及各種符號(hào)。 通過(guò)游戲的方法,讓孩子們來(lái)理解什么叫做布爾運(yùn)算,孩子也因此可以更加理解計(jì)算機(jī)的運(yùn)算過(guò)程。 這種有趣簡(jiǎn)單的方法,把這種難以理解的問(wèn)題變得更有趣和具體,讓家長(zhǎng)和孩子能在其中收獲滿(mǎn)滿(mǎn)。 四 找到最好的解決方法 不過(guò),之前提到所有的邏輯,都是關(guān)于原理和規(guī)則。 雖然可以輕松得知答案,但是依舊需要我們提出問(wèn)題。 帶上確切的問(wèn)題,合乎規(guī)則地回答它們,則需要編寫(xiě)計(jì)算機(jī)程序了。編程就是將我們現(xiàn)實(shí)中的問(wèn)題,轉(zhuǎn)化成這種能用邏輯解決的問(wèn)題。 紀(jì)錄片中還介紹了國(guó)際奧林匹克競(jìng)賽(IOI),來(lái)自全世界的學(xué)生們,是如何進(jìn)行編程比賽的。 關(guān)于編程比賽,主持人用了一個(gè)很有趣的比喻: 比如問(wèn)題是,在動(dòng)物園園里如何找到“有袋動(dòng)物”(袋鼠)?” 解決方法:
除此之外,其實(shí)方法還有很多,但是每一種付出的代價(jià)都不一樣。 就如同編寫(xiě)的程序,也許都可以解決問(wèn)題,但是所耗費(fèi)的精力、時(shí)間和精確度,同樣也是不一樣的。 在這部紀(jì)錄片中,沒(méi)有生硬的說(shuō)理,也沒(méi)有晦澀難懂的語(yǔ)言,而是通過(guò)這樣一個(gè)個(gè)的舉例和實(shí)驗(yàn),讓觀(guān)眾真正地認(rèn)識(shí)邏輯、理解邏輯。 尤其對(duì)于很多小朋友,可以站在“巨人的肩膀上”思考問(wèn)題,在場(chǎng)景中理解邏輯、理解編程,樹(shù)立科學(xué)的觀(guān)念。 |
|