我在科學講壇的《網際網路二十年- 被計算技術影響的生活》演算法科普

萬青insideintel發表於2014-04-22

上週日,4月20日是一個特殊日子,網際網路20週年紀念日。我應圖靈教育的邀請,在中國科技館為網際網路二十年做了一個計算技術的科普報告,聽眾假定為青少年和成人公眾,講座從10點開始,到12多在回答問題中結束,整個講座延長了半個多小時,根據現場和後來的反饋,效果很不錯,家長和孩子的反應還是非常喜歡這個主題的講座的,也覺得聽後收穫不小。為了下一個版本能夠更好地服務大眾,同時我自己也非常enjoy這種為了把艱深的數學和技術問題給青少年講清楚所做的努力 - 這種努力其實對講者本人是極大的鍛鍊,你要把一個演算法和任何一個技術扒到底層然後用淺顯的,能夠打比方說透的話講清楚,你非得對這個技術點有非常透徹的認識不可。這個認識往深了說,就是必須具備“慧”,就是看到事物之間的相同相似,這樣才可以找到適合青少年或普羅大眾聽得懂的比喻來講專業詞彙,在這個過程中,我經歷了深入地書本查詢,上網Wikipedia和尋根溯源,因為青少年問問題不會考慮自己的面子,你不知道他會問出什麼樣的問題。相反,對所謂的專業人群,其實有些時候是可以姑妄言之姑妄聽之的(取決於對方是否認真:-)).當然,要在一個半小時(原計劃)內把有關演算法的話題講給普通聽眾和青少年,還是有非常大的挑戰,從選材和組織表達,還要注意能夠吸引一時聽不懂的聽眾能夠始終願意聽下去,那就得靠一個方法“講故事”!雖然近10年在大大小小的學術會議,對著更多更專業的人群講過數不清的演講,即使自己也在講演講技巧的培訓,但是這一次的經驗和準備,還是使我獲益匪淺,小有刺激,也重新發現了發現和改進的樂趣。下面做一個簡明的分析,為了下一個版本的改進,立此存照。

演講題目叫《網際網路二十年-被計算技術影響的生活》,題目很大,決定落到實處,就是演算法(algorithm), 網際網路應用太多了,和大家休慼相關又不被注意的,可能就是那些重要和基本的演算法,在小規模是不被人注意,但是一旦上了規模,由於大規模並行和資料量的劇增,掩蓋了後面演算法的基本面,但是真是值得學習,並且能夠將趣味性,時效性和基礎知識很完美的結合,所以我一開始決定講演算法,就面臨一個如何將我們理工科感興趣的小東西讓沒有多少基礎的青少年馬上趕興趣。通過聯想,用《黑客帝國》《查理的巧克力工廠》作為引子,可以把孩子們一下子抓住。找區域性最優點的8個演算法的動畫我非常喜歡,但是下一次就儘量不要用“收斂”“初始值”這些術語,我隨口說出來,就可能大斷了聽眾的思路,把人家撂那兒了,要用比喻。還有,判定聽眾聽不懂帶不走的技術細節,不影響主題message的話,就不要講了。第一部分,計算的核心是演算法這一頁資訊量非常大,一筆畫蒙娜麗莎作為TSP 100000個城市的問題完全可以細講,下次吧。下面是第一部分的重要截圖,從Cyber space直接進入演算法世界: enter image description here

第二部分是最有意思的一部分,孩子們很喜歡聽搜尋引擎背後是怎麼做到的,雖然隨機訪問的把戲那裡有點拐彎,其實完全可以用更具體的數字或更小的模型來講清楚。關於公鑰加密演算法,歷史的回顧部分,莫爾斯電碼和字典式密碼可以用更貼近青少年的例子而不是用國外的例子更好。福爾摩斯的《跳舞的小人》,可以從字母E深挖,直接將福爾摩斯探案那一段講出來會更好,當然要言簡意賅。資料壓縮部分造的例子很好,但是用夫妻作為主人公不如用父母和孩子,更貼近聽者。而有失真壓縮演算法,提到離散餘弦變換立馬把聽眾搞蒙了,可以變換為為什麼二維平面上的畫素分佈可以用二維頻率就是紋理表達,切掉那些頻率為什麼能夠壓縮,這樣講清楚了,他們未來學習時域/空間域和頻率域的變換,就打下了很好的基礎。關於模式識別,機器學習的演算法,決策樹,神經網路和K-means 聚類分析都是非常好的題材,但由於時間倉促,給出的例子講得不夠透,還是要轉化成他們生活中的例子更易理解。由於準備時間倉促,關於CRC糾錯碼演算法, 人工智慧這一部分都沒來得及加進來,有些可惜了,但是這麼多內容其實是可以辦成序列的。 enter image description here

第3部分,我們探討了平行計算所需要的並行思維,也是大規模網際網路後面的支撐技術,比如Google搜尋要是沒有MapReduce的分散式計算網頁排名,根本無法實現。我用湯姆索亞粉刷籬笆的故事引出並行思維,整個過程中不斷提問讓孩子們發言,這樣的效果很好地保證了聽眾的投入,後面用複雜的氣象氣候模型引出並行處理的框架,也就不太難了,但是也許還是太專業,可以換成別的例子,但是把事情做快的三種方法,無疑是很有啟發性的,這是來自一本國外的Cluster專著的比喻,我直接拿了過來。關於是否要考慮一心N用的問題,脫胎於08年文漢博士在敦煌ChinaGrid答記者問時的一個反問,在計算都轉向並行的今天,我們對孩子的數學教育是否早一些教並行思維呢? enter image description here

第4部分,是我熟悉的技術計算的“高大上”的例子,就是技術計算如何影響我們的日常生活,這部分孩子愛聽,我愛講,準備了很眩的視訊和動畫,將技術計算在製造業,石油勘探,移動網際網路金融和夢工廠3D電影製作方面的例子給講出來,其實大家非常感興趣,知道原來在這些高大上的應用背後也是基本的演算法在支撐,希望引起他們的興趣,也許會改變一些人的選擇呢也說不定。這裡真的要感謝我的一個搞數字金融的朋友華誠,我剛開始搞不定主意用什麼樣的例子,因為FSI金融計算離我們普通老百姓的日常生活太遠,是搞股票期貨投資的人士的專業,我們你來我往微信討論了好一陣子,我想到了金融危機,但是太負面被否了,後來想到支付寶/餘額寶,他獨立作出了3頁“杜甫很忙”的故事,讓杜甫把錢交給餘額寶又快速當日贖回給娃買衣服的橋段,給出了餘額寶20日贖回概率的估計演算法,這個比較”輕“的技術應用,因為極貼近日常應用,聽者也很感興趣。最後還是總結了TSP旅行商問題,P/NP問題的由來,各種變體和挑戰,圖靈提出的halting問題的判據,這些對大眾可能太抽象了,下一次還是得講故事。 enter image description here

60多頁的材料,寫起來真是挺累的,因為要想像青少年的語言,畫面要酷,不要太多字,然後最重要是要講故事。關於這次演講的目的,我在最後問,”你們誰看過三體?“,有幾個人舉手微笑,其實這一次成年人和年輕人來得比青少年多,可能有時間讀大部頭《三體》的人並不多。我接著說:”這些演算法可能對你們還有些高深和距離,但是他們並不是難以理解的高高在上的東西,就像如果你學習了一些天文學知識,看過《三體》,那麼當你需要仰望星空的時候,你心裡的東西和別人是不一樣的,它可以使你更加成其為一個全面的人,當你在未來操作電腦上網時,你也和別人不一樣,你會知道後面發生了什麼,這個很有意義“。實際上,科普,我覺得意義就在這裡,有時候不會有馬上的用處,但它改變的是人的心智模式,使一個人成為更為智慧和豐富的人。最後感謝圖靈教育和中國科技館組織這個系列活動,還給我留了個有意思的紀念,其實這個在玻璃內部雕刻的工藝本身,就是典型的TSP問題,用鐳射在玻璃內部進行逐點燒灼以形成影像,怎樣移動鐳射頭可以使得整個移動距離最小?

科普有意思,有難度,有意義,希望更多人加入。

何萬青
微博:萬青@insideintel 2014/4/22

相關文章