合作進化論

這個文章原本是一個演講在Papers We Love Taipei meetup。英文版在這裡,然後影片在這裡

介紹

大家好,我叫 Oskar,我是 Vac 協定的研究負責人。我 也是這次主辦人之一。今天我要跟你們分享的是跟合作有關係。合作是什麼呢?為什麼人們決定互相合作,就算不 合作對他們比較有利,最後為什麼還是合作呢? 我們可以怎麼分析,在什麼情況下會合作呢?

演講是基於 Axelrod 寫的經典的合作進化論。我們會從一些例子開始,然後會看怎麼用賽局理論和囚犯困境(Prisoner's dilemma) 思考他們。

接著,我們會看需要在什麼情況下才會有合作, 還有為什麼以牙還牙是特別有效的策略。

那我們開始吧!

壕溝戰

第一次世界大戰的時候,很多國家在歐洲西方戰線發動壕溝戰。有一種有趣的現象是,很多軍人不會開槍殺對方的軍人。不管是你、或是你的敵人都可以活下來,這種 “活著也讓對方活著”(Live and let live) 的現象,怎麼能在這麼危險的世界大戰中發生呢?

壕溝戰跟傳統戰爭很不一樣的是,壕溝戰是一樣的一組士兵,在同一個地方很久不動。意思是說,有很多機會跟敵人互動。最後發現,一直重複出現的情況,是讓他們出現合作的關鍵。就這樣,他們從囚犯困境,變成了重複的囚犯困境,我們晚一點討論這個。

壕溝戰 (George Grantham Bain Collection/Library of Congress, Washington, D.C. (LC-DIG-ggbain-24280))

最後發生的事情是,沒有一邊想要打,因為他們知道另外一邊會回擊。而且兩邊都知道,要是他們都保持安靜、和平,他們都會有比較好的情況。值得注意的一件事是,這個情況只有在很小規模的小組,“敵人”在這個時候是長時間,而且是要每天互動的人。在比較大的情況,在大戰場上,不可以應用這個方法。而且,這個方法也沒有影響比較高級軍官的想法。

從那時候的戰爭日記裡,我們可以看到一些好笑的事:

• 在1914年聖誕節的時候,英國和德國士兵都會去「無人區」和對方踢足球。(一部很有名的電影Joyeux Noel裡可以看到)
• 英國軍隊聽到槍聲,開始罵德國軍隊,然後德國軍隊說:喔!不好意思,抱歉,希望沒有人受傷,說不是他們的責任,是該死的普魯士砲兵的錯。
• 英國軍隊有一個”晚上槍“,每天7點剛好打在一模一樣的地方,是一個可以預測的“攻擊”。

意思是說,很多東西都跟消滅敵人沒有關係。當然,有一些軍官有時候會要求侵略,有時候有意外,新來的士兵會比較殘暴,等等。這種時候的報復是很殘酷的。平常那個報復,就是回擊,規模會更大。這個也有警告的作用。實際上,這些發生在西部戰線的衝突,很多都有機會發展成以牙還牙的策略。

讓我們看一下它的潛在動態,我們可以更清楚得了解。

1914年聖誕節 (Universal History Archive/UIG/Getty Images)

囚犯困境

當我們把情況建立成遊戲時,像上面看到的那樣,以牙還牙的策略是如何產生的?

在賽局理論裡有一個很有名的例子叫囚犯困境。他的設置如下。有兩個犯人,都有去監獄的風險。他們可以選:要合作或是出賣對方。他們都合作的話,都要入獄1年。要是一個人沈默,沒有告發,但另外一個人背叛,那 那個剛剛說合作的人會要入獄3年,另外一個人會得到自由。要是他們都背叛彼此,他們都會入獄兩年。

困境是這樣的: 對兩邊都好的結果就是合作,這樣的情況下,雙方都只要入獄一年。不過,如果只有為了自己,避免入獄,有一個優勢策略。優勢策略大概意思是說,最好的策略就是不管對手用什麼策略。在這裡的話是兩個人都背叛彼此。但這樣的結果是他們都要入獄兩年,當然比較不好。所以是困境。

張三/李四

合作

背叛

合作

-1/-1

-3/0

背叛

0/-3

-2/-2

如果符合以下條件,就把情況稱為囚犯困境:

張三/李四

合作

背叛

合作

R

S

背叛

T

P

R=reward獎勵,T=temptation誘惑,S=sucker輸家,P=punishment;懲罰。然後有T>R>P>S。也需要有2R>T+S,確保互相合作比輪流合作和背叛更好。意思是說,如果對方合作,值得背叛。如果對方也在背叛,就值得背叛。

有辦法擺脫這個困境嗎?是有機會的,要是你玩很多次這個遊戲。在我們討論之前,我先給你們看另外兩個跟囚犯困境有關的例子。

第一個是和平戰爭遊戲(peace-war game)。意思是,你可以決定要戰爭還是和平。值得注意的是,這個跟一開始看到那個壕溝戰很像,在大部分的時候他們找到了共同維持和平的方法。

張三/李四

和平

戰爭

和平

2 / 2

0 / 3

戰爭

3 / 0

1 / 1

另外一個遊戲叫“捐款遊戲”(donation game)。你可以付出代價C得到某個東西,再利用b>c(b大於c)可以給另一個人帶來好處b。這常常是一種交易形式。

張三/李四

合作

背叛

合作

b-c / b-c

-c / b

背叛

b / -c

0 / 0

可以注意的是b>(b-c)>0>-c2(b-c)>b-c,所以是一種囚犯困境。

Axelrod的競技


我們可以怎麼鼓勵合作,還有以牙還牙是怎麼出現的? 一個方法是重複玩那個遊戲很多次。為什麼這樣有效呢?

要是你連續跟同一個玩家打很多場比賽,你可以根據另一位玩家的選擇,來改變你選擇的方式。意思是說你可以有條件策略。哪一個策略是最好的?沒有一個最好的策略,因為要看環境和其他人選什麼策略。但是,在大部分重複比賽的情況下,有一種非常有效的策略是以牙還牙(tit-for-tat)。意思是說,一開始合作,然後之後學對方做的。要是另外一個人合作,你也合作。要是他們背叛,你也背叛,等等。

1980年Axelrod安排一個很有名的電腦比賽,很多電腦程式互相競爭很多次。這一些程式是世界各地的人提交的。其中以牙還牙的方式(tit-for-tat)表現得最好。

為什麼是這樣呢?給你們一點概念,想像一個情況:有3個玩家,一個以牙還牙TIT FOR TAT策略,另外一個每次背叛ALL D,最後一個每次合作,ALL C

ALL D一開始會有一點好處,可是他很快會被別人懲罰,比如說以牙還牙(tit-for-tat),所以他總分會比較低。同樣的,ALL C會一直被佔便宜。同時,用以牙還牙策略的人跟使用類似策略的人比賽,他們會用很類似的策略,而且大部分的時間會合作,所以最後會得到很高的分數。

競技結果 (Evolution of Cooperation, Axelrod)

More on Tit for tat更多以牙還牙


我們從中發現一些有利生存的特質。例如說,要很乖、當好人,不要是第一個背叛的人。比賽結果裡面,成績最好的前八個程式都有這個特點。值得一提的是另外兩種,一個是“報復型”,要處理一個背叛的人。還有"寬恕型"(forgiveness),過去的就讓它過去。這代表,要是一個人決定繼續合作,這樣合作就可能發生。

在錯誤判斷的時候,寬恕的概念也變得很有趣。我們沒辦法解釋這算不算是一種背叛,但這變成了另類策略,例如"tit for two tats"。

另外一個事情是,那個以牙還牙策略是很短的,很簡單的。要是我們把它寫成程式的話,會很容易懂。 這也讓它變得透明、清楚。意思是說,對手可以很容易懂這個策略,讓合作發展比較容易,比較有可能。我們可以叫他是"明確型"。

程式 (Evolution of Cooperation, Axelrod)

總結,以牙還牙很友善、寬恕、報復而且很清楚。因為這樣,讓他在許多環境裡都能更強大而且能夠發展得很好。

人們可以從第一次比賽的錯誤中學到教訓,來提出更好的策略。有趣的是,就算有第二次比賽,而且也已經知道有以牙還牙的策略,但還是沒有辦法提出另外一個更好的策略。

如果你想培養你的直覺,可以玩玩看這個遊戲幾輪,這是基於Axelrod書裡面的理論,這是一個很棒的遊戲,連結在這裡,中文版是唐鳳做的:https://audreyt.github.io/trust-zh-TW/

謝謝

謝謝Sanaz 給我feedback,然後謝謝我的中文老師Jenny幫我改很多中文。