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