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