一個烤麪包機的專業化
包括人類在內的生物體本質上都是機器。但不同的是,人們製造機器通常用來做對我們有幫助的事情,而生物體是被設計用來自我繁殖的機器。(再繼續往下談之前,不得不提的是,儘管這些觀念對於現在的人們來說再熟悉不過,而在達爾文之前卻並不是那麼盡人皆知。那時人們可能會認爲生物體及其組成部分的功能並不是爲其自身的繁衍服務,而是對保持生態系統平衡,保持自然的多樣性,甚至是爲了人類的開發利用之類事情有用。)
所以,爲了生存和自我繁衍的生物體,就擁有了很多設計出來的爲了這個目的而工作的組成部分。一般來說,那些能夠成功自我繁衍的生物體,和種羣中的其他個體相比,當然是那些能夠很好地執行生存和自我繁衍所必需的功能的個體。因爲自然選擇的影響是一個漫長的時間過程,所以即使是一個很小的優勢都會有重要影響,這也就是爲什麼當你去動物園或者站在野外時,會驚歎於那些爲其功能服務的生物體的組成部件。
我的桌子上有一件裱好的葉蟲(Phylliumcelebicum)標本,這是以前畢業的一個學生在拿到他的博士學位時送給我的禮物。這種蟲子多被認爲是一種“像葉子一樣的昆蟲”,因爲它有一個讓人驚歎的像一片葉子一樣的身體。它身體上面輕微的壓痕、部分淡淡的褐色和另外染上的綠色,使其看起來像一片被吃掉一部分並且已經輕微腐爛的葉子。這是它的僞裝中最讓我喜歡的。
這隻葉蟲的僞裝色的功能,就是爲了使其與周圍的環境融合,從而避免被天敵發現和捕食。對此我們可能沒有什麼疑問。同樣的道理,我們清楚地知道眼睛的功能是觀察,因爲所有我們觀察到的性質(綠色僞裝色、軀幹上的脈狀結構、葉片狀輪廓等)讓我們有可能知道這個生物的僞裝色的功能,即便我並沒有化石標本也沒有做任何基因序列的檢測。之所以提及這一點,是因爲當我們談論支持適應性假設的證據時,我們很容易忘記我們要尋找的是那些對特定功能有貢獻的特徵。
在葉蟲的例子中,觀察顏色和形狀讓我們可以對其功能進行推斷。這些未必會有用處的物質準備能夠成爲現實的唯一途徑就是進化的過程,顏色和形狀也是我們能夠用來推斷其結構的功能的證據。同樣,一個物體的物理性質提供了闡述其功能假設的數據,人類行爲的數據闡述了關於構成人類意識的計算機功能的假設,這是因爲,人類意識中顏色和形狀的等價物是計算指令。也就是說,和物體由於其形態的細節而能夠做有用的事情一樣,人類意識由於其執行的計算指令而能夠做有用的事情。人類意識的計算指令的性質,當然可以根據行爲數據來了解,這些數據可以告訴我們一些關於計算指令和功能的信息。心理學實驗(包括在這裡討論的)對於我們理解意識模塊或子程序的功能很有幫助。
所以,生物體是由擁有各種功能的部分組成的機器,例如躲避被發現和捕食的功能。這就將我們帶到了工程學。工程學是很重要的,因爲一個生物體的各種不同特徵擁有各種不同功能,又因爲自然選擇是一個具有內在競爭性的過程,所以即使是生物體的組成部分在功能執行效率上的某些微小優勢都會有重要影響。
工程學的一個基本原則(該原則的基礎性使其擴展到了像經濟學和計算機科學這些領域)就是:專業化產生更高的效率。作爲一個普遍原理,具有限定功能的機器在執行任務時要比具有更多功能的機器效率更高。一個非常專業化的機器必然無法用於完成無限的大範圍的任務,因爲不同的任務需要不同的形態來最高效地完成。總是存在工程上的權衡,每一種形態用一種功能換取另一種。
其邏輯就在於這個事實,專業化機器擁有能很好地執行特定功能的組成部分。爲了有良好的功能,物體需要非常特別的形態或者形狀,這就是爲什麼粗齒鋸和長柄勺看起來如此不同。當一個物體的形狀遵循一個特定任務的需要時,那麼這個形狀同時就(必然)非常不適合於其他的任務。
和物體形狀一樣,這也適用於計算的“形狀”。當一個計算機器變得非常適於處理信息、解決問題時,它也就會變得不太適合處理其他的問題,這就是爲什麼一個國際象棋博弈程序和文字處理軟件程序如此不同[這也是爲什麼你下棋能夠擊敗微軟的Word軟件,但是卻不會想去用深藍(DeepBlue)寫一本書]。
由於某種原因,我總是喜歡拿烤麪包機舉例子。烤麪包機有很多設計好的特性使得其非常適合用來烘烤麪包片。一個烤麪包機有兩個開口向上的插槽,開口大到足以放下任何一片面包,但是又小到可以高效地將熱量傳遞到麪包片的表面。它有一個靈巧的小塑料柄可以讓我把麪包放進烤麪包機內,但是塑料柄本身卻還是涼的,不會燙手。它有一個小定時裝置,可以使它在一定的時間之後自動地彈出麪包(也許是果醬餡餅或其他食物)。它還有一根電源線和加熱元件來保證其能夠執行自己的功能。
要注意,烤麪包機的各個部分都有助於其整體功能的實現,這些部分使它擅於烘烤麪包。此外,烤麪包機的特性也提供了有關其功能的證據。向某個人說明一個烤麪包機的功能並不難。即使沒有人告訴你這個烤麪包機是用來做什麼的,你也很可能猜得到它是被設計用來烤麪包的。它的結構非常適合於烤麪包,以至於不適合用來做其他任何事情。
拿烤麪包機來和丁烷點火槍對比一下。我猜你可以用丁烷點火槍來烤麪包,雖然不算很有效:會浪費許多熱量,麪包也不會被烘烤均勻,或者乾脆被烤壞了。我不會去嘗試這樣做。被設計用來烤麪包的烤麪包機,對於它需要解決的問題有很多有重要意義的“假設”事實:麪包將會是特定的形狀,烘烤加熱需要一段時間,一種持續傳遞電熱能的插槽等。點火槍的設計並沒有體現這些假設。烤麪包機有限定的功能,若用來完成其他大量的廚房炊事任務則會很糟糕,例如打開罐頭瓶、煮咖啡或者分發紙巾。
注意,烤麪包機當然也可以有其他的用途。我猜你可以用它做鎮紙;你可以用它做武器,就像《回到過去》(Scrooged)裡的比爾·默瑞(BillMurray)一樣;如果你的烤麪包機表面有光澤,你還可以在去約會前把它當作鏡子來梳理下自己的髮型;你可以用它來做麪包屑,在我的烤麪包機裡就可以收集到一托盤的麪包屑。
但是也要注意到,一個烤麪包機並不是一個很好的鎮紙,它體積太大而且笨重。它也不是一個很好的武器,很難有效地使用它。它也不是個很好的鏡子——它有弧度,會扭曲你的樣子。它也不是一個好的麪包屑製造機:每一片它烘烤的麪包只能做出一點點麪包屑,這效率實在太低了。
爲什麼我要告訴你關於烤麪包機的這些事情?因爲大腦和烤麪包機一樣,也是功能性機器。所以無論你是討論人類工具還是討論生物機器,就一個問題的解決方法有其規律性來說,該問題最有效的解決方法必然會體現出這些規律性,使機器能針對特定的任務並且高效率地完成該任務從而解決問題。在生物體的生活環境中,而且這環境具有規律性時,自然選擇將會偏愛擁有特定優勢的設計,因爲設計的效率在進化背景下非常關鍵。
回到我們的葉蟲上來,它的葉狀輪廓和僞裝色特別針對和適用於它生活的生態環境。如果被略微吃過並且腐爛的葉子不是它生活環境的一部分,那麼它針對這種環境的僞裝色就不會成爲一種有效的解決方案。如果葉蟲身體的形狀和顏色可以隨着它所身處的環境的背景來變化,是不是會更好呢?也許是的。但是在進化中,經常會有權衡取捨。一個動態變色方案會伴隨着代價,一個生物體特徵帶來的代價和其帶來的好處一樣,決定着進化上的成功。即使一個能隨時變形變色的葉蟲真的存在,並且在其所處的環境中的進化比賽中遙遙領先,它特定的顏色和形狀幾乎從未被識破。
自然選擇恐怕不能產生一個“最佳”設計還有很多其他的原因。因爲自然選擇過程的運行中基因變異是隨機的,如果一個變異的基因碰巧沒有出現,它就不可能被選擇。有些工程上的限制使得一些新的結構出現問題。同樣的道理,城市裡的新建築新街道會被已經存在的建築和街道的佈局所限制。所以,預期大腦中的迴路被很好地設計用來解決祖先面臨的適應問題是非常合理的,當然預期一些數量的不完美、次優性等是很合理的,我們待會兒會再談這個問題。
專業化
大腦的功能就是用來處理信息,所以我們需要考慮信息處理系統中特異化的權衡和優勢。在思考如何建造以信息處理爲目標的機器上花費了大量時間的計算機科學家們,普遍已經發現把龐大的程序任務拆分爲許多更小、更明確具體的問題是一個很有效的辦法。任何一個嘗試去寫一個子程序或宏的人都能直覺到這一點。伴隨着其他模塊化的優勢,對於你需要解決的問題有越多的假定,包括信息數據的格式(整數型、實數型、字符串型等等),就越容易寫出執行問題中功能的代碼。
實際上,據我的瞭解,在計算機科學領域,在複雜的信息處理系統中,模塊性是否是一個好的想法並不是一個真正的問題。就像近來所說的,模塊性或者“關注點分離”是“軟件工程的一條關鍵指導原則”。計算機科學早已知道,好的系統設計需要將計算分解成子程序,使系統更靈活、更易修改,容錯能力更強。甚至模塊“內部”的“隱藏”信息的概念(它與我們將在以後的章節中探究的許多觀點非常類似)也並不新鮮。考慮到模塊性在計算機科學領域中已爲大家所公認,我不明白爲什麼在心理學領域它卻還如此有爭議。我把這個困惑的問題留到下次再談。
我們來思考一下被稱爲“特定領域語言”和多用途語言的區別。根據維基百科(我常常猶豫是否使用它,但爲了這個目的我會使用)的說法:
如果特定領域語言與現有的語言相比,能夠使一個特殊類型的問題或問題的解決方案可以被更清楚地表達,而且這些問題類型在討論中頻繁地反覆出現,那麼創造一個特定領域語言(包括支持它的軟件)可能會很值得。
反對的意見如下:“相對的一面就是一種多用途編程語言,例如C語言或者Java語言……”基本上,特定領域語言非常擅長完成嚴格定義的任務,而且能夠高效和有效地完成。多用途語言在權衡的另一端,它可以用來做很多的事情,但是做任何一件事的效率都不會很高,因爲這種語言並不是爲特定目標而專門構建的。
維基百科條目規定“討論中的問題”必須是“頻繁反覆出現”的問題。除非你將需要一遍又一遍地執行同樣的運算,否則建造一個用來處理某一特定信息的機器就沒有任何意義。在進化背景下這種觀念也適用,但是在自然選擇的情況下,這不僅僅是一個好主意,更是一條法則。因爲自然選擇的作用跨越了許多世代,一個基因爲了能夠被選中,必須授予自己頻繁地成功自我繁殖的優勢,使自己能夠在羣體中增長。如果一個基因在這一代中產生優勢,然後在下一代產生了劣勢,那麼就不要期望它能在自然選擇的過程中生存下來。
一篇計算機科學領域的文章談到了由於內在的權衡性,不同的系統是如何更有助於不同類型的問題。我在這裡詳細地引用其中的一部分,是因爲其作者爲了讓人理解擁有很多專業化工具的好處,使用了進化心理學家們使用過的同樣的類比:
在過去,人們認爲一套單一的語言就可以很好地適用於所有的編程任務……但是隨着時間慢慢過去,更多的語言投入了使用,新的語言仍然在不斷出現……正如任何一個強大的機器都會裝配各種不同的工具應對一個10mm的螺母(開口扳手、套筒扳手、烏鴉腳扳手、淺插座、**座等);任何一個有能力的程序員都會通曉許多不同的語言,這樣他們就能夠選擇最好的語言來應對某種特定的情況。
同樣,意識也是一套包含着各種程序和子程序的軟件。當然這並不是說人類沒有獲取信息、向他人學習或者傳遞信息等等。沒有任何關於專業化的信息來源能說明這些信息對於建造一個能正確運行的機器是必需的。許多模塊被設計用來獲取關於世界的信息(語言學習系統就是最著名的例子),但是並沒有說明模塊化系統不能學習,而且很不靈活,或者僅僅是綠色版。許多人像這樣推論(不是關於綠色的部分),但是專業化顯然和固定化、基因決定論或者任何其他荒謬的東西不一樣。
實際上,就像我們在車輛的例子中看到的,增加模塊化系統可以增加複雜性和靈活性,這是計算機科學家早已熟練掌握的要領。
不僅僅是計算機科學家,我認爲蘋果公司iPhone手機的成功很大程度上就是來自於iPhone手機上運行了大量專業化的小程序。iPhone手機被廣泛地使用(現在有了擁有類似性能手機的競爭),就是因爲它可以運行很多和模塊類似的(專業化的)實用性應用程序。人類工程和進化過程採用了同樣的解決方案,將許多專業化的應用組合在一起,製造出了一個靈活實用的信息處理設備。
泛泛而談
總之,因爲專業化產生效率,效率帶來進化上的優勢,我們應該期望生物體的身體和大腦以互動模塊集合的形式,展現出功能上的專業化。