導 讀

少兒編程培訓現在如火如荼,那麼什麼是編程,編程的核心和關鍵是什麼?怎麼的學習纔是有效的呢?BBC的紀錄片《現代生活的祕密規則:算法》推薦給想學編程的孩子們。

計算機之所以能創造這麼多讓我們歎爲觀止的成就,固然是得益於它每秒鐘上億次的神速運算。但如果剝離掉算法,現在我們所看到的大部分奇觀都將不復存在,而剩下的那些也將失色得多,難以讓人驚歎。

BBC的紀錄片《現代生活的祕密規則:算法》(2015年,豆瓣評分8.4)給我們揭開了算法的神祕面紗的一角。紀錄片的主持人Marcus是牛津大學的數學教授,在這個紀錄片裏,他通過介紹幾個典型的算法,展示了算法是如何無孔不入地全方位地影響着現代生活。

在紀錄片剛開始,Marcus跟他的學生玩了一個簡單的小遊戲:在一個大罐子裏放了一些巧克力和一根辣椒,Marcus和學生輪流拿,每次拿的數量可以是一個、兩個或三個。拿到辣椒的人就必須把辣椒喫掉。結果,每次喫辣椒的都是學生,因爲Marcus使用了一個小策略。這個策略就是一種算法,而這個算法的原理其實很簡單,小學三年級的學生都可以理解。

下面列舉一下記錄片中提到的幾個算法:

  • 歐幾里得算法

這個算法被認爲是歷史上第一個算法,出現在2200多年前。

  • 排序算法

常用的排序算法有十幾種,沒有絕對意義上的最優算法,每種算法都有它們最適合處理的問題。谷歌的搜索算法其實就是一個頁面排序算法。非常有趣的是,片中以舞蹈的方式展現幾種排序算法的實現過程。

彩蛋:美國總統奧巴馬被問到排序算法時的機智回應。

  • 匹配算法

匹配算法可以用於學生和它們心儀的學校之間的雙向選擇,人體器官的捐獻者和患者之間的匹配,等等。

有一些疾病需要通過器官移植進行治療,不少患者也有親人甚至朋友自願捐贈。但患者和捐贈者之間很可能因爲有排斥現象而無法進行移植。最簡單的匹配是兩對“患者-捐贈者”,第一個患者和第二個捐贈者,以及第二個患者和第一個捐贈者都沒有排斥現象。於是可以同時安排這兩個器官移植手術。更普遍的情況是需要同時對很多對“患者-捐贈者”進行交換匹配。

這個匹配算法(Gale-Shapley算法)還獲得了2012年的諾貝爾經濟學獎。

  • 推銷員旅行算法

這個算法起源於數學問題,但可以廣泛應用於電路板設計、送貨路線規劃、機場調度,等等。

  • 決策樹算法

這個算法可以通過數據蒐集實現機器學習,而機器學習是人工智能的基礎。

下面這個鏈接有完整的算法列表(請複製鏈接地址在新頁面打開):

https://www.cnblogs.com/AndyJee/p/4947566.html

更多精彩內容請看視頻吧。

點擊下列原創文章

相關文章