獨立遊戲開發員Nicky Case在今年7月推出新作《信任的演化》(The Evolution of Trust),由吳桐及唐鳳翻譯成中文。這個小遊戲深入淺出地討論了「合作」和「信任」是怎樣出現,為何「出賣」難以消失等博奕論議題,無須數學公式,玩完遊戲後也可以學到很多東西。
遊戲網址:https://audreyt.github.io/trust-zh-TW/
在此先簡述一下遊戲,首先,玩家需要面對一個「信任遊戲」︰
每一局中,你可以向圖中的機器投入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 Complexity of Cooperation)一書,他應用遺傳演算法(genetic algorithm)到重複囚犯兩難上,讓隨機產生的策略(只按過去三次交手結果作決定)互相競賽和「交配」,以演化出新策略。結果發現,這方法能夠產生帶有「以牙還牙」影子的策略,例如「三次合作後會繼續合作」、「被出賣後立即背叛對方」、「對方重新合作後會同樣合作」及「三次互相出賣後繼續背叛」等。
留言列表