第十七章 開放的宇宙
失控:全人類的最終命運和結局 作者:凱文·凱利 投票推薦 加入書簽 留言反饋
17.1 拓展生存的空間
一群蜜蜂從蜂巢裏溜出來,然後聚成一團懸掛在一根樹枝上。如果附近的養蜂人運氣好的話,它們落腳的樹枝很容易夠著。此時,這些喝飽了蜂蜜又不需要看護幼蜂的蜜蜂就像瓢蟲一樣溫順。
我曾有過一兩次將懸聚在我頭部高度的蜂團移進自己的空蜂箱的經曆。將上萬隻蜜蜂從樹枝上移入蜂箱的過程可說是生活中的一場奇妙表演。
如果有鄰居在看,你可以給他們露一手:在嗡嗡作響的蜂團下鋪上一塊白布或者一大塊硬紙板。將布單一邊蓋在空蜂巢底部拉出的門板上,使布或硬紙板形成一個導向蜂巢入口的巨大坡道。此時,戲劇性地停一下,然後抓住樹枝用力一抖。
蜂團整個兒從樹上掉下來,落到布單上四下奔湧,像翻騰的黑色糖漿。成千上萬隻蜜蜂交疊在一起,亂哄哄地擠作一堆,嗡嗡作響。慢慢地,你會看出些眉目。蜜蜂們麵向蜂巢的開口排成一行,魚貫而入,就像是接受了同一個指令的小小機器人。它們確實收到了指令。如果你俯下身來靠近白布,將鼻子湊近蠕動的蜂群,會聞到玫瑰花似的香味。你會看見蜜蜂們一邊行進,一邊弓著背,猛烈地扇動著翅膀。它們正從自己的尾部噴出玫瑰香氣,並把它扇到身後的隊伍裏。這種香氣告訴後麵的夥伴們:“蜂後在此,跟我來。”第二個跟著第一個,第三個跟著第二個,五分鍾後,整個蜂群都鑽進了蜂箱,布單上幾乎空空如也。
地球上最初的生命是不可能上演這一幕的。這並非因為缺少足夠的變種。早期的基因根本就沒有施展這種本事的能力。用玫瑰的味道來協調上萬隻飛蟲聚成一個目標明確的爬行怪物,這不是早期生命所能做到的。早期生命不僅還未能創造出大戲上演的舞台——工蜂、蜂後、花蜜、樹、蜂巢、信息素,而且連搭建這個舞台的工具也還沒有創造出來。
大自然之所以能產生令人震驚的多樣性,是因為它在本質上是開放的。生命不會僅靠最早誕生的那幾個基因去產生令人眼花潦亂的變化。相反,生命最早的發現之一是如何創造新的基因,更多的基因,可變的基因,以及一個更大的基因庫。
博爾赫斯圖書館裏的一本書含有相當於100萬個基因的信息量;而一幀高分辨率好萊塢電影畫麵所含的信息相當於3000萬個基因。由此構建的“書庫”盡管堪稱龐大,在由所有可能存在的書庫組成的“元書庫”中,它們不過是一粒塵埃。
生命的特征之一是它會不斷地拓寬自身的生存空間。大自然是一個不斷擴展的可能性之庫,是一個開放的大千世界。生命一邊從書架上抽出最不可思議的書來,一邊為藏書增建廂房,為更不可思議的文本創造空間。
我們不知道生命如何突破了從固定基因空間到可變基因空間的分界線。也許某一個特殊的基因決定著染色體中基因的數量。隻要使那一個基因產生變異,就可以使鏈中基因的總數增加或減少。也許基因組的大小是由多個基因間接決定的。或者更有可能的是,基因組的大小是由基因係統自身的結構決定的。
湯姆·雷的實驗顯示,在他的自我複製世界裏,可變的基因長度瞬時就湧現出來了。他的創造物自行決定其基因組的長度(由此也決定了它們可能存在的基因庫的規模),短至出乎他意料的22字節,長至23000字節。
開放的基因組帶來開放的進化。一個預先設定了每個基因的工作或基因數量的係統隻能在預先設定的範圍內進化。道金斯、拉薩姆和西姆斯最初的那些係統以及俄羅斯程序員的電子魚,都擱淺在這個局限性上。它們也許能生成所有可能的具有既定大小和深度的畫麵,但不能生成所有可能的藝術品。一個沒有預先確定基因角色和數量的係統才能出奇製勝。這就是湯姆·雷的創造物造成轟動的原因。從理論上說,他的世界隻要運行時間夠長,在最終的形式庫中就能進化出任意東西。 17.2 生成圖像的基元組
形成開放基因組的方法不止一種。1990年,卡爾·西姆斯利用二代連接機(cm2)的超級計算能力設計了一個由長度可變基因組成的新型人工世界,比他設計的植物圖像世界更為先進。西姆斯的妙招是創造一個由小方程而非長串數碼組成的基因組。他原來的基因庫中每個固定長度的基因各控製著植物的一個視覺參數;這個新基因庫則擁有長度不定且可自由擴展的方程,籍此繪製各種曲線、色彩和形狀。
西姆斯的方程——或著說基因,是一種計算機語言(lisp)[1]的小型自包含邏輯單元。每一個模塊都是一個算數指令,諸如加、減、乘、餘弦、正弦。西姆斯把這些單元統稱為“基元組”——它們構成了一個邏輯的字母表。隻要有一張恰當的邏輯字母表在手,就可以建立任何方程,就像用適當多樣的語音元素表就能合成任何語音句子一樣。加、乘、餘弦等的相互組合能產生任何我們想得出的數學方程。既然任何形狀都可以用方程來表達,這一基元字母表也就可以畫出任何一種圖像。增加方程的複雜性也就神奇地擴大了所生成圖像的複雜性。
方程基因庫還有個意外的好處。在西姆斯的原版世界(以及在湯姆·雷的“地球”和丹尼·希利斯的共同進化的寄生蟲世界中),有機體是一串串每次隨機轉換一個數字的數碼,就像博爾赫斯圖書館裏的書那樣,一次改變一個字母。而在西姆斯的改良版世界裏,有機體成了一串串每次隨機轉換一個基元的邏輯基元組。仍以博爾赫斯圖書館為例的話,這次被調換的是詞而不是字母。每本書裏每個詞的拚寫都正確,每本書的每一頁由此就更有實際意義。但是,對於以詞為原料的博爾赫斯圖書館來說,要煮這鍋湯[2]至少需要數以萬計的詞,而西姆斯僅用一打左右的數學基元就能列出所有可能的方程。
對邏輯單元而不是數字位元做進化,最根本的優勢還在於它能馬上將係統引上通往開放宇宙的大道。邏輯單元本身就是功能,而不像數字位元那樣僅僅是功能的數值。在任意一個地方增加或交換一個邏輯基元,程序的整體功能就會產生轉變或得到擴展,從而在係統中湧現出新功能和新事物。
而這就是西姆斯的發現。他的方程進化出全新的圖像,並把它們顯示到計算機屏幕上。這個新的空間是如此之豐富,使西姆斯大為震驚。由於基元組隻包含邏輯部件,西姆斯的lisp字母表確保了大部分方程所繪出的圖像都具有某種模式。屏幕上不會再充斥著模糊灰暗的圖像,無論西姆斯“漫步”到哪裏,都能看到令人驚豔的風景。“藝術”仿佛成了信手拈來之物。一開始,屏幕上布滿了狂野的紅色和藍色之字形線條。下一刻,屏幕的上部點綴著黃色的斑斑點點。之後,斑點下出現一條朦朧的水平線,再接著,是重筆墨的波浪伴著藍色的海天一線。再然後,斑點洇成毛莨花般嫩黃的圓暈。幾乎每一輪畫麵都展現出驚人的創意。一小時內,上千張美輪美奐的圖像被從其藏身之所喚起,第一次也是最後一次展現在我們麵前。這好比站在世上最偉大的畫家身後,觀看他創作從不重複主題和風格的速描。
當西姆斯選中一幅圖畫,繁衍出其變種,再從中選取另一幅時,他所進化的不隻是圖像。撇開表象,西姆斯進化的是邏輯。一個相對較小的邏輯方程能繪製出一幅讓人眼花繚亂的複雜圖畫。西姆斯的係統曾經進化出下麵這段邏輯代碼:
(cos (round (atan (log (invert y) (+ (bump (+ (round x y) y) #(0.46 0.82 0.65) 0.02 #(0.1 0.06 0.1) #(0.99 0.06 0.41) 1.47 8.7 3.7) (color-grad (round (+ y y) (log (invert x) (+ (invert y) (round (+ y x) (bump (warped-ifs (round y y) y 0.08 0.06 7.4 1.65 6.1 0.54 3.1 0.26 0.73 15.8 5.7 8.9 0.49 7.2 15.6 0.98) #(0.46 0.82 0.65) 0.02 #(0.1 0.06 0.1) #(0.99 0.06 0.41) 0.83 8.7 2.6))))) 3.1 6.8 #(0.95 0.7 0.59) 0.57))) #(0.17 0.08 0.75) 0.37) (vector y 0.09 (cos (round y y)))))
這個方程在西姆斯的彩色屏幕上繪出了一幅引人注目的圖畫:北極的落日餘輝映照在兩根冰柱上,冰柱晶瑩剔透;遠方的地平線淡然而寧靜。這可堪比一個業餘畫家的大作哩。西姆斯告訴我說:“這個方程的進化從頭到尾僅用了幾分鍾時間——如果是人類有意為之的話,可比這個費功夫多了。”
但是西姆斯卻無從解釋方程背後的邏輯以及它為何會繪出一幅冰的圖畫。在這個方程麵前,西姆斯和我們一樣茫然無知。方程所隱藏的邏輯已經無法用簡單明了的數學來破解。 17.3 無心插柳柳成蔭
真正開始將邏輯程序的進化從理論付諸實踐的是約翰·柯紮。他是斯坦福大學計算機科學係的教授,約翰·霍蘭德的學生。他和霍蘭德的另外幾個學生一起使20世紀60~70年代一度被冷落的霍蘭德遺傳算法重放光芒,進入到80年代末並行算法的複興時期。
與“藝術家”西姆斯不同,柯紮並不滿足於單純地探索可能之方程的空間,他想進化出能夠解決特定問題的最佳方程。舉個牽強一點的例子,假設在所有可能的圖像中有一幅圖會吸引奶牛凝視它,並由此提高產奶量。柯紮的方法就可以進化出能繪製這一特定圖像的方程。在這個例子中,柯紮會對那些所繪圖像哪怕隻是輕微增加產奶量的方程給予賞獎,直至牛奶產量無法再得到提高。當然,柯紮所選的問題要比這實際得多,譬如,找出一個能操縱機器人移動的方程。
但從某種意義上來說,他的搜索方式與西姆斯以及其他研究者的相似。他也在由可能存在的計算機程序組成的博爾赫斯圖書館內搜尋——隻不過不是毫無目的地東瞧瞧西看看,而是去尋找解決特定實際問題的最佳方程。柯紮在《遺傳編程》(gic programming)一書中寫道:“這些問題的求解過程可以重新表述為在可能存在的計算機程序中搜索最合適的單個計算機程序。”
柯紮通過繁衍“找到”方程的想法之所以被認為有悖常理,和計算機專家對雷的進化方案嗤之以鼻的理由是一樣的。過去,人人都“知道”邏輯程序是脆弱的,不能容忍任何變動。計算機科學理論中,程序隻有兩種狀態:(1)無故障運行;(2)修改後運行失敗。第三種狀態——隨機修改後還能運行——是不可能的。程序輕度出軌被稱為程序漏洞,這是人們耗費大量財力試圖避免的。專家們過去認為,如果計算機方程漸進式改良(進化)真有可能的話,也肯定隻會出現在少數罕見領域或專門類型的程序中。
然而,人工進化的研究成果出乎意料地表明,傳統觀點大錯特錯了。西姆斯、雷和柯紮都有絕妙的證據來證明,邏輯程序是可以通過漸進式改良進化的。
柯紮的方法基於一種直觀判斷,即如果兩個數學方程在解決一個問題時多少有些效果,那麽它們的某些部分就是有價值的。如果這兩者有價值的部分能被重新整合成一個新程序,其結果可能比兩個母程序中的任何一個都更有效。柯紮數千次地隨機重組兩個母程序的各個部分,希望從概率上講,這些組合中能包含一個程序,對母程序中有價值的部分做了最優安排,因而能更好地解決問題。
柯紮的方法和西姆斯的有很多相似之處。柯紮的“數據培養液”也含有大約一打用lisp語言表達的數學基元,諸如加、乘、餘弦。這些基元隨機串在一起形成一棵棵邏輯“樹”——一種形似計算機流程圖的層次結構。柯紮的係統像繁殖人口一樣創建了500到10000個不同的獨立邏輯樹。“數據培養液”通常在繁衍了大約50代之後收斂到某個合適的後代身上。
樹與樹之間交換分枝迫使它們產生變種。有時嫁接的是一根長樹枝,有時僅僅是一根細枝或枝頭的“葉子”。每根樹枝都可以被看作是由更小的分枝構成的完整無缺的邏輯子程序。通過分枝交換,一小段方程(一根樹枝),或一個有用的小程序,可以得到保存甚至傳播。
通過方程進化能解決形形色色的古怪問題。柯紮用它來解決的一個經典難題是如何讓一根掃把立在滑板上。滑板必須在馬達的推動下來回移動,使倒立的掃帚在板中央保持直立。馬達控製的計算量驚人,但在控製電路上與操縱機器人手臂的電路並無多大區別。柯紮發現,他可以進化出一個程序來實現這種控製。
被他用來測試方程進化的問題還有:走出迷宮的策略;二次方程的求解方法;優化連接眾多城市最短路徑的方法(又稱為旅行商問題);在tictac-toe[3]一類簡單遊戲中勝出的策略。在每個例子中,柯紮的係統每次都會去尋找解決問題的一般公式,而不是尋找每一個測試實例的具體答案。一個公式經受不同實例的測試越多,這個公式就會進化得越完善。
盡管方程進化能得出有效的解決方案,可這些方案卻往往要多難看有多難看。當柯紮拿起他那些高度進化的寶貝開始查看細節時,他和西姆斯以及雷一樣感到震驚:解決方案簡直是一團亂麻!進化要麽繞上一個大彎,要麽鑽個曲裏拐彎的邏輯漏洞抄近道。它塞滿冗餘,毫不雅致。出了錯時,寧願添加一節糾錯程序,或者讓主流程改道繞過出錯的區域,也不願銷去錯誤的部分。最後的公式頗有幾分神奇的魯賓·戈德堡[4]連動裝置的樣子,依靠某些巧合才能運作。當然,它實際上就是架戈德堡神奇連動機。
拿柯紮曾經給他的進化機器玩過的一個問題為例。那是一個由兩條互相纏繞的螺旋線構成的圖形,大致類似於紙風車上的雙重螺旋線。柯紮要求進化方程機器進化出一個最佳方程式,來判定約200個數據點各在互繞雙螺旋的哪一條線上。
柯紮將10000個隨機產生的計算機公式加載到他的數據培養液裏。他放任它們進化,而他的機器則挑選出最有可能獲得正確公式的方程。柯紮睡覺的時候,程序樹交換分枝,偶爾產生一個運行更好的程序。在他度假期間,機器照常運行。待他度假歸來,係統已經進化出能完美劃分雙螺旋線的答案了。
這就是軟件編程的未來!定義一個問題,機器就能在程序員打高爾夫球的時候找到解決方案。但是,柯紮的機器找到的解決方案讓我們得以一睹進化的手藝。這是它得出的公式:
(sin (iflte (iflte (+ y y) (+ x y) (- x y) (+ y y)) (* x x) (sin (iflte (% y y) (% (sin (sin (% y 0.30400002))) x) (% y 0.30400002) (iflte (iflte (% (sin (% (% y (+ x y)) 0.30400002)) (+ x y)) (% x 0.10399997) (- x y) (* (+ -0.12499994 -0.15999997) (- x y))) 0.30400002 (sin (sin (iflte (% (sin (% (% y 0.30400002) 0.30400002)) (+ x y)) (% (sin y) y) (sin (sin (sin (% (sin x) (+ -0.12499994 -0.15999997))))) (% (+ (+ x y) (+ y y)) 0.30400002)))) (+ (+ x y) (+ y y))))) (sin (iflte (iflte y (+ x y) (- x y) (+ y y)) (* x x) (sin (iflte (% y y) (% (sin (sin (% y 0.30400002))) x) (% y 0.30400002) (sin (sin (iflte (iflte (sin (% (sin x) (+ -0.12499994 -0.15999997))) (% x -0.10399997) (- x y) (+ x y)) (sin (% (sin x) (+ -0.12499994 -0.15999997))) (sin (sin (% (sin x) (+ -0.12499994 -0.15999997)))) (+ (+ x y) (+ y y))))))) (% y 0.30400002))))).
這公式不但樣子難看,而且還令人費解。即使對一個數學家或一個計算機程序員來說,這個進化出來的公式也是一團亂麻。湯姆·雷說,進化寫的代碼隻有喝醉酒的人類程序設計員才寫得出來。依我看,說進化生成的是隻有外星人才寫得出來的代碼恐怕才更確切些。這絕非人類所為。對這個方程追本溯源,柯紮終於找到了這個程序處理問題的方式。完全是憑著百折不撓和不擇手段,它才打通了一條艱難曲折又令人費解的解決之道。但這確實管用。
進化得出的答案看起來很奇怪,因為幾乎任何一個高中生都能在一行內寫出一條非常簡潔優雅的方程式來描述這兩條螺旋線。
在柯紮的世界裏沒有要求方案簡潔的進化壓力。他的實驗不可能找到那種精煉的方程式,因為它並不是為此構建的。柯紮試著在運行過程中添加點簡約性因素,卻發現在運行開始就加入簡約性因素會降低解決方案的效率。得到的方案雖然簡單卻隻有中下水平。他有證據表明,在進化過程末期加入簡約性因素——也就是說,先讓係統找到一個管用的解決方案,再開始對其進行簡化,這是進化出簡潔方程更好的方法。
但柯紮堅信簡約的重要性被過分高估了。他說,簡約不過是“人類的審美標準”。大自然本身並不特別簡約。舉個例子:時為斯坦福大學科學家的戴維·斯托克分析了小龍蝦尾部肌肉中的神經回路。當小龍蝦想逃走的時候,其神經網絡會引發一個奇怪的後空翻動作。對人類來說,那種回路看起來如巴洛克建築那般繁複,取消幾個多餘的循環指令馬上就可以使它簡化一些。但那堆亂七八糟的東西卻很管用。大自然並不會隻為了優雅而簡化。 17.4 打破規則求生存
柯紮指出,人類之所以追求類似牛頓的f=ma那樣簡單的公式[5],是因為我們深信:宇宙是建立在簡約秩序的基礎之上。更重要的是,簡約對人類來說是很方便的。f=ma這個公式比柯紮確定螺旋線的怪物使用起來容易得多,這使我們更加體會到公式中所蘊涵的美感。在計算機和計算器問世前,簡單的方程更加實用,因為用它計算不易出錯。複雜的公式既累人又不可靠。不過,在一定範疇內,無論是大自然還是並行計算機,都不會為繁複的邏輯發愁。那些我們覺得既難看又讓人頭暈的額外步驟,它們能以令人乏味的精確度運行無誤。
盡管大腦像並行機器一般運作,人類意識卻無法並行思考。這一諷刺性的事實讓認知科學家們百思不得其解。人類的智慧有一個近乎神秘的盲點。我們不能憑直覺理解概率、橫向因果關係及同步邏輯方麵的各種概念。它們完全不符合我們的思維方式。我們的思維退而求其次地選擇了串行敘述——線性描述。那正是最早的計算機使用馮·諾依曼串行設計方案的原因:因為人類就是這樣進行思考的。
而這也正是為什麽並行計算機必須被進化而不是被設計出來:因為在需要並行思考的時候我們都成了傻子。計算機和進化並行地思考;意識則串行思考。在《代達羅斯》[6]1992年冬季刊上一篇極具爭議的文章裏,思維機器公司的市場總監詹姆斯·貝利描述了並行計算機對人類思維的飛反效應[7]。文章題為《我們先改造電腦,然後電腦改造我們》,貝利在文中指出,並行計算機正在開啟知識的新領域。計算機的新型邏輯反過來迫使我們提出新的問題和視角。貝利暗示道:“也許,世上還有一些截然不同的計算方式,一些隻有用並行思考才能理解的方式。”像進化那樣思考也許會開啟宇宙中新的大門。
約翰·柯紮認為,進化處理定義不嚴格的並行問題的能力是它的另一個獨特優勢。教計算機學會解決問題的困難在於,時至今日,為了解決我們遇到的每一個新問題,我們最終還是要逐字逐句地為它重新編程。如何才能讓計算機自行完成任務,而不必一步步告訴它該做什麽和怎麽做?
柯紮的答案是:進化。現實世界中,一個問題可能有一個或多個答案,而答案的範圍、性質或值域可能完全模糊不清。進化就可以讓計算機軟件解決這種問題。譬如:香蕉掛在樹上,請給出摘取程序。至今大多數計算機學習都不能解決這樣的問題。除非我們明確地向程序提供一些明確的參數作為線索,諸如:附近有多少梯子?有沒有長竿?
而一旦定義了答案的界限,也就等於回答了問題的一半。如果我們不告訴它附近有什麽樣的石頭,我們知道是不會得到“向它扔石頭”的答案的。而在進化中,則完全有這個可能。更可能出現的情況是,進化會給出完全意想不到的答案,譬如:使用高蹺;學習跳高;請小鳥來幫忙;等暴風雨過後;生小孩然後讓他們站在你的頭上。進化並不一定要昆蟲飛行或遊泳,隻要求它們能夠快速移動來逃避捕食者或捕獲獵物。開放的問題得出了諸如水蠅用腳尖在水上行走或蚱蜢猛然跳起這樣各不相同卻明確的答案。
每一個涉足人工進化的人都為進化能輕而易舉地得出異想天開的結果而大為吃驚。湯姆·雷說:“進化可不管有沒有意義;它關心的是管不管用。”
生命的天性就是以鑽常規的漏洞為樂。它會打破它自己所有的規則。看看這些生物學上令人瞠目結舌的奇事吧:由寄居在體內的雄魚來進行授精的雌魚,越長越萎縮的生命體,永遠不會死的植物。生命是一家奇物店,貨架上永遠不會缺貨。自然界層出不窮的怪事幾乎跟所有生命的數量一樣多;每一種生物在某種意義上都在通過重新詮釋規則來為自己找活路。
人類的發明物就沒有那麽豐富了。大部分機器被造來完成某個明確的任務。它們遵照我們舊式的定義,服從我們的規則。然而,如果讓我們構想一架理想的、夢寐以求的機器的話,它應該可以改變自身來適應環境,更理想的是,它還能自我進化。
適應是對自身結構的扭曲,以使之能夠鑽過一個新漏洞。而進化是更深層的改變,它改變的是構建結構本身的架構——也即如何產生變化的方式,這個過程常常為其他人提供了新的漏洞。如果我們預先確定了一台機器的組織結構,也就預先確定了它能解決怎樣的問題。理想的機器應該是一台通用問題解決機,一台隻有想不到沒有做不到的機器。這就意味著它必須擁有一種開放性的結構。柯紮寫道:“(解決方案的)規模、形式以及結構複雜度都應是答案的一部分,而不是問題的一部分。”當我們認識到,是一個係統自身的結構決定了它所能得出的答案,那麽我們最終想要的是如何製造出沒有預先定義結構的機器。我們想要的是一種不斷自我更新的機器。
那些致力於推動人工智能研究的人無疑會對此大唱讚歌。在沒有任何提示和限定答案方向的前提下,能想出一個解決方案——人們稱之為橫向思維,幾乎就等同於人類的智能了。
我們所知唯一一台能重塑自己內部連接的機器就是我們稱為大腦的灰色活體組織(大腦灰質)。我們目前唯一可以設想付諸生產的重塑自身結構的機器,可能是一種能夠自我改編的軟件程序。西姆斯和柯紮的進化方程是通向自我改編程序的第一步。一個可以繁衍其他方程的方程正是這種生命種類的基土。繁衍其他方程的方程就是開放性宇宙。在那裏任何方程都能產生,包括自我複製的方程和銜尾蛇式的無限循環公式。這種循作用於自身並重寫自身規律的遞歸程序,蘊涵著世上最宏偉的力量:創造恒新。
“恒新”是約翰·霍蘭德使用的詞組。多年來,他一直在潛心研究人工進化方法。用他的話說,他真正在從事的,是一種恒新的新數學。那是能夠創造永無止盡的新事物的工具。
卡爾·西姆斯告訴我:“進化是一個非常實用的工具。它是一種探索你不曾想過的新事物的方式。它是一種去蕪存精的方式。它也是一種無需理解便能探索程序的方式。如果計算機運轉速度夠快,這些事它都能做到。”
探索超越我們理解力外的領域並提煉我們所收獲的,這是定向式、監督式和最優化的進化帶給我們的禮物。湯姆·雷說:“但是,進化不僅是優化。我們知道進化能超越優化並創造新事物來加以優化。”當一個係統可以創造新事物來加以優化時,我們就有了一個恒新的工具和開放的進化。
西姆斯的圖像遴選和柯紮那通過邏輯繁衍進行的程序遴選都是生物學家稱為育種或人工選擇的例子。“合格”的標準——被選擇的標準,是由培育員決定的,因而也是人工產物或人為的。為了達到恒新——找到我們不曾預料的東西,我們必須讓係統自己為它的選擇劃定標準。這就是達爾文所說“自然選擇”的含義所在。選擇標準由係統的特性所確定;它自然而然地出現。開放的人工進化也需要自然選擇,如果你願意,也可以叫它人工自然選擇。選擇的特征應該從人工世界內部自然地產生。
湯姆·雷已經通過讓他的世界自主選擇適者的方式加載了人工自然選擇工具。因此,他的世界從理論上說就具有了進化全新事物的能力。但是雷確實“做了點小手腳”以使係統進入運作。他等不及他的世界靠自己的力量進化出自我複製能力了。因此一開始他就引進了一個自我複製機製,一經引入,複製再也不會終止。用雷的比喻來說,他將生命在單細胞有機體狀態下強力啟動,然後觀看了一場新生物體的“寒武紀大爆發”。但是他並不歉疚。“我隻是嚐試獲得進化,並不真的在意獲取它的方式。如果我需要將我的世界的物理和化學成分拉升到能支承花樣繁多無限製進化的水平,我樂於這麽做。我不得不操縱它們來達到這個水平,對此我並不感到內疚。如果我可以操控一個世界達到寒武紀大爆發的臨界點,然後讓它自己沸騰溢出邊界,那才真是永生難忘呢。和係統所產生的結果相比,我不得不操控它達到臨界點是一件不值一提的事。”
雷認為,啟動開放的人工進化本身已經極具挑戰性了,他不一定非得使係統自己進化到那種程度。他會控製他的係統直到它能靠自己的力量進化。正如卡爾·西姆斯所說,進化是一種工具。它可以與控製相結合。雷在控製數月之後轉入了人工自然選擇。與之相反的過程同樣可行——也許有人會在進化數月之後再施以控製,以得到想要的結果。 17.5 掌握進化工具
進化作為一種工具,特別適用於以下三件事:
◎如何到達你想去而又找不到路的領域;
◎如何到達你無法想象的領域;
◎如何開辟全新領域;
第三種用途就是通向開放世界的門戶。它是非監督式、非定向式的進化過程。它是霍蘭德設想的不斷擴張的恒新機器,是一個可以自己建設自己的事物。
像雷、西姆斯和道金斯這些偽上帝們在實驗伊始都以為自己劃定了係統空間,當他們看見進化如何擴大這一空間時,都大感驚詫。“那比我想象的要大得多”是他們常說的話。當我在卡爾·西姆斯進化展的圖片之間穿行的時候,也有類似的無法抗拒的感覺。我找到的(或係統為我找到的)每一張新圖片都色彩斑斕且意想不到的複雜,與我從前曾經見過的任何東西都大不相同。每個新圖像似乎都擴大了可能存在的圖片的空間。我意識到我從前對圖片的概念是由人類,或者說由生物本性,來定義的。但在西姆斯的世界裏,有相當多數量的激動人心的景致有待展現。它們既非人造也非生物製造,卻同樣豐富多彩。
進化在拓展著我對可能性的認識。生命的機製與此非常相似。dna的字節都是功能單位,是拓展可能性空間的邏輯進化者。dna與西姆斯和柯紮的邏輯單位的運行方式是等同的。(也許我們該說他們的邏輯單位與dna相等同?)屈指可數的幾個邏輯單位就可以通過混合和配對形成天文數字般的蛋白質編碼。細胞組織、疾病、藥品、味道、遺傳信息以及生命的基礎結構等所需的蛋白質,均來自與這張小小的功能字母表。
生物進化是一種開放的進化,它以舊的dna單元繁育新的dna單元,它是一個不斷擴張、永無止境的庫。
分子育種學家傑拉德·喬伊斯很高興他所從事的分子進化工作“既是為了興趣,也能有利可圖”。但他的真正夢想是孵化出另一種開放進化機製。他告訴我:“我想試試看,能否在我們的控製之下啟動自組織過程。”喬伊斯和同事們正在做一個試驗,讓一種簡單的核酶[8]進化出複製自己的能力——那正是湯姆·雷跳過的一個至關緊要的步驟。“我們的明確目標是啟動一個進化係統。我們要讓分子自己學會如何複製自身。之後,自發進化就將取代定向進化。”
目前,自發且能自我維持的進化對生物化學家們來說還隻是一個夢想。至今還沒有人能夠驅使一個係統邁出“進化的一步”——發展出之前未曾有過的化學進程。到目前為止,生物化學家隻能針對那些他們已經知道該如何解決的問題來進化出新的分子。“真正的進化是要闖出一片未知的新天地,而不是僅僅是在感興趣的變異中打轉轉。”喬伊斯如是說。
一個有效的、自發的、進化的分子係統將會是一個超級強大的工具。它將是一個可以創造出任何生物的開放係統。“它將是生物學的巨大成就。”喬伊斯宣稱。他相信,其衝擊力相當於“在宇宙中找到了另一種樂於與我們分享這個世界的生命形式”。
但是,喬伊斯是一個科學家,他不會被熱情衝昏了頭:“我們並非要製造生命,然後讓它發展自身的文明。那無異於癡人說夢。我們隻是要製造一種與現有的化學存在略有不同的人工生命形式。這可不是什麽天方夜譚,而是可以觸摸得到的。” 17.6 從滑翔意外到生命遊戲
但是,克裏斯·朗頓並不覺得能創造自己文明的人工生命是一個天方夜譚。作為開創了人工生命中一個時髦領域的特立獨行之人,朗頓承受了許多壓力。他的故事很值得向大家陳述一下,因為他自身的經曆再現了人造的、開放的進化體係的覺醒。
幾年前,我和朗頓參加了在圖森召開的為期一周的科學會議,為了清醒一下頭腦,我們逃了一下午的會。我應邀去參觀尚未完成的生物圈二號項目,路程大約要一個小時。當我們在南亞利桑那州盆地那蜿蜒的黑色緞帶般的瀝青路上平穩行使時,朗頓向我講述了他的生命故事。
當時,朗頓以計算機科學家的身份在洛斯阿拉莫斯國家實驗室[9]工作。整個小鎮和洛斯阿拉莫斯實驗室最初都是為研製終極武器而建的。因此,朗頓在故事一開始說他是越南戰爭時期拒服兵役的人,我感到很吃驚。
作為拒服兵役的人,朗頓得到一個替代兵役的機會——在波士頓的馬薩諸塞州綜合醫院做護理工。他被分配去做一件沒人樂意做的苦差事:把屍體從醫院地下室搬運到太平間地下室。上班第一個星期,朗頓和他的搭檔把一具屍體放到一架輪床上,推著它穿過連接兩幢樓的陰冷潮濕的地下走廊。他們必須在地道中唯一的燈光下推著輪床通過一段狹窄的水泥橋。當輪床撞到隆起物時,屍體打了個嗝,坐了起來,並開始從輪床上滑下來!朗頓下意識地轉身想抓住他的搭檔,卻隻看見遠處的門在他奪路而逃的同事身後來回晃蕩。死了的東西可以表現得像活的一樣!生命就是一種行為,這是朗頓最初的體會。
朗頓對老板說他無法再做那種工作了,能不能做點別的?“你會編寫計算機程序嗎?”老板問他。“當然會。”
於是,他得到了一份為早期計算機編寫程序的工作。有時,他會在晚上讓一個無聊的遊戲在閑著的計算機上運行。這個遊戲被稱為“生命”,由約翰·康威設計,然後再由名為比爾·高斯帕的早期黑客改寫成主機程序。該遊戲是一組能產生多種多樣形式的非常簡單的代碼,其模式令人想到生物細胞在瓊脂盤上的成長、複製和繁衍。朗頓回憶起那一天,他獨自工作到深夜,突然感到屋裏有人,有某種活著的東西在盯著他看。他抬起頭,在“生命”的屏幕上,他看到令人驚異的自我複製的細胞模式。幾分鍾之後,他再次感到那種存在。他再次抬起頭來,卻看到那個模式已經死去。他突然意識到那個模式曾經活過——活著,而且像瓊脂盤上的細胞一樣真切地活過——不過是在計算機屏幕上。也許計算機程序能夠獲得生命——朗頓心裏萌生了這個大膽的想法。
他開始擺弄這個遊戲,研究它,思考著是否能夠設計一種開放的、類似“生命”那樣的遊戲,以使事物能夠開始自行進化。他苦練編程技術。期間,朗頓接到一個任務:將一個程序從一台過時的大型計算機中移植到一台構造完全不同的新計算機中去。完成此任務的竅門是抽象出舊計算機上的硬件運行方式,在新計算機上以軟件的方式模擬出來,即提取硬件的行為,再將之轉換成無形的符號。這樣,舊的程序就可以在新計算機上由軟件仿真出來的一個虛擬舊計算機係統中運行。朗頓說:“這是將過程從一個媒介轉到另一個媒介上的直接體驗。硬件是什麽並不重要,因為你可以在任何硬件中運行程序。重要的是要抓住過程的本質。”這讓他開始遐想,生命是否也能從碳結構中提取出來,轉化成矽結構。
替代兵役工作結束之後,朗頓在滑翔運動上消磨了一個夏天。他和一位朋友得到一份日薪25美元的工作——在北卡羅來納州老爺山上空滑翔,以招徠遊客。他們每次都要在風速為每小時40英裏的高空中逗留數小時。一天,一陣狂風襲擊了朗頓,導致他從空中墜落。他以胎兒的姿勢摔在地上,折斷了35根骨頭,其中包括頭部除顱骨以外的所有骨頭。盡管他的膝蓋撞碎了臉,但他還活著。接下來他臥床6個月,處於半昏迷狀態。
在嚴重腦震蕩恢複過程中,朗頓感覺他正看著自己的大腦在“重啟”,仿佛計算機重啟時必須重新載入操作係統一樣。他大腦深層的功能一個接一個地重現。朗頓記得那靈光一現的刹那,他的本體感受——那種在一具軀體之中的感知——複原了。他為一種“強烈的發自內心深處的直覺”所震撼,感知的本我融入肉體,好像他這架機器完成了重啟,正等待著被投入使用。“關於心智形成是什麽感覺,我有親身的體驗,”他告訴我。正如他曾經在計算機上看到生命一樣,現在,他對他自己那處於機器中的生命有了發自內心的認識。生命是否可以獨立於母體而存在?他體內的生命和計算機中的生命難道不能是一樣的嗎?
他想,要是能在計算機中通過進化使某種東西成活,那豈不是很棒!他覺得應該從人類文化入手。對人類文化進行模擬似乎比模擬細胞和dna容易得多。作為亞利桑那州立大學的大四學生,朗頓寫了一篇題為《文化的進化》(e evolution of culturee)的論文。他希望他的人類學、物理學和計算機科學教授們能認同他製造一台可運行人工進化程序的計算機的想法,並以此獲得學位,但是教授們不鼓勵他這麽做。他自己掏錢買來了一台蘋果ii型電腦,並編寫了他的第一個人工世界。他沒能實現自我複製或自然選擇,但是他找到了元胞自動機[10]的大量文獻——文獻表明,“生命遊戲”僅僅是元胞自動機模型的一個例子。
這時,他偶然讀到約翰·馮·諾依曼在20世紀40年代對人工自我複製的論證。馮·諾依曼提出了一個會自我複製的裏程碑式公式。不過實現這個公式的程序冗長而令人費解。在接下來的幾個月裏,朗頓每夜都在他的蘋果ii型電腦上編寫代碼(這是馮·諾依曼不具備的有利條件;他是用鉛筆在紙上完成他的編碼的)。終於,靠著他那要在矽片中創造生命的夢想的引導,朗頓設計出了當時人們所知的最小的自我複製器。在計算機屏幕上,這個自我複製器看上去就像一個藍色的小q。在這個僅有94個字符的循環中,朗頓不僅塞進了完整的循環語句,還有如何進行複製的指令以及甩出複製好的另一個自我的方法。他太興奮了。如果他能設計出如此簡單的複製器,那麽他還能模仿出多少生命的關鍵過程呢?再者,生命還有哪些過程是不可或缺的呢?
對現有文獻資料的仔細搜索顯示,關於這個簡單問題的著述非常有限,而那有限的論述,又分散在數百篇論文中。洛斯阿拉莫斯實驗室的新研究職位給朗頓壯了膽。1987年,他以破釜沉舟的決心召集了“活係統合成與模擬跨學科研討會”[11]上——這是首屆討論(如今朗頓稱為)人工生命問題的會議。為了尋找能顯現出活係統行為的任何一種係統,朗頓舉辦了這個麵向化學家、生物學家、計算機科學家、數學家、材料科學家、哲學家、機器人專家和電腦動畫師的專題研討會。我是與會為數不多的記者之一。 17.7 生命的動詞
在專題研討會上,朗頓開始探求生命的定義。現有的生命定義似乎不夠充分。首屆研討會結束後多年裏,更多的學者對此進行了研究。在此基礎上,物理學家多恩·法默提出了界定生命的一個特征列表。他說,生命具有:
◎時間和空間上的模式
◎自我複製的能力
◎自我表征(基因)的信息庫
◎使特征持久的新陳代謝功能
◎功能交互——它並非無所事事
◎彼此相互依賴,或能夠死亡
◎在擾動中保持穩定的能力
◎進化的能力
這個清單引起了爭議。因為,盡管我們不認為計算機病毒是活的,它卻符合上述大多數條件。它們是一種能夠複製的模式;它們包含一份自我表征的副本;它們截獲計算機新陳代謝(cpu)的周期;它們能死亡;而且它們也能進化。我們可以說計算機病毒是首例湧現出來的人工生命。
另一方麵,有些東西毫無疑問是生物,但是卻並不符合此清單的所有條件。騾子不能自我複製,皰疹病毒也沒有新陳代謝。朗頓在創造能自我複製的個體上的成功也令他懷疑,人們是否能達成對生命定義的共識:“每當我們成功地使人工生命達到生命所定義的標準時,生命的定義都會被擴充或被改變。譬如,傑拉爾德·喬伊斯認為生命是能夠經曆達爾文式進化的自立化學係統,我相信,到2000年時,世界上某個實驗室就會造出一個符合這個定義的係統。然後,生物學家就會忙著重新定義生命。”
朗頓對人工生命的定義則要更容易為人們所接受。他說,人工生命是“從不同的材料形式中提取生命邏輯的嚐試”。他的論點是,生命是一個過程,是不受特殊材料表現形式限製的行為。對生命而言,重要的不是它的組成材料,而是它做了什麽。生命是個動詞,不是名詞。法默對生命標準列出的清單描述的是行動和行為。計算機科學家們不難把這個生命特征的清單想象為變化多樣的過程。朗頓的同事斯蒂恩·拉斯穆森也對人工生命感興趣,他曾經把鉛筆扔在辦公桌上歎息道:“在西方,我們認為鉛筆要比鉛筆的運動更真實。”
如果鉛筆的運動是其本質,是真實的那部分,那麽,“人工”就是一個誤導詞。在第一屆人工生命會議上,當克雷格·雷諾茲展示出他是如何能夠利用三個簡單的規則就使無數的電腦動畫鳥在計算機中自發地成群結隊地飛行時,所有的人都能看到一個真實的群飛畫麵。這是人工鳥真正在群飛。朗頓總結這個經驗說:“關於人工生命,要記住的最重要部分是,所謂人工,不是指生命,而是指材料。真實的事物出現了。我們觀察真實的現象。這是人工媒介中的真實生命。”
生物學這門對生命普遍原理進行研究的學科正經曆著劇變。朗頓說,生物學麵臨著“無法從單一實例中推論出普遍原理的根本障礙”。地球上的生命隻有單一的集體實例,而它們又有著共同的起源,因此,想把它們的本質及普適特征與次要特征區分開來是徒勞無功的。比如,我們對生命的看法在多大程度上是取決於生命由碳鏈結構組成的事實?如果連一個建立在非碳鏈結構上的生命實例都沒有,我們又怎能弄清這個問題?為了推導出生命的普遍原理和理論,即識別任何活係統和任何生命所共享的特征,朗頓主張“我們需要一整套實例來做出結論。既然在可見將來,外來生命形式都不太可能自己送上門來供我們研究,那麽唯一的選擇就是靠自己的努力製造出另一種生命形式”。這是朗頓的使命——製造出另一種甚至是幾種不同形式的生命,以此作為真正的生物學的依據,推導出生命本原的可靠邏輯。由於這些另類生命是人工製品而非自然產物,我們稱其為人工生命;不過,它們和我們一樣真實。
這種雄心勃勃的挑戰在一開始就將人工生命從生物學中分離出來。生物學設法通過剖析生物,將其分解為部分來了解生物體。而人工生命沒什麽可解剖。因此,它隻能通過將生物聚合在一起、把部分組裝成整體的方式取得進展,它是在合成生命,而不是分解生命。因此,朗頓解釋說:“人工生命相當於是合成生物學的實踐。” 17.8 在超生命的國度中安家落戶
人工生命承認存在新的生命形式以及對生命的新定義。所謂“新”生命,其實也是舊瓶裝新酒,是用舊的力量以新的方式來組織物質和能量。我們的祖先在看待什麽是“活”的問題上很寬鬆。而在科學時代,我們對“活”的概念進行了細分。我們稱動物和綠色植物是活的,但當我們把一個郵局那樣的機構稱為“有機體”時,我們的意思是說它與生物有類似之處,“仿佛是活的”。
我們(此處我首先是指科學家)開始認識到那些一度被比喻為活著的係統確實活著,不過,它們所擁有的是一種範圍更大、定義更廣的生命。我將之稱為“超生命”。超生命是一種特殊形式的活係統,它完整、強健、富有凝聚力,是一種強有力的活係統。一片熱帶雨林和一枝長春花,一個電子網絡和一個自動駕駛裝置,模擬城市遊戲和紐約城,都是某種意義上的超生命。“超生命”是我為包括艾滋病毒和米開朗基羅計算機病毒在內的生命類型而造的詞匯。
生物學定義的生命不過是超生命中的一個物種罷了。電話網絡則是另一個物種。牛蛙雖小,卻充滿了超生命。亞利桑那州的生物圈二號項目則到處都聚集著超生命,“地球”和終結者2號也一樣。將來某一天,超生命將會在汽車、建築物、電視和試管中發展壯大。
這並不是說有機生命和機器生命是完全相同的;他們不相同。水黽將永遠保留某些碳基生命獨一無二的特點。不過,有機的和人工的生命共享一套我們剛剛開始學會辨別的特性。當然,世上很可能還會出現其他我們暫時還無法描述的超生命形式。人們可以想象生命的各種可能性——由生物和人造合成物雜交而出的怪種,舊科幻小說中出現的半動物/半機器的電子生化人——也許會自然演化出在父母雙方身上都找不到的超生命特性。
人類為創造生命而做的每一次嚐試都是在探索可能存在的超生命空間。這個空間包含所有能夠再造地球生命起源的要素。但我們所要承擔的挑戰遠不止於此。創造人工生命的目的不僅僅是描述“如我們所知的生命”空間。激勵朗頓進行探索的,是描繪出所有可能存在的生命空間的渴望,是把我們帶入非常非常廣闊的“如其可能存在的生命”領域的使命。超生命這座圖書館包含了所有的活物、所有的活係統、所有的生命薄片、所有抵製熱力學第二定律的東西、過去和未來中能夠無限進化的種種物質組合,以及某種我們還說不清楚的非凡之物。
探索這個未知領域的唯一方法是建立眾多實例,然後看看它們是否適合於這個空間。朗頓在為第二屆人工生命會議論文集所寫的介紹中提出:“假設生物學家能夠‘倒回進化的磁帶’,然後在不同的初始條件下,或在不同的外部擾動下一遍遍重放,他們就有可能擁有完整的進化路徑來得出結論。”不斷地從零開始,稍微改變一下規則,然後建立起一個人工生命的實例。如此反複無數次。每個合成生命的實例都被添加到地球上有機生命的實例中,以形成一個完滿的超生命體。
由於生命是一種形式,而非物質,我們能植入“活”行為的材料越多,能夠積累的“如其可能存在的生命”的實例就越多。因此,在所有通往複雜性的途徑中,人工生命的領域是廣闊而多樣的。典型的人工生命研究者聚會往往包括生物化學家、計算機奇才、遊戲設計師、動畫師、物理學家、數學呆子和機器人愛好者。聚會背後的議題是要突破生命的定義。
一天晚上,在首屆人工生命大會的一次午夜演講之後,我們中一些人正眺望著沙漠夜空中的繁星,數學家魯迪·魯克爾講出了一番研究人工生命的動機——這是我聽到過的最高遠的動機:“目前,普通的計算機程序可能有一千行長,能運行幾分鍾。而製造人工生命的目的是要找到一種計算機代碼,它隻有幾行長,卻能運行一千年。”
這番話似乎是對的。我們在製造機器人時也懷著同樣的想法:用幾年的時間設計,之後能讓它們運行幾個世紀,甚至還能製造出它們的替代品。正如橡子一般,幾行的編碼卻能長出一顆180年的大樹。
與會者認為,對人工生命來說,重要的不僅是要重新界定生物學和生命,而且要重新定義人工和真實的概念。這在根本上擴大著生命和真實的領域。與以往學術界“不能發表就是垃圾”的模式不同,多數從事人工生命研究的實驗者,甚至是數學家們,都支持新的學術信條:“演示或死亡。”要想在人工生命和超生命上取得任何一點進展,唯一的辦法就是運行一個有效的實例。前蘋果公司雇員肯·卡拉科提西烏斯在解釋自己是如何開始從事人工生命的研究時回憶道:“每遇到一種計算機,我都試著在其中編寫生命遊戲的程序。”最終在蘋果機上實現了名為“模擬生命”的人工生命程序。在“模擬生命”中,你能創建一個超生命的世界,並將一些小生物放入其中,使其共同進化成為一個越來越複雜的人工生態係統。現在,肯正試圖編寫出最大最好的生命遊戲,一個終極的“活”程序:“要知道,宇宙是唯一足夠大能運行終極生命遊戲的地方。然而,將宇宙作為平台的唯一難題是,眼下它正在運行別人的程序。”
目前在蘋果公司任職的拉裏·雅格曾經給過我一張他的名片。名片上是這樣寫的:“拉裏·雅格,微觀宇宙之神。”雅格創造了多邊形世界——一個包括了多種多邊形有機物的尖端計算機世界。數以百計的多邊形物飛來飛去,交配、繁殖、消耗資源、學習(雅格神給予它們的能力)、適應並進化。雅格正在探索可能的生命的空間。會出現什麽呢?“一開始,”雅格說,“我的設定是繁殖並不消耗能量。它們可以隨心所欲地繁殖後代。但我不斷地得到這麽一類家夥,遊手好閑的食人族:他們喜歡在其父母和子女附近的角落裏閑逛,什麽也不做,就待在那兒。它們所做的隻是相互交配,相互爭鬥,相互吞食。既然能靠吃孩子過日子還幹什麽活呢!”這意味著,某種超生命形態出現了。
“研究人工生命的核心動機是為了擴大生物學的領域,使之能囊括比地球上現有生命形式種類更多的物種。”多恩·法默輕描淡寫地描述了人工生命之神所擁有的無窮樂趣。
法默對某些事情已經心中有數了。人工生命之所以在人類所做的嚐試中是獨一無二的,還有另外一個原因。像雅格那樣的神靈正在擴展生命的種類,因為“如其可能存在的生命”是一個我們隻能通過先創建實例再進行研究的領域。我們必須製造出超生命,然後才能對其進行探索;要探索超生命,就必須製造出超生命。
當我們忙於創造一個個超生命的新形式時,我們的腦海中悄然出現了一個令人不安的想法。生命在利用我們。有機的碳基生命隻不過是超生命進化為物質形式的第一步而已。生命征服了碳。而如今,在池塘雜草和翠鳥的偽裝下,生命騷動著想侵入水晶、電線、生化凝膠、以及神經和矽的組合物。看看生命向何處發展,我們就會同意發育生物學家劉易斯·海爾德說的話:“胚細胞隻不過是經過偽裝的機器人。”在第二屆人工生命會議上,湯姆·雷在其為大會論文集所寫的報告中寫道:“虛擬生命就在那裏,等著我們為其建立進化的環境。”在《人工生命》(articial life: eing evolution)一文中有這樣一段敘述,朗頓告訴史蒂文·列維:“其他形式的生命——人造生命——正試圖來到這個世界。它們在利用我來繁衍和實現它們。”
生命,特別是超生命,想要探索所有可能的生物學和所有可能的進化方式。而它利用我們創造它們,因為這是唯一探索它們的途徑。而人類的地位——所謂仁者見仁,智者見智——既可能僅僅是超生命匆匆路過的驛站,也可能是通往開放宇宙的必經之門。
“隨著人工生命的出現,我們也許是第一個創造自己接班人的物種。”多恩·法默在其宣言式的著作《人工生命:即將到來的進化》中寫道:“這些接班人會是什麽樣?如果我們這些創造者的任務失敗了,那他們確實會變得冷酷而惡毒。不過,如果我們成功了,那他們就會是在聰明才智上遠遠超過我們的、令人驕傲的開明生物。”對於我們這些“低等”的生命形式來說,他們的智力是我們所不能企及的。我們一直渴望成為神靈。如果借助我們的努力,超生命能找到某種合適的途徑,進化出使我們愉悅或對我們有益的生物,那我們會感到驕傲。但是,如果我們的努力將締造出超越我們、高高在上的接班人,那我們則會心存恐懼。
克裏斯·朗頓辦公室的斜對麵是洛斯阿拉莫斯原子博物館——它警示著人類所具有的破壞力。那種力量使朗頓不安。“20世紀中期,人類已經獲得了毀滅生命的力量,”他在自己的一篇學術論文中寫道,“而到20世紀末期,人類將能夠擁有創造生命的力量。壓在我們肩頭的這兩付重擔中,很難說哪一付更沉重。”
我們到處為其他生命種類的出現創造空間:少年黑客放出了威力巨大的計算機病毒;日本工業家組裝了靈敏的繪畫機器人;好萊塢導演創造了虛擬的恐龍;生物化學家把自行進化的分子塞進微小的塑料試管。終有一天,我們會打造出一個能夠持續運行並能夠創造恒新的開放世界。我們也將籍此在生命的空間中另辟蹊徑。
丹尼·希利斯說他想製造一台以他為榮的計算機,這可不是玩笑話。還有什麽能比賦予生命更具人性?我想我知道答案:賦予生命和自由。賦予開放的生命;對它說,這是你的生命,這是汽車鑰匙;然後,讓它做我們正在做的事情——在前進的路上,一切由它自主。湯姆·雷曾經對我說:“我不要把生命下載到計算機中。我要將計算機上傳到生命中。”
[1] lisp語言:lisp是list processing的縮寫,即表處理語言,誕生於20世紀60年代左右。表(list)是lisp語言中求值和運算的基本單位。由於lisp語言建立在遞歸邏輯的基礎上,形式化程度很高,適合於符號運算和問題求解,至今仍是人工智能最常用的語言之一。
[2] 湯(soup):在英語中有alphabet soup的用法,用於指一種用字母狀麵團作湯料的湯。可查的說法有二:一是說此湯是父母為鼓勵兒童學字而做,喝湯的兒童可以把湯內的字母隨意組合,從而能學到詞匯;二是指在網上遇到的需要處理的一大堆雜亂字母戲稱為“字母湯”。此外,在生命起源的問題上經常將產生生命的初始狀態(科學家推測,生命起源於呈混合溶液狀態的物質“湯”)稱為湯。
[3] tic-tac-toe:一個很有名的益智遊戲。弈者在井字形的9個方格上輪流落子,三點連成一條直線(橫、豎、斜均可)的一方獲勝。隻要弈法得當,雙方一定會以和局結束。
[4] 魯賓·戈德堡(rube goldberg):美國漫畫家,畫了許多用極其複雜的方法完成簡單小事的漫畫。比如把雞蛋放進小碟子這種事,在戈德堡筆下可能是這樣的:一個人從廚房桌子上拿起晨報,於是牽動了一條打開鳥籠的線,鳥被放出來,順著鳥食走向一個平台。鳥從平台摔到一灌水上,水灌翻倒,拉動扳機,使手槍開火。猴子被槍聲嚇得把頭撞在係有剃刀的杯子上,剃刀切入雞蛋,打開雞殼,使雞蛋落入小碟子中。
[5] f=ma:這個公式描述的是牛頓力學第二定律,即加速度定律,f為外力,m為質量,a為加速度。
[6] 代達羅斯(daedalus):希臘神話中技藝高超的匠人,他發明了刨子、吊線與膠水。
[7] 飛反效應(boomerang effect):指產生與原目標相反的效果,在經濟、廣告等行業有許多例子。
[8] 核酶(ribozyme):是一種化學本質上為核糖核酸(rna)卻具有酶的催化功能的物質。核酶的發現,打破了酶都是蛋白質這一傳統認識,並使得分子層麵上的進化成為可能。發現核酶的兩位美國科學家因此而獲得1989年的諾貝爾化學獎。
[9] 洛斯阿拉莫斯國家實驗室(los mos nationalboratory):位於新墨西哥州洛斯阿拉莫斯,是隸屬於美國能源部的國家實驗室。該實驗室曾研製首枚原子彈,是曼哈頓計劃所在地。20世紀90年代興起的複雜科學和人工生命,也與該實驗室有密切關係。此外,被美國政府錯誤地以間諜罪名起訴的華人科學家李文和也是在此實驗室工作。
[10] 元胞自動機(cellr automata):也稱為細胞自動機、格狀自動機,是一種離散模型,具有並行計算的特征。
[11] 活係統合成與仿真跨學科研討會(interdisciplinary workshop on the synthesis and simtion of living systems):這個會議後來更名為“人工生命”(artificial life)大會。
一群蜜蜂從蜂巢裏溜出來,然後聚成一團懸掛在一根樹枝上。如果附近的養蜂人運氣好的話,它們落腳的樹枝很容易夠著。此時,這些喝飽了蜂蜜又不需要看護幼蜂的蜜蜂就像瓢蟲一樣溫順。
我曾有過一兩次將懸聚在我頭部高度的蜂團移進自己的空蜂箱的經曆。將上萬隻蜜蜂從樹枝上移入蜂箱的過程可說是生活中的一場奇妙表演。
如果有鄰居在看,你可以給他們露一手:在嗡嗡作響的蜂團下鋪上一塊白布或者一大塊硬紙板。將布單一邊蓋在空蜂巢底部拉出的門板上,使布或硬紙板形成一個導向蜂巢入口的巨大坡道。此時,戲劇性地停一下,然後抓住樹枝用力一抖。
蜂團整個兒從樹上掉下來,落到布單上四下奔湧,像翻騰的黑色糖漿。成千上萬隻蜜蜂交疊在一起,亂哄哄地擠作一堆,嗡嗡作響。慢慢地,你會看出些眉目。蜜蜂們麵向蜂巢的開口排成一行,魚貫而入,就像是接受了同一個指令的小小機器人。它們確實收到了指令。如果你俯下身來靠近白布,將鼻子湊近蠕動的蜂群,會聞到玫瑰花似的香味。你會看見蜜蜂們一邊行進,一邊弓著背,猛烈地扇動著翅膀。它們正從自己的尾部噴出玫瑰香氣,並把它扇到身後的隊伍裏。這種香氣告訴後麵的夥伴們:“蜂後在此,跟我來。”第二個跟著第一個,第三個跟著第二個,五分鍾後,整個蜂群都鑽進了蜂箱,布單上幾乎空空如也。
地球上最初的生命是不可能上演這一幕的。這並非因為缺少足夠的變種。早期的基因根本就沒有施展這種本事的能力。用玫瑰的味道來協調上萬隻飛蟲聚成一個目標明確的爬行怪物,這不是早期生命所能做到的。早期生命不僅還未能創造出大戲上演的舞台——工蜂、蜂後、花蜜、樹、蜂巢、信息素,而且連搭建這個舞台的工具也還沒有創造出來。
大自然之所以能產生令人震驚的多樣性,是因為它在本質上是開放的。生命不會僅靠最早誕生的那幾個基因去產生令人眼花潦亂的變化。相反,生命最早的發現之一是如何創造新的基因,更多的基因,可變的基因,以及一個更大的基因庫。
博爾赫斯圖書館裏的一本書含有相當於100萬個基因的信息量;而一幀高分辨率好萊塢電影畫麵所含的信息相當於3000萬個基因。由此構建的“書庫”盡管堪稱龐大,在由所有可能存在的書庫組成的“元書庫”中,它們不過是一粒塵埃。
生命的特征之一是它會不斷地拓寬自身的生存空間。大自然是一個不斷擴展的可能性之庫,是一個開放的大千世界。生命一邊從書架上抽出最不可思議的書來,一邊為藏書增建廂房,為更不可思議的文本創造空間。
我們不知道生命如何突破了從固定基因空間到可變基因空間的分界線。也許某一個特殊的基因決定著染色體中基因的數量。隻要使那一個基因產生變異,就可以使鏈中基因的總數增加或減少。也許基因組的大小是由多個基因間接決定的。或者更有可能的是,基因組的大小是由基因係統自身的結構決定的。
湯姆·雷的實驗顯示,在他的自我複製世界裏,可變的基因長度瞬時就湧現出來了。他的創造物自行決定其基因組的長度(由此也決定了它們可能存在的基因庫的規模),短至出乎他意料的22字節,長至23000字節。
開放的基因組帶來開放的進化。一個預先設定了每個基因的工作或基因數量的係統隻能在預先設定的範圍內進化。道金斯、拉薩姆和西姆斯最初的那些係統以及俄羅斯程序員的電子魚,都擱淺在這個局限性上。它們也許能生成所有可能的具有既定大小和深度的畫麵,但不能生成所有可能的藝術品。一個沒有預先確定基因角色和數量的係統才能出奇製勝。這就是湯姆·雷的創造物造成轟動的原因。從理論上說,他的世界隻要運行時間夠長,在最終的形式庫中就能進化出任意東西。 17.2 生成圖像的基元組
形成開放基因組的方法不止一種。1990年,卡爾·西姆斯利用二代連接機(cm2)的超級計算能力設計了一個由長度可變基因組成的新型人工世界,比他設計的植物圖像世界更為先進。西姆斯的妙招是創造一個由小方程而非長串數碼組成的基因組。他原來的基因庫中每個固定長度的基因各控製著植物的一個視覺參數;這個新基因庫則擁有長度不定且可自由擴展的方程,籍此繪製各種曲線、色彩和形狀。
西姆斯的方程——或著說基因,是一種計算機語言(lisp)[1]的小型自包含邏輯單元。每一個模塊都是一個算數指令,諸如加、減、乘、餘弦、正弦。西姆斯把這些單元統稱為“基元組”——它們構成了一個邏輯的字母表。隻要有一張恰當的邏輯字母表在手,就可以建立任何方程,就像用適當多樣的語音元素表就能合成任何語音句子一樣。加、乘、餘弦等的相互組合能產生任何我們想得出的數學方程。既然任何形狀都可以用方程來表達,這一基元字母表也就可以畫出任何一種圖像。增加方程的複雜性也就神奇地擴大了所生成圖像的複雜性。
方程基因庫還有個意外的好處。在西姆斯的原版世界(以及在湯姆·雷的“地球”和丹尼·希利斯的共同進化的寄生蟲世界中),有機體是一串串每次隨機轉換一個數字的數碼,就像博爾赫斯圖書館裏的書那樣,一次改變一個字母。而在西姆斯的改良版世界裏,有機體成了一串串每次隨機轉換一個基元的邏輯基元組。仍以博爾赫斯圖書館為例的話,這次被調換的是詞而不是字母。每本書裏每個詞的拚寫都正確,每本書的每一頁由此就更有實際意義。但是,對於以詞為原料的博爾赫斯圖書館來說,要煮這鍋湯[2]至少需要數以萬計的詞,而西姆斯僅用一打左右的數學基元就能列出所有可能的方程。
對邏輯單元而不是數字位元做進化,最根本的優勢還在於它能馬上將係統引上通往開放宇宙的大道。邏輯單元本身就是功能,而不像數字位元那樣僅僅是功能的數值。在任意一個地方增加或交換一個邏輯基元,程序的整體功能就會產生轉變或得到擴展,從而在係統中湧現出新功能和新事物。
而這就是西姆斯的發現。他的方程進化出全新的圖像,並把它們顯示到計算機屏幕上。這個新的空間是如此之豐富,使西姆斯大為震驚。由於基元組隻包含邏輯部件,西姆斯的lisp字母表確保了大部分方程所繪出的圖像都具有某種模式。屏幕上不會再充斥著模糊灰暗的圖像,無論西姆斯“漫步”到哪裏,都能看到令人驚豔的風景。“藝術”仿佛成了信手拈來之物。一開始,屏幕上布滿了狂野的紅色和藍色之字形線條。下一刻,屏幕的上部點綴著黃色的斑斑點點。之後,斑點下出現一條朦朧的水平線,再接著,是重筆墨的波浪伴著藍色的海天一線。再然後,斑點洇成毛莨花般嫩黃的圓暈。幾乎每一輪畫麵都展現出驚人的創意。一小時內,上千張美輪美奐的圖像被從其藏身之所喚起,第一次也是最後一次展現在我們麵前。這好比站在世上最偉大的畫家身後,觀看他創作從不重複主題和風格的速描。
當西姆斯選中一幅圖畫,繁衍出其變種,再從中選取另一幅時,他所進化的不隻是圖像。撇開表象,西姆斯進化的是邏輯。一個相對較小的邏輯方程能繪製出一幅讓人眼花繚亂的複雜圖畫。西姆斯的係統曾經進化出下麵這段邏輯代碼:
(cos (round (atan (log (invert y) (+ (bump (+ (round x y) y) #(0.46 0.82 0.65) 0.02 #(0.1 0.06 0.1) #(0.99 0.06 0.41) 1.47 8.7 3.7) (color-grad (round (+ y y) (log (invert x) (+ (invert y) (round (+ y x) (bump (warped-ifs (round y y) y 0.08 0.06 7.4 1.65 6.1 0.54 3.1 0.26 0.73 15.8 5.7 8.9 0.49 7.2 15.6 0.98) #(0.46 0.82 0.65) 0.02 #(0.1 0.06 0.1) #(0.99 0.06 0.41) 0.83 8.7 2.6))))) 3.1 6.8 #(0.95 0.7 0.59) 0.57))) #(0.17 0.08 0.75) 0.37) (vector y 0.09 (cos (round y y)))))
這個方程在西姆斯的彩色屏幕上繪出了一幅引人注目的圖畫:北極的落日餘輝映照在兩根冰柱上,冰柱晶瑩剔透;遠方的地平線淡然而寧靜。這可堪比一個業餘畫家的大作哩。西姆斯告訴我說:“這個方程的進化從頭到尾僅用了幾分鍾時間——如果是人類有意為之的話,可比這個費功夫多了。”
但是西姆斯卻無從解釋方程背後的邏輯以及它為何會繪出一幅冰的圖畫。在這個方程麵前,西姆斯和我們一樣茫然無知。方程所隱藏的邏輯已經無法用簡單明了的數學來破解。 17.3 無心插柳柳成蔭
真正開始將邏輯程序的進化從理論付諸實踐的是約翰·柯紮。他是斯坦福大學計算機科學係的教授,約翰·霍蘭德的學生。他和霍蘭德的另外幾個學生一起使20世紀60~70年代一度被冷落的霍蘭德遺傳算法重放光芒,進入到80年代末並行算法的複興時期。
與“藝術家”西姆斯不同,柯紮並不滿足於單純地探索可能之方程的空間,他想進化出能夠解決特定問題的最佳方程。舉個牽強一點的例子,假設在所有可能的圖像中有一幅圖會吸引奶牛凝視它,並由此提高產奶量。柯紮的方法就可以進化出能繪製這一特定圖像的方程。在這個例子中,柯紮會對那些所繪圖像哪怕隻是輕微增加產奶量的方程給予賞獎,直至牛奶產量無法再得到提高。當然,柯紮所選的問題要比這實際得多,譬如,找出一個能操縱機器人移動的方程。
但從某種意義上來說,他的搜索方式與西姆斯以及其他研究者的相似。他也在由可能存在的計算機程序組成的博爾赫斯圖書館內搜尋——隻不過不是毫無目的地東瞧瞧西看看,而是去尋找解決特定實際問題的最佳方程。柯紮在《遺傳編程》(gic programming)一書中寫道:“這些問題的求解過程可以重新表述為在可能存在的計算機程序中搜索最合適的單個計算機程序。”
柯紮通過繁衍“找到”方程的想法之所以被認為有悖常理,和計算機專家對雷的進化方案嗤之以鼻的理由是一樣的。過去,人人都“知道”邏輯程序是脆弱的,不能容忍任何變動。計算機科學理論中,程序隻有兩種狀態:(1)無故障運行;(2)修改後運行失敗。第三種狀態——隨機修改後還能運行——是不可能的。程序輕度出軌被稱為程序漏洞,這是人們耗費大量財力試圖避免的。專家們過去認為,如果計算機方程漸進式改良(進化)真有可能的話,也肯定隻會出現在少數罕見領域或專門類型的程序中。
然而,人工進化的研究成果出乎意料地表明,傳統觀點大錯特錯了。西姆斯、雷和柯紮都有絕妙的證據來證明,邏輯程序是可以通過漸進式改良進化的。
柯紮的方法基於一種直觀判斷,即如果兩個數學方程在解決一個問題時多少有些效果,那麽它們的某些部分就是有價值的。如果這兩者有價值的部分能被重新整合成一個新程序,其結果可能比兩個母程序中的任何一個都更有效。柯紮數千次地隨機重組兩個母程序的各個部分,希望從概率上講,這些組合中能包含一個程序,對母程序中有價值的部分做了最優安排,因而能更好地解決問題。
柯紮的方法和西姆斯的有很多相似之處。柯紮的“數據培養液”也含有大約一打用lisp語言表達的數學基元,諸如加、乘、餘弦。這些基元隨機串在一起形成一棵棵邏輯“樹”——一種形似計算機流程圖的層次結構。柯紮的係統像繁殖人口一樣創建了500到10000個不同的獨立邏輯樹。“數據培養液”通常在繁衍了大約50代之後收斂到某個合適的後代身上。
樹與樹之間交換分枝迫使它們產生變種。有時嫁接的是一根長樹枝,有時僅僅是一根細枝或枝頭的“葉子”。每根樹枝都可以被看作是由更小的分枝構成的完整無缺的邏輯子程序。通過分枝交換,一小段方程(一根樹枝),或一個有用的小程序,可以得到保存甚至傳播。
通過方程進化能解決形形色色的古怪問題。柯紮用它來解決的一個經典難題是如何讓一根掃把立在滑板上。滑板必須在馬達的推動下來回移動,使倒立的掃帚在板中央保持直立。馬達控製的計算量驚人,但在控製電路上與操縱機器人手臂的電路並無多大區別。柯紮發現,他可以進化出一個程序來實現這種控製。
被他用來測試方程進化的問題還有:走出迷宮的策略;二次方程的求解方法;優化連接眾多城市最短路徑的方法(又稱為旅行商問題);在tictac-toe[3]一類簡單遊戲中勝出的策略。在每個例子中,柯紮的係統每次都會去尋找解決問題的一般公式,而不是尋找每一個測試實例的具體答案。一個公式經受不同實例的測試越多,這個公式就會進化得越完善。
盡管方程進化能得出有效的解決方案,可這些方案卻往往要多難看有多難看。當柯紮拿起他那些高度進化的寶貝開始查看細節時,他和西姆斯以及雷一樣感到震驚:解決方案簡直是一團亂麻!進化要麽繞上一個大彎,要麽鑽個曲裏拐彎的邏輯漏洞抄近道。它塞滿冗餘,毫不雅致。出了錯時,寧願添加一節糾錯程序,或者讓主流程改道繞過出錯的區域,也不願銷去錯誤的部分。最後的公式頗有幾分神奇的魯賓·戈德堡[4]連動裝置的樣子,依靠某些巧合才能運作。當然,它實際上就是架戈德堡神奇連動機。
拿柯紮曾經給他的進化機器玩過的一個問題為例。那是一個由兩條互相纏繞的螺旋線構成的圖形,大致類似於紙風車上的雙重螺旋線。柯紮要求進化方程機器進化出一個最佳方程式,來判定約200個數據點各在互繞雙螺旋的哪一條線上。
柯紮將10000個隨機產生的計算機公式加載到他的數據培養液裏。他放任它們進化,而他的機器則挑選出最有可能獲得正確公式的方程。柯紮睡覺的時候,程序樹交換分枝,偶爾產生一個運行更好的程序。在他度假期間,機器照常運行。待他度假歸來,係統已經進化出能完美劃分雙螺旋線的答案了。
這就是軟件編程的未來!定義一個問題,機器就能在程序員打高爾夫球的時候找到解決方案。但是,柯紮的機器找到的解決方案讓我們得以一睹進化的手藝。這是它得出的公式:
(sin (iflte (iflte (+ y y) (+ x y) (- x y) (+ y y)) (* x x) (sin (iflte (% y y) (% (sin (sin (% y 0.30400002))) x) (% y 0.30400002) (iflte (iflte (% (sin (% (% y (+ x y)) 0.30400002)) (+ x y)) (% x 0.10399997) (- x y) (* (+ -0.12499994 -0.15999997) (- x y))) 0.30400002 (sin (sin (iflte (% (sin (% (% y 0.30400002) 0.30400002)) (+ x y)) (% (sin y) y) (sin (sin (sin (% (sin x) (+ -0.12499994 -0.15999997))))) (% (+ (+ x y) (+ y y)) 0.30400002)))) (+ (+ x y) (+ y y))))) (sin (iflte (iflte y (+ x y) (- x y) (+ y y)) (* x x) (sin (iflte (% y y) (% (sin (sin (% y 0.30400002))) x) (% y 0.30400002) (sin (sin (iflte (iflte (sin (% (sin x) (+ -0.12499994 -0.15999997))) (% x -0.10399997) (- x y) (+ x y)) (sin (% (sin x) (+ -0.12499994 -0.15999997))) (sin (sin (% (sin x) (+ -0.12499994 -0.15999997)))) (+ (+ x y) (+ y y))))))) (% y 0.30400002))))).
這公式不但樣子難看,而且還令人費解。即使對一個數學家或一個計算機程序員來說,這個進化出來的公式也是一團亂麻。湯姆·雷說,進化寫的代碼隻有喝醉酒的人類程序設計員才寫得出來。依我看,說進化生成的是隻有外星人才寫得出來的代碼恐怕才更確切些。這絕非人類所為。對這個方程追本溯源,柯紮終於找到了這個程序處理問題的方式。完全是憑著百折不撓和不擇手段,它才打通了一條艱難曲折又令人費解的解決之道。但這確實管用。
進化得出的答案看起來很奇怪,因為幾乎任何一個高中生都能在一行內寫出一條非常簡潔優雅的方程式來描述這兩條螺旋線。
在柯紮的世界裏沒有要求方案簡潔的進化壓力。他的實驗不可能找到那種精煉的方程式,因為它並不是為此構建的。柯紮試著在運行過程中添加點簡約性因素,卻發現在運行開始就加入簡約性因素會降低解決方案的效率。得到的方案雖然簡單卻隻有中下水平。他有證據表明,在進化過程末期加入簡約性因素——也就是說,先讓係統找到一個管用的解決方案,再開始對其進行簡化,這是進化出簡潔方程更好的方法。
但柯紮堅信簡約的重要性被過分高估了。他說,簡約不過是“人類的審美標準”。大自然本身並不特別簡約。舉個例子:時為斯坦福大學科學家的戴維·斯托克分析了小龍蝦尾部肌肉中的神經回路。當小龍蝦想逃走的時候,其神經網絡會引發一個奇怪的後空翻動作。對人類來說,那種回路看起來如巴洛克建築那般繁複,取消幾個多餘的循環指令馬上就可以使它簡化一些。但那堆亂七八糟的東西卻很管用。大自然並不會隻為了優雅而簡化。 17.4 打破規則求生存
柯紮指出,人類之所以追求類似牛頓的f=ma那樣簡單的公式[5],是因為我們深信:宇宙是建立在簡約秩序的基礎之上。更重要的是,簡約對人類來說是很方便的。f=ma這個公式比柯紮確定螺旋線的怪物使用起來容易得多,這使我們更加體會到公式中所蘊涵的美感。在計算機和計算器問世前,簡單的方程更加實用,因為用它計算不易出錯。複雜的公式既累人又不可靠。不過,在一定範疇內,無論是大自然還是並行計算機,都不會為繁複的邏輯發愁。那些我們覺得既難看又讓人頭暈的額外步驟,它們能以令人乏味的精確度運行無誤。
盡管大腦像並行機器一般運作,人類意識卻無法並行思考。這一諷刺性的事實讓認知科學家們百思不得其解。人類的智慧有一個近乎神秘的盲點。我們不能憑直覺理解概率、橫向因果關係及同步邏輯方麵的各種概念。它們完全不符合我們的思維方式。我們的思維退而求其次地選擇了串行敘述——線性描述。那正是最早的計算機使用馮·諾依曼串行設計方案的原因:因為人類就是這樣進行思考的。
而這也正是為什麽並行計算機必須被進化而不是被設計出來:因為在需要並行思考的時候我們都成了傻子。計算機和進化並行地思考;意識則串行思考。在《代達羅斯》[6]1992年冬季刊上一篇極具爭議的文章裏,思維機器公司的市場總監詹姆斯·貝利描述了並行計算機對人類思維的飛反效應[7]。文章題為《我們先改造電腦,然後電腦改造我們》,貝利在文中指出,並行計算機正在開啟知識的新領域。計算機的新型邏輯反過來迫使我們提出新的問題和視角。貝利暗示道:“也許,世上還有一些截然不同的計算方式,一些隻有用並行思考才能理解的方式。”像進化那樣思考也許會開啟宇宙中新的大門。
約翰·柯紮認為,進化處理定義不嚴格的並行問題的能力是它的另一個獨特優勢。教計算機學會解決問題的困難在於,時至今日,為了解決我們遇到的每一個新問題,我們最終還是要逐字逐句地為它重新編程。如何才能讓計算機自行完成任務,而不必一步步告訴它該做什麽和怎麽做?
柯紮的答案是:進化。現實世界中,一個問題可能有一個或多個答案,而答案的範圍、性質或值域可能完全模糊不清。進化就可以讓計算機軟件解決這種問題。譬如:香蕉掛在樹上,請給出摘取程序。至今大多數計算機學習都不能解決這樣的問題。除非我們明確地向程序提供一些明確的參數作為線索,諸如:附近有多少梯子?有沒有長竿?
而一旦定義了答案的界限,也就等於回答了問題的一半。如果我們不告訴它附近有什麽樣的石頭,我們知道是不會得到“向它扔石頭”的答案的。而在進化中,則完全有這個可能。更可能出現的情況是,進化會給出完全意想不到的答案,譬如:使用高蹺;學習跳高;請小鳥來幫忙;等暴風雨過後;生小孩然後讓他們站在你的頭上。進化並不一定要昆蟲飛行或遊泳,隻要求它們能夠快速移動來逃避捕食者或捕獲獵物。開放的問題得出了諸如水蠅用腳尖在水上行走或蚱蜢猛然跳起這樣各不相同卻明確的答案。
每一個涉足人工進化的人都為進化能輕而易舉地得出異想天開的結果而大為吃驚。湯姆·雷說:“進化可不管有沒有意義;它關心的是管不管用。”
生命的天性就是以鑽常規的漏洞為樂。它會打破它自己所有的規則。看看這些生物學上令人瞠目結舌的奇事吧:由寄居在體內的雄魚來進行授精的雌魚,越長越萎縮的生命體,永遠不會死的植物。生命是一家奇物店,貨架上永遠不會缺貨。自然界層出不窮的怪事幾乎跟所有生命的數量一樣多;每一種生物在某種意義上都在通過重新詮釋規則來為自己找活路。
人類的發明物就沒有那麽豐富了。大部分機器被造來完成某個明確的任務。它們遵照我們舊式的定義,服從我們的規則。然而,如果讓我們構想一架理想的、夢寐以求的機器的話,它應該可以改變自身來適應環境,更理想的是,它還能自我進化。
適應是對自身結構的扭曲,以使之能夠鑽過一個新漏洞。而進化是更深層的改變,它改變的是構建結構本身的架構——也即如何產生變化的方式,這個過程常常為其他人提供了新的漏洞。如果我們預先確定了一台機器的組織結構,也就預先確定了它能解決怎樣的問題。理想的機器應該是一台通用問題解決機,一台隻有想不到沒有做不到的機器。這就意味著它必須擁有一種開放性的結構。柯紮寫道:“(解決方案的)規模、形式以及結構複雜度都應是答案的一部分,而不是問題的一部分。”當我們認識到,是一個係統自身的結構決定了它所能得出的答案,那麽我們最終想要的是如何製造出沒有預先定義結構的機器。我們想要的是一種不斷自我更新的機器。
那些致力於推動人工智能研究的人無疑會對此大唱讚歌。在沒有任何提示和限定答案方向的前提下,能想出一個解決方案——人們稱之為橫向思維,幾乎就等同於人類的智能了。
我們所知唯一一台能重塑自己內部連接的機器就是我們稱為大腦的灰色活體組織(大腦灰質)。我們目前唯一可以設想付諸生產的重塑自身結構的機器,可能是一種能夠自我改編的軟件程序。西姆斯和柯紮的進化方程是通向自我改編程序的第一步。一個可以繁衍其他方程的方程正是這種生命種類的基土。繁衍其他方程的方程就是開放性宇宙。在那裏任何方程都能產生,包括自我複製的方程和銜尾蛇式的無限循環公式。這種循作用於自身並重寫自身規律的遞歸程序,蘊涵著世上最宏偉的力量:創造恒新。
“恒新”是約翰·霍蘭德使用的詞組。多年來,他一直在潛心研究人工進化方法。用他的話說,他真正在從事的,是一種恒新的新數學。那是能夠創造永無止盡的新事物的工具。
卡爾·西姆斯告訴我:“進化是一個非常實用的工具。它是一種探索你不曾想過的新事物的方式。它是一種去蕪存精的方式。它也是一種無需理解便能探索程序的方式。如果計算機運轉速度夠快,這些事它都能做到。”
探索超越我們理解力外的領域並提煉我們所收獲的,這是定向式、監督式和最優化的進化帶給我們的禮物。湯姆·雷說:“但是,進化不僅是優化。我們知道進化能超越優化並創造新事物來加以優化。”當一個係統可以創造新事物來加以優化時,我們就有了一個恒新的工具和開放的進化。
西姆斯的圖像遴選和柯紮那通過邏輯繁衍進行的程序遴選都是生物學家稱為育種或人工選擇的例子。“合格”的標準——被選擇的標準,是由培育員決定的,因而也是人工產物或人為的。為了達到恒新——找到我們不曾預料的東西,我們必須讓係統自己為它的選擇劃定標準。這就是達爾文所說“自然選擇”的含義所在。選擇標準由係統的特性所確定;它自然而然地出現。開放的人工進化也需要自然選擇,如果你願意,也可以叫它人工自然選擇。選擇的特征應該從人工世界內部自然地產生。
湯姆·雷已經通過讓他的世界自主選擇適者的方式加載了人工自然選擇工具。因此,他的世界從理論上說就具有了進化全新事物的能力。但是雷確實“做了點小手腳”以使係統進入運作。他等不及他的世界靠自己的力量進化出自我複製能力了。因此一開始他就引進了一個自我複製機製,一經引入,複製再也不會終止。用雷的比喻來說,他將生命在單細胞有機體狀態下強力啟動,然後觀看了一場新生物體的“寒武紀大爆發”。但是他並不歉疚。“我隻是嚐試獲得進化,並不真的在意獲取它的方式。如果我需要將我的世界的物理和化學成分拉升到能支承花樣繁多無限製進化的水平,我樂於這麽做。我不得不操縱它們來達到這個水平,對此我並不感到內疚。如果我可以操控一個世界達到寒武紀大爆發的臨界點,然後讓它自己沸騰溢出邊界,那才真是永生難忘呢。和係統所產生的結果相比,我不得不操控它達到臨界點是一件不值一提的事。”
雷認為,啟動開放的人工進化本身已經極具挑戰性了,他不一定非得使係統自己進化到那種程度。他會控製他的係統直到它能靠自己的力量進化。正如卡爾·西姆斯所說,進化是一種工具。它可以與控製相結合。雷在控製數月之後轉入了人工自然選擇。與之相反的過程同樣可行——也許有人會在進化數月之後再施以控製,以得到想要的結果。 17.5 掌握進化工具
進化作為一種工具,特別適用於以下三件事:
◎如何到達你想去而又找不到路的領域;
◎如何到達你無法想象的領域;
◎如何開辟全新領域;
第三種用途就是通向開放世界的門戶。它是非監督式、非定向式的進化過程。它是霍蘭德設想的不斷擴張的恒新機器,是一個可以自己建設自己的事物。
像雷、西姆斯和道金斯這些偽上帝們在實驗伊始都以為自己劃定了係統空間,當他們看見進化如何擴大這一空間時,都大感驚詫。“那比我想象的要大得多”是他們常說的話。當我在卡爾·西姆斯進化展的圖片之間穿行的時候,也有類似的無法抗拒的感覺。我找到的(或係統為我找到的)每一張新圖片都色彩斑斕且意想不到的複雜,與我從前曾經見過的任何東西都大不相同。每個新圖像似乎都擴大了可能存在的圖片的空間。我意識到我從前對圖片的概念是由人類,或者說由生物本性,來定義的。但在西姆斯的世界裏,有相當多數量的激動人心的景致有待展現。它們既非人造也非生物製造,卻同樣豐富多彩。
進化在拓展著我對可能性的認識。生命的機製與此非常相似。dna的字節都是功能單位,是拓展可能性空間的邏輯進化者。dna與西姆斯和柯紮的邏輯單位的運行方式是等同的。(也許我們該說他們的邏輯單位與dna相等同?)屈指可數的幾個邏輯單位就可以通過混合和配對形成天文數字般的蛋白質編碼。細胞組織、疾病、藥品、味道、遺傳信息以及生命的基礎結構等所需的蛋白質,均來自與這張小小的功能字母表。
生物進化是一種開放的進化,它以舊的dna單元繁育新的dna單元,它是一個不斷擴張、永無止境的庫。
分子育種學家傑拉德·喬伊斯很高興他所從事的分子進化工作“既是為了興趣,也能有利可圖”。但他的真正夢想是孵化出另一種開放進化機製。他告訴我:“我想試試看,能否在我們的控製之下啟動自組織過程。”喬伊斯和同事們正在做一個試驗,讓一種簡單的核酶[8]進化出複製自己的能力——那正是湯姆·雷跳過的一個至關緊要的步驟。“我們的明確目標是啟動一個進化係統。我們要讓分子自己學會如何複製自身。之後,自發進化就將取代定向進化。”
目前,自發且能自我維持的進化對生物化學家們來說還隻是一個夢想。至今還沒有人能夠驅使一個係統邁出“進化的一步”——發展出之前未曾有過的化學進程。到目前為止,生物化學家隻能針對那些他們已經知道該如何解決的問題來進化出新的分子。“真正的進化是要闖出一片未知的新天地,而不是僅僅是在感興趣的變異中打轉轉。”喬伊斯如是說。
一個有效的、自發的、進化的分子係統將會是一個超級強大的工具。它將是一個可以創造出任何生物的開放係統。“它將是生物學的巨大成就。”喬伊斯宣稱。他相信,其衝擊力相當於“在宇宙中找到了另一種樂於與我們分享這個世界的生命形式”。
但是,喬伊斯是一個科學家,他不會被熱情衝昏了頭:“我們並非要製造生命,然後讓它發展自身的文明。那無異於癡人說夢。我們隻是要製造一種與現有的化學存在略有不同的人工生命形式。這可不是什麽天方夜譚,而是可以觸摸得到的。” 17.6 從滑翔意外到生命遊戲
但是,克裏斯·朗頓並不覺得能創造自己文明的人工生命是一個天方夜譚。作為開創了人工生命中一個時髦領域的特立獨行之人,朗頓承受了許多壓力。他的故事很值得向大家陳述一下,因為他自身的經曆再現了人造的、開放的進化體係的覺醒。
幾年前,我和朗頓參加了在圖森召開的為期一周的科學會議,為了清醒一下頭腦,我們逃了一下午的會。我應邀去參觀尚未完成的生物圈二號項目,路程大約要一個小時。當我們在南亞利桑那州盆地那蜿蜒的黑色緞帶般的瀝青路上平穩行使時,朗頓向我講述了他的生命故事。
當時,朗頓以計算機科學家的身份在洛斯阿拉莫斯國家實驗室[9]工作。整個小鎮和洛斯阿拉莫斯實驗室最初都是為研製終極武器而建的。因此,朗頓在故事一開始說他是越南戰爭時期拒服兵役的人,我感到很吃驚。
作為拒服兵役的人,朗頓得到一個替代兵役的機會——在波士頓的馬薩諸塞州綜合醫院做護理工。他被分配去做一件沒人樂意做的苦差事:把屍體從醫院地下室搬運到太平間地下室。上班第一個星期,朗頓和他的搭檔把一具屍體放到一架輪床上,推著它穿過連接兩幢樓的陰冷潮濕的地下走廊。他們必須在地道中唯一的燈光下推著輪床通過一段狹窄的水泥橋。當輪床撞到隆起物時,屍體打了個嗝,坐了起來,並開始從輪床上滑下來!朗頓下意識地轉身想抓住他的搭檔,卻隻看見遠處的門在他奪路而逃的同事身後來回晃蕩。死了的東西可以表現得像活的一樣!生命就是一種行為,這是朗頓最初的體會。
朗頓對老板說他無法再做那種工作了,能不能做點別的?“你會編寫計算機程序嗎?”老板問他。“當然會。”
於是,他得到了一份為早期計算機編寫程序的工作。有時,他會在晚上讓一個無聊的遊戲在閑著的計算機上運行。這個遊戲被稱為“生命”,由約翰·康威設計,然後再由名為比爾·高斯帕的早期黑客改寫成主機程序。該遊戲是一組能產生多種多樣形式的非常簡單的代碼,其模式令人想到生物細胞在瓊脂盤上的成長、複製和繁衍。朗頓回憶起那一天,他獨自工作到深夜,突然感到屋裏有人,有某種活著的東西在盯著他看。他抬起頭,在“生命”的屏幕上,他看到令人驚異的自我複製的細胞模式。幾分鍾之後,他再次感到那種存在。他再次抬起頭來,卻看到那個模式已經死去。他突然意識到那個模式曾經活過——活著,而且像瓊脂盤上的細胞一樣真切地活過——不過是在計算機屏幕上。也許計算機程序能夠獲得生命——朗頓心裏萌生了這個大膽的想法。
他開始擺弄這個遊戲,研究它,思考著是否能夠設計一種開放的、類似“生命”那樣的遊戲,以使事物能夠開始自行進化。他苦練編程技術。期間,朗頓接到一個任務:將一個程序從一台過時的大型計算機中移植到一台構造完全不同的新計算機中去。完成此任務的竅門是抽象出舊計算機上的硬件運行方式,在新計算機上以軟件的方式模擬出來,即提取硬件的行為,再將之轉換成無形的符號。這樣,舊的程序就可以在新計算機上由軟件仿真出來的一個虛擬舊計算機係統中運行。朗頓說:“這是將過程從一個媒介轉到另一個媒介上的直接體驗。硬件是什麽並不重要,因為你可以在任何硬件中運行程序。重要的是要抓住過程的本質。”這讓他開始遐想,生命是否也能從碳結構中提取出來,轉化成矽結構。
替代兵役工作結束之後,朗頓在滑翔運動上消磨了一個夏天。他和一位朋友得到一份日薪25美元的工作——在北卡羅來納州老爺山上空滑翔,以招徠遊客。他們每次都要在風速為每小時40英裏的高空中逗留數小時。一天,一陣狂風襲擊了朗頓,導致他從空中墜落。他以胎兒的姿勢摔在地上,折斷了35根骨頭,其中包括頭部除顱骨以外的所有骨頭。盡管他的膝蓋撞碎了臉,但他還活著。接下來他臥床6個月,處於半昏迷狀態。
在嚴重腦震蕩恢複過程中,朗頓感覺他正看著自己的大腦在“重啟”,仿佛計算機重啟時必須重新載入操作係統一樣。他大腦深層的功能一個接一個地重現。朗頓記得那靈光一現的刹那,他的本體感受——那種在一具軀體之中的感知——複原了。他為一種“強烈的發自內心深處的直覺”所震撼,感知的本我融入肉體,好像他這架機器完成了重啟,正等待著被投入使用。“關於心智形成是什麽感覺,我有親身的體驗,”他告訴我。正如他曾經在計算機上看到生命一樣,現在,他對他自己那處於機器中的生命有了發自內心的認識。生命是否可以獨立於母體而存在?他體內的生命和計算機中的生命難道不能是一樣的嗎?
他想,要是能在計算機中通過進化使某種東西成活,那豈不是很棒!他覺得應該從人類文化入手。對人類文化進行模擬似乎比模擬細胞和dna容易得多。作為亞利桑那州立大學的大四學生,朗頓寫了一篇題為《文化的進化》(e evolution of culturee)的論文。他希望他的人類學、物理學和計算機科學教授們能認同他製造一台可運行人工進化程序的計算機的想法,並以此獲得學位,但是教授們不鼓勵他這麽做。他自己掏錢買來了一台蘋果ii型電腦,並編寫了他的第一個人工世界。他沒能實現自我複製或自然選擇,但是他找到了元胞自動機[10]的大量文獻——文獻表明,“生命遊戲”僅僅是元胞自動機模型的一個例子。
這時,他偶然讀到約翰·馮·諾依曼在20世紀40年代對人工自我複製的論證。馮·諾依曼提出了一個會自我複製的裏程碑式公式。不過實現這個公式的程序冗長而令人費解。在接下來的幾個月裏,朗頓每夜都在他的蘋果ii型電腦上編寫代碼(這是馮·諾依曼不具備的有利條件;他是用鉛筆在紙上完成他的編碼的)。終於,靠著他那要在矽片中創造生命的夢想的引導,朗頓設計出了當時人們所知的最小的自我複製器。在計算機屏幕上,這個自我複製器看上去就像一個藍色的小q。在這個僅有94個字符的循環中,朗頓不僅塞進了完整的循環語句,還有如何進行複製的指令以及甩出複製好的另一個自我的方法。他太興奮了。如果他能設計出如此簡單的複製器,那麽他還能模仿出多少生命的關鍵過程呢?再者,生命還有哪些過程是不可或缺的呢?
對現有文獻資料的仔細搜索顯示,關於這個簡單問題的著述非常有限,而那有限的論述,又分散在數百篇論文中。洛斯阿拉莫斯實驗室的新研究職位給朗頓壯了膽。1987年,他以破釜沉舟的決心召集了“活係統合成與模擬跨學科研討會”[11]上——這是首屆討論(如今朗頓稱為)人工生命問題的會議。為了尋找能顯現出活係統行為的任何一種係統,朗頓舉辦了這個麵向化學家、生物學家、計算機科學家、數學家、材料科學家、哲學家、機器人專家和電腦動畫師的專題研討會。我是與會為數不多的記者之一。 17.7 生命的動詞
在專題研討會上,朗頓開始探求生命的定義。現有的生命定義似乎不夠充分。首屆研討會結束後多年裏,更多的學者對此進行了研究。在此基礎上,物理學家多恩·法默提出了界定生命的一個特征列表。他說,生命具有:
◎時間和空間上的模式
◎自我複製的能力
◎自我表征(基因)的信息庫
◎使特征持久的新陳代謝功能
◎功能交互——它並非無所事事
◎彼此相互依賴,或能夠死亡
◎在擾動中保持穩定的能力
◎進化的能力
這個清單引起了爭議。因為,盡管我們不認為計算機病毒是活的,它卻符合上述大多數條件。它們是一種能夠複製的模式;它們包含一份自我表征的副本;它們截獲計算機新陳代謝(cpu)的周期;它們能死亡;而且它們也能進化。我們可以說計算機病毒是首例湧現出來的人工生命。
另一方麵,有些東西毫無疑問是生物,但是卻並不符合此清單的所有條件。騾子不能自我複製,皰疹病毒也沒有新陳代謝。朗頓在創造能自我複製的個體上的成功也令他懷疑,人們是否能達成對生命定義的共識:“每當我們成功地使人工生命達到生命所定義的標準時,生命的定義都會被擴充或被改變。譬如,傑拉爾德·喬伊斯認為生命是能夠經曆達爾文式進化的自立化學係統,我相信,到2000年時,世界上某個實驗室就會造出一個符合這個定義的係統。然後,生物學家就會忙著重新定義生命。”
朗頓對人工生命的定義則要更容易為人們所接受。他說,人工生命是“從不同的材料形式中提取生命邏輯的嚐試”。他的論點是,生命是一個過程,是不受特殊材料表現形式限製的行為。對生命而言,重要的不是它的組成材料,而是它做了什麽。生命是個動詞,不是名詞。法默對生命標準列出的清單描述的是行動和行為。計算機科學家們不難把這個生命特征的清單想象為變化多樣的過程。朗頓的同事斯蒂恩·拉斯穆森也對人工生命感興趣,他曾經把鉛筆扔在辦公桌上歎息道:“在西方,我們認為鉛筆要比鉛筆的運動更真實。”
如果鉛筆的運動是其本質,是真實的那部分,那麽,“人工”就是一個誤導詞。在第一屆人工生命會議上,當克雷格·雷諾茲展示出他是如何能夠利用三個簡單的規則就使無數的電腦動畫鳥在計算機中自發地成群結隊地飛行時,所有的人都能看到一個真實的群飛畫麵。這是人工鳥真正在群飛。朗頓總結這個經驗說:“關於人工生命,要記住的最重要部分是,所謂人工,不是指生命,而是指材料。真實的事物出現了。我們觀察真實的現象。這是人工媒介中的真實生命。”
生物學這門對生命普遍原理進行研究的學科正經曆著劇變。朗頓說,生物學麵臨著“無法從單一實例中推論出普遍原理的根本障礙”。地球上的生命隻有單一的集體實例,而它們又有著共同的起源,因此,想把它們的本質及普適特征與次要特征區分開來是徒勞無功的。比如,我們對生命的看法在多大程度上是取決於生命由碳鏈結構組成的事實?如果連一個建立在非碳鏈結構上的生命實例都沒有,我們又怎能弄清這個問題?為了推導出生命的普遍原理和理論,即識別任何活係統和任何生命所共享的特征,朗頓主張“我們需要一整套實例來做出結論。既然在可見將來,外來生命形式都不太可能自己送上門來供我們研究,那麽唯一的選擇就是靠自己的努力製造出另一種生命形式”。這是朗頓的使命——製造出另一種甚至是幾種不同形式的生命,以此作為真正的生物學的依據,推導出生命本原的可靠邏輯。由於這些另類生命是人工製品而非自然產物,我們稱其為人工生命;不過,它們和我們一樣真實。
這種雄心勃勃的挑戰在一開始就將人工生命從生物學中分離出來。生物學設法通過剖析生物,將其分解為部分來了解生物體。而人工生命沒什麽可解剖。因此,它隻能通過將生物聚合在一起、把部分組裝成整體的方式取得進展,它是在合成生命,而不是分解生命。因此,朗頓解釋說:“人工生命相當於是合成生物學的實踐。” 17.8 在超生命的國度中安家落戶
人工生命承認存在新的生命形式以及對生命的新定義。所謂“新”生命,其實也是舊瓶裝新酒,是用舊的力量以新的方式來組織物質和能量。我們的祖先在看待什麽是“活”的問題上很寬鬆。而在科學時代,我們對“活”的概念進行了細分。我們稱動物和綠色植物是活的,但當我們把一個郵局那樣的機構稱為“有機體”時,我們的意思是說它與生物有類似之處,“仿佛是活的”。
我們(此處我首先是指科學家)開始認識到那些一度被比喻為活著的係統確實活著,不過,它們所擁有的是一種範圍更大、定義更廣的生命。我將之稱為“超生命”。超生命是一種特殊形式的活係統,它完整、強健、富有凝聚力,是一種強有力的活係統。一片熱帶雨林和一枝長春花,一個電子網絡和一個自動駕駛裝置,模擬城市遊戲和紐約城,都是某種意義上的超生命。“超生命”是我為包括艾滋病毒和米開朗基羅計算機病毒在內的生命類型而造的詞匯。
生物學定義的生命不過是超生命中的一個物種罷了。電話網絡則是另一個物種。牛蛙雖小,卻充滿了超生命。亞利桑那州的生物圈二號項目則到處都聚集著超生命,“地球”和終結者2號也一樣。將來某一天,超生命將會在汽車、建築物、電視和試管中發展壯大。
這並不是說有機生命和機器生命是完全相同的;他們不相同。水黽將永遠保留某些碳基生命獨一無二的特點。不過,有機的和人工的生命共享一套我們剛剛開始學會辨別的特性。當然,世上很可能還會出現其他我們暫時還無法描述的超生命形式。人們可以想象生命的各種可能性——由生物和人造合成物雜交而出的怪種,舊科幻小說中出現的半動物/半機器的電子生化人——也許會自然演化出在父母雙方身上都找不到的超生命特性。
人類為創造生命而做的每一次嚐試都是在探索可能存在的超生命空間。這個空間包含所有能夠再造地球生命起源的要素。但我們所要承擔的挑戰遠不止於此。創造人工生命的目的不僅僅是描述“如我們所知的生命”空間。激勵朗頓進行探索的,是描繪出所有可能存在的生命空間的渴望,是把我們帶入非常非常廣闊的“如其可能存在的生命”領域的使命。超生命這座圖書館包含了所有的活物、所有的活係統、所有的生命薄片、所有抵製熱力學第二定律的東西、過去和未來中能夠無限進化的種種物質組合,以及某種我們還說不清楚的非凡之物。
探索這個未知領域的唯一方法是建立眾多實例,然後看看它們是否適合於這個空間。朗頓在為第二屆人工生命會議論文集所寫的介紹中提出:“假設生物學家能夠‘倒回進化的磁帶’,然後在不同的初始條件下,或在不同的外部擾動下一遍遍重放,他們就有可能擁有完整的進化路徑來得出結論。”不斷地從零開始,稍微改變一下規則,然後建立起一個人工生命的實例。如此反複無數次。每個合成生命的實例都被添加到地球上有機生命的實例中,以形成一個完滿的超生命體。
由於生命是一種形式,而非物質,我們能植入“活”行為的材料越多,能夠積累的“如其可能存在的生命”的實例就越多。因此,在所有通往複雜性的途徑中,人工生命的領域是廣闊而多樣的。典型的人工生命研究者聚會往往包括生物化學家、計算機奇才、遊戲設計師、動畫師、物理學家、數學呆子和機器人愛好者。聚會背後的議題是要突破生命的定義。
一天晚上,在首屆人工生命大會的一次午夜演講之後,我們中一些人正眺望著沙漠夜空中的繁星,數學家魯迪·魯克爾講出了一番研究人工生命的動機——這是我聽到過的最高遠的動機:“目前,普通的計算機程序可能有一千行長,能運行幾分鍾。而製造人工生命的目的是要找到一種計算機代碼,它隻有幾行長,卻能運行一千年。”
這番話似乎是對的。我們在製造機器人時也懷著同樣的想法:用幾年的時間設計,之後能讓它們運行幾個世紀,甚至還能製造出它們的替代品。正如橡子一般,幾行的編碼卻能長出一顆180年的大樹。
與會者認為,對人工生命來說,重要的不僅是要重新界定生物學和生命,而且要重新定義人工和真實的概念。這在根本上擴大著生命和真實的領域。與以往學術界“不能發表就是垃圾”的模式不同,多數從事人工生命研究的實驗者,甚至是數學家們,都支持新的學術信條:“演示或死亡。”要想在人工生命和超生命上取得任何一點進展,唯一的辦法就是運行一個有效的實例。前蘋果公司雇員肯·卡拉科提西烏斯在解釋自己是如何開始從事人工生命的研究時回憶道:“每遇到一種計算機,我都試著在其中編寫生命遊戲的程序。”最終在蘋果機上實現了名為“模擬生命”的人工生命程序。在“模擬生命”中,你能創建一個超生命的世界,並將一些小生物放入其中,使其共同進化成為一個越來越複雜的人工生態係統。現在,肯正試圖編寫出最大最好的生命遊戲,一個終極的“活”程序:“要知道,宇宙是唯一足夠大能運行終極生命遊戲的地方。然而,將宇宙作為平台的唯一難題是,眼下它正在運行別人的程序。”
目前在蘋果公司任職的拉裏·雅格曾經給過我一張他的名片。名片上是這樣寫的:“拉裏·雅格,微觀宇宙之神。”雅格創造了多邊形世界——一個包括了多種多邊形有機物的尖端計算機世界。數以百計的多邊形物飛來飛去,交配、繁殖、消耗資源、學習(雅格神給予它們的能力)、適應並進化。雅格正在探索可能的生命的空間。會出現什麽呢?“一開始,”雅格說,“我的設定是繁殖並不消耗能量。它們可以隨心所欲地繁殖後代。但我不斷地得到這麽一類家夥,遊手好閑的食人族:他們喜歡在其父母和子女附近的角落裏閑逛,什麽也不做,就待在那兒。它們所做的隻是相互交配,相互爭鬥,相互吞食。既然能靠吃孩子過日子還幹什麽活呢!”這意味著,某種超生命形態出現了。
“研究人工生命的核心動機是為了擴大生物學的領域,使之能囊括比地球上現有生命形式種類更多的物種。”多恩·法默輕描淡寫地描述了人工生命之神所擁有的無窮樂趣。
法默對某些事情已經心中有數了。人工生命之所以在人類所做的嚐試中是獨一無二的,還有另外一個原因。像雅格那樣的神靈正在擴展生命的種類,因為“如其可能存在的生命”是一個我們隻能通過先創建實例再進行研究的領域。我們必須製造出超生命,然後才能對其進行探索;要探索超生命,就必須製造出超生命。
當我們忙於創造一個個超生命的新形式時,我們的腦海中悄然出現了一個令人不安的想法。生命在利用我們。有機的碳基生命隻不過是超生命進化為物質形式的第一步而已。生命征服了碳。而如今,在池塘雜草和翠鳥的偽裝下,生命騷動著想侵入水晶、電線、生化凝膠、以及神經和矽的組合物。看看生命向何處發展,我們就會同意發育生物學家劉易斯·海爾德說的話:“胚細胞隻不過是經過偽裝的機器人。”在第二屆人工生命會議上,湯姆·雷在其為大會論文集所寫的報告中寫道:“虛擬生命就在那裏,等著我們為其建立進化的環境。”在《人工生命》(articial life: eing evolution)一文中有這樣一段敘述,朗頓告訴史蒂文·列維:“其他形式的生命——人造生命——正試圖來到這個世界。它們在利用我來繁衍和實現它們。”
生命,特別是超生命,想要探索所有可能的生物學和所有可能的進化方式。而它利用我們創造它們,因為這是唯一探索它們的途徑。而人類的地位——所謂仁者見仁,智者見智——既可能僅僅是超生命匆匆路過的驛站,也可能是通往開放宇宙的必經之門。
“隨著人工生命的出現,我們也許是第一個創造自己接班人的物種。”多恩·法默在其宣言式的著作《人工生命:即將到來的進化》中寫道:“這些接班人會是什麽樣?如果我們這些創造者的任務失敗了,那他們確實會變得冷酷而惡毒。不過,如果我們成功了,那他們就會是在聰明才智上遠遠超過我們的、令人驕傲的開明生物。”對於我們這些“低等”的生命形式來說,他們的智力是我們所不能企及的。我們一直渴望成為神靈。如果借助我們的努力,超生命能找到某種合適的途徑,進化出使我們愉悅或對我們有益的生物,那我們會感到驕傲。但是,如果我們的努力將締造出超越我們、高高在上的接班人,那我們則會心存恐懼。
克裏斯·朗頓辦公室的斜對麵是洛斯阿拉莫斯原子博物館——它警示著人類所具有的破壞力。那種力量使朗頓不安。“20世紀中期,人類已經獲得了毀滅生命的力量,”他在自己的一篇學術論文中寫道,“而到20世紀末期,人類將能夠擁有創造生命的力量。壓在我們肩頭的這兩付重擔中,很難說哪一付更沉重。”
我們到處為其他生命種類的出現創造空間:少年黑客放出了威力巨大的計算機病毒;日本工業家組裝了靈敏的繪畫機器人;好萊塢導演創造了虛擬的恐龍;生物化學家把自行進化的分子塞進微小的塑料試管。終有一天,我們會打造出一個能夠持續運行並能夠創造恒新的開放世界。我們也將籍此在生命的空間中另辟蹊徑。
丹尼·希利斯說他想製造一台以他為榮的計算機,這可不是玩笑話。還有什麽能比賦予生命更具人性?我想我知道答案:賦予生命和自由。賦予開放的生命;對它說,這是你的生命,這是汽車鑰匙;然後,讓它做我們正在做的事情——在前進的路上,一切由它自主。湯姆·雷曾經對我說:“我不要把生命下載到計算機中。我要將計算機上傳到生命中。”
[1] lisp語言:lisp是list processing的縮寫,即表處理語言,誕生於20世紀60年代左右。表(list)是lisp語言中求值和運算的基本單位。由於lisp語言建立在遞歸邏輯的基礎上,形式化程度很高,適合於符號運算和問題求解,至今仍是人工智能最常用的語言之一。
[2] 湯(soup):在英語中有alphabet soup的用法,用於指一種用字母狀麵團作湯料的湯。可查的說法有二:一是說此湯是父母為鼓勵兒童學字而做,喝湯的兒童可以把湯內的字母隨意組合,從而能學到詞匯;二是指在網上遇到的需要處理的一大堆雜亂字母戲稱為“字母湯”。此外,在生命起源的問題上經常將產生生命的初始狀態(科學家推測,生命起源於呈混合溶液狀態的物質“湯”)稱為湯。
[3] tic-tac-toe:一個很有名的益智遊戲。弈者在井字形的9個方格上輪流落子,三點連成一條直線(橫、豎、斜均可)的一方獲勝。隻要弈法得當,雙方一定會以和局結束。
[4] 魯賓·戈德堡(rube goldberg):美國漫畫家,畫了許多用極其複雜的方法完成簡單小事的漫畫。比如把雞蛋放進小碟子這種事,在戈德堡筆下可能是這樣的:一個人從廚房桌子上拿起晨報,於是牽動了一條打開鳥籠的線,鳥被放出來,順著鳥食走向一個平台。鳥從平台摔到一灌水上,水灌翻倒,拉動扳機,使手槍開火。猴子被槍聲嚇得把頭撞在係有剃刀的杯子上,剃刀切入雞蛋,打開雞殼,使雞蛋落入小碟子中。
[5] f=ma:這個公式描述的是牛頓力學第二定律,即加速度定律,f為外力,m為質量,a為加速度。
[6] 代達羅斯(daedalus):希臘神話中技藝高超的匠人,他發明了刨子、吊線與膠水。
[7] 飛反效應(boomerang effect):指產生與原目標相反的效果,在經濟、廣告等行業有許多例子。
[8] 核酶(ribozyme):是一種化學本質上為核糖核酸(rna)卻具有酶的催化功能的物質。核酶的發現,打破了酶都是蛋白質這一傳統認識,並使得分子層麵上的進化成為可能。發現核酶的兩位美國科學家因此而獲得1989年的諾貝爾化學獎。
[9] 洛斯阿拉莫斯國家實驗室(los mos nationalboratory):位於新墨西哥州洛斯阿拉莫斯,是隸屬於美國能源部的國家實驗室。該實驗室曾研製首枚原子彈,是曼哈頓計劃所在地。20世紀90年代興起的複雜科學和人工生命,也與該實驗室有密切關係。此外,被美國政府錯誤地以間諜罪名起訴的華人科學家李文和也是在此實驗室工作。
[10] 元胞自動機(cellr automata):也稱為細胞自動機、格狀自動機,是一種離散模型,具有並行計算的特征。
[11] 活係統合成與仿真跨學科研討會(interdisciplinary workshop on the synthesis and simtion of living systems):這個會議後來更名為“人工生命”(artificial life)大會。