第十七章 開放的宇宙

17.1拓展生存的空間

一群蜜蜂從蜂巢裡溜出來,然後聚成一團懸掛在一根樹枝上。如果附近的養蜂人運氣好的話,它們落腳的樹枝很容易夠著。此時,這些喝飽了蜂蜜又不需要看護幼蜂的蜜蜂就像瓢蟲一樣溫順。

我曾有過一兩次將懸聚在我頭部高度的蜂團移進自己的空蜂箱的經歷。將上萬只蜜蜂從樹枝上移入蜂箱的過程可說是生活中的一場奇妙表演。

如果有鄰居在看,你可以給他們露一手:在嗡嗡作響的蜂團下鋪上一塊白布或者一大塊硬紙板。將布單一邊蓋在空蜂巢底部拉出的門板上,使布或硬紙板形成一個導向蜂巢入口的巨大坡道。此時,戲劇性地停一下,然後抓住樹枝用力一抖。

蜂團整個兒從樹上掉下來,落到布單上四下奔湧,像翻騰的黑色糖漿。成千上萬只蜜蜂交疊在一起,亂鬨鬨地擠作一堆,嗡嗡作響。慢慢地,你會看出些眉目。蜜蜂們面向蜂巢的開口排成一行,魚貫而入,就像是接受了同一個指令的小小機器人。它們確實收到了指令。如果你俯下身來靠近白布,將鼻子湊近蠕動的蜂群,會聞到玫瑰花似的香味。你會看見蜜蜂們一邊行進,一邊弓著背,猛烈地扇動著翅膀。它們正從自己的尾部噴出玫瑰香氣,並把它扇到身後的隊伍裡。這種香氣告訴後面的夥伴們:"蜂后在此,跟我來。"第二個跟著第一個,第三個跟著第二個,五分鐘後,整個蜂群都鑽進了蜂箱,布單上幾乎空空如也。

地球上最初的生命是不可能上演這一幕的。這並非因為缺少足夠的變種。早期的基因根本就沒有施展這種本事的能力。用玫瑰的味道來協調上萬只飛蟲聚成一個目標明確的爬行怪物,這不是早期生命所能做到的。早期生命不僅還未能創造出大戲上演的舞臺----工蜂、蜂后、花蜜、樹、蜂巢、資訊素,而且連搭建這個舞臺的工具也還沒有創造出來。

大自然之所以能產生令人震驚的多樣性,是因為它在本質上是開放的。生命不會僅靠最早誕生的那幾個基因去產生令人眼花潦亂的變化。相反,生命最早的發現之一是如何創造新的基因,更多的基因,可變的基因,以及一個更大的基因庫。

博爾赫斯圖書館裡的一本書含有相當於100萬個基因的資訊量;而一幀高解析度好萊塢電影畫面所含的資訊相當於3000萬個基因。由此構建的"書庫"儘管堪稱龐大,在由所有可能存在的書庫組成的"元書庫"中,它們不過是一粒塵埃。

生命的特徵之一是它會不斷地拓寬自身的生存空間。大自然是一個不斷擴充套件的可能性之庫,是一個開放的大千世界。生命一邊從書架上抽出最不可思議的書來,一邊為藏書增建廂房,為更不可思議的文本創造空間。

我們不知道生命如何突破了從固定基因空間到可變基因空間的分界線。也許某一個特殊的基因決定著染色體中基因的數量。只要使那一個基因產生變異,就可以使鏈中基因的總數增加或減少。也許基因組的大小是由多個基因間接決定的。或者更有可能的是,基因組的大小是由基因系統自身的結構決定的。

湯姆·雷的實驗顯示,在他的自我複製世界裡,可變的基因長度瞬時就湧現出來了。他的創造物自行決定其基因組的長度(由此也決定了它們可能存在的基因庫的規模),短至出乎他意料的22位元組,長至23000位元組。

開放的基因組帶來開放的進化。一個預先設定了每個基因的工作或基因數量的系統只能在預先設定的範圍內進化。道金斯、拉薩姆和西姆斯最初的那些系統以及俄羅斯程式設計師的電子魚,都擱淺在這個侷限性上。它們也許能生成所有可能的具有既定大小和深度的畫面,但不能生成所有可能的藝術品。一個沒有預先確定基因角色和數量的系統才能出奇制勝。這就是湯姆·雷的創造物造成轟動的原因。從理論上說,他的世界只要執行時間夠長,在最終的形式庫中就能進化出任意東西。

17.2生成影像的基元組

形成開放基因組的方法不止一種。1990年,卡爾·西姆斯利用二代連線機(cm2)的超級計算能力設計了一個由長度可變基因組成的新型人工世界,比他設計的植物影像世界更為先進。西姆斯的妙招是創造一個由小方程而非長串數碼組成的基因組。他原來的基因庫中每個固定長度的基因各控制著植物的一個視覺引數;這個新基因庫則擁有長度不定且可自由擴充套件的方程,籍此繪製各種曲線、色彩和形狀。

西姆斯的方程----或著說基因,是一種計算機語言(lisp)的小型自包含邏輯單元。每一個模組都是一個算數指令,諸如加、減、乘、餘弦、正弦。西姆斯把這些單元統稱為"基元組"----它們構成了一個邏輯的字母表。只要有一張恰當的邏輯字母表在手,就可以建立任何方程,就像用適當多樣的語音元素表就能合成任何語音句子一樣。加、乘、餘弦等的相互組合能產生任何我們想得出的數學方程。既然任何形狀都可以用方程來表達,這一基元字母表也就可以畫出任何一種影像。增加方程的複雜性也就神奇地擴大了所生成影像的複雜性。

方程基因庫還有個意外的好處。在西姆斯的原版世界(以及在湯姆·雷的"地球"和丹尼·希利斯的共同進化的寄生蟲世界中),有機體是一串串每次隨機轉換一個數字的數碼,就像博爾赫斯圖書館裡的書那樣,一次改變一個字母。而在西姆斯的改良版世界裡,有機體成了一串串每次隨機轉換一個基元的邏輯基元組。仍以博爾赫斯圖書館為例的話,這次被調換的是詞而不是字母。每本書裡每個詞的拼寫都正確,每本書的每一頁由此就更有實際意義。但是,對於以詞為原料的博爾赫斯圖書館來說,要煮這鍋湯至少需要數以萬計的詞,而西姆斯僅用一打左右的數學基元就能列出所有可能的方程。

對邏輯單元而不是數字位元做進化,最根本的優勢還在於它能馬上將系統引上通往開放宇宙的大道。邏輯單元本身就是功能,而不像數字位元那樣僅僅是功能的數值。在任意一個地方增加或交換一個邏輯基元,程式的整體功能就會產生轉變或得到擴充套件,從而在系統中湧現出新功能和新事物。

而這就是西姆斯的發現。他的方程進化出全新的影像,並把它們顯示到計算機螢幕上。這個新的空間是如此之豐富,使西姆斯大為震驚。由於基元組只包含邏輯部件,西姆斯的lisp字母表確保了大部分方程所繪出的影像都具有某種模式。螢幕上不會再充斥著模糊灰暗的影像,無論西姆斯"漫步"到哪裡,都能看到令人驚豔的風景。"藝術"彷彿成了信手拈來之物。一開始,螢幕上佈滿了狂野的紅色和藍色之字形線條。下一刻,螢幕的上部點綴著黃色的斑斑點點。之後,斑點下出現一條朦朧的水平線,再接著,是重筆墨的波浪伴著藍色的海天一線。再然後,斑點洇成毛莨花般嫩黃的圓暈。幾乎每一輪畫面都展現出驚人的創意。一小時內,上千張美輪美奐的影像被從其藏身之所喚起,第一次也是最後一次展現在我們面前。這好比站在世上最偉大的畫家身後,觀看他創作從不重複主題和風格的速描。

當西姆斯選中一幅圖畫,繁衍出其變種,再從中選取另一幅時,他所進化的不只是影像。撇開表象,西姆斯進化的是邏輯。一個相對較小的邏輯方程能繪製出一幅讓人眼花繚亂的複雜圖畫。西姆斯的系統曾經進化出下面這段邏輯程式碼:

(cos(round(atan(log(inverty)(+(bump(+(roundxy)y)#(0.460.820.65)0.02#(0.10.060.1)#(0.990.060.41)1.478.73.7)(color-grad(round(+yy)(log(invertx)(+(inverty)(round(+yx)(bump(warped-ifs(roundyy)y0.080.067.41.656.10.543.10.260.7315.85.78.90.497.215.60.98)#(0.460.820.65)0.02#(0.10.060.1)#(0.990.060.41)0.838.72.6)))))3.16.8#(0.950.70.59)0.57)))#(0.170.080.75)0.37)(vectory0.09(cos(roundyy)))))

這個方程在西姆斯的彩色螢幕上繪出了一幅引人注目的圖畫:北極的落日餘輝映照在兩根冰柱上,冰柱晶瑩剔透;遠方的地平線淡然而寧靜。這可堪比一個業餘畫家的大作哩。西姆斯告訴我說:"這個方程的進化從頭到尾僅用了幾分鐘時間----如果是人類有意為之的話,可比這個費功夫多了。"

但是西姆斯卻無從解釋方程背後的邏輯以及它為何會繪出一幅冰的圖畫。在這個方程面前,西姆斯和我們一樣茫然無知。方程所隱藏的邏輯已經無法用簡單明瞭的數學來破解。

17.3無心插柳柳成蔭

真正開始將邏輯程式的進化從理論付諸實踐的是約翰·柯扎。他是斯坦福大學電腦科學系的教授,約翰·霍蘭德的學生。他和霍蘭德的另外幾個學生一起使20世紀60~70年代一度被冷落的霍蘭德遺傳演算法重放光芒,進入到80年代末並行演算法的復興時期。

與"藝術家"西姆斯不同,柯扎並不滿足於單純地探索可能之方程的空間,他想進化出能夠解決特定問題的最佳方程。舉個牽強一點的例子,假設在所有可能的影像中有一幅圖會吸引奶牛凝視它,並由此提高產奶量。柯扎的方法就可以進化出能繪製這一特定影像的方程。在這個例子中,柯扎會對那些所繪影像哪怕只是輕微增加產奶量的方程給予賞獎,直至牛奶產量無法再得到提高。當然,柯扎所選的問題要比這實際得多,譬如,找出一個能操縱機器人移動的方程。

但從某種意義上來說,他的搜尋方式與西姆斯以及其他研究者的相似。他也在由可能存在的計算機程式組成的博爾赫斯圖書館內搜尋----只不過不是毫無目的地東瞧瞧西看看,而是去尋找解決特定實際問題的最佳方程。柯紮在《遺傳程式設計》(geneticprogramming)一書中寫道:"這些問題的求解過程可以重新表述為在可能存在的計算機程式中搜尋最合適的單個計算機程式。"

柯扎通過繁衍"找到"方程的想法之所以被認為有悖常理,和計算機專家對雷的進化方案嗤之以鼻的理由是一樣的。過去,人人都"知道"邏輯程式是脆弱的,不能容忍任何變動。電腦科學理論中,程式只有兩種狀態:(1)無故障執行;(2)修改後執行失敗。第三種狀態----隨機修改後還能執行----是不可能的。程式輕度出軌被稱為程式漏洞,這是人們耗費大量財力試圖避免的。專家們過去認為,如果計算機方程漸進式改良(進化)真有可能的話,也肯定只會出現在少數罕見領域或專門型別的程式中。

然而,人工進化的研究成果出乎意料地表明,傳統觀點大錯特錯了。西姆斯、雷和柯扎都有絕妙的證據來證明,邏輯程式是可以通過漸進式改良進化的。

柯扎的方法基於一種直觀判斷,即如果兩個數學方程在解決一個問題時多少有些效果,那麼它們的某些部分就是有價值的。如果這兩者有價值的部分能被重新整合成一個新程式,其結果可能比兩個母程式中的任何一個都更有效。柯扎數千次地隨機重組兩個母程式的各個部分,希望從機率上講,這些組合中能包含一個程式,對母程式中有價值的部分做了最優安排,因而能更好地解決問題。

柯扎的方法和西姆斯的有很多相似之處。柯扎的"資料培養液"也含有大約一打用lisp語言表達的數學基元,諸如加、乘、餘弦。這些基元隨機串在一起形成一棵棵邏輯"樹"----一種形似計算機流程圖的層次結構。柯扎的系統像繁殖人口一樣建立了500到10000個不同的獨立邏輯樹。"資料培養液"通常在繁衍了大約50代之後收斂到某個合適的後代身上。

樹與樹之間交換分枝迫使它們產生變種。有時嫁接的是一根長樹枝,有時僅僅是一根細枝或枝頭的"葉子"。每根樹枝都可以被看作是由更小的分枝構成的完整無缺的邏輯子程式。通過分枝交換,一小段方程(一根樹枝),或一個有用的小程式,可以得到儲存甚至傳播。

通過方程進化能解決形形色色的古怪問題。柯扎用它來解決的一個經典難題是如何讓一根掃把立在滑板上。滑板必須在馬達的推動下來回移動,使倒立的掃帚在板中央保持直立。馬達控制的計算量驚人,但在控制電路上與操縱機器人手臂的電路並無多大區別。柯扎發現,他可以進化出一個程式來實現這種控制。

被他用來測試方程進化的問題還有:走出迷宮的策略;二次方程的求解方法;最佳化連線眾多城市最短路徑的方法(又稱為旅行商問題);在tictac-toe一類簡單遊戲中勝出的策略。在每個例子中,柯扎的系統每次都會去尋找解決問題的一般公式,而不是尋找每一個測試例項的具體答案。一個公式經受不同例項的測試越多,這個公式就會進化得越完善。

儘管方程進化能得出有效的解決方案,可這些方案卻往往要多難看有多難看。當柯扎拿起他那些高度進化的寶貝開始檢視細節時,他和西姆斯以及雷一樣感到震驚:解決方案簡直是一團亂麻!進化要麼繞上一個大彎,要麼鑽個曲裡拐彎的邏輯漏洞抄近道。它塞滿冗餘,毫不雅緻。出了錯時,寧願新增一節糾錯程式,或者讓主流程改道繞過出錯的區域,也不願銷去錯誤的部分。最後的公式頗有幾分神奇的魯賓·戈德堡連動裝置的樣子,依靠某些巧合才能運作。當然,它實際上就是架戈德堡神奇連動機。

拿柯扎曾經給他的進化機器玩過的一個問題為例。那是一個由兩條互相纏繞的螺旋線構成的圖形,大致類似於紙風車上的雙重螺旋線。柯扎要求進化方程機器進化出一個最佳方程式,來判定約200個資料點各在互繞雙螺旋的哪一條線上。

柯扎將10000個隨機產生的計算機公式載入到他的資料培養液裡。他放任它們進化,而他的機器則挑選出最有可能獲得正確公式的方程。柯扎睡覺的時候,程式樹交換分枝,偶爾產生一個執行更好的程式。在他度假期間,機器照常執行。待他度假歸來,系統已經進化出能完美劃分雙螺旋線的答案了。

這就是軟體程式設計的未來!定義一個問題,機器就能在程式設計師打高爾夫球的時候找到解決方案。但是,柯扎的機器找到的解決方案讓我們得以一睹進化的手藝。這是它得出的公式:

(sin(iflte(iflte(+yy)(+xy)(-xy)(+yy))(*xx)(sin(iflte(%yy)(%(sin(sin(%y0.30400002)))x)(%y0.30400002)(iflte(iflte(%(sin(%(%y(+xy))0.30400002))(+xy))(%x0.10399997)(-xy)(*(+-0.12499994-0.15999997)(-xy)))0.30400002(sin(sin(iflte(%(sin(%(%y0.30400002)0.30400002))(+xy))(%(siny)y)(sin(sin(sin(%(sinx)(+-0.12499994-0.15999997)))))(%(+(+xy)(+yy))0.30400002))))(+(+xy)(+yy)))))(sin(iflte(ifltey(+xy)(-xy)(+yy))(*xx)(sin(iflte(%yy)(%(sin(sin(%y0.30400002)))x)(%y0.30400002)(sin(sin(iflte(iflte(sin(%(sinx)(+-0.12499994-0.15999997)))(%x-0.10399997)(-xy)(+xy))(sin(%(sinx)(+-0.12499994-0.15999997)))(sin(sin(%(sinx)(+-0.12499994-0.15999997))))(+(+xy)(+yy)))))))(%y0.30400002))))).

這公式不但樣子難看,而且還令人費解。即使對一個數學家或一個計算機程式設計師來說,這個進化出來的公式也是一團亂麻。湯姆·雷說,進化寫的程式碼只有喝醉酒的人類程式設計員才寫得出來。依我看,說進化生成的是隻有外星人才寫得出來的程式碼恐怕才更確切些。這絕非人類所為。對這個方程追本溯源,柯扎終於找到了這個程式處理問題的方式。完全是憑著百折不撓和不擇手段,它才打通了一條艱難曲折又令人費解的解決之道。但這確實管用。

進化得出的答案看起來很奇怪,因為幾乎任何一個高中生都能在一行內寫出一條非常簡潔優雅的方程式來描述這兩條螺旋線。

在柯扎的世界裡沒有要求方案簡潔的進化壓力。他的實驗不可能找到那種精煉的方程式,因為它並不是為此構建的。柯扎試著在執行過程中新增點簡約性因素,卻發現在執行開始就加入簡約性因素會降低解決方案的效率。得到的方案雖然簡單卻只有中下水平。他有證據表明,在進化過程末期加入簡約性因素----也就是說,先讓系統找到一個管用的解決方案,再開始對其進行簡化,這是進化出簡潔方程更好的方法。

但柯扎堅信簡約的重要性被過分高估了。他說,簡約不過是"人類的審美標準"。大自然本身並不特別簡約。舉個例子:時為斯坦福大學科學家的戴維·斯托克分析了小龍蝦尾部肌肉中的神經迴路。當小龍蝦想逃走的時候,其神經網路會引發一個奇怪的後空翻動作。對人類來說,那種迴路看起來如巴洛克建築那般繁複,取消幾個多餘的迴圈指令馬上就可以使它簡化一些。但那堆亂七八糟的東西卻很管用。大自然並不會只為了優雅而簡化。

17.4打破規則求生存

柯扎指出,人類之所以追求類似牛頓的f=ma那樣簡單的公式,是因為我們深信:宇宙是建立在簡約秩序的基礎之上。更重要的是,簡約對人類來說是很方便的。f=ma這個公式比柯扎確定螺旋線的怪物使用起來容易得多,這使我們更加體會到公式中所蘊涵的美感。在計算機和計算器問世前,簡單的方程更加實用,因為用它計算不易出錯。複雜的公式既累人又不可靠。不過,在一定範疇內,無論是大自然還是平行計算機,都不會為繁複的邏輯發愁。那些我們覺得既難看又讓人頭暈的額外步驟,它們能以令人乏味的精確度執行無誤。

儘管大腦像並行機器一般運作,人類意識卻無法並行思考。這一諷刺性的事實讓認知科學家們百思不得其解。人類的智慧有一個近乎神秘的盲點。我們不能憑直覺理解機率、橫向因果關係及同步邏輯方面的各種概念。它們完全不符合我們的思維方式。我們的思維退而求其次地選擇了序列敘述----線性描述。那正是最早的計算機使用馮·諾依曼序列設計方案的原因:因為人類就是這樣進行思考的。

而這也正是為什麼平行計算機必須被進化而不是被設計出來:因為在需要並行思考的時候我們都成了傻子。計算機和進化並行地思考;意識則序列思考。在《代達羅斯》1992年冬季刊上一篇極具爭議的文章裡,思維機器公司的市場總監詹姆斯·貝利描述了平行計算機對人類思維的飛反效應。文章題為《我們先改造電腦,然後電腦改造我們》,貝利在文中指出,平行計算機正在開啟知識的新領域。計算機的新型邏輯反過來迫使我們提出新的問題和視角。貝利暗示道:"也許,世上還有一些截然不同的計算方式,一些只有用並行思考才能理解的方式。"像進化那樣思考也許會開啟宇宙中新的大門。

約翰·柯扎認為,進化處理定義不嚴格的並行問題的能力是它的另一個獨特優勢。教計算機學會解決問題的困難在於,時至今日,為了解決我們遇到的每一個新問題,我們最終還是要逐字逐句地為它重新程式設計。如何才能讓計算機自行完成任務,而不必一步步告訴它該做什麼和怎麼做?

柯扎的答案是:進化。現實世界中,一個問題可能有一個或多個答案,而答案的範圍、性質或值域可能完全模糊不清。進化就可以讓計算機軟體解決這種問題。譬如:香蕉掛在樹上,請給出摘取程式。至今大多數計算機學習都不能解決這樣的問題。除非我們明確地向程式提供一些明確的引數作為線索,諸如:附近有多少梯子?有沒有長竿?

而一旦定義了答案的界限,也就等於回答了問題的一半。如果我們不告訴它附近有什麼樣的石頭,我們知道是不會得到"向它扔石頭"的答案的。而在進化中,則完全有這個可能。更可能出現的情況是,進化會給出完全意想不到的答案,譬如:使用高蹺;學習跳高;請小鳥來幫忙;等暴風雨過後;生小孩然後讓他們站在你的頭上。進化並不一定要昆蟲飛行或游泳,只要求它們能夠快速移動來逃避捕食者或捕獲獵物。開放的問題得出了諸如水蠅用腳尖在水上行走或蚱蜢猛然跳起這樣各不相同卻明確的答案。

每一個涉足人工進化的人都為進化能輕而易舉地得出異想天開的結果而大為吃驚。湯姆·雷說:"進化可不管有沒有意義;它關心的是管不管用。"

生命的天性就是以鑽常規的漏洞為樂。它會打破它自己所有的規則。看看這些生物學上令人瞠目結舌的奇事吧:由寄居在體內的雄魚來進行授精的雌魚,越長越萎縮的生命體,永遠不會死的植物。生命是一家奇物店,貨架上永遠不會缺貨。自然界層出不窮的怪事幾乎跟所有生命的數量一樣多;每一種生物在某種意義上都在通過重新詮釋規則來為自己找活路。

人類的發明物就沒有那麼豐富了。大部分機器被造來完成某個明確的任務。它們遵照我們舊式的定義,服從我們的規則。然而,如果讓我們構想一架理想的、夢寐以求的機器的話,它應該可以改變自身來適應環境,更理想的是,它還能自我進化。

適應是對自身結構的扭曲,以使之能夠鑽過一個新漏洞。而進化是更深層的改變,它改變的是構建結構本身的架構----也即如何產生變化的方式,這個過程常常為其他人提供了新的漏洞。如果我們預先確定了一臺機器的組織結構,也就預先確定了它能解決怎樣的問題。理想的機器應該是一臺通用問題解決機,一臺只有想不到沒有做不到的機器。這就意味著它必須擁有一種開放性的結構。柯扎寫道:"(解決方案的)規模、形式以及結構複雜度都應是答案的一部分,而不是問題的一部分。"當我們認識到,是一個系統自身的結構決定了它所能得出的答案,那麼我們最終想要的是如何製造出沒有預先定義結構的機器。我們想要的是一種不斷自我更新的機器。

那些致力於推動人工智慧研究的人無疑會對此大唱讚歌。在沒有任何提示和限定答案方向的前提下,能想出一個解決方案----人們稱之為橫向思維,幾乎就等同於人類的智慧了。

我們所知唯一一臺能重塑自己內部連線的機器就是我們稱為大腦的灰色活體組織(大腦灰質)。我們目前唯一可以設想付諸生產的重塑自身結構的機器,可能是一種能夠自我改編的軟體程式。西姆斯和柯扎的進化方程是通向自我改程式設計式的第一步。一個可以繁衍其他方程的方程正是這種生命種類的基土。繁衍其他方程的方程就是開放性宇宙。在那裡任何方程都能產生,包括自我複製的方程和銜尾蛇式的無限迴圈公式。這種循作用於自身並重寫自身規律的遞迴程式,蘊涵著世上最宏偉的力量:創造恆新。

"恆新"是約翰·霍蘭德使用的片語。多年來,他一直在潛心研究人工進化方法。用他的話說,他真正在從事的,是一種恆新的新數學。那是能夠創造永無止盡的新事物的工具。

卡爾·西姆斯告訴我:"進化是一個非常實用的工具。它是一種探索你不曾想過的新事物的方式。它是一種去蕪存精的方式。它也是一種無需理解便能探索程式的方式。如果計算機運轉速度夠快,這些事它都能做到。"

探索超越我們理解力外的領域並提煉我們所收穫的,這是定向式、監督式和最最佳化的進化帶給我們的禮物。湯姆·雷說:"但是,進化不僅是最佳化。我們知道進化能超越最佳化並創造新事物來加以最佳化。"當一個系統可以創造新事物來加以最佳化時,我們就有了一個恆新的工具和開放的進化。

西姆斯的影像遴選和柯扎那通過邏輯繁衍進行的程式遴選都是生物學家稱為育種或人工選擇的例子。"合格"的標準----被選擇的標準,是由培育員決定的,因而也是人工產物或人為的。為了達到恆新----找到我們不曾預料的東西,我們必須讓系統自己為它的選擇劃定標準。這就是達爾文所說"自然選擇"的含義所在。選擇標準由系統的特性所確定;它自然而然地出現。開放的人工進化也需要自然選擇,如果你願意,也可以叫它人工自然選擇。選擇的特徵應該從人工世界內部自然地產生。

湯姆·雷已經通過讓他的世界自主選擇適者的方式載入了人工自然選擇工具。因此,他的世界從理論上說就具有了進化全新事物的能力。但是雷確實"做了點小手腳"以使系統進入運作。他等不及他的世界靠自己的力量進化出自我複製能力了。因此一開始他就引進了一個自我複製機制,一經引入,複製再也不會終止。用雷的比喻來說,他將生命在單細胞有機體狀態下強力啟動,然後觀看了一場新生物體的"寒武紀大爆發"。但是他並不歉疚。"我只是嘗試獲得進化,並不真的在意獲取它的方式。如果我需要將我的世界的物理和化學成分拉昇到能支承花樣繁多無限制進化的水平,我樂於這麼做。我不得不操縱它們來達到這個水平,對此我並不感到內疚。如果我可以操控一個世界達到寒武紀大爆發的臨界點,然後讓它自己沸騰溢位邊界,那才真是永生難忘呢。和系統所產生的結果相比,我不得不操控它達到臨界點是一件不值一提的事。"

雷認為,啟動開放的人工進化本身已經極具挑戰性了,他不一定非得使系統自己進化到那種程度。他會控制他的系統直到它能靠自己的力量進化。正如卡爾·西姆斯所說,進化是一種工具。它可以與控制相結合。雷在控制數月之後轉入了人工自然選擇。與之相反的過程同樣可行----也許有人會在進化數月之後再施以控制,以得到想要的結果。

17.5掌握進化工具

進化作為一種工具,特別適用於以下三件事:

◎如何到達你想去而又找不到路的領域;

◎如何到達你無法想象的領域;

◎如何開闢全新領域;

第三種用途就是通向開放世界的門戶。它是非監督式、非定向式的進化過程。它是霍蘭德設想的不斷擴張的恆新機器,是一個可以自己建設自己的事物。