三
先分析一下前麵的歸納法證明。我們先隨便選定一個紅眼人,下麵就是他的思維方式:假如我的眼睛不是紅的,那麽其餘的人就都知道,剩下的群體中一定有紅眼人,這樣他就可以利用歸納法假設了,而這恰恰是證明的重中之重。以k=1為例,如果沒有外鄉人的披露,這個假設是不成立的。也就是說,沒有外鄉人的公開披露,歸納法的證明就有漏洞,紅眼人就不可能知道自己眼睛的顏色,就能一直歲月靜好。
為此先介紹一下個體知識和群體知識。
個體知識就是單一個體所知的事實,他自己知道這件事,但他不知道別人是否也知道這件事。比如,在皇帝的新衣裏,起先每個個體都知道皇帝赤身裸體沒穿衣服,但並不知道別人是否知道。因此皇帝沒穿衣服這件事就是個體知識。
什麽是群體知識呢?就是在某個群體裏大家都知道的知識。因為群體有大小,所以群體知識的精確定義依賴於群體的大小。為了明確起見,如果某群體有N個人,他們的群體知識就是N-階群體知識。所以也可以說,個體知識就是1-階群體知識,是一種退化情形的群體知識。
假如群體裏有兩個人,分別是A和B,他們都分別知道某件事P,但又都不知道對方是否也知道P,或者至少有一人不知道對方也知道P,這時P就隻是個體知識,還沒有形成他們的群體知識。
先看看下麵的細節。
(1):A知道P。
(2): B知道P,B還知道A也知道P。
很明顯,B知道的比A知道的更多更深刻。所以我們說A知道的是關於P的1-階知識。B知道的比A知道的更深一層,是關於P的2-階知識。如果A還同時也知道B知道P,那麽P就成了他們之間的2-階群體知識了。所以P是由{A,B}組成的2-階群體知識應該滿足以下兩個條件:(1): A知道P,B也知道P;(2): A知道B知道P,B也知道A知道P。
如果C不光知道P,他還知道B知道A知道P,則C關於P的知識是3-階知識。就是說,C知道的比B知道的更進一層。一般說來,在一個N-階群體中,某個體關於P的知識最多可以到達N-階。
回到2-階群體。如何能夠讓P成為他們的2-階群體知識呢?比如A對B說:我告訴你一個秘密,就是事件P。這時不管原先知不知道P,現在P都成了他們二人間的2-階群體知識。因為他們各自都知道了P,並且都知道對方也知道P。當然也可以讓第三方當著他們的麵公開宣布P,或者以公告形式確保二人都知道,P也就成了他們的2-階群體知識了。
如果我們弄清楚了(N-1)-階群體知識,就可以用遞歸的方式弄清楚N-階群體知識了。一個N-階群體有N個個體,也有N個不同的(N-1)-階子群體。一個知識要成為N-階群體知識,它必須滿足兩個條件:它必須是所有N個(N-1)-階子群體的群體知識,並且每個其他個體都知道它是所有N個(N-1)-階子群體的群體知識。比如一個3-階群體有三個個體A,B和C,也有三個2-階群體{A,B},{A,C}和{B,C}。由{A,B,C}組成的3-階群體知識P就必須也是3個二階子群體的2-階群體知識,而且每個個體都知道P是3個二階子群體的2-階群體知識。比方說,A知道P是{B,C}的2-階群體知識,B知道P是{A,C}的2-階群體知識,C 知道P是{A,B}的2-階群體知識。自然,A更知道P是{A,B}的2-階群體知識和{A,C}的2-階群體知識了,等等。
所以我們再重複一下:P是一個N-階群體知識必須同時滿足以下兩個條件:(1)它是所有N個(N-1)-階群體的群體知識,(2)所有的個體都知道(1)。
如何讓一個個體知識變成群體知識呢?最簡單的方法就是當著整個群體的麵公開宣布這一知識,這樣就變成了群體知識了。如果不能當眾宣布,而隻能彼此之間電話告知,而且一次電話隻能傳遞一個信息,如何能夠通過次數最少的電話傳遞使得P成為群體知識,就是一個比較複雜的數學問題了。
群體知識最重要的一點就是每個個體都知道別人也知道。打個通俗一點的比方:在下棋的時候,水平低的棋手都知道自己的意圖是什麽,而不知道對手的意圖是什麽,水平高的棋手不光知道自己的意圖是什麽,而且還知道對手的意圖是什麽。群體知識的重要性就在於大家都知道大家都知道,個個都是棋逢對手的高手。
四
弄清了個體知識和群體知識,就明白了最初的邏輯問題。外鄉人到底有沒有傳遞新的信息?
有!
是的,一開始每個島民的確都知道島上至少有99個紅眼睛的人,但那都隻是個體知識。外鄉人傳遞的卻是群體知識。如果外鄉人不是當眾宣布,而是逐一對各位耳語,就完全不同了。外鄉人對島民逐一耳語說:“你們當中有紅眼睛的人。”這隻能傳遞個體知識,沒法變成群體知識。當眾說出來才構成群體知識,這就是為什麽外鄉人公開說出的一句話威力如此巨大,殺傷力如此之強。這在皇帝的新衣裏也有體現。由於騙子的騙術高明,雖然人人都看見了皇帝的醜態,但都擔心可能是自己的問題,因為騙子事先已聲明:笨蛋才看不見。隻有當一個天真的小孩大聲喊出來,個體知識才變成了群體知識。
群體知識的威力,是個體知識無法比擬的!