網路城邦
上一篇 回創作列表 下一篇  字體:
『海角七號』中毒太深,竟然看出魏德聖在談數學問題﹣洩題給有意應徵軟體工作的工程師
2008/11/07 22:26:30瀏覽1943|回應4|推薦38
引用文章染上了『海角七號熱』症候群的大宗師

『海角七號』跟教育有什麼關係?道德教育嗎?說髒話的文化教育嗎?婚前性行為的健康教育嗎?沙灘都要BOT的社會發展教育嗎?

這些都不是我的專長。

有多少人注意到了郵差阿嘉為何對送郵件這件事感到挫折?為何阿嘉第一天上班就需要去茂伯家報到?

想起來,台灣的公職考試有個郵政特考,還很熱門呢!我沒考過,不知道到底考什麼。

說說看完『海角七號』後,我覺得跟自己最切身的教育問題是什麼,也提供所有想走高科技的人一個最基本的軟體演算法問題-最短路徑問題。


當阿嘉與茂伯坐在板凳上分信件時,馬上讓我想到演算法中間解決圖中任意兩個頂點之間最短路徑的問題。

當茂伯把他心目中的路線一一報給阿嘉聽時,阿嘉一副不理睬的表情,我還真的對阿嘉產生很大的反感。但是,我馬上又幫阿嘉抱不平:一個搞音樂的人,很難有耐心去搞邏輯問題的。

怪不得,阿嘉送信會送不完,因為他的腦袋根本不適合去做郵差這份工作。阿嘉的繼父在衝動之下,表現出來的是一種無知,而且是濫用特權而侵害到居民的利益。在電影中,這個行為其實沒有被大探討。繼父代表在片中很討好,但是導演(或是編劇)其實並沒有將他完美化,或是偶像化。

回到這個每次面談軟體工程師時,我都會考的技術問題。

上圖中的每個點可以表示是社區中的住址,邊上的數字代表著每個住址的間距。演算法可以用來找到兩個城市之間的最短路徑。在送信這件事情中有兩個關鍵:

第一.在最短距離內送完(才能省油)。
第二.在最短時間內送完(才能早點下班)。

仔細去看上面這個圖,距離其實不是絕對的,而是有方向性的。而送信的地點也不是這麼單純的路徑,而是交錯不斷的街道,與其他如上、下坡,順向與逆向交通流量的考量,有時還得加上郵差自己想吃中飯,買飲料的『打混』站。

我考應試者的演算法,最基本的目的就是要找到從A到B到C再回到A的最低花費路徑。

而在這個簡單的提目中,我可以從應試者的反應中去了解他的溝通技巧,邏輯,與對於基本演算法的功力。若通過第一樣考驗,下一步就是考他寫程式的技巧。

這裡談到的可以回溯到數學上一個主要分支:圖論(graph theory)

圖論裡面是從『柯尼斯堡七橋問題』衍生出來的。(引述維基的內容)

『這個問題是基於一個現實生活中的事例:當時東普魯士柯尼斯堡(今日俄羅斯加里寧格勒)市區跨普列戈利亞河兩岸,河中心有兩個小島。小島與河的兩岸有七條橋連接。在所有橋都只能走一遍的前提下,如何才能把這個地方把所有的橋都走遍。』


萊昂哈德·歐拉(Leonhard Euler)在1736年圓滿地解決了這一問題,證明這種方法並不存在,也順帶解決了一筆畫問題。他在聖彼得堡科學院發表了圖論史上第一篇重要文獻。歐拉把實際的抽象問題簡化為平面上的點與線組合,每一座橋視為一條線,橋所連接的地區視為點。這樣若從某點出發後最後再回到這點,則這一點的線數必須是偶數。



歐拉最後給出任意一種河──橋圖能否全部走一次的判定法則。如果通奇數座橋的地方不止兩個,那麼滿足要求的路線便不存在了。如果只有兩個地方通奇數座橋,則可從其中任何一地出發找到所要求的路線。若沒有一個地方通奇數座橋,則從任何一地出發,所求的路線都能實現,他還說明了怎樣快速找到所要求的路線。』

在了解這個問題後,下一個問題就是所謂的『旅行推銷員問題』


旅行推銷員問題(Traveling Salesman Problem, 又稱為旅行商問題TSP問題)是一個多局部最優最優化問題:有n個城市,一個推銷員要從其中某一個城市出發,唯一走遍所有的城市,再回到他出發的城市,求最短的路線。









能解決最基本的『旅行推銷員問題』,之後才是開始真正的面試,從半導體物理,半導體元件等等問到超大型積體電路,與奈米電路設計,電路功能,功效等等真正的電機/電子工程系的真正問題。

很多人問我,大學要學什麼課,其實,若大一或大二的計算機概論沒有把這學好,一切都很難學的紮實,有興趣來面試,或是想送小孩來面試的朋友們,『海角七號』已經洩出最重要的一個題目了。

圖形取自
http://en.wikipedia.org/wiki/Seven_Bridges_of_K%C3%B6nigsberg
http://www.cs.mcgill.ca/~cs251/OldCourses/1997/topic29/
http://en.wikipedia.org/wiki/Travelling_salesman_problem
( 時事評論教育文化 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=scliao&aid=2364113

 回應文章

葉軒
等級:7
留言加入好友
好文^^
2008/11/12 09:11
我喜歡這樣將專業和電影等緊扣在一起的感想
十分有趣而且耐人尋味
可以感受到每個領域的專業性
話說回來,
像我這種文科的人,要理解你舉的例子還真的得多花點時間與心思
謝謝分享了^^
稻柏臨(scliao) 於 2008-11-14 18:57 回覆:
謝謝你的好言。

其實用軟體解決不見得是最有效率的方式,不同的只是讓電腦去用愚笨的方式解決,人類就不需要去傷腦筋了。

流蘇
等級:8
留言加入好友
哇....
2008/11/08 12:57

小弟看得好深入呀呀呀 ~ ~

呵呵呵...

其實,我並不在意那些粗話髒話的問題。我不知道小弟在從小到大的生活圈裡有沒有像這樣總是很自然的把這樣的話掛在嘴邊的長輩?呵呵...我家是個大家族,不論是我爸我媽或是我婆家甚至是我婆婆的娘家或是我公公的族人,他們裡頭有居住在靠內地的佳里或是靠海的馬沙溝還是以農為主的安定,我可以說是從小聽這些口頭禪聽到大的。那是一種回憶。我懷念我曾祖父為了讓我們這些曾孫嚐到偷口中的超級美味而從遙遠的新化騎鐵馬到永康然後三句裡頭有兩句是改不掉的口頭禪外加一句小小的關懷。我永遠不會漏聽的是那一句略帶靦腆的疼曾孫情感。

至於我兒子.....災難科技動畫片看太多了....= =!!....呵呵...他有他年齡層的想法就好,泰早熟我會不知道該怎麼跟他們溝通啦!哈哈.....


稻柏臨(scliao) 於 2008-11-09 08:24 回覆:
我只是去感受我看到的,深入不深入很難說。
小孩子還是有點瘋瘋的比較正常。

至於那種關懷,遠超過一切的言語。

Daju
等級:7
留言加入好友
TSP
2008/11/08 09:22
still is NP-hard.
稻柏臨(scliao) 於 2008-11-08 10:45 回覆:
當然,只是複雜度多一些罷了。

狂想家
等級:8
留言加入好友
從你那個圖以下..
2008/11/08 08:48
我就都看不懂了....
用心吃,用心玩,用心看,用心感覺
稻柏臨(scliao) 於 2008-11-09 08:21 回覆:
反正你有工作了。