Author Archives: Pesty

上帝的靈藥─基因演算法(二)

距離上次介紹基因演算法的第一篇已經好久了,重新回顧才發現並沒有在技巧上面說明得很清楚,所以打算再繼續這個主題,把基因演算法做一個完整的介紹…

如果您不知道基因演算法是什麼,建議您可以先參考上一篇

先前提到基因演算法的基本概念,但是要怎麼寫程式呢?首先我們先來探討基因演算法的幾個基本元素。

第一個是基因;沒有基因來當作媒介,我們沒有辦法進行基因演算法,但是要怎麼表現基因呢?以電腦世界而言,最常見的就是 0 和 1 的組合形成的"Bit String",例如:0010 就是一個四個位元的 bit string。用四個位元就可以表現出十六種基因組合,而不同的基因組合又可以對照到不同的"表現型"上,例如第一個 bit 表示顏色、第二個 bit 表示長度,第三個 bit 表示色調等等。

除了固定長度的基因之外,也可以採用不定長度的基因;例如,假如要用英文字測試是否能夠演化出一本莎士比亞全集,就可以採用不定長度的基因,讓莎士比亞全集由最早的英文單字逐漸長到厚厚數本書這麼大。

利用適合的基因表達方式,才能夠讓問題更容易利用演化的方式找到解答。如果問題本身不適合用固定長度來表達,就可以考慮用不定長度的基因;相對的,如果問題本身不需要不定長度就可以解決,用不定長度基因型反而會造成程式更慢找到解答。

第二個是適應函式(fitness function);適應函式是用來測試個體在現在的環境中的適應程度,一般而言,適應得越好得分越高,也就會給它更高的機會傳遞它的基因給下一代。舉例來說,如果要程式要找出基因中全都是 1 沒有 0 的個體,那麼適應函式就可以計算現在個體的基因中有幾個 1。

適應函式其實就是所謂的"環境";適應函式不但要考慮個體相對於整體的表現,還要考慮在不同時期給予個體不同的壓力。例如,程式不太可能在一開始就亂數產生出英文中合文法的句子,這時候就要比較寬容一點給分給鬆一點;等到後期程式已經抓到語法的訣竅,那麼有一個拼字錯誤,或許就會被扣不少分數。

第三個是選擇函式(selection function);一般來說,選擇函式都會依照適應函式的分數來作為判斷依據,但選擇有很多方式,最簡單的就是前面一半就晉級,另外也有依照得分多寡加權計算機率的,甚至於保送到下一代的方式。選擇函式做的就是"天擇"的動作。不同的選擇函式各有優缺點,也有其道理所在,請容以後再詳述。

第四個是交配方式(crossover);由選擇函式中選出的兩個個體的基因要如何重組?在固定的點切開一人一份,還是可以在任意點切開來組合?對不定長度的基因,是用模組/區塊的方式重組交配還是同樣在固定點切開?這都要依照目標的不同而調整。

最後是突變方式(mutation);個體在什麼樣的狀況下會突變?突變的地方又是在哪裡?突變之後會變成什麼值?這些都是可以考慮的。

以上五個是基因演算法程式設計中,最重要的幾個架構,至於每個架構有什麼樣的考量,之後再專文說明。

低點

上週一開始過上班族的日子,在決定上班之前爸爸找我談了一下;在長輩的心中,能夠唸書總是好的,家裡也不急著要我賺錢,人生很長,早點投資一點在自己身上,對長輩們來說,似乎比進入社會見識要來得保險一些。
只是從上大學之後,已經走了調的生活,開始對我進行最嚴厲的反擊;申請學校的不順利,歸咎到最後,除了時運之外,自己的成績太難看也是重點。有能力/潛力卻沒有辦法表現在具體的事例上面,洋洋灑灑的履歷表卻無法彌補學術方面的失敗。混過了大五,忙過了畢業之後的這八個月,不知如何面對自己的壓力,已經排山倒海而來。

五月完全不是我的幸運月;原本以為穩上的學校也沒有著落,買股票因為 SARS 套牢、向國外訂 Notebook 也沒辦法如期交貨、和朋友吵架…等等,一點點小事情就會讓我覺得非常沮喪;我開始懷疑自己是不是要垮了,所以我和爸爸說,我沒辦法再待在家中無所事事了,找個事做,再看看將來要怎麼走吧….。

昨天看到這期讀者文摘的李安專訪;他在 1984 年從 NYU 的電影研究所畢業之後,一直到 1990 年《推手》以及《囍宴》的劇本得獎開拍之間,一直處在這樣的低點中;平常在家幫忙帶帶小孩、勉強去拍戲現場做點雜務,甚至去幫忙看守器材。他說:「畢業快六年,一事無成,剛開始還能談談理想;三四年後,人往四十歲走,也不好意思再說什麼理想,開始有點自閉。」…..「許多人奇怪我怎麼敖過那段心情鬱悶的日子。當年我沒辦法跟命運抗衡,但我死皮賴臉帶在電影圈,繼續從事這一行,時機來了,就迎上前去。」

我不知道在我前面還有多少個低點要走,但希望我對我的夢想,有李安的堅持和勇氣。

乙太網路發明人的專訪

在 CNet 的這兩篇專訪訪問了乙太網路的發明人 Bob Metcalfe,這位過去任職於 Xerox 公司 Palo Alto Research Center(PARC) 的研究員策畫了最早的 Ethernet 版本,從他的專訪中可以看到他對於乙太網路的一些想法以及未來展望,當然,還有大家最感興趣的(:p),乙太網路(Ethernet)這個名字是怎麼來的。

虛擬維度的真我

去年 CCCA 網路研習營時,在 Shuo 的課程中介紹到一個韓國的網站,提供每個人打扮自己角色的功能。剛開始時每個人都只擁有一個穿著短褲 T-Shirt 的角色,玩家可以到商店裡購買各式各樣的衣飾或配件來打扮。這些代表著玩家的角色則可以在網站中彼此互動,形成另類的社群。

前些天正好想起來,向 Shuo 問起,沒想到已經引進台灣了;除了現在還在測試階段不收錢的e2play 之外,在 hlb 的提醒下,發現 yahoo 也有《造型精靈》的網站提供服務。Yahoo 的角色看起來比較可愛,但是收費實在不便宜,現金一點只能兌換 Yahoo!奇摩點數一點,而商品動輒二十幾元,實在是有點吃不消的感覺。而 e2play 因為還在測試階段,現在還不用收錢,可以先把自己的化身打扮得好一點。

這個遊戲(姑且讓我稱它遊戲吧,雖然 Shuo 很反對我這樣稱 :p) 的商業模式很有趣;藉由一個在虛擬世界代表著你的角色,來鼓勵你掏出錢來為他打扮。在現實中我們也許買不起名牌服飾,卻可以利用這樣一個虛擬空間打造另一個形象;現實中也許我們內向害羞其貌不揚,在這樣的網站裡卻可以扮演一個看起來就是交際花般的名人。過去聊天室只能呈現文字的形象,現在卻可以更具體的塑造一個虛擬的自我;一般線上遊戲的打殺練功也許不適合 20-40 歲的青壯年,但有獨立經濟能力又想在逐漸縮小的人際網中找到出口的上班族,會不會反而更迷上這樣的網站呢?

另一方面,在網站上所販售的商品,更是不折不扣的「無本生意」;這陣子 SARS 流行,《造型精靈》就賣起了 N95 口罩,完全不怕缺貨。而將來,或許也會有越來越多的廠商藉由這樣的網站來建立自己的品牌形象,透過這樣一個虛擬空間進行限量發售或是其他促銷活動,可以造成另一種流行話題。

昨天也把我的人物放上了自己的 blog,也算是另一種應用吧;以往網站放自己的照片,還不能天天變裝、變臉,現在這樣一個人物可以直接代表自己的喜怒哀樂以及風格,也許在不久的將來,就會在大家的網站上看到這樣的流行也不一定呢!

相關連結:

數位營運: E2Play
Yahoo! 奇摩: 造型精靈

《愛情靈藥》

2002 年的四月底,帶著一點點偷看 A 片的心情,走進了中華路上的總統戲院來看《愛情靈藥》;看完之後只覺得 “好險沒找女生一起來看啊啊啊~~”

2003 年的四月底,這部片在東森電影台首播,且讓我們在闔家觀賞的時段,共同來探索青澀的情慾禁地…

《以下是 2002/4/28 發表的電影心得》

看完這部片實在很難讓人不聯想到《黑色追緝令》。儘管在時間的拼湊上並不是完全雷同,但是手法上卻是相似的;一場搶劫開始的問號,還要在後頭才能解開謎團。

同樣讓我如坐針氈的還有那把註定要肇事和註定要砍人的槍與刀;和《黑》一樣的觀眾在想著什麼時候它會用上,結果在冷不防的一刻竟然就來這麼一下。

必須承認的是,我從來沒有看過一部電影讓我如此覺得『還好一個人來看』@_@! 整部片企圖傳達的似乎不是劇情本身了,而是在生活中那些無處不在的危險、恐怖、以及屎尿!(真是歐賣尬~) 但是不得不注意的是,這部片是不是玩弄得太過火了,以至於失去了對於演技的要求?

劇本的創意是值得激賞的,只是呈現出來還需要更精緻的演出、更流暢的表現。

《X-Men II》–人類與超人

由漫畫改編的《X戰警》第二集已經在全球上映。不能免俗的,X-Men 要面對的還是如何和人類共存的問題。

正巧看到一篇文章也在討論這樣一部電影背後的涵意;作者認為像 X-Men 這樣的主題,其實不光光是在討論基因突變的人類和社會的關係,其實真正的目的只是藉由這樣的好萊屋風格電影去影射所有的少數族群歧視問題。

不過既然這是一個討論人工智慧的網站,我們的探討重點還是在於人類與非人的關係;但為了避免引起爭議,我們先把"非人"的定義縮小在"類人(Simians)"和"半人(Cyborgs)"上面好了(註一)

很顯然的是,在我們面前有兩條令人害怕的路:基因改造以及人工智慧。《X-Men》作為基因改造的代表,而《Matrix》則是人與電腦戰爭的故事。以電影而言之前當然還有很多代表作例如《2001太空漫遊》以及《銀翼殺手》等等。這兩條路現在都因為人類對它的不瞭解而受到關注和爭論。然而《X-Men》昭示的路線是一條新品種人受到壓抑卻能自制的路,是否是一種不切實際的幻想呢?

對於演化我抱持的想法是比較極端的:我認為人類的反抗是沒有用的。比較優秀的物種一定會被創造出來,有可能是國家為了軍事的需要而發展,或是某個實驗的意外,甚或電腦系統水到渠成之後的「啟蒙」;當這個物種被創造出來之後,由於現實社會的競爭,也許是軍事上、商業上、或單純社會上的競爭,這種物種一定會被大量生產。例如如果不接受基因改造,自己的小孩一定考不上好學校,那麼有錢的父母大多都會去嘗試;到了新人種就如同自己的後代時,前一代的人根本無力也無心去消滅他們;只有同時期的未受改造「純人」也許會發起像貴族維持正統血種一樣、罈花一現又自取滅亡的戰爭,演化於是往前跨了一步,進入新物種統治地球的時代。

就某方面而言我同意《X-Men》的觀點:新的物種根本不需要去攻擊人類,人類的攻擊反而是自取滅亡的最大原因。身為落後種族的我們,也許是終究要像殖民地的土人一樣,接受外來少數種族的統治和保護吧!

註一:有人認為有三種人屬於《非人》-"類人(Simians)、半人(Cyborgs)以及女人(Women)",請參考 《Simians, Cyborgs, The Reinvention of Nature》by Donna J. Haraway

相關文章:
《I, Clone》– 複製人的三大定律

留學之路

轉眼就五月了。

等過了三月、盼完了四月,如今五月了。申請了十五家,剩下四家有三家是都還沒聽說別人拿到 admission 的。拿到 admission 的在準備大食團、沒拿到的紛紛找工作去了,而我,還在十字路口上徬徨。

原本是想要拿到 ph.D 才回來的,不過隨著 rejection 如雪片般飛來,重新檢討自己是否適合走學術路線的結果,又給未來的選擇加上更多的問號。人生的路的確不只一條,只是哪條路該先走、哪個留到以後再體驗,誰也說不上得準。只是,大學畢業,在台灣還真的是越來越辛苦呢…

長輩們的不安全感總是比我來得重;擔心以後沒錢、沒機會,擔心我的競爭力不夠,擔心去外面公司沒辦法學到核心的東西,擔心很多很多,擔心一切我已經考慮過的事情。於是就產生不被信任的憤怒感,而這情緒卻又因為別人出自一番好意而無處發洩,最後只有轉到自己身上,對自己生氣。

實在有太多條岔路了;唸技術有用嗎?看來有錢人都不是搞技術發財的;唸管理有用嗎?沒人可管的時候也是無用武之地。為了拿學位去唸野雞大學?那當初為什麼不在台灣唸呢?就業?創業?這麼多條令人徬徨、疑懼的選擇,交給自己來決定,也只是讓自己沒有藉口而已吧..。

只希望,我走的路,會是對的一條路….

從基因演化看SARS病毒走向

SARS 已經在全球引起大家的密切重視,在缺乏有效治療方法、疫苗的狀況下,引起 SARS 的冠狀病毒究竟會往哪個方向發展,關係到民眾對於未來的信心,當然,也衝擊到整個社會的人際關係網絡。

適逢看到中山醫院董事長寫的社論,其中提到「站在生物有尋求生命延續的基本法則,我們可以相信SARS病毒並無殺死其宿主的本意」,也因此,可以合理的推論 SARS 在經過一段時間的演化之後,毒性勢必會大大的降低,朝向不殺死宿主的方向來發展。

只是這樣的假設建立在突變率、複製頻率以及環境選擇三個前題下。我們可以從基因演算法的經驗來推論這三個變因,各自扮演什麼樣的角色,以及人類的對策會造成什麼樣的影響。

首先是突變率。突變在基因演化之中是一個無特定偏好的改變,它並不代表會朝向某個表現型改變,而只是基因型的變化。舉例來說,假如基因型原本是「1000」,而突變時會將其中任何一個 bit 由 0 變 1 或是由 1 變 0,那在這四個 bits 上面發生突變的機會是一模一樣的。至於突變之後的個體是否更適合生存,則要由環境來決定。突變率越高,個體越有機會快速找到更適合生存的組合;但過高的突變率也會造成已經穩定的個體再陷入不穩定或不適合生存的基因組合。

複製頻率則關係到新一代的個體會多快產生,理論上複製頻率越高,就越有機會產生突變,因為每一次複製的過程中都有同樣的突變機率;當然,若是對於有交配行為的個體,因為交配產生的基因互換也會更為頻繁。因此,複製頻率越高,就可以減少達到平衡所需要的時間。這也是用電腦來進行基因演算法最重要的想法。

而環境選擇決定個體的走向;究竟新一代的毒性要強一點,來抵抗免疫系統,還是傳播性高一點,但毒性弱一點,都取決於環境。如果我們不斷提高大家的免疫系統能力,那也有可能會造成病毒朝向更強的方向走,形成「生物軍備競賽」;同時間,若是能夠製造不利於毒性高個體發展的環境,那麼新一代的弱毒性病毒就比較有可能會取得優勢地位。

只不過,在考慮到努力救活每一個患者的狀況下,似乎不太可能任由病毒自行演化,其實這也是實務上的困難之處。只是不知道,將來的生物資訊發展更為進步之時,有沒有可能在實驗室之中加速進行這樣的病毒演化,而把最後的弱毒性病毒發展出來,再放到人類身上,以排擠較毒的病毒發展空間?或許這也是一種走向。

註一:所謂的「生物軍備競賽」(Biological Arms Race),意指兩種物種由於在演化環境中具有對立關係,造成兩種物種都越演化越強;例如,羚羊跑得越快,就越不容易被獵豹吃掉,因此羚羊朝向跑得快演化,同一時間獵豹也會有差不多程度的演化,因為不能跟上新品種的羚羊的有較高機會會餓死;而第二代的獵豹又造成羚羊必須再演化,留下跑得更快的品種。如此一來一往之間,就如同人類世界的軍備競賽一樣,你有彈道飛彈,我就發展反彈道飛彈;然後你又發展反反彈道飛彈,我就發展反反反彈道飛彈….長此以往,兩國在飛彈的競爭雖然仍維持均勢,卻會形成大幅度的成長。

語意網的未來走向引起爭議

WWW 協會(W3C)最近釋出的語意網草案引起許多分析師對於 W3C 扮演角色的質疑。

語意網(Semantic Web)現今全球資訊網(World-Wide Web)的延伸,主要是希望能夠讓電腦”瞭解”網頁資料的意思以及語法,藉此,電腦不只可以處理單純的資料,還可以將人工智慧應用其上。

本次草案引起的爭議主要來自對於目標認知的不同。業界對於語意網的期待主要是著眼於不同系統之間的溝通,而 W3C 似乎比較希望推出一個理想而無所不包的語氣網。然而在大多數的應用環境中,並不需要具備翻譯每一個辭彙的功能,若是先把語言問題略去不看,即可避開大多數的技術問題。

所以爭議點主要在於 W3C 究竟該扮演什麼樣的角色,究竟是一個技術的先驅研究單位,還是一個制定業界標準的單位而已。

原文資料:
W3C Work On Semantic Web Sparks Debate

相關連結:
World-Wide Web Consortium
Semantic Web

GPL 的電子書

最近在找電子書,才深深的覺得沒有一個 License Free 的電子書真是人類文化的一大阻礙;莎士比亞寫作的時代盜印他的書不知道要不要罰,但莎翁如果生在這個時代,他寫的文章得在他死後七十年才屬於公眾財。

更慘的就是翻譯書了。原作者都已經作古幾個世紀了,市面上看得到的翻譯本卻都是近代人物,同樣保有他們的譯著的著作權;等到他們作古七十年後,恐怕市面上也找不到他們翻譯的版本了。於是這樣的遊戲就這樣玩下去,文化的流通因此走向正面還是負面,恐怕見人見智。

於是想到,為什麼翻譯書就不能用一個開放的 License 來取代加諸於人們的限制呢?既然文學的翻譯本身就像軟體一樣永遠有進步的空間,為什麼不能夠藉著群策群力,來把它推到一個完美的境界呢?既然線上修訂、協同工作都已經不成問題,那麼是不是這也是一個值得考慮的方向呢?