脏脸博弈
? ? ?http://blog.sciencenet.cn/home.php?mod=space&uid=826653
一桌人在吃燒烤,其中有三個人不小心將醬汁沾到臉上,大家都能看到別人的臉但不知道自己的。出于禮貌各人都默不吱聲,也不敢露怯去摸自個兒的臉。這時候女招待進來說:“這里有人臉臟了,請他自己擦了。”連說兩次都沒人反應(yīng),到了第三次,剛好是這三個人明白過來,把自個兒的臟臉擦了。問:他們是怎么知道的???
這個問題是?1953?年?Littlewood?書中一個例子的變種,中文稱為“臟臉博弈”。其他諸如帽子顏色,眼睛顏色,一個村莊的慘案等等都是這個問題的變種,具有相同的邏輯結(jié)構(gòu)。這類問題邏輯上比較繞,需要有很清晰的頭腦才能想通。我看過的解法都沒把道理說透。直到學(xué)了“公共知識”的理論才想通了。在這里給大家介紹一下。
首先,女招待的話包含兩個內(nèi)容。一是:至少有一個人臉臟了。二是:要求知道了的人自己出來承認。這一桌人都不傻,都會根據(jù)女招待的話和大家的反應(yīng)去推測自己的狀態(tài)。
女招待說后,“至少有一個臉臟了”這個判斷就成為大家的公共知識,誰都可以用它來進行推斷。這時候大家想:如果只有一個人臉臟了,那么這個臟臉的人會看到別人全是干凈的臉,他就該明白這個臟臉人是他自己了。女招待說了一次后,他就會馬上把自己臉給擦了。女招待說了一次后沒人行動,這說明原來的假設(shè)不對了,這臟臉的人至少得有兩個。
大家都是聰明人,我知道這推斷,你也知道這推斷,我知道誰都知道這推斷,誰都知道我知道這推斷,。。。,一句話,這“臟臉的人至少有兩個”也成了公共知識,大家都可以用來推測別人的推斷。好了,如果只有兩個臟臉,那其中一人只能看到一個臟臉,他就該明白自己也是臟臉。女招待催促第二次后,他倆會乖乖地把臉擦了。還沒人出來認賬,說明這臟臉的人至少有三個。
當這三位臟臉的老兄,在現(xiàn)實中只看到桌上兩個臟臉時,就會在女招待第三次催促時把臉給擦了。至于桌上的其他人,知道至少有三個臟臉時,他們看到的是三張臟臉,正在忐忑不安地看別人的反應(yīng),還無法判斷自己是否臟臉。到了這三位臟臉的老兄擦了臉,其他人就明白了原來自己的臉不臟,不然這臟臉的老兄看到的也是三張臟臉,就不會推斷出自己的臉臟。依照這個邏輯,我們可以很容易地推廣到?N?個臟臉人的情況,他們都會在女招待第?N?次催促后明白過來。請注意,這桌中可以有任何數(shù)量臉沒臟的人。
舉例
有個村子有100對夫妻,村里有一個奇特的風(fēng)俗:每天晚上,村里的男人們都將點起篝火,繞圈圍坐舉行會議,議題是談?wù)撟约旱钠拮印T跁h開始時,如果一個男人有理由相信他的妻子對他總是忠貞的,那么他就在會議上當眾贊揚她的美德。另一方面,如果在會議之前的任何時間,只要他發(fā)現(xiàn)他妻子不貞的證據(jù),那他就會在會議上悲鳴慟哭,并企求神靈嚴厲地懲罰妻子。如果一個妻子曾有不貞,那她和她的情人會立即告知村里除她丈夫之外所有的已婚男人。這個風(fēng)俗雖然十分奇怪,但是人人遵守。
事實上,每個妻子都已對丈夫不忠。于是每個丈夫都知道除自己妻子之外其他人的妻子都是不貞的女子,因而每個晚上的會議上每個男人都贊美自己的妻子。這種狀況持續(xù)了很多年,直到有一天來了一位傳教士。傳教士參加了篝火會議,并聽到每個男人都在贊美自己的妻子,他站起來走到圍坐圓圈的中心,大聲地提醒說:“這個村子里至少有一個妻子已經(jīng)不貞了。”
在此后的99個晚上,丈夫們繼續(xù)贊美各自的妻子,但在第100個晚上,他們?nèi)急Q慟哭,并企求神靈嚴懲自己的妻子。
這是一個有趣的推理過程:由于這個村里的每個男人都知道另外的99個女人對自己的丈夫不忠,當傳教士說“至少有一個妻子不貞了”,由此并不能必然推出這個“不貞”的女人是自己的妻子,因為他知道還有99個女人對自己的丈夫不忠。
于是這樣的推理持續(xù)了99天,前99天每個丈夫不能確切懷疑到自己的妻子。而當?shù)?00天的時候,如果還沒有人慟哭,那表明所有的女人都忠于自己的丈夫,而這顯然與“至少有一個妻子不貞”的事實相悖。于是,每個男人都可確定地推理出來自己的妻子已經(jīng)紅杏出墻,于是,總體的推論結(jié)果便是:這100個妻子都出軌了。
傳教士對“至少有一個妻子不貞了”這個事實的宣布,似乎并沒有增加這些男人對村里女人不忠行為的知識,他們其實都知道這個事實。為什么100天后他們都傷心欲絕呢?根源在于共同知識的作用。一件事一旦在某個群體中成為共同知識,則從任何一個個體出發(fā),他對這件事的理解都已達到了與這個群體的完全統(tǒng)一。
傳教士的宣布使得村子里的男人的知識結(jié)構(gòu)發(fā)生了變化,本來“至少一個妻子不貞了”對每個男人都是知識,但不是共同知識,而傳教士的宣布使得這個事實成為大家的“共同知識”。
“公共知識”的概念最早是由美國邏輯學(xué)家劉易斯提出的,之后經(jīng)過邏輯學(xué)家辛迪卡以及博弈論專家阿曼等人的發(fā)展,現(xiàn)已成為邏輯學(xué)、博弈論等學(xué)科里頻繁使用的一個概念。
所謂“公共知識”,是指某一個群體的知識,也就是一個群體人們之間的對某個事實知道的關(guān)系。
在日常生活中,許多事實都是公共知識,比如,人總會有一死、地球繞著太陽轉(zhuǎn),對于這些事實,人所共知,你知道的,別人知道,別人知道的,你也知道。公共知識在我們?nèi)粘υ捄徒涣髦衅鹬种匾淖饔?#xff0c;它既是人們進行交流和對話的起點——從已知的公共知識入題,也是交流和對話的終點——形成新的公共知識。
假設(shè)一個人群只有甲、乙兩個人構(gòu)成,兩人均知道且相信一件事實P,那么,我們就可以說P是甲、乙的知識,但此時并不能說P就是他們的公共知識,只有當甲、乙雙方均知道對方知道P,并且他們彼此都知道對方知道自己知道P,這時才可以說P成了甲、乙之間的公共知識。
如果這個群體是由多人組成的,就不單指任意兩個人這樣一個雙方“知道”某件事實的過程,還指群體當中每個人知道該群體的其他人知道這個事實,并且其他人也知道其他的每個人都知道這個事實,臟臉博弈是一個無窮的知道過程。
在生活交際中,共同知識起著不可或缺的作用,只不過多數(shù)時候我們并沒有留心而已。舉一個簡單的例子。小王決定做一個體檢,在經(jīng)歷抽血、B超等多方位檢查后,發(fā)現(xiàn)有一項“屈光不正”需要去眼科診療。花了8元錢的掛號費后,根據(jù)指引去做光學(xué)檢驗。原來,“屈光不正”就是近視眼。“屈光不正”是醫(yī)學(xué)工作者的共同知識,但小王并不清楚這樣的知識,以致讓自己多花冤枉錢。
由此可以看出,沒有共同知識,會給整個社會增加許多溝通成本。對于我們而言,多掌握一些共同知識,臟臉博弈對于生活具有重要的意義。
假設(shè)一個老師教3個孩子,其中一個孩子臉上有泥巴,而每個孩子不知道自己臉上有沒有泥巴,如果老師說,你們3個人中,有的臉上有泥巴,有的沒有,那么這些孩子是如何做出判斷的呢?
這里我們用到一個詞匯:公共知識。這里的公共知識是什么呢,首先,每個孩子都有邏輯推理能力,孩子看不到自己臉上是否有泥巴,孩子們都相信老師的話。
那么判斷是如何做出呢,假設(shè)這3個孩子里只有一個人臉上有泥巴,那么他看到其他兩個孩子臉上都是干凈的,會立刻判斷出自己臉上有泥巴,而另外兩個孩子都不能確定自己臉上是否有泥巴,所以在判斷時猶疑不定,拿不準主意了。
但如果假設(shè)這3個孩子中有2個孩子臉上有泥巴,那么結(jié)果就將發(fā)生微妙的變化,如果這時老師說,知道自己臉上有泥巴的同學(xué)請舉手,這個時候由于兩個臉上有泥巴的孩子都不能確定自己臉上是否與有泥巴,所以會猶疑,而當所有人都未舉手時,這兩個有泥巴的孩子會立刻判斷出自己臉上也有泥巴,因此到等到老師問第二次的時候,這兩個孩子都會舉起手。
分析
“公共知識”的概念最早是由美國邏輯學(xué)家劉易斯提出的,之后經(jīng)過邏輯學(xué)家辛迪卡以及博弈論專家阿曼等人的發(fā)展,現(xiàn)已成為邏輯學(xué)、博弈論等學(xué)科里頻繁使用的一個概念。
所謂“公共知識”,是指某一個群體的知識,也就是一個群體人們之間的對某個事實知道的關(guān)系。公共知識,比如今天下雨,甲乙兩人都知道這個情況,但這并不是公共知識,真正的公共知識包括:甲明白乙知道今天下雨,乙也明白甲知道今天要下雨;并且甲要明白乙知道自己知道今天要下雨,乙也要明白甲知道自己知道今天會下雨。只有具備以上條件,甲乙二人的公共知識才是“今天下雨”。也就是說,雙方對某一件事必須達到相互間的完全了解,才能說這一事物是二人的共識。
“知識”是指包含事實,擁有的人理解它,并相信它的事件。但是“我知道,你知道,大家都知道的知識”并不就是公共知識。
?因為我不知道你是否有這個知識,盡管事實上你是知道的。所以我不能用“你知道”這個知識的事實作為根據(jù)來推理。同樣,這時你也不知道我有這知識,也不能據(jù)此來推測我是怎么想的。所以“我知道,你知道,大家都知道的知識”只是“彼此的知識(?Mutual Knowledge?)”,彼此的知識不能用來推理,因為即使你事實上已經(jīng)知道了,而且大家都是理性的人,但不了解你是否知道,我怎么知道你會怎么想呢?用想當然來猜測別人知道些什么,依此來決定自己的行動和推斷是不可靠的,這也是世界上許多錯誤的根源。要借用對方的看法來推理,我必須知道:你知道了什么。記為“我知道(你知道的知識)”。我從你的角度來推理,我想象中的你所用的知識,不是實際上的你所知道的知識,而是“我知道(你知道的知識)”。別人想知道我的邏輯推理,根據(jù)的是“你知道(我知道的知識)”,如果是多人各自從對方的角度推理就必須根據(jù)“每個人知道(其他人知道的知識)”。這樣的知識就叫做“二階彼此的知識”。如果大家都知道了這個二階彼此的知識,其中包括諸如“我知道(你知道(我知道的知識))”和“張三知道(李四知道(王五知道的知識))”等等各種組合,有各種三重的“知道”,這叫三階彼此的知識,就可以用來進行三層從對方角度的推理。這階數(shù)一直加到無窮的知識就叫做“公共知識”。公共知識是無窮階彼此的知識。在博弈研究中原來大家對博弈者有否公共知識是很馬虎的,自從1976年Aumann在他的《AGREEING TO DISGREE》論文中強調(diào)公共知識對相互理解的重要性后,這個概念已經(jīng)被廣泛地應(yīng)用。兩個博弈學(xué)者R. Aumann和K. Binmore?長達幾十年關(guān)于Backward Induction需要什么知識的爭論,也促進了Aumann等人將公共知識公理化嚴格化。近十年來公共知識已經(jīng)成為認知科學(xué)的基礎(chǔ),進而成為許多學(xué)科的基礎(chǔ)。
總結(jié)
- 上一篇: 教程 | 阿克曼结构移动机器人的gaze
- 下一篇: MTK芯片功能机改IMEI+智能机,合并