生物不可能全憑偶然因素出現(xiàn)在世上叮称,因?yàn)樯锏摹霸O(shè)計(jì)”既復(fù)雜又優(yōu)美捎废,我們已經(jīng)討論了笑窜。那么它們是怎么出現(xiàn)的呢?答案是:它們源自一個(gè)累積的過程登疗,逐步從非常簡單的開始排截,變化成今日的模樣。地球上生命演化的起點(diǎn)是太古時(shí)期的某些實(shí)體辐益,它們因?yàn)閷?shí)在太簡單了断傲,只因偶然的機(jī)緣就在世上出現(xiàn)了。這是達(dá)爾文提出的答案智政。演化是個(gè)逐步认罩、漸變的過程,每一步驟——相對于前一步驟——都非常簡單女仰,跨出去全憑機(jī)緣猜年。但是整串連續(xù)步驟卻不是個(gè)隨機(jī)過程(chance process)抡锈,從終點(diǎn)產(chǎn)物的復(fù)雜程度就可以看出,相形之下起點(diǎn)的樸素模樣反而令人驚訝乔外。引導(dǎo)這個(gè)累積過程的是“非隨機(jī)存活”床三。本章的主旨是:這一累積選擇的力量本質(zhì)上是個(gè)非隨機(jī)過程(nonrandom process)。
要是你到布滿卵石的海灘散步杨幼,一定會(huì)注意到卵石的散布不是毫無章法的撇簿。通常小卵石集中的區(qū)域沿著海灘一路上都有,并不連續(xù)差购,較大的卵石集中在不同的區(qū)域四瘫,錯(cuò)落其間。那些卵石已經(jīng)分類欲逃、安排找蜜、挑選過了。生活在海岸附近的人類部落稳析,看見海灘上卵石的分布洗做,也許會(huì)覺得驚疑不置,認(rèn)為那是“世上有過分類彰居、安排”的證據(jù)诚纸,也許還會(huì)想出一個(gè)神話解釋,“話說天上有一位巨靈陈惰,心思有條不紊畦徘、講究秩序,卵石就是他安排的”抬闯。對這樣的迷信觀念我們也許會(huì)展露高傲的微笑井辆,向“土人”解釋:那種看來經(jīng)過安排的現(xiàn)象,其實(shí)是物理學(xué)的盲目力量完成的画髓,以海灘上的卵石分布而言掘剪,海浪是肇因。海浪沒有目的也沒有意圖奈虾,沒有井然的心夺谁,甚至根本沒有心。海浪起勁地沖擊海灘肉微,將卵石拋向前方匾鸥,不同大小的卵石,以不同的方式反應(yīng)海浪的力量碉纳,落在或遠(yuǎn)或近的區(qū)域里勿负。于是一個(gè)沒有經(jīng)過心靈計(jì)劃的小型秩序就從混沌中出現(xiàn)了。
有些系統(tǒng)會(huì)自動(dòng)創(chuàng)造出非隨機(jī)現(xiàn)象劳曹,海浪與卵石就構(gòu)成了一個(gè)簡單的例子奴愉。世上到處是這樣的系統(tǒng)琅摩。最簡單的例子我想是個(gè)洞。只有比洞口小的東西才會(huì)掉進(jìn)去锭硼。也就是說房资,要是你在洞口上隨意堆放一堆東西,并出力隨機(jī)地?fù)u晃檀头、推擠它們轰异,過了一段時(shí)間后,洞口上與洞口下的東西就會(huì)出現(xiàn)非隨機(jī)分布暑始。洞口下的空間里搭独,東西比洞口小,洞口上則是比洞口大的東西廊镜。不消說牙肝,人類老早就懂得利用這個(gè)簡單的原理創(chuàng)造非隨機(jī)分類了,我們叫作篩子的東西不就是嗎期升?(譯按:可參見唐朝李洞的《喜鸞公自蜀歸》詩中“掃石月盈帚惊奇,濾泉花滿篩”。)
太陽系很穩(wěn)定播赁,是繞日的行星、彗星與小行星碎塊組成的吼渡,這種行星繞恒星公轉(zhuǎn)的系統(tǒng)在宇宙中似乎不少容为,我們的只是其中之一。這種系統(tǒng)中寺酪,行星越接近恒星坎背,公轉(zhuǎn)速度就得越快,不然無法對抗恒星的引力寄雀、停留在穩(wěn)定的軌道上得滤。任何一條軌道,只有一個(gè)速度能使行星(或彗星盒犹、小行星)穩(wěn)定公轉(zhuǎn)而不逃逸懂更。要是它以其他速度繞行,不是脫離軌道沖向太空深處急膀,就是墜毀在恒星表面上沮协,或進(jìn)入另一條軌道。要是我們觀察太陽系的行星卓嫂,瞧慷暂!好家伙!它們每一個(gè)都以恰好的速度在恰好的軌道上穩(wěn)定地公轉(zhuǎn)晨雳。難道是神意設(shè)計(jì)的奇跡行瑞?不是奸腺,只不過是另一個(gè)自然“篩子”罷了。很明顯血久,我們見到的所有繞日行星必須以特定速度繞行太陽洋机,不然就無法穩(wěn)定地停留在它們目前的軌道中——我們就不會(huì)看見它們在那里了。同樣明顯的是洋魂,這不能當(dāng)作證據(jù)绷旗,說行星軌道是“有意識(shí)的設(shè)計(jì)”。
這種從混沌中“篩”出的簡單秩序副砍,不足以解釋我們在生物界觀察到的大量非隨機(jī)秩序衔肢。門都沒有。還記得號(hào)碼鎖的例子嗎豁翎?可以簡單“篩”出的秩序角骤,約略相當(dāng)于只要撥對一個(gè)號(hào)碼就能打開的鎖:很容易憑巧勁兒就打開了。我們在生物系統(tǒng)中見到的“非隨機(jī)”現(xiàn)象心剥,相當(dāng)于一個(gè)巨大的號(hào)碼鎖邦尊,必須轉(zhuǎn)不知多少次、輸入多少正確的數(shù)字才打得開优烧。就拿血紅蛋白(紅血球中攜帶氧氣的分子)來說好了蝉揍。將組成血紅蛋白的所有氨基酸全拿在手邊,隨意把它們組合起來畦娄,想憑巧勁兒就組成血紅蛋白分子又沾,你可知需要多大的運(yùn)氣?大到不可思議熙卡。著名科學(xué)作家阿西莫夫(Issac Asimov杖刷,1920~1992)與其他人就以這個(gè)例子有力地論證生物界的秩序不可能是偶然性的產(chǎn)物。
血紅蛋白分子是四條氨基酸鏈絞在一起構(gòu)成的驳癌。我們只拿其中一條來討論滑燃。這條鏈包括146個(gè)氨基酸。生物體內(nèi)的氨基酸有20種颓鲜。以這20種氨基酸組成一條含有146個(gè)氨基酸的鏈表窘,可能的組成方式是個(gè)大得難以想象的數(shù)字,阿西莫夫叫它“血紅蛋白數(shù)字”灾杰。它很容易計(jì)算蚊丐,但是不可能寫給你看。這146個(gè)氨基酸組成的鏈艳吠,第一個(gè)可能是20種氨基酸中的任何一種麦备。第二個(gè)也一樣。因此頭兩個(gè)氨基酸的可能組合就有20×20種,就是400種凛篙。這條鏈頭三個(gè)氨基酸的可能組合方式是20×20×20黍匾,就是8000種。整條氨基酸鏈的可能組合方式呛梆,就是20自乘146次(20的146次方)锐涯。這是個(gè)令人頭昏的大數(shù)字。100萬是1后面跟著6個(gè)0填物。1萬億是1后面跟著12個(gè)0纹腌。我們正在計(jì)算的數(shù)字——“血紅蛋白數(shù)字”——接近1后面跟著190個(gè)0。這就是我們需要的運(yùn)氣:在這么多“可能”中滞磺,瞎搞出一個(gè)血紅蛋白分子來升薯。然而,就人體的復(fù)雜性而言击困,血紅蛋白分子只是九牛一毛而已涎劈。光憑單純的篩選根本無從創(chuàng)造出生物體內(nèi)的大量秩序。生物秩序的發(fā)展過程阅茶,篩選是核心成分蛛枚,但是篩選無法說明生物秩序,差得遠(yuǎn)呢脸哀。為了解釋這一點(diǎn)蹦浦,我必須分別“單步驟”選擇與“累積”選擇。在這一章里到現(xiàn)在為止我們討論過的簡單篩子都是“單步驟”選擇的例子企蹭。生物組織是“累積”選擇的產(chǎn)物白筹。
“單步驟”選擇與“累積”選擇的根本差異是這樣的。任何實(shí)體的秩序谅摄,例如卵石或其他東西,若由“單步驟”選擇造成系馆,就是一蹴而就的送漠。在“累積”選擇中,選擇結(jié)果會(huì)“繁衍”由蘑;或以其他的方式闽寡,一次篩選的結(jié)果成為下一次篩選的原料,下一次篩選的結(jié)果尼酿,又是下下一次篩選的原料爷狈,如此反復(fù)地篩選下去。實(shí)體必須經(jīng)過許多連續(xù)“世代”的篩選裳擎。一個(gè)世代經(jīng)過篩選后涎永,就是下一個(gè)世代的起點(diǎn),如此這般每個(gè)世代都經(jīng)過篩選∠畚ⅲ“繁衍”谷饿、“世代”兩個(gè)詞通常用在生物身上,我們借用它們是很自然的妈倔,因?yàn)樯锸恰袄鄯e選擇”主要的例子博投。也許實(shí)際上生物是唯一的例子。但是目前我會(huì)暫時(shí)擱置這個(gè)議題盯蝴。
天上的云經(jīng)過風(fēng)的隨機(jī)捏揉毅哗、切割,有時(shí)看來會(huì)像我們熟悉的事物捧挺。有一張流傳很廣的照片虑绵,顯示耶穌的面龐在云中凝視世人,那是一位小飛機(jī)駕駛員拍的松忍。我們都看過讓我們想起什么的云蒸殿,像是海馬,或一張微笑的面孔鸣峭。這種相似是“單步驟選擇”造成的宏所,換言之,“如有雷同摊溶,純屬巧合”爬骤,因此并不令人驚艷。夜空中的星座莫换,要是你拿它們的名字對號(hào)入座的話霞玄,也不會(huì)感到驚艷,就像星象家的預(yù)言一樣拉岁,不信的話坷剧,告訴我天蝎、獅子喊暖、白羊什么的在哪里惫企。生物適應(yīng)就不同了,總令人覺得不可思議陵叽。而生物適應(yīng)是“累積選擇”的產(chǎn)物狞尔。一只蟲與一片葉子的相似程度,或一只螳螂與一叢粉紅花的相似程度巩掺,我們會(huì)以不可思議偏序、詭異、壯觀等詞來描述胖替。一朵像黃鼠狼的云研儒,并不能讓我們目不轉(zhuǎn)睛豫缨,連提醒身邊的友人都不值得。此外殉摔,那朵云究竟像什么州胳,我們也很容易改變心意∫菰拢《哈姆雷特》第三幕第二景就有一段對話:
哈姆雷特(王子):你看見天邊那朵云嗎栓撞?像頭駱駝的?
波羅紐斯(首席國政顧問):很大的那一朵碗硬?真像駱駝瓤湘,沒錯(cuò)。
哈姆雷特:我覺得像一只黃鼠狼恩尾。(Methinks it is like a weasel.)
波羅紐斯:它確實(shí)像只拱起背的黃鼠狼弛说。
哈姆雷特:或像一頭鯨魚?
波羅紐斯:很像一頭鯨魚翰意。
有人說過——我忘了誰是第一個(gè)——給猴子一臺(tái)打字機(jī)木人,讓它在上面隨意亂敲,只要時(shí)間足夠冀偶,整套莎士比亞作品都能打出來醒第。當(dāng)然,關(guān)鍵在“只要時(shí)間足夠”进鸠。讓我們對這只猴子面臨的任務(wù)做些限制稠曼。假定我們只期望它打出一個(gè)短句子,而不是整套莎翁作品客年,就說是“我覺得像一只黃鼠狼”好了霞幅,我們給它的打字機(jī)也是簡化的,只有26個(gè)大寫字母鍵量瓜,外加一個(gè)空位鍵司恳。這只猴子需要多少時(shí)間才打得出這一個(gè)短句子?
莎士比亞寫這個(gè)句子绍傲,使用了23個(gè)字母抵赢,其中穿插了5個(gè)空位。我們假定猴子不斷地嘗試唧取,每次都敲28次鍵。一旦敲出了正確的句子划提,實(shí)驗(yàn)就結(jié)束枫弟。要是不正確,它就得繼續(xù)嘗試鹏往。我不認(rèn)得任何猴子淡诗,好在我有個(gè)女兒骇塘,才11個(gè)月大,對隨意亂搞很有經(jīng)驗(yàn)韩容,我告訴她我想找猴子做的實(shí)驗(yàn)后款违,她就迫不及待地想扮演那只猴子。她在電腦上打出的實(shí)例我放在這頁上群凶,讀者也許能夠欣賞。
UMMK JK CDZZ F ZD DSDSKSM
S SS FMCV PU I DDRGLKDXRRDO
RDTE QDWFDVIOY UDSKZWDCCVYT
H CHVY NMGNBAYTDFCCVD D
RCDFYYYRM N DFSKD LD K WDWK
JJKAUIZMZI UXDKIDISFUMDKUDXI
由于她另有要?jiǎng)?wù),我只好寫一個(gè)計(jì)算機(jī)程序赔蒲,仿真一個(gè)隨意敲鍵的孩子辐马,或猴子,這里也有一些例子可以參考毅弧。
WDLDMNNLT DTJBKWIRZREZLMQCO P
Y YVMQKZPGJXWVHGLAWFVCHQYOPY
MWR SWTNUXMLCDLEUBXTQHNZVJQF
FU OVAODVYKDGXDEKYVMOGGS VT
HZQZDSFZIHIVPHZPETPWVOVPMZGF
GEWRGZRPBCTPGQMCKHFDBGW ZCCF
這個(gè)程序就這樣不斷制造產(chǎn)品——將隨機(jī)敲到的28個(gè)鍵在銀幕上顯示出來(或打悠蕖)。要花多少時(shí)間才能敲出“我覺得像一只黃鼠狼”呢够坐?想想所有可能敲出來的字母串共有多少——每串是任意按28個(gè)鍵的結(jié)果寸宵。我們必須做的計(jì)算與前面做過的血紅蛋白分子一樣,結(jié)果也是同樣大的數(shù)字元咙。敲第一個(gè)鍵時(shí)梯影,有27種選擇(不區(qū)分空位鍵與字母鍵,26個(gè)字母鍵加1個(gè)空位鍵)蛾坯,敲到正確字母的概率是1/27光酣。頭兩個(gè)鍵都碰巧正確的機(jī)會(huì)是1/27乘以1/27,等于1/729脉课,因?yàn)榈诙€(gè)鍵敲對的概率救军,與第一個(gè)鍵相同,可是頭兩個(gè)鍵都要正確的話倘零,得在第一個(gè)鍵敲對了之后才算第二個(gè)鍵唱遭。這個(gè)句子全部28個(gè)字母都正確的概率,因此是1/27的28次方呈驶,就是1/27自乘28次拷泽。結(jié)果是一個(gè)非常小的數(shù)字,難以想象的小袖瞻,以分?jǐn)?shù)表現(xiàn)的話司致,分子是1,分母是1后面跟著40個(gè)0聋迎。說得委婉些脂矫,這個(gè)句子要花很久才敲得出來,什么《莎士比亞全集》就算了吧霉晕。
隨機(jī)變異中的“單步驟選擇”已經(jīng)談得夠多了庭再,讓我們回頭談?wù)劇袄鄯e選擇”捞奕。“累積選擇”會(huì)更有效率嗎拄轻?效率能提升多少颅围?答案是:有效率多了,即使我們開始覺得這是一個(gè)很有效率的過程恨搓,也可能低估它的效能院促。但是只要你仔細(xì)再想想,就會(huì)發(fā)現(xiàn)驚人的效率幾乎是必然的結(jié)果奶卓。我們要再度使用電腦替代猴子一疯,但是我們會(huì)對程序做一個(gè)關(guān)鍵的修改。一開始這個(gè)程序會(huì)隨機(jī)按28次鍵夺姑,例如:
WDLMNLT DTJBKWIRZREZLMQCOP
然后從這一個(gè)隨機(jī)序列“繁殖”下去墩邀。電腦不斷復(fù)制這個(gè)字母序列,但是復(fù)制過程容許某種程度的隨機(jī)變異——“突變”盏浙。電腦會(huì)檢查這些復(fù)制出來“子序列”眉睹,從其中選出最接近標(biāo)的序列Methinks it is like a weasel(我覺得像一只黃鼠狼)的一個(gè),不論相似的程度多么薄弱废膘。第一個(gè)這樣選出來的“子序列”與標(biāo)的序列實(shí)在不怎么像:
WDLMNLT DTJBSWIRZREZLMQCO P
但是這個(gè)程序會(huì)重復(fù)下去竹海,電腦開始復(fù)制這個(gè)贏家,并容許同樣程度的隨機(jī)變異丐黄,并選出一個(gè)新的贏家斋配。如此這般,10“代”灌闺、20“代”之后的贏家艰争,可能仍然必須憑信心才能看出它們與標(biāo)的“很像”。但是桂对,到了30“代”甩卓,相像就不再是想象的產(chǎn)物了。到了40“代”蕉斜,銀幕上出現(xiàn)的字母序列逾柿,只有一個(gè)字母是錯(cuò)的。正確的結(jié)果在第43“代”產(chǎn)生宅此。
第二次重跑這個(gè)計(jì)算機(jī)程序机错,正確的結(jié)果在第64“代”產(chǎn)生。第三次重跑父腕,第41“代”就產(chǎn)生正確的結(jié)果了毡熏。
電腦實(shí)際花了多少時(shí)間繁衍出符合標(biāo)的的那一代,并不重要侣诵。如果你真的想知道痢法,電腦第一次完成整個(gè)程序,是在我出去吃午餐的時(shí)候杜顺。大約半個(gè)小時(shí)财搁。(計(jì)算機(jī)玩家也許會(huì)認(rèn)為這實(shí)在慢得蹊蹺。原因是我的計(jì)算機(jī)程序是用BASIC寫的躬络,這種語言在計(jì)算機(jī)程序語言家族中相當(dāng)“幼齒”尖奔。我改用PASCAL語言重寫這個(gè)程序后,11秒就完成了一回合穷当。)電腦做這種事比猴子快一些提茁,但是速度的差異其實(shí)不大。真正重要的時(shí)間差異馁菜,是“累積選擇”需要的時(shí)間與“單步驟選擇”需要的時(shí)間茴扁。同一部電腦,以同樣的速度汪疮,執(zhí)行“單步驟選擇”程序的話峭火,要花的時(shí)間是:1后面加30個(gè)0,單位是年智嚷。學(xué)者估計(jì)的宇宙年齡大約是100億年(1后面加10個(gè)0)卖丸。我們不必細(xì)究1后面加30個(gè)0等于宇宙年齡的多少倍,比較適當(dāng)?shù)恼f法是:與猴子或電腦要花的巨量時(shí)間比起來盏道,宇宙的年齡實(shí)在微不足道——在我們這種粗略的計(jì)算方式必須容忍的誤差范圍之內(nèi)稍浆。但是同一部以隨機(jī)方式按鍵的電腦,只要加入“累積選擇”的條件猜嘱,達(dá)成同樣的任務(wù)所需的時(shí)間衅枫,我們?nèi)祟愐猿WR(shí)便可以了解,在11秒與吃一頓午餐所費(fèi)的時(shí)間之間泉坐。
現(xiàn)在我們可以看出:“累積選擇”(這個(gè)過程中为鳄,每一次改進(jìn),不論多么微小腕让,都是未來的基礎(chǔ))與“單步驟選擇”(每一次“嘗試”都是新鮮的孤钦,與過去的“經(jīng)驗(yàn)”無關(guān))的差別可大了。要是演化進(jìn)步必須依賴“單步驟選擇”纯丸,絕對一事無成偏形,搞不出什么名堂。不過觉鼻,要是自然的盲目力量能夠以某種方式設(shè)定“累積選擇”的必要條件俊扭,就可能造成奇異、瑰麗的結(jié)果坠陈。事實(shí)上那正是我們這個(gè)行星上發(fā)生的事萨惑,我們?nèi)祟惣词顾悴簧献钇娈惥杩怠⒆钭屓梭@訝的結(jié)果,也是最近的結(jié)果庸蔼。
讓人驚訝的反而是:類似前面所舉“血紅蛋白數(shù)字”的例子解总,卻一直被用來反駁達(dá)爾文的理論。那些這么做的人姐仅,往往在本行中是專家花枫,像是天文學(xué)或什么的,他們似乎真誠地相信達(dá)爾文理論純以概率(巧勁兒)——“單步驟選擇”——解釋生物的組織掏膏±秃玻“達(dá)爾文式的演化是‘隨機(jī)的’”這個(gè)信念,不只是不真實(shí)而已馒疹。它根本與真相相反佳簸。在達(dá)爾文演化論中,“巧勁兒”只扮演次要的角色行冰,最重要的角色是“累積選擇”溺蕉,它根本就是“非”隨機(jī)的。
天上的云無法進(jìn)入“累積選擇”過程悼做。某種特定形態(tài)的云不能通過某種機(jī)制生產(chǎn)與自身相似的子女疯特。如果有這種機(jī)制,如果云像黃鼠狼或駱駝一樣肛走,能夠繁衍模樣大致相似的世系漓雅,“累積選擇”就有機(jī)會(huì)發(fā)生。當(dāng)然朽色,有時(shí)云朵的確會(huì)分裂邻吞、形成“子女”,但那還不足以讓“累積選擇”發(fā)生葫男。必要條件是任何一朵云的“子女”應(yīng)該與“父母”相似抱冷,不像“族群”中的其他“老爹”。這個(gè)差別極為緊要梢褐,最近有些哲學(xué)家對自然選擇理論發(fā)生了興趣旺遮,可是他們有些人很明顯地誤解了這一點(diǎn)。還有一個(gè)必要條件是:任何一朵云生存盈咳、繁衍復(fù)本的概率耿眉,與它的形態(tài)有關(guān)。也許在某個(gè)遙遠(yuǎn)的星系中鱼响,這些條件都發(fā)生了鸣剪,而且經(jīng)過了數(shù)以百萬年計(jì)的時(shí)光,結(jié)果是一種虛無縹緲的生命形式,只是壽命短暫筐骇。這個(gè)題材也許可以寫成一部很棒的科幻小說债鸡,題目我都想好了,就叫《白云記》吧拥褂;但是就我們所想討論的問題來說娘锁,電腦模型是比較容易掌握的,像猴子/莎士比亞模型一樣饺鹃。
雖然猴子/莎士比亞模型用來解釋“累積選擇”與“單步驟選擇”的差別很有用,它卻在重要的面相上誤導(dǎo)了我們间雀。其中之一是:在選擇繁衍的過程中悔详,每個(gè)世代各突變個(gè)體都以它與最終標(biāo)的(“我覺得像一只黃鼠狼”)的相似程度判生判死。生物不是那樣惹挟。演化沒有長期目標(biāo)茄螃。沒有長程標(biāo)的,也沒有最終的完美模樣作為選擇的標(biāo)準(zhǔn)连锯,盡管虛榮心讓我們對于“人類是演化的最終目標(biāo)”這種荒謬的觀念归苍,覺得挺受用的。在現(xiàn)實(shí)中运怖,選擇的標(biāo)準(zhǔn)永遠(yuǎn)是短期的拼弃,不是單純的存活,就是——更為廣義地說成功繁殖率摇展。要是在很久很久之后吻氧,以后見之明來看生命史像是朝向某個(gè)目標(biāo)前進(jìn),而且也達(dá)成了那個(gè)目標(biāo)咏连,那也是許多世代經(jīng)過短期選擇后的附帶結(jié)果盯孙。“鐘表匠”——能夠累積變異的自然選擇——看不見未來祟滴,沒有長期目標(biāo)振惰。
我們可以改變先前的電腦模型,將這一點(diǎn)也考慮進(jìn)去垄懂。在其他方面我們也可以使模型更逼近真實(shí)骑晶。字母與文字是人類特有的玩意兒,我們何不讓電腦畫圖埠偿?說不定我們甚至可以看見類似動(dòng)物的形狀在電腦中演化透罢,機(jī)制是在突變的形狀中做累積選擇。我們一開始不會(huì)在電腦中灌進(jìn)特定的動(dòng)物照片冠蒋,免得電腦有成見羽圃。它們得完全以累積選擇打造——累積選擇在隨機(jī)突變中運(yùn)作的結(jié)果。
實(shí)際上每個(gè)動(dòng)物的形態(tài)都是胚胎發(fā)育建構(gòu)的。演化會(huì)發(fā)生朽寞,是因?yàn)檫B續(xù)的各世代每一個(gè)胚胎發(fā)育都發(fā)生了微小差異识窿。這些差異是因?yàn)榭刂瓢l(fā)育的基因發(fā)生了變化(即突變,這就是我前面說過的整個(gè)過程中的小角色——隨機(jī)因素)脑融。因此我們的電腦模型也該有些特征喻频,相當(dāng)于胚胎發(fā)育與能夠突變的基因。設(shè)計(jì)這樣的電腦模型肘迎,有許多方式甥温。我選了一個(gè),并為它寫了一個(gè)計(jì)算機(jī)程序〖瞬迹現(xiàn)在我要描述這個(gè)電腦模型姻蚓,因?yàn)樗芙o我們一些啟發(fā)。要是你對電腦沒有什么概念匣沼,只要記住電腦是機(jī)器狰挡,會(huì)服從命令干活兒,可是結(jié)果往往出人意表释涛。程序就是給電腦的指令單子加叁。
胚胎發(fā)育是個(gè)非常復(fù)雜的過程,無法在小型電腦上逼真地模擬唇撬。我們必須以一種簡化的玩意兒做模擬它匕。我們必須找到一個(gè)簡單的畫圖規(guī)則,電腦很容易照辦局荚,然后它也可以在“基因”的影響下發(fā)生變化超凳。我們要選擇什么樣的畫圖規(guī)則呢?電腦科學(xué)教科書經(jīng)常以一個(gè)簡單的“樹木發(fā)育”(tree-growing)程序耀态,說明所謂“遞歸”程序設(shè)計(jì)法(recursive programming)的威力轮傍。一開始電腦畫出一條垂直線。然后這條線分出兩條枝杈首装。每一條枝杈再分出兩條小枝杈创夜。每條小枝杈再分出兩條小小枝杈。這是個(gè)“遞歸”過程仙逻,整棵樹因?yàn)槔^續(xù)在局部應(yīng)用同一條規(guī)則(以這個(gè)例子而言驰吓,就是“分枝規(guī)則”)而不斷地發(fā)育。無論樹木發(fā)育到多大系奉,同一條分枝規(guī)則繼續(xù)施用于所有新生枝條的尖端檬贰。
“遞歸”的“深度”指枝杈分枝的“次數(shù)”;就是一條樹枝長出后缺亮,可以繼續(xù)以同樣的方式分枝多少次翁涤。這個(gè)次數(shù)程序中可以事先規(guī)定,次數(shù)一滿新生枝頭就停止分枝了。圖2顯示了“深度”對“遞歸”結(jié)果的影響葵礼。比較“深”的遞歸樹是個(gè)頗為復(fù)雜的圖案号阿,但是你仍可以看出那是同一條分枝規(guī)則創(chuàng)造出來的。當(dāng)然鸳粉,真正的樹就是這樣分枝的扔涧。一棵橡樹或蘋果樹的分枝模式看來很復(fù)雜,其實(shí)不然届谈】菀梗基本的分枝規(guī)則非常相似。因?yàn)橥粭l規(guī)則不斷地施用于整棵樹的生長尖端——主干分出主枝艰山,主枝分出小枝卤档,小枝分出小小枝,等等程剥,樹才長得又大又繁茂。
大體而言汤踏,動(dòng)植物的胚胎發(fā)育過程也可以比喻成遞歸分枝织鲸。我并不是說動(dòng)物的胚胎看來像發(fā)育中的樹。它們一點(diǎn)兒也不像溪胶。但是所有胚胎的發(fā)育都以細(xì)胞分裂進(jìn)行搂擦。細(xì)胞總是分裂成兩個(gè)子細(xì)胞』┎保基因最終會(huì)影響身體瀑踢,可是受它們直接影響的是身體的局部細(xì)胞,以及那些細(xì)胞的分裂模式才避。動(dòng)物的基因組從來不是“宏偉的設(shè)計(jì)圖”橱夭,或整個(gè)身體的“藍(lán)圖”什么的。我們下面會(huì)討論桑逝,基因比較像食譜棘劣,而不像藍(lán)圖;而且不是整個(gè)胚胎的食譜楞遏,而是每個(gè)細(xì)胞或胚胎某個(gè)區(qū)域一小撮細(xì)胞——只要分裂就必須遵循的食譜茬暇。我并不否認(rèn)胚胎以及日后的成年個(gè)體有一個(gè)大尺度的形態(tài)可言。但是寡喝,發(fā)育中的身體逐漸成形糙俗,每個(gè)組成細(xì)胞都盡了綿薄之力(所以整體的形態(tài)是“細(xì)胞層次事件”的后果),而每個(gè)細(xì)胞的局部影響力主要通過“一分為二”的過程施展预鬓。樹杈分枝與細(xì)胞分裂以同樣的模式影響全身巧骚。基因影響這些局部事件,才影響到全身网缝。換言之巨税,基因的終極對象是全身,可是卻從基層——細(xì)胞干起粉臊。
總之草添,用來畫樹的簡單分枝規(guī)則看起來像是仿真胚胎發(fā)育的理想工具。我就把它寫成一個(gè)很小的程序扼仲,取名為“發(fā)育”远寸,預(yù)備將來植入一個(gè)大程序中——“演化”。為了編寫“演化”這個(gè)程序屠凶,我們得先討論基因驰后。在我們的電腦模型中,“基因”的角色與功能如何呈現(xiàn)矗愧?在生物體內(nèi)灶芝,基因做兩件事:影響發(fā)育以及進(jìn)入未來的世代。動(dòng)植物的基因組唉韭,基因數(shù)目多達(dá)幾萬個(gè)夜涕,但是我們在電腦模型中,只設(shè)置9個(gè)属愤。每個(gè)基因在電腦中都以數(shù)字代表女器,這個(gè)數(shù)字就是它的“值”。某一個(gè)基因的“值”可能是+4住诸,或–7驾胆。
這些基因如何影響發(fā)育呢?它們能做的可多了贱呐。不過萬變不離其宗:它們會(huì)對“發(fā)育”程序(樹木發(fā)育的規(guī)則)產(chǎn)生微小的丧诺、可以計(jì)量的影響。舉例來說吼句,某個(gè)基因也許會(huì)影響椏杈的角度锅必,另一個(gè)基因會(huì)影響某一特定枝杈的長度。另一種基因一定會(huì)做的事惕艳,是影響遞歸的深度——就是連續(xù)分枝的次數(shù)搞隐。我讓“基因9”負(fù)責(zé)這個(gè)功能。因此圖2的“7棵樹”可以視為7個(gè)有親緣關(guān)系的生物個(gè)體远搪,彼此間除了“基因9”之外劣纲,其他的基因完全相同。我不想一一詳談其他8個(gè)基因的功能谁鳍。圖3透露了一些信息癞季,你可以據(jù)以推測每個(gè)基因大體而言能做哪一類的事(功能)劫瞳。圖3正中的樹是基本形,圖2中也出現(xiàn)過绷柒。有8棵樹環(huán)繞著基本形志于。這8棵樹與中央的基本形只有一個(gè)基因的差異,也就是說废睦,這8棵樹是因?yàn)榛拘蔚囊粋€(gè)基因發(fā)生了突變而產(chǎn)生的伺绽。例如基本形的右側(cè),是“基因5”的原始值因?yàn)橥蛔兌恿?的結(jié)果嗜湃。要是圖3的空間夠大奈应,我會(huì)畫出18棵突變形環(huán)繞著基本形。因?yàn)榭偣灿?個(gè)基因购披,每個(gè)基因每次突變都有兩個(gè)方向:升1級(jí)(原始值加1)杖挣,或降1級(jí)(原始值減1)。因此基本形環(huán)繞著18個(gè)突變形刚陡,就窮盡了所有單步驟突變的可能結(jié)果惩妇。
這些樹每一棵都有獨(dú)有的“基因式”(genetic formula)—9個(gè)基因的數(shù)值。我沒有把圖3每棵樹的“基因式”寫出來筐乳,因?yàn)榛蚴奖旧韺Ω魑徊粫?huì)有任何意義屿附。真正的基因也一樣「缤基因是合成蛋白質(zhì)的“食譜”,蛋白質(zhì)直接參與各種生理過程褒翰,換言之贮懈,基因必須“翻譯”成胚胎的發(fā)育規(guī)則,才能造成觀察得到的結(jié)果优训。同樣朵你,在電腦模型中,9個(gè)基因的數(shù)值只有在翻譯成枝杈模式的發(fā)育規(guī)則時(shí)揣非,才對我們有意義抡医。要是兩個(gè)個(gè)體只有一個(gè)基因有差異,比較這兩個(gè)個(gè)體的身體早敬,對于這個(gè)基因的功能就能有個(gè)大致的理解忌傻。例如圖3中間那一列,對于“基因5”的功能就透露了有用的信息搞监。
這也是正宗的遺傳學(xué)方法水孩。遺傳學(xué)家通常不知道基因影響胚胎發(fā)育的方式。他們也不知道任何動(dòng)物的完整基因式琐驴。(譯按:完整基因式俘种,指基因啟動(dòng)的順序與作用秤标;即使細(xì)胞核DNA的全部堿基序列都清楚了,也未必能找出完整的基因式宙刘。)但是兩個(gè)成年個(gè)體若已知只有一個(gè)基因有差異苍姜,遺傳學(xué)家比較它們的身體就可以觀察到那個(gè)基因的作用。當(dāng)然悬包,實(shí)況更為復(fù)雜衙猪,因?yàn)榛虻墓δ苡袕?fù)雜的互動(dòng),整體無法簡化成“所有基因的總和”玉罐。電腦里的樹也一樣屈嗤。下面我會(huì)舉出一些圖案,讀者會(huì)發(fā)現(xiàn):支配它們發(fā)育的基因吊输,作用方式與生物的基因非常相像饶号。
讀者想必已注意到我的枝杈模式圖全是左右對稱的。這是我強(qiáng)加在“發(fā)育”(計(jì)算機(jī)程序)過程的限制季蚂。這樣做部分原因是為了美感茫船,以及精簡基因的數(shù)量(如果基因不能在左右兩側(cè)產(chǎn)生鏡像效果,那么每一側(cè)都得有基因控制)扭屁。此外算谈,我想演化出類似動(dòng)物的形狀,而大多數(shù)動(dòng)物的身體都是左右對稱的料滥。為了同樣的理由然眼,從現(xiàn)在起,我不再管這些玩意兒叫“樹”葵腹,我會(huì)管它們叫“身體”或“生物形”(biomorphs)高每。“生物形”是我?guī)熜帜锼梗―esmond Morris践宴,1928~1954年獲得牛津大學(xué)動(dòng)物學(xué)博士學(xué)位)創(chuàng)造的詞鲸匿,他的超現(xiàn)實(shí)主義繪畫中有些玩意兒他叫作生物形,因?yàn)樗鼈兊男螤钅:仡愃苿?dòng)物阻肩。那些畫在我鐘愛的事物中有非常特別的地位带欢,因?yàn)槠渲幸环狭宋业谝槐緯姆饷妗D锼剐Q那些生物形在他心里演化烤惊,它們演化的來龍去脈可以在他一系列畫作中尋繹乔煞。
閑話休說,言歸正傳柒室,且說電腦生物形瘤缩,先前我們說到一圈18個(gè)可能的突變形,圖3可以見到8個(gè)伦泥。由于這一圈里每個(gè)突變形都與中央的生物形只差一個(gè)突變步驟剥啤,因此把它們視為中央基本形的子女锦溪,是很自然的。于是在我們的電腦模型中府怯,“生殖”就有了著落刻诊。我們寫一個(gè)小程序再現(xiàn)這種生殖過程,題名“生殖”牺丙,然后將它像“發(fā)育”一樣塞入較大的“演化”程序中则涯。關(guān)于“生殖”,有兩點(diǎn)值得注意冲簿。第一粟判,不涉及性別,生殖是無性的峦剔。因此我將生物形想象成女性档礁,因?yàn)閷?shí)行無性生殖的物種幾乎總是女體。第二吝沫,我規(guī)定一次只有一個(gè)基因能夠突變呻澜。孩子與母親的差異,限于9個(gè)基因中的一個(gè)惨险;此外羹幸,突變僅限于在母親基因的原始值上加(或減)1。這些只是我任意強(qiáng)加的約定;即使另換一組約定,我們的模型仍然能恰當(dāng)?shù)胤抡嫔锝绲膶?shí)況。
我們的模型倒是有一個(gè)特征,不能視為任意的約定初厚,而是一個(gè)生物學(xué)基本原理的化身。每個(gè)孩子的形狀不是直接源自母親的形狀。每個(gè)孩子的形狀都是它9個(gè)基因的值(影響枝杈角度、距離等等)決定的。每個(gè)孩子的基因都來自母親涛贯。這正是生物界的實(shí)況诽嘉。身體不會(huì)代代遺傳,基因會(huì)弟翘〕嬉福基因在身體中,影響身體的胚胎發(fā)育稀余。那些基因或者遺傳到下一個(gè)世代悦冀,或者不【α眨基因的性質(zhì)不會(huì)因?yàn)閰⑴c過建構(gòu)身體的過程而發(fā)生變化盒蟆,可是它們遺傳到下一世代的機(jī)會(huì)卻可能受身體的影響踏烙。成功的身體協(xié)助基因進(jìn)入下一世代,失敗的身體則否历等。所以在我們的電腦模型中讨惩,我要仔細(xì)地分別發(fā)育與生殖,將它們寫成兩個(gè)不同的小程序寒屯〖瞿恚“生殖”將基因值傳遞給“發(fā)育”,基因值通過“發(fā)育”影響發(fā)育規(guī)則寡夹,此外“生殖”與“發(fā)育”互不相干处面。必須特別強(qiáng)調(diào)的是:“發(fā)育”不會(huì)將基因值回傳給“生殖”,要是會(huì)的話菩掏,就與所謂“拉馬克主義”(Lamarckism)無異了魂角。(見第十一章)
好了,我們已經(jīng)寫好兩個(gè)計(jì)算機(jī)程序模塊了患蹂,叫作“發(fā)育”與“生殖”或颊。“生殖”使基因世代相傳传于,在遺傳過程中基因可能會(huì)突變囱挑。在每個(gè)世代中,“發(fā)育”取得“生殖”提供的基因沼溜,并將它們逐步翻譯成樹木枝杈平挑,最后在電腦屏幕上展示出一個(gè)(生物形)身體的圖案。現(xiàn)在我們可以在一個(gè)叫作“演化”的大程序中將這兩個(gè)模塊組合起來系草。
“演化”基本上是一個(gè)無窮重復(fù)的“生殖”過程通熄。在每個(gè)世代里,“生殖”從上一世代取得基因找都,遺傳到下一世代唇辨,但是往往不是原封不動(dòng)地遺傳下去,有些基因會(huì)發(fā)生微小的隨機(jī)差錯(cuò)——突變能耻。一次突變不過是在基因既有的值上加1或減1赏枚,而且突變的基因是隨機(jī)選出的。這就是說晓猛,即使每一世代的變化饿幅,從量方面說非常微小,經(jīng)過許多世代后戒职,后裔與始祖之間就會(huì)因?yàn)槔鄯e的突變而有巨大的遺傳差異栗恩。但是,雖然突變是隨機(jī)的洪燥,世代累積起來的變化卻不是隨機(jī)的磕秤。每個(gè)世代與母親的差異沒有一定的方向(隨機(jī))乳乌。但是母親的兒女中哪一個(gè)有機(jī)會(huì)將體內(nèi)的基因遺傳到下一代,不是隨機(jī)的亲澡。這是達(dá)爾文自然選擇的功能钦扭。自然選擇憑借的標(biāo)準(zhǔn)不是基因,而是身體——基因經(jīng)由“發(fā)育”影響過它的形狀床绪。
每個(gè)世代客情,基因除了復(fù)制、遺傳(經(jīng)由“生殖”)之外癞己,還參與“發(fā)育”——這個(gè)程序依據(jù)事先規(guī)定好的嚴(yán)格規(guī)則膀斋,將適當(dāng)?shù)纳眢w圖案畫在銀幕上。每個(gè)世代會(huì)有“一窩兒女”(下一世代的預(yù)定成員)展示在銀幕上痹雅。它們都是同一個(gè)母親的突變兒女仰担,每個(gè)與母親只有一個(gè)基因的差異。這么高的突變率绩社,是電腦模型最不像生物的地方摔蓝。實(shí)際上,真正基因的突變率往往小于百萬分之一愉耙。我讓電腦模型表現(xiàn)高突變率贮尉,是為了讓銀幕上的圖案方便我們的眼睛,人才沒有耐心等待100萬個(gè)世代呢朴沿。
在這個(gè)故事中猜谚,人眼扮演了積極的角色。我們的眼睛會(huì)做選擇赌渣。我們掃視銀幕上的“那窩兒女”魏铅,選出一個(gè)繁殖。當(dāng)選的就成為母親坚芜,生出自己的“一窩兒女”览芳,一齊展示在銀幕上。我們的眼睛在這兒做的鸿竖,與在繁殖名犬沧竟、異卉的脈絡(luò)中所做的完全一樣。換言之千贯,我們的模型嚴(yán)格地說是一個(gè)人擇(artificial selection)模型,而不是自然選擇搞坝∩η矗“成功”的標(biāo)準(zhǔn)不是存活的直接標(biāo)準(zhǔn),在真正的自然選擇中才是桩撮。在真正的自然選擇中敦第,要是一個(gè)身體擁有存活的本錢峰弹,體內(nèi)的基因也會(huì)存活,因?yàn)榛蛟谏眢w里芜果。因此鞠呈,能存活的基因通常是讓身體有存活本錢的基因,兩者的關(guān)系如影隨形右钾。另一方面蚁吝,在電腦模型中,選擇的標(biāo)準(zhǔn)不是存活舀射,而是迎合我們口味的潛力窘茁。這可不一定非是閑閑美代子的無厘頭口味,因?yàn)槲覀兛梢韵聸Q心針對某個(gè)特定性質(zhì)持續(xù)不斷地選下去脆烟,例如“類似垂柳的樹形”山林。不過,我從經(jīng)驗(yàn)中知道邢羔,人類選擇者往往口味不專驼抹、見異思遷。其實(shí)拜鹤,在這一方面某些種類的自然選擇也未遑謙讓框冀。
我們從屏幕上這一窩里選出一個(gè)繁衍下一代,就按鍵讓計(jì)算機(jī)知道署惯。中選的個(gè)體將體內(nèi)基因交給“生殖”左驾,新的世代就開始繁衍了。這個(gè)過程可以不斷地反復(fù)极谊,就像實(shí)際的演化一樣诡右。生物形的每個(gè)世代與前后世代,差異只有一個(gè)基因的一個(gè)突變步驟轻猖。但是100個(gè)世代后帆吻,突變累積了100個(gè),模樣的變化就說不準(zhǔn)了咙边。而經(jīng)過這100個(gè)突變猜煮,模樣可變的地方太多了。
我寫好“演化”程序败许,第一次跑的時(shí)候王带,做夢都想不到變化可以大到那個(gè)程度。讓我驚訝的主要是:生物形很快就看來不像樹了市殷°底基本的二分分枝結(jié)構(gòu)一直沒變,但是很容易讓彼此交錯(cuò)、再交錯(cuò)的線段遮掩住搞挣,造成密實(shí)的顏色塊(打印機(jī)只能印出黑色與白色)带迟。圖4的演化史只包括了29個(gè)世代而已。始祖只是一個(gè)渺小的家伙囱桨,一個(gè)實(shí)心墨點(diǎn)——英文用的句點(diǎn)仓犬。雖然這老小子的身體只是一個(gè)墨點(diǎn),像個(gè)太古濃湯中的細(xì)菌舍肠,它體內(nèi)卻有分枝發(fā)育的潛力搀继,能夠發(fā)育成圖3中央的基本形:它體內(nèi)“基因9”的值是0(意思是分枝0次),所以才只是一個(gè)點(diǎn)貌夕。圖4中所有“生物”都源自“點(diǎn)始祖”律歼,但是為了不讓這一頁看來擁擠不堪,我沒有把它所有的苗裔都印出來啡专。每一世代除了成功的那一位险毁,只印出一位至兩位失敗的姊妹。所以圖4只代表一個(gè)演化世系的主干们童,在我的美感引導(dǎo)下演化畔况。每一個(gè)演化階段圖上都有。
讓我們簡短地回顧圖4的頭幾個(gè)世系慧库。墨點(diǎn)在第二代變成一根Y形樹杈跷跪。在下兩代這根樹杈變大了。然后兩根枝杈有了弧度齐板,整根樹杈像是制作精良的彈弓吵瞻。第7代,兩根枝杈的弧度加大了甘磨,幾乎互相碰觸橡羞。第8代,樹杈變得更大了济舆,有弧度的枝杈每根都新增了一對小枝杈卿泽。第9代,這些小枝杈消失了滋觉,彈弓的柄變長了签夭。第10代,看來像一朵花的剖面椎侠;帶弧的主枝杈像合圍著一根中央枝或“柱頭”的花瓣第租。第11代,同樣的花形我纪,只是更大慎宾、更復(fù)雜些儡羔。
我不再這樣敘述了。你看圖就行了璧诵,一直看到第29代。請注意每一代的姊妹之間只有微小的差異仇冯,它們與母親的差異同樣的小之宿。由于它們每一代都與母親有微小差異,因此我們預(yù)期它們與外祖母的差異會(huì)稍大一點(diǎn)苛坚。這就是累積演化的要義——即使我們提升了突變率比被,讓演化以不切實(shí)際的速率向前狂奔。因?yàn)檠莼俣瓤斓貌环麑?shí)際泼舱,所以圖4看來像物種的系譜等缀,而不是個(gè)體的系譜,但是原則(累積演化)是一樣的娇昙。
當(dāng)初我編寫這個(gè)程序尺迂,除了各式各樣類似樹的形狀,完全沒有想到它會(huì)演化出其他的東西冒掌。我期待見到垂柳噪裕、黎巴嫩杉(cedars of Lebanon)、倫巴第楊樹(Lombardy poplars)股毫、海草膳音,也許還有鹿角。我身為生物學(xué)家的直覺铃诬,加上20年編寫計(jì)算機(jī)程序的經(jīng)驗(yàn)祭陷,以及最狂野的夢境,都不足以讓我產(chǎn)生足夠的心理準(zhǔn)備趣席,實(shí)際在銀幕上出現(xiàn)的圖案令人出乎意料兵志。在枝杈模式的演化過程中,我不記得什么時(shí)候腦海里突然浮現(xiàn)一個(gè)念頭:何不試試演化出類似昆蟲的圖案吩坝!就這么著毒姨,這個(gè)無厘頭點(diǎn)子驅(qū)使我一代又一代地挑出任何一個(gè)看來像似昆蟲的孩子繁衍下去。相似的程度逐步演化钉寝,不可思議的感覺也在心頭逐步滋長弧呐。讀者可以在圖4下方看見最終的產(chǎn)物。我承認(rèn)嵌纲,它們有八只腳俘枫,像蜘蛛,而不是六足的昆蟲逮走,即便如此鸠蚪,你看它們多像昆蟲啊!我第一次看見這些精致的電腦創(chuàng)造物在我眼前出現(xiàn)茅信,欣喜雀躍盾舌,難以自已,直到現(xiàn)在仍然無法平復(fù)蘸鲸。我記得當(dāng)時(shí)心中響起了宣示勝利的《查拉圖斯特拉如是說》起始和弦(理查·施特勞斯1896年的作品妖谴,1968年的電影《2001年:太空漫游》主題曲)。我無心進(jìn)食酌摇,那天晚上膝舅,我一闔眼“我的”昆蟲就蜂擁而出。
市面上有些電腦游戲會(huì)令玩家產(chǎn)生幻覺窑多,以為自己正在一座地下迷宮中漫游仍稀,這座迷宮非常復(fù)雜,但是地理布局明確埂息,在其中玩家會(huì)遇見惡龍技潘、半人半牛獸,以及其他神話主角的對手千康。在這些游戲中崭篡,怪物的數(shù)量其實(shí)不多。它們?nèi)怯?jì)算機(jī)程序師設(shè)計(jì)的吧秕,迷宮的地理布局也是琉闪。在演化游戲中,無論是虛擬的還是真實(shí)的砸彬,玩家(或觀察者)在道路不斷分叉的迷宮中神游颠毙,但是可能路徑的數(shù)量幾乎是無限的,而且一路上遇到的怪物都不是設(shè)計(jì)出來的砂碉,都是事先不可預(yù)測的蛀蜜。我在閉塞的生物形世界中漫游,一路上遇見了精靈蝦增蹭、阿茲特克神殿滴某、哥特式教堂的窗子、袋鼠的畫滋迈,有一次還碰上一幅“漫畫”霎奢,我居然認(rèn)得,是牛津大學(xué)教授威金斯(Davis Wiggins饼灿,邏輯講座教授幕侠,2000年退休)!可惜我忘了“收集”起來碍彭,空留回憶晤硕。圖5是我收藏的一部分悼潭,全是以相同的方式“培育”出來的。我要強(qiáng)調(diào):這些形狀不是藝術(shù)家的創(chuàng)作舞箍。它們沒有經(jīng)過任何加工舰褪、修飾。它們?nèi)荚陔娔X里演化疏橄,由電腦畫出來的抵知。人類眼睛的角色,只限于“選擇”——在隨機(jī)突變的兒女中挑出一個(gè)繁殖软族,許多世代后,就可以觀察到累積演化的結(jié)果残制。
現(xiàn)在我們手里有了一個(gè)切合實(shí)際情況的演化模型了立砸,盲目敲打鍵盤的猴子沒的比。但是生物形模型仍然有所不足初茶。它為我們演示了累積選擇的威力颗祝,類似生物的形狀(“生物形”)得以產(chǎn)生幾乎無限的變異,但是這個(gè)模型依賴人擇而非自然選擇恼布。人眼在做選擇螺戳。我們可以擺脫人眼,讓電腦根據(jù)符合生物界實(shí)情的標(biāo)準(zhǔn)自行選擇嗎折汞?不過這事比預(yù)想的困難多了倔幼,值得我花一些時(shí)間向大家解釋。
要是所有動(dòng)物的基因組你都一目了然爽待,根據(jù)一個(gè)明確的判斷標(biāo)準(zhǔn)選出一個(gè)特定的基因式就太容易了损同。但是自然選擇并不直接揀選基因,它揀選的是“基因?qū)ι眢w的影響”鸟款,就是學(xué)者所說的“表型效應(yīng)”(phenotypic effects)膏燃。我們的眼睛擅長挑選“表型效應(yīng)”,人類已培育出了許多品種的家犬何什、牲口以及家鴿就是明證组哩,要是讀者不嫌棄,不妨圖5也當(dāng)作一件證據(jù)处渣。為了讓電腦直接選擇“表型效應(yīng)”伶贰,我們得寫一個(gè)非常復(fù)雜的“模式辨識(shí)”(pattern-recognition)程序。市面上的確有這種“模式辨識(shí)”程序罐栈,電腦用來“閱讀”印刷文字幕袱,甚至手寫文字。但是這種程序是尖端軟件悠瞬,高手才會(huì)設(shè)計(jì)们豌,而且大型涯捻、高速電腦才跑得動(dòng)。不過望迎,即使這種程序我會(huì)寫障癌,我的64k計(jì)算機(jī)跑得動(dòng),我也懶得動(dòng)它們的腦筋辩尊√握悖“模式辨識(shí)”這種工作,還是眼睛與大腦合伙來做比較妥當(dāng)摄欲,畢竟大腦是個(gè)擁有100億神經(jīng)元的電腦轿亮!
讓電腦選擇模糊的一般特征倒不太難,例如高瘦胸墙、短胖我注,甚至玲瓏有致的曲線、鋒芒迟隅、洛可可式的(rococo)裝飾紋但骨。一個(gè)辦法是寫個(gè)電腦程序讓電腦記住人類在歷史上青睞過的性質(zhì)——著眼于它們的“類別”——然后電腦繼續(xù)以同樣的標(biāo)準(zhǔn)挑選未來的世代。但是這算不上仿真自然選擇智袭。請記妆疾:自然不需要計(jì)算能力就能選擇——除了少數(shù)例外,例如雌孔雀選擇雄孔雀吼野。在自然中校哎,通常的選擇媒介(agent)作風(fēng)直接、赤裸又簡單瞳步。它是臺(tái)陰森的收割機(jī)贬蛙。當(dāng)然,存活的理由并不單純——難怪自然選擇能夠創(chuàng)造出極為復(fù)雜的動(dòng)物谚攒、植物阳准。但是死亡卻是粗陋、簡單的馏臭。在自然界野蝇,在眾表現(xiàn)型中做選擇,只要通過“非隨機(jī)死亡”就成了括儒。表現(xiàn)型一旦選出绕沈,也等于選了它體內(nèi)的基因。
若要電腦以令人感興趣的方式模擬自然選擇帮寻,我們就該忘記洛可可式的裝飾紋與所有吸引視線的特征乍狐。我們應(yīng)該致力于模擬“非隨機(jī)死亡”。在電腦里固逗,生物形應(yīng)與虛擬的惡劣環(huán)境對抗浅蚪。它們是否經(jīng)得起環(huán)境的折騰藕帜,應(yīng)與它們的形狀有因果關(guān)聯(lián)。理想狀態(tài)是惜傲,惡劣的環(huán)境應(yīng)包括其他的生物形——獵食者洽故、獵物、寄生蟲盗誊、競爭者——大家都在物競天擇时甚,自求多福。舉例來說哈踱,獵物與獵食者之間的斗爭荒适,勝負(fù)與它們的形狀特征有因果關(guān)聯(lián)。換言之开镣,有些獵物由于體形的特征刀诬,易于逃過遭獵殺的命運(yùn)⊙谱樱可是什么樣的體形特征能協(xié)助個(gè)體逃過劫數(shù),或讓個(gè)體易遭劫數(shù)肌割,不應(yīng)由程序設(shè)計(jì)師事先決定卧蜓。那些判生判死的標(biāo)準(zhǔn)應(yīng)該是結(jié)果,就像生物形的演化一樣把敞,我們憑后見之明才能發(fā)覺弥奸。于是符合實(shí)情的演化劇就可以在電腦里上演了,因?yàn)闂l件已經(jīng)齊備奋早,一場不斷增強(qiáng)的“軍備競賽”(arms race盛霎,參見第七章)即將發(fā)動(dòng),至于結(jié)局耽装,我不敢臆測愤炸。不幸,我的程序設(shè)計(jì)本領(lǐng)還不足以建構(gòu)這么一個(gè)虛擬演化世界掉奄。
什么人有這種本領(lǐng)呢规个?我想電玩店里“外星人入侵”之類的嘈雜、庸俗動(dòng)作電玩你一定早已熟悉了姓建,發(fā)展那些電玩的程序師就有這種本領(lǐng)诞仓。這些程序都在仿真想象的世界。在那個(gè)虛擬世界中速兔,有地理情境墅拭,通常以三維空間呈現(xiàn),也有快速移動(dòng)的時(shí)間向度涣狗。其中有些對象在虛擬的三維空間中嗡嗡穿梭谍婉,在令人難以忍受的嘈雜聲中彼此相撞舒憾、相互射擊、互相吞噬屡萤。那個(gè)虛擬世界甚至逼真到操弄控制器的玩家都以為身臨其境珍剑,情不自禁。我認(rèn)為這種計(jì)算機(jī)程序設(shè)計(jì)最高段的產(chǎn)品死陆,就是訓(xùn)練飛行員或宇宙飛船駕駛員的虛擬機(jī)了招拙。但是與我們想要模擬的世界與情況相比,這些程序就太小兒科了措译。我們得模擬一個(gè)完整的生態(tài)系别凤,獵物與獵食動(dòng)物在其中演化,然后發(fā)展成愈演愈烈的軍備競賽领虹!不過规哪,這是做得到的。要是程序設(shè)計(jì)高手有意試試身手塌衰,與我合作接受挑戰(zhàn)诉稍,請與我聯(lián)絡(luò)。
盡管模擬“軍備競賽”目前似乎是不可能的任務(wù)最疆,還是有一些簡單得多的事可做杯巨,我就打算暑假試試看。我會(huì)在花園里找個(gè)陰涼的地方努酸,擺上一臺(tái)電腦服爷。屏幕要用彩色的。我手邊有個(gè)“生物形”程序获诈,其中有幾個(gè)基因?qū)iT控制色彩仍源,運(yùn)作的方式就像那9個(gè)控制形狀的基因一樣。我會(huì)隨便挑一個(gè)看來簡潔舔涎、鮮艷的生物形做起點(diǎn)笼踩。然后電腦就展示出它的突變子女,整個(gè)屏幕上都是亡嫌,有的顏色不同戳表,有的形狀不同,有的顏色昼伴、形狀都不同匾旭。我相信蜜蜂、蝴蝶或其他昆蟲會(huì)“造訪”屏幕圃郊,它們“撞擊”屏幕上特定生物形的位置价涝,就表示它們“看上”了它——“選擇”了它。等到昆蟲訪客超過一定數(shù)量之后持舆,電腦就清理屏幕色瘩,以最受青睞的那個(gè)生物形代表第二世代伪窖,繁衍下一世代。于是屏幕上就出現(xiàn)了新一代的突變子女居兆。
我很指望經(jīng)過許多許多世代后野外的昆蟲能讓花朵在電腦里演化出來覆山。果真的話,電腦花朵遭受的自然選擇壓力與野外的花朵完全一樣——顯花植物的演化驅(qū)力正是昆蟲泥栖。我的指望可不是一廂情愿簇宽,事實(shí)上昆蟲經(jīng)常停留在女士衣服上的鮮艷處,科學(xué)家也系統(tǒng)地做過實(shí)驗(yàn)吧享,研究昆蟲的色彩癖好魏割。另一個(gè)更令人興奮的可能,是野生昆蟲讓類似昆蟲的形狀演化出來钢颂。這也有先例可援钞它,絕非我瞎想:蜜蜂就是蜂蘭演化的推手。蜂蘭看來像似蜂后殊鞭,引誘雄蜂與它交配遭垛,借以傳播花粉。蜂蘭今日的形態(tài)是它世代受到雄蜂垂青的累積結(jié)果操灿。想象一下锯仪,要是圖5中的“蜂花”是彩色的,你會(huì)不會(huì)以為它是蜜蜂牲尺?
我悲觀的主要理由是:昆蟲的視覺與我們的很不一樣卵酪。映像管屏幕是為人眼設(shè)計(jì)的幌蚊,而不是昆蟲的眼睛谤碳。因此,雖然我們與蜜蜂殊途同歸溢豆,都將蜂蘭看作形似蜂后的東西蜒简,蜜蜂可能根本看不見映像管屏幕上的圖像。蜜蜂也許只能看見625條掃描線而已漩仙。不過搓茬,這個(gè)實(shí)驗(yàn)仍然值得做。我想本書出版時(shí)队他,我就知道答案了卷仑。
常聽人說:電腦輸出的結(jié)果,不會(huì)比你輸入的多麸折。這個(gè)說法還有其他的版本锡凝,像是:電腦只能做你叫它做的事,因此電腦絕無創(chuàng)意垢啼。這些陳腔濫調(diào)的確是真的窜锯,可是又當(dāng)不得真张肾,這好有一比:莎士比亞一輩子寫過的——字——也不過是他第一位老師教他寫的那些玩意兒俭尖,不是嗎炸渡?電腦跑的“演化”程序是我寫的,可是圖5上的那些圖形都不是我事先構(gòu)想的岗喉。壓根兒我就沒想到它們會(huì)出現(xiàn)驾孔,因此我認(rèn)為說它們“突現(xiàn)”(emerge)挺實(shí)際的芍秆。沒錯(cuò),它們的演化以我的選擇做向?qū)е遥敲恳浑A段我只能在一小撮隨機(jī)突變的樣本中做選擇浪听,我的選擇談不上“策略”,只能說投機(jī)眉菱、善變迹栓、短視。對生物形會(huì)演化成什么模樣俭缓,我心無定見克伊,自然選擇也沒有。
關(guān)于這一點(diǎn)华坦,要是你聽我說過一個(gè)故事愿吹,管保你印象更深刻。話說有一回惜姐,我的確試過在跑“演化”程序之前就默認(rèn)了一個(gè)終極目標(biāo)犁跪。不過我必須先來個(gè)坦白從寬。即使我不坦白歹袁,我想你也猜得到坷衍。圖4的演化史是事后重建的。里面的“昆蟲”不是我第一次見到的那些条舔。當(dāng)初它們出現(xiàn)在屏幕上枫耳,我心頭響起了勝利的號(hào)角,可是我無法記錄它們的基因式孟抗。它們就在眼前迁杨,在屏幕上,而我無法掌握它們凄硼,無法解開它們的基因式铅协。我不愿把電腦關(guān)掉,一直在絞盡腦汁摊沉,希望想出什么辦法來將它們的基因式記錄下來狐史,結(jié)果枉費(fèi)心機(jī)。它們的基因埋藏在內(nèi)部深處,真實(shí)生物的也是预皇。我可以用打印機(jī)將它們的軀殼印出來侈玄,但是我失去了它們的基因。我立即修改了程序吟温,以后的生物形都能留下基因式供日后查考序仙,可是往者已矣,無從挽回鲁豪。
于是我開始設(shè)法將它們找回來潘悼。既然它們演化出來過,難道不能再演化一次爬橡?記憶中的施特勞斯和弦縈繞心頭治唤,“我的”昆蟲也揮之不去。我在生物形的國度里四處漫游糙申,不知見過多少奇異的生物與事物宾添,無奈過盡千帆皆不是,我沒找到它們柜裸。我知道它們必然在什么地方缕陕。我知道它們的演化起點(diǎn)——始祖的基因式。我有它們的“畫影圖形”疙挺。我甚至連它們歷代祖先的形貌都有記錄扛邑。可是我不知道它們的基因式铐然。
也許你以為重建它們的演化路徑很容易蔬崩,其實(shí)不然。理由是:演化世代要是到達(dá)某個(gè)數(shù)目搀暑,即使只涉及9個(gè)基因沥阳,可能的演化系譜也是個(gè)天文數(shù)字。好幾次我遇上似乎可算“我的”昆蟲的祖先险掀,可是不管我怎么小心在意地選沪袭,以后的演化總不免步入歧途湾宙。最后樟氢,我在生物形國度里的演化漫游總算有了眉目——我又逮著了它們。那種勝利的心情侠鳄,不亞于我第一次見到昆蟲在屏幕上演化出來埠啃。我至今仍不清楚它們是否就是讓我心中響起施特勞斯《查拉圖斯特拉如是說》起始和弦的那些,還是它們只是趨同演化的產(chǎn)物伟恶,只不過形似而已碴开。不過我已經(jīng)很滿意了。這一次不會(huì)再出錯(cuò)了:我把它們的基因式記了下來,現(xiàn)在我隨時(shí)可以讓“昆蟲”演化了潦牛。
我承認(rèn)這個(gè)故事有些地方我夸張了一些眶掌,但是我有深意。我希望讀者明白的是:即使程序是我寫的巴碗,電腦按照指令亦步亦趨行事朴爬,屏幕上演化出的動(dòng)物也不是我規(guī)劃的,我很清楚它們的“祖先”是什么模樣橡淆,可是我見到它們時(shí)自己也萬分驚訝召噩。我完全不能控制演化,即便我想讓某個(gè)“演化史”重演過一遍逸爵,依然無法得逞具滴。好在那些“昆蟲”的祖先每個(gè)世代我都打印過,留下了完整的圖像記錄师倔,然而即使有圖為憑构韵,整個(gè)過程仍困難而沉悶。程序師不能控制或預(yù)測電腦圖像的演化過程趋艘,你覺得困惑嗎贞绳?難不成電腦里有什么我們難以理解甚至神秘的玩意兒在搞鬼?當(dāng)然不是致稀。真實(shí)生物的演化也不涉及什么神秘玩意兒冈闭。電腦模型可以幫助我們解決這個(gè)謎團(tuán),并對真實(shí)的演化過程有所認(rèn)識(shí)抖单。
我先交代一下萎攒,解決謎團(tuán)的論證大致是這樣的:有一個(gè)數(shù)目固定的生物形集合,每一個(gè)生物形都在一個(gè)數(shù)學(xué)空間中占據(jù)一個(gè)獨(dú)特的位置矛绘。它們的位置是永久的耍休,只要知道基因式就能立刻找到它們;而且每個(gè)生物形與四周的緊鄰都只有一個(gè)基因的差異货矮。因?yàn)槲乙阎牢业摹袄ハx”的基因式羊精,我可以隨意復(fù)制它們,也可以讓電腦從任何一個(gè)生物形朝向它們演化囚玫。你第一次以“人擇”演化出新玩意兒的時(shí)候喧锦,會(huì)覺得那是一個(gè)創(chuàng)造的過程。也的確是抓督。但是你實(shí)際在做的燃少,只是在生物形國度的數(shù)學(xué)(基因)空間里“找尋”它們。我說這的確是個(gè)創(chuàng)造的過程铃在,理由是:尋找任何一個(gè)特定的生物形極為困難阵具,只因?yàn)樯镄蔚膰确浅7浅4蟀椋用駧缀跤袩o限多。在其中阳液,漫無目的怕敬、毫無章法地搜尋根本不可行。你必須采取某種有效的——有創(chuàng)意的——搜尋策略帘皿。
有些人天真地以為會(huì)下棋的電腦是暗中試過所有可能的棋步后才落子的赖捌。要是他們輸給電腦,這種想法可以令他們好過一點(diǎn)矮烹,但是他們的想法完全錯(cuò)了越庇。棋局的可能棋步,數(shù)量實(shí)在太大了:在這么大的搜尋空間中使用闖空門的伎倆無異于大海撈針奉狈。寫一個(gè)成功的下棋程序卤唉,秘訣在于找出有效的搜尋快捷方式。累積選擇——無論是電腦模型的人擇還是真實(shí)世界里的自然選擇——是個(gè)有效的搜尋方式仁期,它的結(jié)果看來就像是有創(chuàng)意的智能設(shè)計(jì)出來的桑驱。畢竟培里的設(shè)計(jì)論證著眼的就是那一點(diǎn)。就技術(shù)而言跛蛋,我們在電腦上玩的生物形游戲熬的,不過是從早已在數(shù)學(xué)空間就位的玩意兒中,搜尋覺得悅目的個(gè)體赊级。整個(gè)過程讓人覺得像是從事藝術(shù)創(chuàng)作押框。在一個(gè)很小的空間中搜尋的話,其中不過小貓三四只理逊,通常不會(huì)覺得像是在創(chuàng)作什么橡伞。孩子玩的找東西游戲不會(huì)令人覺得有創(chuàng)意。隨意瞎闖就想找到目標(biāo)晋被,通常只有在搜尋空間很小的時(shí)候才行得通兑徘。空間增大后羡洛,搜尋方式就得有點(diǎn)章法挂脑;空間越大,章法越得講究欲侮。一旦空間大到一定的程度崭闲,有效的搜尋方式就與真正的創(chuàng)意無從分別了。
電腦生物形模型把這些論點(diǎn)展示得十分清楚锈麸,它們在人類的創(chuàng)造過程(例如構(gòu)思贏得棋賽的策略)與自然選擇(盲眼鐘表匠)的演化創(chuàng)造之間構(gòu)成一座有教育意義的橋梁镀脂。為了了解這一點(diǎn)牺蹄,我們必須將“生物形國度”發(fā)展成一個(gè)數(shù)學(xué)“空間”忘伞,四面八方充滿了形態(tài)有差異的生物形,它們有秩序地分布排列,各安其位氓奈,等待造訪翘魄。圖5的17個(gè)生物形,并沒有什么特殊的安排舀奶。但是它們在生物形國度中暑竟,都有自己的獨(dú)特位置,由基因式?jīng)Q定育勺,四周也圍繞著特定的鄰居但荤。在生物形國度中,它們彼此間都有明確的空間關(guān)系涧至。那是什么意思腹躁?空間位置會(huì)有什么意義?
我們談的空間是基因空間南蓬。在基因空間中纺非,近鄰都是基因式只差一個(gè)基因的個(gè)體。圖3中央是基本形赘方,周圍的生物形是它在基因空間中18個(gè)近鄰里的8個(gè)烧颖。那18個(gè)近鄰都是它可能生產(chǎn)的子女,它也可能是它們的子女窄陡,這都是我們的電腦模型容許的炕淮。由那些近鄰向外跨出一步,中央生物形的鄰居就達(dá)到324個(gè)(18 × 18跳夭,暫且忽略“朝向祖先方向的”突變)鳖悠。再跨出一步,鄰居的數(shù)量就增加到5824個(gè)(18×18×18)优妙,包括可能的曾祖/曾孫乘综,表/堂兄弟姊妹等等。
為什么要談基因空間呢套硼?我們會(huì)得到什么結(jié)論呢卡辰?答案是:基因空間可以幫助我們了解演化是一個(gè)漸進(jìn)、累積的過程邪意。根據(jù)電腦模型的規(guī)則九妈,每一個(gè)世代只能在基因空間中移動(dòng)一步。自始祖起經(jīng)過29個(gè)世代雾鬼,落腳的位置不可能距始祖29步以上萌朱。每一部演化史都是基因空間中一個(gè)特定的路徑,或叫“軌跡”策菜。舉例來說晶疼,圖4所記錄的演化史就是基因空間中一個(gè)特定的蜿蜒軌跡酒贬,連接一個(gè)點(diǎn)與一只昆蟲,中間經(jīng)過了28個(gè)世代翠霍。我以比喻的方式說我在生物形國度里“漫游”锭吨,指的就是這個(gè)。
本來我想將這個(gè)基因空間以一張圖畫來呈現(xiàn)寒匙。我遇到的問題是:圖畫是二維空間零如。生物形居住的基因空間不是二維空間。它甚至不是三維空間锄弱,而是九維空間考蕾![一談到數(shù)學(xué),千萬記住別害怕会宪。數(shù)學(xué)沒那么可怕辕翰,盡管有時(shí)數(shù)學(xué)家會(huì)讓你覺得數(shù)學(xué)難得不得了。每一次數(shù)學(xué)難著我了狈谊,我都會(huì)想起電機(jī)工程大師湯普森(Silvanus Thompson喜命,1851~1916)在《輕松學(xué)習(xí)微積分》(Calculus Made Easy)中的箴言:“要是一個(gè)傻子會(huì)做,每個(gè)傻子都會(huì)河劝”陂牛”]要是我們能夠畫出九個(gè)向度,就能以每個(gè)向度對應(yīng)一個(gè)生物形基因組的基因赎瞎。每個(gè)特定動(dòng)物的位置牌里,就說蝎子或蝙蝠或昆蟲好了,都能在基因空間中以它的基因式定位务甥。演化變化就是在這九維空間中一步一腳印創(chuàng)造出來的牡辽。兩個(gè)動(dòng)物的遺傳差異,從一個(gè)演化成另一個(gè)所需的時(shí)間敞临,以及演化的困難程度态辛,都可以用它們在這九維空間中的距離來表示。
可是我們沒有辦法畫出有九個(gè)向度的空間挺尿。我想找個(gè)辦法來湊合奏黑,就是用一張二向度的圖(平面圖)來表達(dá)在(九度)基因空間中從一點(diǎn)移動(dòng)到另一點(diǎn)的感覺。有許多辦法都能達(dá)到這個(gè)目的编矾,我挑了一個(gè)我叫作“三角形”的熟史。請看圖6。三角形以任意挑出的三個(gè)生物形為頂點(diǎn)窄俏。頂上那個(gè)是基本樹形蹂匹,左邊是“我的”昆蟲中的一個(gè),右邊的沒有名字但是我覺得它很好看凹蜈。它們每一個(gè)都有獨(dú)特的基因式限寞,與所有生物形一樣忍啸,基因式?jīng)Q定了它們在(九維)基因空間中的位置。
這三角形在一個(gè)(二維)平面上昆烁,這個(gè)平面是(九維)基因空間的一個(gè)切面(一個(gè)傻子會(huì)做的吊骤,每個(gè)傻子都會(huì))缎岗。這個(gè)平面就像一片插入果凍的平板玻璃静尼。玻璃表面上畫著一個(gè)三角形,以及憑基因式剛好位于玻璃面上的生物形传泊∈竺欤“憑基因式”是什么意思?這就要談?wù)勎挥谌切稳齻€(gè)頂點(diǎn)上的生物形了眷细。我們管它們叫“錨地”(anchor)拦盹。
記得嗎?我們談基因空間中的“距離”溪椎,指的是遺傳上相似的個(gè)體是“近”鄰普舆,遺傳上相異的個(gè)體是“遠(yuǎn)”親。在這一個(gè)平面上校读,三個(gè)“錨地”是計(jì)算所有距離的參考點(diǎn)沼侣。這片玻璃上的任一點(diǎn),無論在三角形之內(nèi)還是之外歉秫,基因式的計(jì)算方式都是求得距三個(gè)“錨地”生物形基因式的“加權(quán)平均數(shù)”蛾洛。我想你已經(jīng)猜到“加權(quán)”是怎么做的。就是以那個(gè)點(diǎn)到三個(gè)“錨地”的距離來加權(quán)的雁芙,精確地說轧膘,是它與三個(gè)“錨地”的接近程度。因此兔甘,那個(gè)點(diǎn)越接近昆蟲就越像昆蟲谎碍。要是你向樹的方向看去,就會(huì)看見生物形的昆蟲模樣逐漸消失洞焙,反而越來越像樹椿浓。當(dāng)你的視線停留在三角形的中心,那兒見到的動(dòng)物都因?yàn)槿齻€(gè)“錨地”的影響表現(xiàn)出不同程度的“遺傳夾纏”(Genetic Compromises)闽晦。
但是以上的說明對三個(gè)“錨地”生物形頗有抬舉過當(dāng)之嫌扳碍。電腦的確利用它們計(jì)算平面上任一點(diǎn)的基因式,無可否認(rèn)仙蛉。但是笋敞,在這個(gè)平面上任取三點(diǎn)都能完成這個(gè)任務(wù),算出相同的數(shù)值荠瘪。因此圖7中夯巷,我就不畫出三角形了赛惩。圖7與圖6是同樣的圖,只是另一個(gè)平面罷了趁餐。同一只昆蟲仍是三個(gè)“錨地”之一喷兼,只是這會(huì)兒它在右手邊。其他兩個(gè)“錨地”是“悍婦”(第二次世界大戰(zhàn)期間的英國海軍飛機(jī))與蜂花后雷,圖5上都有季惯。在這個(gè)平面上,你也會(huì)注意到:近鄰比遠(yuǎn)親看來相似得多臀突。例如“悍婦”就位于一中隊(duì)類似機(jī)種之間勉抓,它們正以編隊(duì)飛行。由于昆蟲位于兩個(gè)平面上候学,你可以想象兩個(gè)平面相交藕筋,其間有一夾角。
我們的方法因?yàn)槌チ巳切味兴倪M(jìn)梳码,因?yàn)樗黹_了我們的注意力隐圾。三角形過度凸顯了處于“錨地”位置的三個(gè)生物形。不過我們的方法還得進(jìn)一步改進(jìn)掰茶。圖6與圖7中暇藏,空間距離代表遺傳距離,但是比例都扭曲了符匾∵犊В縱坐標(biāo)的比例尺與橫坐標(biāo)的比例尺未必對應(yīng)。為了修正啊胶,我們必須慎選當(dāng)作“錨地”的生物形甸各,使它們彼此的遺傳距離都相等。圖8就是修正后的結(jié)果焰坪。三角形同樣沒有畫上趣倾。三個(gè)“錨地”分別是圖5中的蝎子,同樣的昆蟲(又來了)某饰,以及頂上說不出名堂的一個(gè)玩意兒儒恋。這三個(gè)生物形彼此相距30個(gè)突變(遺傳距離)。換言之黔漂,任何一個(gè)都可以演化成另外兩個(gè)诫尽,一樣容易。任何一個(gè)要演化成另外一個(gè)炬守,至少需要30個(gè)遺傳步驟牧嫉。圖8下緣的標(biāo)尺,標(biāo)上了遺傳距離的單位——基因。它可以被看作一把遺傳尺酣藻。這把尺不僅能用在水平方向曹洽,你可以將它向任何方向傾斜,測量平面上任一點(diǎn)與另一點(diǎn)的遺傳距離辽剧,以及所需的最低演化時(shí)間(讓人懊惱的是:在圖8的平面上送淆,這并不確實(shí),因?yàn)橛脕泶蛴〉拇蛴C(jī)會(huì)扭曲比例怕轿,但是由于扭曲的比例很輕微偷崩,不值得計(jì)較。不過撤卢,要是你使用圖8的標(biāo)尺环凿,記孜嗉妗:你得到的讀數(shù)并不精確)放吩。
這些切入九向度基因空間的二向度平面,讓我們多少可以體會(huì)“在生物形國度中漫游”的意思羽杰。若要更實(shí)際些渡紫,你得記住演化并不局限在一個(gè)平面上。在真正的演化旅途上考赛,你隨時(shí)可能從一個(gè)平面掉到另一個(gè)平面上惕澎,例如從圖6的平面掉到圖7的平面上(在那只“昆蟲”附近,因?yàn)閮蓚€(gè)平面在那里相交)颜骤。
我說過圖8的“遺傳尺”讓我們能夠計(jì)算從一點(diǎn)演化到另一點(diǎn)需要的最短時(shí)間唧喉。就我們的模型而言,這是不錯(cuò)的忍抽,因?yàn)槲覀兊哪P蛢?nèi)建了嚴(yán)格的演化規(guī)則八孝,但是我想強(qiáng)調(diào)的是“最短”這個(gè)形容詞。由于昆蟲與蝎子相距30個(gè)基因單位鸠项,從昆蟲演化成蝎子只要30個(gè)世代——要是一步都不錯(cuò)的話干跛。可是“一步都不錯(cuò)”談何容易祟绊?你得知道目標(biāo)的基因式楼入,想出前進(jìn)的路徑,并有“按表操課”的能力牧抽。這些機(jī)會(huì)——知道目標(biāo)的基因式嘉熊,想出前進(jìn)的路徑——在生物演化中完全不存在。
現(xiàn)在我們可以用生物形模型討論先前以“猴子敲出莎士比亞作品”建立的論點(diǎn)了扬舒,那就是:漸進(jìn)阐肤、逐步的變化是演化的關(guān)鍵,純偶然性事件不是呼巴。首先我們要改變圖8下方的標(biāo)尺單位泽腮。距離不再是“(演化過程中)必須改變的基因數(shù)目”御蒲,而是“(完全憑偶然性)一次就能跳躍過該距離的概率”。為了方便討論诊赊,我們得先軟化一條電腦模型的內(nèi)建規(guī)則厚满,最后讀者會(huì)了解為什么我一開始要設(shè)計(jì)那條規(guī)則。那條規(guī)則是:子女與父母的差異只限于一個(gè)基因碧磅。每一次只有一個(gè)基因可以突變碘箍,而且這個(gè)基因的“值”只準(zhǔn)加1或減1。這條規(guī)則軟化后鲸郊,突變基因的數(shù)目不限丰榴,突變值也不限。這樣軟化秆撮,實(shí)際上的確太過分了四濒,因?yàn)檫@等于突變值可以是正負(fù)無限之間的任意值。要是我們以個(gè)位數(shù)限定基因的突變值职辨,例如正負(fù)9之間盗蟆,就能恰當(dāng)?shù)仄鹾衔蚁胪蒲莸恼擖c(diǎn)了。
那條規(guī)則適當(dāng)?shù)剀浕笫婵悖碚撋仙镄蚊總€(gè)世代可能發(fā)生的變化喳资,包括9個(gè)基因的任意組合。還有腾供,每個(gè)基因的突變值也有許多可能仆邓,只要是個(gè)位數(shù)就可以了。這有什么意思呢伴鳖?是這樣的节值,理論上這么一來演化就是可以跳躍的:任何世代都可能在生物形國度中從一點(diǎn)跳到另一點(diǎn)。不只是一個(gè)平面上的另一點(diǎn)黎侈,而是整個(gè)九維超空間中的另一點(diǎn)察署。舉例來說,要是你想從昆蟲一步就演化成圖5中的狐貍峻汉,辦法如下:在基因1至9的值上加上下列數(shù)值贴汪,–2,2休吠,2扳埂,–2,2瘤礁,0阳懂,–4,–1,1岩调。但是由于我們談的是隨機(jī)跳躍巷燥,每一次生物形國度中所有的點(diǎn)都有同樣的機(jī)會(huì)成為目標(biāo)。因此任何一個(gè)特定的點(diǎn)(例如狐貍)果真天降鴻運(yùn)成為目標(biāo)的概率就很容易計(jì)算了号枕。那就要先算出超空間中所有生物形的總數(shù)缰揪。你一定已經(jīng)看出來了,我們又要做天文數(shù)字的計(jì)算了葱淳。我們這次有9個(gè)基因钝腺,每個(gè)基因有19個(gè)可能的值(從–9到9),因此一次跳躍的可能目標(biāo)有19的9次方個(gè)赞厕⊙藓總數(shù)是5000億。與阿西莫夫的“血紅蛋白數(shù)字”比起來寒磣得很皿桑,但是我還是認(rèn)為它是個(gè)“大數(shù)字”毫目。要是你開始時(shí)是個(gè)昆蟲,像個(gè)白癡跳蚤一樣跳個(gè)5000億下唁毒,至少有一次你會(huì)跳成狐貍蒜茴。
這對我們了解真正的演化有什么幫助呢星爪?這個(gè)模型再一次讓我們體認(rèn)到“漸進(jìn)浆西、逐步變化”的重要。有些演化學(xué)者不認(rèn)為演化需要這種“漸變假定”(gradualism)顽腾。生物形模型讓我們結(jié)結(jié)實(shí)實(shí)地了解“漸進(jìn)近零、逐步變化”很重要的理由。說起演化抄肖,我們預(yù)期那只昆蟲會(huì)跳到它周遭近鄰的位置久信,而不會(huì)一躍就到達(dá)狐貍或蝎子的位置。為什么漓摩?且聽我分解裙士。隨機(jī)跳躍果真發(fā)生過,從昆蟲跳到蝎子當(dāng)然可能管毙。它跳到近鄰的位置一樣可能腿椎。它跳到國度中任何一個(gè)生物形的位置都一樣可能。但是現(xiàn)在問題來了夭咬,既然國度里生物形的總數(shù)達(dá)5000億個(gè)啃炸,而跳到任一個(gè)位置的概率與其他位置的概率完全一樣,于是跳到任何一個(gè)特定位置的概率就小到可以忽略的地步卓舵。
請注意南用,假定生物形國度里流行著一股非隨機(jī)“選擇壓力”,對我們沒有任何幫助。即使國王設(shè)立大獎(jiǎng)裹虫,頒給任何一跳就跳到蝎子位置的幸運(yùn)兒肿嘲,也無濟(jì)于事。概率仍是5000億分之一筑公,(與零相差多少睦刃?)但是,要是你不跳十酣,而是走涩拙,一次一步,每一次你恰巧朝正確方向跨出一步的話就會(huì)得到一個(gè)小硬幣作為獎(jiǎng)勵(lì)耸采,你短時(shí)間內(nèi)就能到達(dá)蝎子的位置兴泥。最快也要30步(世代),你不一定那么快虾宇,可是要不了太多時(shí)間搓彻,是可以肯定的。正因?yàn)橐货矶偷母怕侍椭鲂啵徊揭粋€(gè)腳印地前進(jìn)旭贬,每一步都奠基于先前的成就,是唯一的可行之道搪泳。
前面幾段的基調(diào)很容易引起誤會(huì)稀轨,我非得“消毒”不可。我舉的例子是從昆蟲演化到蝎子岸军,好像演化是針對某個(gè)遙遠(yuǎn)目標(biāo)(例如蝎子)前進(jìn)的過程奋刽。這個(gè)問題我們已經(jīng)討論過,演化從來不是個(gè)有目標(biāo)的過程艰赞。但是如果所謂目標(biāo)就是“任何能增進(jìn)生存機(jī)會(huì)的條件”佣谐,我的論證仍然有效。如果一個(gè)動(dòng)物有子女方妖,它至少有本事活到成年狭魂。它的突變子女可能本事更大。但是如果子女的突變規(guī)模很大党觅,遺傳空間中的親子距離拉得很開雌澄,子女因此擁有更大本領(lǐng)的概率有多大呢?答案是:很低仔役。非常低掷伙。至于理由,我們在討論生物形模型時(shí)已經(jīng)討論過了又兵。要是突變的規(guī)模很大任柜,可能的跳躍目標(biāo)就會(huì)是個(gè)天文數(shù)字卒废。而我們在第一章討論過,因?yàn)樗赖舻姆椒ū然钪姆椒ǘ嗟枚嘀娴兀谶z傳空間中隨機(jī)長距蹦跳顯然是穩(wěn)健的找死之道摔认。在遺傳空間中即使短距蹦跳都很可能闖入鬼門關(guān)。但是跳越的距離越短宅粥,死亡的概率越低参袱,改善本領(lǐng)的概率越高。我們會(huì)在另一章回到這個(gè)主題秽梅。
那就是我想從生物形模型捻出的教訓(xùn)抹蚀。我希望讀者不會(huì)覺得太抽象。另有一個(gè)數(shù)學(xué)空間企垦,充斥了有血有肉的動(dòng)物环壤,每個(gè)都由幾十億個(gè)細(xì)胞組成,每個(gè)細(xì)胞都包含幾萬個(gè)基因钞诡。這不是生物形空間郑现,而是真正的基因空間。地球上生存過的真實(shí)動(dòng)物荧降,比起這個(gè)理論上可能生存的動(dòng)物接箫,數(shù)量簡直微不足道。這些真實(shí)動(dòng)物都是基因空間中演化路徑的產(chǎn)物朵诫,真實(shí)的演化路徑數(shù)量很少辛友。動(dòng)物空間中大多數(shù)理論路徑都產(chǎn)生不可能生存的怪物。真實(shí)動(dòng)物分布在理論怪物之間拗窃,這兒一些瞎领,那兒一些,在基因超空間中每個(gè)都有自己獨(dú)特的位置随夸。每個(gè)真實(shí)動(dòng)物周遭的一小撮鄰居位置,大部分從沒有被真實(shí)動(dòng)物填充過震放,但是有一些有宾毒,是它的祖先、苗裔殿遂、旁支親族诈铛。
在這個(gè)巨大的數(shù)學(xué)空間中,人類墨礁、鬣狗幢竹、變形蟲、土豚恩静、扁蟲(如渦蟲)、烏賊厚掷、渡渡鳥與恐龍都有特定位置浦夷。要是我們有高明的基因工程技術(shù),理論上我們就可以在動(dòng)物空間中任意移動(dòng)循签。我們就能在基因迷宮中逍遙自在,從任何一點(diǎn)出發(fā)都能找到抵達(dá)渡渡鳥(幾百年前滅絕)疙咸、暴龍(中生代之末滅絕)與三葉蟲(古生代之末滅絕)的路徑(也就是重新創(chuàng)造它們)县匠。我們必須知道的,不過是哪些基因必須修理撒轮,染色體哪些片段要復(fù)制乞旦、顛倒或者“刪掉”。我不大相信我們會(huì)有那么完整的知識(shí)來干這件事题山,但是這些令人著迷的已滅絕的動(dòng)物是那個(gè)巨大基因超空間中的永久居民杆查,它們躲在自己的私密角落里,只要我們有正確的知識(shí)臀蛛,懂得在迷宮中如何找路亲桦,就能發(fā)現(xiàn)它們。我們甚至還可能以人擇讓鴿子演化成渡渡鳥的復(fù)本浊仆,不過我們得活上100萬年才能完成這個(gè)實(shí)驗(yàn)客峭。但是現(xiàn)實(shí)世界的遺憾,可以用想象力彌補(bǔ)抡柿。像我一樣沒受過專業(yè)數(shù)學(xué)訓(xùn)練的人舔琅,電腦是想象力的有力盟友。電腦就像數(shù)學(xué)洲劣,想象力不僅因而飛翔备蚓,也因而自律自制。