《信任的進化》是一個看似簡單的小遊戲,但其中所包含的意義卻一點都不簡單。作品深入淺出地討論了「合作」和「信任」是怎樣出現,為何「出賣」難以消失等賽局理論議題,無須數學公式,玩完遊戲後也可以學到很多東西。
在此先簡述一下游戲,首先,玩家需要面對一個「信任遊戲」︰
每一局中,你可以向圖中的機器投入1枚硬幣,對方就會得到3枚硬幣。如果雙方都投放硬幣(合作),就各賺2枚硬幣(收到3枚、付出1枚)。然而結果揭曉前,雙方都不知道對方會否投幣,所以你可以選擇不投幣(欺騙),假如對方乖乖投幣,就損失1枚硬幣,而你就淨賺3枚;假如雙方都存心欺騙,則大傢什麼也沒有得到。仔細想一下就會發現,無論對方選擇「合作」抑或「欺騙」,你選擇「欺騙」總之賺得比較多。問題是,遊戲設計非常對稱,對方思考後會得出相信結論,於是大家會「理性」地互相欺騙,反而不及互相合作所得。
假如不是隻玩一局,而是多局呢?一次欺騙,可能就會毀掉信任,那麼合作似乎是較好的選擇。可是如果你一直合作,可能會被對方背叛;對方一直合作,也可能因為對方是個老好人,欺騙他可以多賺一筆。於是我們開始要思考策略問題,遊戲中列出五個角色,各代表一種策略︰
先合作,再跟隨對方選擇的「復讀機」;一直欺騙的「千年老油條」;一直合作的「萬年小粉紅」;先合作,如被對方欺騙便會欺騙到底的「黑幫老鐵」;「福爾摩星兒」先以「合作、欺騙、合作、合作」的策略試探,如被對方欺騙就變成「復讀機」,否則就化身「千年老油條」。
阿克塞爾羅的電腦競賽
在遊戲的備註中,設計者解釋了這個遊戲背後的理論基礎——主要是賽局理論中,關於重複囚徒困境的研究。事實上,一開始的「信任遊戲」,正是囚徒困境的設定。作者亦指出遊戲奠基於阿克塞爾羅的《合作的進化》。這是非常重要的一本書,阿克塞爾羅是密西根大學的政治科學家,1980年左右,他舉行了一系列的電腦競賽,讓不同程式(策略)進行重複囚徒困境,以瞭解合作如何產生。
雖然當時學界已經知道囚徒困境的重要,但阿克塞爾羅認為那時候的研究方法,無助瞭解在重複囚徒困境中如何有效選擇,於是他希望以電腦競賽的形式進行研究。在電腦競賽中,參加者設計一個程式,就每步決定合作或背叛,而且程式可以根據過去結果作出抉擇。
阿克塞爾羅希望找來熟悉囚徒困境的人,並讓他們設計的程式互相對賽,以確保競賽「可以網羅這個領域最尖端的知識」。他找來賽局理論的專家提交程式,第一次競賽中,14個參賽者來自5個學科︰心理學、經濟學、政治科學、數學和社會學。此外,阿克塞爾羅亦加入一個隨機程式,隨機選擇合作或背叛(機率各半)。
最簡單的「以牙還牙」
競賽採用迴圈方式,每個程式都會對上其他參賽程式。結果相信大家都清楚,由「復讀機」勝出,不過那時候叫作「以牙還牙/一報還一報」由多倫多大學的數學及心理學教授拉普伯特提出。有趣的是,「以牙還牙」同時是參賽程式中最簡單的一個。阿克塞爾羅指出,不少人都知道「以牙還牙」的強大,所以不少參賽者都有使用其原則,但這些較複雜的程式,都及不上只有4行程式碼的「以牙還牙」本身。
另一個有趣的發現是,一個特性成為得分高低的分水巔︰友善,即永不首先背叛。在第一次競賽中,前8名均是「友善」的程式,餘下的則否。而友善的程式當中,得分最低的一個,是最不「寬容」的——一旦被背叛,就會一直背叛對方。阿克塞爾羅同時提醒,「友善」程式的成績較佳,是因為它們互相對賽時一直合作取得高分,足以拉高分數。在這類競賽中,環境非常重要,任何策略的成績都取決於其他策略——在其他人都是「千年老油條」的世界中,孤獨的「復讀機」只會取得最低分(因為第一次交手永遠被出賣)。
第二輪電腦競賽
程式的表現不能單看其策略,還得視乎對手,因此阿克塞爾羅認為單看一次競賽結果並不足夠。此外,他認為第一次競賽結果顯示,在如何應對方面還有很多地方需要學習,即使是專家仍會犯錯。所以他舉辦第二輪競賽,除了第一輪的參賽者外,亦透過小型電腦使用者期刊的公告招募程式。結果他共收到62個參賽程式,參賽者來自美國、加拿大、英國、挪威、瑞士和紐西蘭6個國家,由10歲的電腦迷到演化生物學教授也有。所有第二輪競賽的參賽者,都會先收到一份關於第一輪結果的詳細分析,以便他們可以更成熟的設計策略。
第二輪競賽的勝出者,仍然是最簡單的「以牙還牙」。「友善」的規則仍然較具優勢——前15名中僅得第8名一個叫作「哈靈頓」的程式「不友善」,最後15名則只有一個「友善」程式。而友善的程式當中,如果能夠迅速回應對方的背叛,表現就會較好。
電腦模擬「生態」競賽
接下來,阿克塞爾羅在競賽中加入生態角度,那就像《信任的進化》中的「多次大賽」,每個程式的「後代」數量按得分高低來增減,然後再進行競賽。電腦模擬了上千個「世代」的生態變化,結果「以牙還牙」一直領先。到第50代左右,排名為最後三分之一的程式基本上已經消失。由此時開始,留下來的程式如何取得高分就變得重要︰假如高分來自與其他成功的程式互動,就可以變得更加成功;但如果高分來自利用其他程式,一旦被利用的程式「絕種」,得分就會開始下跌,以致面臨同一命運。
阿克塞爾羅特別提到「哈靈頓」這個例子,它是第二輪競賽前15位中唯一「不友善」程式,在200代以前,「哈靈頓」所佔的「人口比率」一直增加,因為它能夠利用其他程式。但到200代左右情況逆轉,當那些「失敗者」都絕種後,它就缺乏「獵物」,到第1000代時滅絕。
除了「友善」、「寬容」、「迅速回應背叛」三項特質外,阿克塞爾羅認為「以牙還牙」的另一個有助其成功的特質是「清晰」。因為任何試圖利用它的程式,下一步就會被背叛,「以牙還牙」不為人所利用,而且這一點很容易辨認到,所以其清晰是一大優勢。
在自私的世界,合作還有可能發展出來
參與電腦競賽畢竟是事先設計的程式,在《合作的進化》中,阿克塞爾羅嘗試說明,如果整個群體都採取「以牙還牙」策略,採取其他策略者難以「入侵」這個群體——即取得更高分數以站穩陣腳(但這取決於未來互動的重要程度)。當然,如果整個群體都毫不信任對方、永遠背叛的話,任何單一入侵者都不會成功,然而一小群採取「善良」策略的入侵者卻能成功。與之相反的是,假如未來的互動重要——簡單理解為未來碰頭的機會夠高——「以牙還牙」就不會被入侵。
阿克塞爾羅又以戰爭時期和生態系統的例子說明,只要條件成熟,即使沒有友誼甚至遠見,合作仍有機會產生。當然,一如《信任的進化》所說,在可能犯錯或引起誤會的世界,「不信任」難以消滅。不過阿克塞爾羅的研究重要之處,在於說明了即使沒有中央管理、參與者以自身利益為目標,合作仍然有可能發展出來。
更精彩的研究,可見於阿克塞爾羅《合作的複雜性》一書,他應用遺傳演演算法到重複囚徒困境上,讓隨機產生的策略(只按過去三次交手結果做決定)互相競賽和「交配」,以演化出新策略。結果發現,這方法能夠產生帶有「以牙還牙」影子的策略,例如「三次合作後會繼續合作」、「被出賣後立即背叛對方」、「對方重新合作後會同樣合作」及「三次互相出賣後繼續背叛」等。