Frog是一個人工生命試驗項目,最終目標是創造「有自我意識表現」的模擬生命體。技術架構是基於02年提出的一個人工腦模型。這個計畫永遠沒有結束的時候,開始於模擬一個簡單的生命體,然後是青蛙、狗......, 結束於有「自我意識表現」的人工腦,或者說,結束於被機器人取代人類的那一天。
目前它的第一個初步目標是:造出一個真正意義上的人工生命:草履蟲(備註:基本上已完成)。它必須具備以下前四個特點
1.腦結構由電腦生成:神經網路由電腦演算法生成,但電腦演算法只限於模擬環境,而不是直接參與建構神經網絡,就好像大自然只負責拍死不合格的生命,它從不主動參與設計大腦。
2.腦結構可遺傳:類似生物的DNA,電腦生成的腦結構(神經網路),可透過簡單的演算法規則描述,且此演算法規則可以壓縮成較短的片段存儲,並參與下一代草履蟲的構建。
腦結構可變異:演算法規則可以變異,下一代產生的草履蟲在腦結構上與上一代整體相似,但存在部分變異。
3.適應環境:草履蟲能夠在模擬的虛擬環境下存活下來,環境有微小的變化,能夠自適應環境,並一代代生存將適應這種環境的能力遺傳下來。
4.用進廢退:這是一個假想,對於生物來說,存在這樣一種現象,就是用的多的器官,容易發生變異(例如經常嚼檳榔,容易發生口腔癌變),有理由相信這不是偶然現象,而是生物在進化過程中的一個有用的功能,以便於更快地變異,以適應環境,並很可能這種變異會透過遺傳細胞影響下一代。
這是一個Java項目,分為Application、Env、Frog三個模組: Application模組: 用於專案的啟動、關閉等基礎服務,Windows環境下可以用run.bat來啟動它檢視示範。
Env模組: 模擬一個生物生存區,用不同形狀的圖形點陣來表達和模擬食物、天敵、障礙等物體,這個虛擬空間由程式設計師全權控制,將隨著Frog的腦進化而不斷變得越來越複雜。
Frog: 這是人工生命的主體,目前起名叫青蛙(Frog),其實叫什麼都一樣。它主要具備以下器官
1.運動器官: 與運動神經元相連,只有4個動作:上下左右。
2.進食器官:當Frog與食物的座標重疊時,食物會被從Env中刪除,並相應增加Frog的能量值,並激活Frog的進食感覺神經元,隨時間流逝能量將減少,能量耗盡則Frog死亡。
3.視覺器官: 這是腦模型的一部分,在實驗中先固定隨意取腦內一片神經元區作為視覺區。
4.腦器官: 這即是程式設計師要解決的問題,也是我們要獲得的最終目標。腦模型的生成由電腦優勝夯汰、循環迭代進化生成,但這個進化的演算法還是必須由程式設計師來掌控,一步步探索出來,即要防止虛擬環境太複雜,也要避免腦模型不適應環境,生命體全部被淘汰,導致實驗中斷,無法進行下去。