獨立遊戲開發員Nicky Case在今年7月推出新作《信任的演化》(The Evolution of Trust),由吳桐及唐鳳翻譯成中文。這個小遊戲深入淺出地討論了「合作」和「信任」是怎樣出現,為何「出賣」難以消失等賽局理論議題,無須數學公式,玩完遊戲後也可以學到很多東西。
在此先簡述一下遊戲,首先,玩家需要面對一個「信任遊戲」︰
《信任的演化》遊戲截圖 每一局中,你可以向圖中的機器投入1枚硬幣,對方就會得到3枚硬幣。如果雙方都投放硬幣(合作),就各賺2枚硬幣(收到3枚、付出1枚)。然而結果揭曉前,雙方都不知道對方會否投幣,所以你可以選擇不投幣(欺騙),假如對方乖乖投幣,就損失1枚硬精,而你就淨賺3枚;假如雙方都存心欺騙,則大家甚麼也沒有得到。
仔細想一下就會發現,無論對方選擇「合作」抑或「欺騙」,你選擇「欺騙」總之賺得比較多。問題是,遊戲設計非常對稱,對方思考後會得出相信結論,於是大家會「理性」地互相欺騙,反而不及互相合作所得。
假如不是只玩一局,而是多局呢?一次欺騙,可能就會毀掉信任,那麼合作似乎是較好的選擇。可是如果你一直合作,可能會被對方背叛;對方一直合作,也可能因為對方是個老好人,欺騙他可以多賺一筆。
《信任的演化》遊戲截圖 於是我們開始要思考策略問題,遊戲中列出五個角色,各代表一種策略︰
先合作,再跟隨對方選擇的「模仿貓」; 一直欺騙的「黑到底」; 一直合作的「紅嬰仔」; 先合作,如被對方欺騙便會欺騙到底的「牛文聰」; 先以「合作、欺騙、合作、合作」的策略試探,如被對方欺騙就變成「模仿貓」,否則就化身「黑到底」。 遊戲發展下去,首先會進行「一次大賽」,由這五個角色互相對賽,看看誰得到最多硬幣。接着是「多次大賽」,加入演化元素,由多個「模仿貓」、「黑到底」及「紅嬰仔」等進行比賽。
此處我先不透露結果,建議讀者先去玩這個遊戲,再回來閱讀下文(真的要回來啊)。
《信任的演化》遊戲截圖 (這張圖主要是為了分隔而放) 你已經玩了?好,那我們繼續。
阿克塞爾羅的電腦競賽 在遊戲的備註中,設計者解釋了這個遊戲背後的理論基礎——主要是賽局理論中,關於重複囚犯兩難(iterated prisoners’ dilemma)的研究。事實上,一開始的「信任遊戲」,正是囚犯兩難的設定。
作者亦指出遊戲奠基於阿克塞爾羅(Robert Axelrod)的《合作的競化》(The Evolution of Cooperation)。這是非常重要的一本書,阿克塞爾羅是密西根大學的政治科學家,1980年左右,他舉行了一系列的電腦競賽,讓不同程式(策略)進行重複囚犯兩難,以了解合作如何產生。
雖然當時學界已經知道囚犯兩難的重要,但阿克塞爾羅認為那時候的研究方法,無助了解在重複囚犯兩難中如何有效選擇,於是他希望以電腦競賽的形式進行研究。在電腦競賽中,參加者設計一個程式,就每步決定合作或背叛,而且程式可以根去過去結果作出抉擇。
阿克塞爾羅希望找來熟悉囚犯兩難的人,並讓他們設計的程式互相對賽,以確保競賽「可以網羅這個領域最尖端的知識」。他找來賽局理論的專家提交程式,第一次競賽中,14個參賽者來自5個學科︰心理學、經濟學、政治科學、數學和社會學。此外,阿克塞爾羅亦加入一個隨機程式,隨機選擇合作或背叛(機率各半)。
最簡單的「以牙還牙」 競賽採用循環方式,每個程式都會對上其他參賽程式。結果相信大家都清楚,由「模仿貓」勝出,不過那時候叫做「以牙還牙/一報還一報」(Tit for tat)由多倫多大學的數學及心理學教授拉普伯(Anatol Rapoport)提交。有趣的是,「以牙還牙」同時是參賽程式中最簡單的一個。
阿克塞爾羅指出,不少人都知道「以牙還牙」的強大,所以不少參賽者都有使用其原則,但這些較複雜的程式,都及不上只有4行程式碼的「以牙還牙」本身。
另一個有趣的發現是,一個特性成為得分高低的分水巔︰友善,即永不首先背叛。在第一次競賽中,前8名均是「友善」的程式,餘下的則否。而友善的程式當中,得分最低的一個,是最不「寬容」的——一旦被背叛,就會一直背叛對方。
阿克塞爾羅同時提醒,「友善」程式的成績較佳,是因為它們互相對賽時一直合作取得高分,足以拉高分數。在這類競賽中,環境非常重要,任何策略的成績都取決於其他策略——在其他人都是「黑到底」的世界中,孤獨的「模仿貓」只會取得最低分(因為第一次交手永遠被出賣)。
第二輪電腦競賽 程式的表現不能單看其策略,還得視乎對手,因此阿克塞爾羅認為單看一次競賽結果並不足夠。此外,他認為第一次競賽結果顯示,在如何應對方面還有很多地方需要學習,即使是專家仍會犯錯。
所以他舉辦第二輪競賽,除了第一輪的參賽者外,亦透過小型電腦使用者期刊的公告招募程式。結果他共收到62個參賽程式,參賽者來自美國、加拿大、英國、挪威、瑞士和紐西蘭6個國家,由10歲的電腦迷到演化生物學教授也有。所有第二輪競賽的參賽者,都會先收到一份關於第一輪結果的詳細分析,以便他們可以更成熟地設計策略。
第二輪競賽的勝出者,仍然是最簡單的「以牙還牙」。「友善」的規則仍然較具優勢——前15名中僅得第8名一個叫做「哈靈頓」(Harrington)的程式「不友善」,最後15名則只有一個「友善」程式。而友善的程式當中,如果能夠迅速回應對方的背叛,表現就會較好(《合作的競化》中稱為「可激怒性」)。
電腦模擬「生態」競賽 接下來,阿克塞爾羅在競賽中加入生態角度,那就像《信任的演化》中的「多次大賽」,每個程式的「後代」數量按得分高低來增減,然後再進行競賽。電腦模擬了上千個「世代」的生態變化,結果「以牙還牙」一直領先。
到第50代左右,排名為最後三分之一的程式基本上已經消失。由此時開始,留下來的程式如何取得高分就變得重要︰假如高分來自與其他成功的程式互動,就可以變得更加成功;但如果高分來自利用其他程式,一旦被利用的程式「絕種」,得分就會開始下跌,以致面臨同一命運。
阿克塞爾羅特別提到「哈靈頓」這個例子,它是第二輪競賽前15位中唯一「不友善」程式,在200代次前,「哈靈頓」所佔的「人口比率」一直增加,因為它能夠利用其他程式。但到200代左右情況逆轉,當那些「失敗者」都絕種後,它就缺乏「獵物」,到第1000代時滅絕。
《The Evolution of Cooperation》 這個圖表顯示了不同策略在生態競賽中的表現(佔整體「人口」比例),編號1是「以牙還牙」,編號8的是「哈靈頓」。 除了「友善」、「寬容」、「迅速回應背叛」三項特質外,阿克塞爾羅認為「以牙還牙」的另一個有助其成功的特質是「清晰」。因為任何試圖利用它的程式,下一步就會被背叛,「以牙還牙」不為人所利用,而且這一點很容易辨認到,所以其清晰是一大優勢。
在自私的世界,合作還有可能發展出來 參與電腦競賽畢竟是事先設計的程式,在《合作的競化》中,阿克塞爾羅嘗試說明,如果整個群體都採取「以牙還牙」策略,採取其他策略者難以「入侵」這個群體——即取得更高分數以站穩陣腳(但這取決於未來互動的重要程度)。
當然,如果整個群體都毫不信任對方、永遠背叛的話,任何單一入侵者都不會成功,然而一小群採取「善良」策略的入侵者卻能成功。與之相反的是,假如未來的互動重要——簡單理解為未來碰頭的機會夠高——「以牙還牙」就不會被入侵。
阿克塞爾羅又以戰爭時期和生態系統的例子說明,只要條件成熟,即使沒有友誼甚至遠見,合作仍有機會產生。當然,一如《信任的演化》所說,在可能犯錯或引起誤會的世界,「不信任」難以消滅。不過阿克塞爾羅的研究重要之處,在於說明了即使沒有中央管理、參與者以自身利益為目標,合作仍然有可能發展出來。
更精彩的研究,可見於阿克塞爾羅《合作的複雜性》(The Complexity of Cooperation)一書,他應用遺傳演算法(genetic algorithm)到重複囚犯兩難上,讓隨機產生的策略(只按過去三次交手結果作決定)互相競賽和「交配」,以演化出新策略。結果發現,這方法能夠產生帶有「以牙還牙」影子的策略,例如「三次合作後會繼續合作」、「被出賣後立即背叛對方」、「對方重新合作後會同樣合作」及「三次互相出賣後繼續背叛」等。
相關文章︰
玩這個小遊戲,你就見到新聞報導如何引發仇恨 如果選擇背叛同伴可以獲得自由,你會怎麼選擇? 參考資料︰
《信任的演化》,Nick Case創作,吳桐、唐鳳譯,2017年7月。 《合作的競化》,艾瑟羅德著,胡瑋珊譯,大塊文化出版。 The Prisoner's Dilemma Computer Tournaments and the Evolution of Cooperation, Douglas Hofstadter, Scientific American May 1983 (Reprinted in Metamagical Themas.) The Complexity of Cooperation, Robert Axelrod (1997), Princeton University Press 核稿編輯:王陽翎