May 31, 2009

如果人工智慧也有個曼哈頓計畫

從電腦發明以來,人工智慧(artificial intelligence)便被視為一個重要的里程碑
試想具有人類思考能力的機器,能對世界帶來多大的進步
從小時候接觸電腦和科幻小說以來
我就會想到"如何才能做出有智慧的機器人呢?"
這個念頭讓我攻讀了電腦科學,不過對於該如何作仍十分模糊
究竟這個目標有多困難? 有多少人在這方面努力? 現在的研究進展為何?

我找到 Ben Goertzel 博士的一篇文章
Is AI Engineering the Shortest Path to a Positive Singularity?

他的觀點是:
如果我們盡全力發展人工智慧,就像二戰時的曼哈頓計畫
則十年之內可以成功

根據 wiki 的資料,曼哈頓計畫耗費的
期間: 1942-1946
人力: 約10萬人
金錢: 20 億美金 (約為今日的240億美金)

今日的240億美金可以怎麼用呢?
假設以全部的10%來聘請研究人員做為計算
一個人的年薪是2.4萬美金
則 10,000 人十年薪資正好是 24,000*10,000*10 = 2.4*10^9 = 24億
聽起來果然好像有那麼一回事

不過,現在的美國政府能夠拿出240億嗎?
是有可能的
舉個例子
看美國政府對通用汽車紓困時的金額 [1]
已經發出的約有200億
預計還要發出的約有300億

不過
汽車產業能獲得這麼多錢
也是因為它是一個成熟的產業
牽連到的層面相當廣泛
相較之下
機器人產業還正在發展
若是能繼續茁壯
也未必需要仰賴政府的補助來籌措資金


參考資料
[1] http://www.nytimes.com/2009/06/02/business/02auto.html

May 23, 2009

比馬龍的雕像 / Pygmalion and Galatea

比馬龍和他的雕像
比馬龍是希臘神話中的一的人物
他以象牙雕塑了一個潔白如玉的美女
那栩栩如生的姿態會令人覺得她似乎不是個靜止的雕像
他深深的愛上他的雕像
他幻想這不是象牙而是活生生的軀體
他為雕像穿衣打扮
他親吻撫摸雕像
他向雕像訴說感情
最後他甚至把雕像搬到自己床上,還幫他墊了一個枕頭!

看似不可能痴戀因維納斯的出現而獲得了轉機
比馬龍懇請維納斯給他一位像他的雕像般的妻子
維納斯看出了比馬龍的心思,於是把雕像變成了真人
於是比馬龍高興的撲上去親吻自己的心上人
並且高興的舉行了婚禮

原著
故事的來源是奧德維 (Ovid) 的變形記 (Metamorphoses),這邊有線上版本
裡面有交代為何比馬龍要製作雕像
以及他對雕像的種種愛戀行為 <= 這段描寫很有趣可以看看 Galatea
奧德維的原著故事裡,雕像少女本身並沒有名字
在後人的衍生創作之中
她有了不同的名稱,其中比較常見的是 Galatea


Orient Doll
如果比馬龍是在現代的話
她的作品應該會像日本 Orient Doll 所做的 Candy Girl
材質從象牙變成矽膠
更接近人類的觸感
而且放在床上時不會因為太重而壓壞你的床

May 20, 2009

CVPR 簡介 (一)

目前在計算機科學的電腦視覺這個領域,最有名的會議(conference)當屬 CVPR 和 ICCV。
CVPR 的全名為 IEEE Computer Society Conference for Computer Vision and Machine Learning,每年舉辦一次,今年(CVPR2009)的地點在邁阿密。

觀察一個conference的投稿論文數目和錄取錄,可以得到一些有趣的資訊。
本年度 CVPR 共有 1464 篇投稿,383 篇錄取,錄取率為 26.2%。(官方統計資料)
首先看錄取率,26.2% 在計算機科學算是比較低的,錄取比較高的會議可以達50%~60%左右。而投稿數反映了這個領域的熱門程度,1464篇算是蠻高的。(參考資料)
綜合高投稿數目和低錄取率,表示這個會議收取的論文品質較高,同時參與的人員也包含許多重要人物。另一方面來說,對於高投稿數目和高錄取率的會議,如ICIP,通常是讓國際研究人員有共同交流的機會,所以錄取的論文好壞兼備。

May 2, 2009

TopCoder 的演算法比賽

前陣子註冊了 TopCoder,這個網站提供了許多類型的程式設計競賽,其中有一個競賽項目是 Algorithm ,跟 ACM ICPC 很類似,要求參賽者在 75 分鐘之內解出三道題目。

這三題的難度是漸進的,第一題會讓你覺得寫 code 比看題目還簡單,第二題稍微想一下可以知道解法,不過要想到精簡的解法卻沒那麼容易,第三題會讓你覺得這不可能在時間之內寫完吧!?
一般說來最簡單的題目值 250 分,中等的值 500 分,最難的值 1000 分。參賽者的得分會隨著解題時間增加而遞減,所以每題的實際得分會比上述的還低。這種給分數的設定相當"老少咸宜,適合初學者到高手共聚一堂。

網路上的程式競賽很多,但是
TopCoder 和我看過其他的競賽有三個主要的不同之處:

  1. 採用積分排名系統 (ranking)。每隔一至兩週會舉辦一次即時競賽,讓每位參加者同時解題,以每個人的得分來加減排名。
  2. 挑戰模式 (challenge)。參賽者每20人分到一個房間,當解題時間結束以後,每個人有一小段時間可以看到別人的解答,如果你認為她的解法有錯,可以提出測試資料來挑戰,成功"反證"別人的程式是錯誤的話,就可以賺得一定分數,當然答錯了也會扣分。
  3. 程式觀摩。比賽過後,所有人的程式碼都會公開,可以學習到別人的解題技巧。
難度

參加了幾輪線上比賽之後,發現自己生疏了許多。最簡單的題目也花了約20分鐘才完成,主要是因為自己寫的 code 和心裡想的都不一樣XD,所以寫個 20~50 行的程式也要 debug 一下。另外一個原因是看題目花太久時間,花5分鐘看完題目的時候,就有強者已經寫完了。

看起來這是高中生和大學生準備程式競賽的好地方,不過年紀在這之上的人也是有的,不曉得他們參加的理由是啥。台灣參加演算法競賽的人只有 13 個,還真意外的少,這可能是因為比賽的時間不是在早上,就是在深夜,不過就另一方面來說,大學生應該很能適應這些時段:p