如果我知道你是善意的,你也知道我是善意的,我也知道你也知道我是善意的,你也知道我也知道你是善意的,这不就完美了么,为什么还会有第四层,第五层。。。

我身边看过三体的朋友给我解释的时候好像也不正面回答,都是照搬书上的,而且还嘲笑我笨。我一直都在想,他们真的能推到第四层第五层或者更多层吗?还是这本来就是一件皇帝的新装,其实他们也只能推到第三层,然后为了显示自己智商高而说自己也能推到很多层?


就是所谓公共知识的概念啊……用公式来表示, [公式] 表示我是善意的, [公式] 表示你是善意的,这里的前提在于,善意只说明如果对方不危害自己,那么自己也不会动手,不代表自己不会为了排除对方潜在的风险而先动手。比如说,如果自己是善意的,但是不确定对方会不会动手,那么就可能先下手为强。

然后我们规定:

[公式] 表示我知道 [公式][公式] 表示你知道 [公式]

这个式子显然是可以无限层迭代下去的,第一层是「我知道你是善意的」,第二层「我知道你知道我是善意的」,第三层「我知道你知道我知道你是善意的」,第四层「我知道你知道我知道你知道我是善意的」

如果两个人面对面,在确保通信无故障的情况下交换了双方的善意,握了一下手,那么这个时候一瞬间所有的A和B就都成立了(因为能确信通信是可靠的),这个就叫做公共知识。

如果两个人必须通过不可靠的信道来通信呢?

设想现在我和你通过星际信道通信,但是有可能消息会丢失,于是:

我发送「我是善意的」给你(A0)

你收到我的消息,回复说已收到,而且你也是善意的(B0,B1)

我收到消息(A1,A2)

但是如果我不再做出表示,那么你就会想:我的回信到底对方收到了没有呢?如果没有收到,那么在对方看来,就是对自己发送的消息默不作声,那么可能不是善意的,可能会为了排除风险主动攻击。既然这样,那么你也有可能需要做出防范甚至先发制人的策略(即便对方是善意的,也可能因为以为自己不善意而先发制人)

那么为了消除这种误解,我需要继续回复:已确认A1、A2

你收到消息(B2,B3)。但如果你不继续回复了,我就会想:对方有没有收到我的消息呢?如果没有收到,可能就会以为我没有收到B0、B1,于是可能防止我因为误解的攻击,而先发制人。那么,我也有必要防范这个因为误解的攻击,甚至我也需要先发制人

于是你也继续回复:已确认B2、B3

我收到消息(A3、A4)。但如果我不回复,你就会想,对方会不会没有收到B2、B3,为了防止我基于误解发起的攻击,而进行先发制人呢?那么我仍然需要考虑先发制人

注意这个时候,双方的善意都已经被确认了,双方也都知道对方了解了自己的善意,但更高阶的知识仍然没有确认,也就无法停下猜疑,反复回复再多次数也无法完成这个无限阶的证明。你可以发现,双方每次发送消息之后,都会担心对方没有收到消息而发起先发制人的攻击,于是自己也筹备先发制人的攻击,这就导致猜疑永远无法消除。

更直接地来说,对方的善意无法排除对方产生误解而发起先发制人的攻击的可能性,而误会可以是无限阶的,每一阶的知识只能消除下面一级的误会,但同时也产生了更高级别的误会,所以猜疑是消除不了的。

但是,其实这只是纯粹数学上的结论。工程上来说,TCP是这样解决问题的:

我:我是善意的(1)

你:收到,我也是善意的,我的朋友,我相信我们的通信虽然有可能丢失,但不会永远丢失,我会不断重发这个消息,直到收到你的回复为止,也请你不断发送回复直到我收到为止;如果你不再收到重复的消息,说明我已经收到了你的回复,我将不再回复你的回复,以防止产生猜疑。(2)

我:收到了你的回复,我将不断发送这个回复,直到不再收到你的消息为止(3)

双方都收到了最后一封消息,然后陷入沉默。几天过去了,从概率上来说,我可以以极高的概率确认你的确因为收到了回复(3)而停止重复发送消息(2),而你也可以肯定自己停止发送消息这件事已经被我确认了,于是两个文明实现了相互信任。虽然从数学上来说,仍然不是绝对确定双方达成了共识,但达成共识的概率可以任意高,这就够了。


猜疑链——从国共合作谈起

排版效果参见:猜疑链——从国共合作谈起

累计码字2.5小时,共1947字,建议阅读4分钟

转载无需注明出处,就说是你写的

请相信我

我所说的每句一话

都是错的

1猜疑链决定了国共能否成功合作?

背景设定:

1.抗日末期,国共双方摩擦不断,都想让对方和日军死磕,坐收渔利。

2.没有电话,通信只能靠联络员。

3.联络员在穿梭国共营地路上,有可能被日军截杀。

国民党、共产党、日军的营地呈三角形,三方战斗力分别为:50、50、99。若不合作抗日,30天后国共两方便会被日军分别击败,共产党决定在第29天凌晨,和国民党一起向日军发起突袭,第一天派出联络员 张三 向国民党报信,国民党收信后,同意该计划。于是回信,让张三把回信带回去。

问:国共有可能在第29天合作发起突袭吗? 如果有,张三至少需要送信几次?

A说:B啊,我们明天一起进攻C吧。

B说:好的同意。于是AB就能确保一起攻打C了吗,并不是。因为B心里开始犯嘀咕:A有没有收到我的「好的同意」的电报?如果没收到我的电报那么A就不会出击,于是明天就成了B独自去进攻了。于是B补发一个电报:你收到我的同意电报了吗?A回复:收到了。这下B似乎放心了,但轮到A犯嘀咕了:B有没有收到我的「收到了」这个电报,如果没收到,那么B就可能以为我没收到,于是B就不出击了,那么明天就成了A单独出击了。于是电报内容将变成如下的悲剧

A:你收到刚才那封我发的说收到了的电报吗了?

B:收到了B:你收到我刚才发的那封我说收到了的电报了吗?A:收到了,这封电报收到后给个回复。B:收到了,这封电报收到后给个回复。A:收到了,这封电报收到后给个回复。B:收到了,这封电报收到后给个回复。。。。。。。。。。。。。。。。。。。。。。。。。。

第N次沟通未回复会导致第N-1次失效,第N-1次沟通失效进而导致N-2次失效,最终导致第一次沟通失效。

这便是猜疑链——半双工通信难题。半双工通信指的是一次只能有一个人说话,就像对讲机,手机这种能同时说话吵架的叫全双工通信。猜疑链会导致国共合作永远无法达成。

在小说《三体》中,叶文洁的寥寥数语就向罗辑描述出了猜疑链的基本原理:

「如果你认为我是善意的,这并不是你感到安全的理由,因为善意文明并不能预先把别的文明也想成善意的,所以,你现在还不知道我是怎么认为你的,你不知道我认为你是善意还是恶意;进一步,即使你知道我把你也想像成善意的,我也知道你把我想像成善意的,但是我不知道你是怎么想我怎么想你怎么想我的。这才是第三层,这个逻辑可以一直向前延伸,没完没了。」

2即时通讯也有不奏效的时候

《三体》将猜疑链描绘得更加黑暗。地球被三体人占领后,三支太空飞船结伴流浪太空,物资、能源会在可预料的将来耗尽,若不做点什么,三艘飞船会同归于尽,人类可能从此灭绝。

在物资匮乏条件下,飞船之间即便可以即时通讯(全双工通信),但A舰队还是发起了突袭,毁灭了另外两艘,将物资搜刮干净后,孤零零踏上寻找新家园的旅途。

A舰队: 我敢保证我是有善意,不主动攻击。但怎么保证对方也善意呢?万一对方主动下黑手呢,这么一想那我是不是该做点什么?

想到这一层,就从原来善意,变成特别理直气壮的主动防御,而进攻是最好的防御。再进一层:自己能想明白这个道理,对方也能想到。对方也会主动自卫(进攻)。我是不是更应该主动自卫 ?

想到这一层, 主动防御就变成我必须干掉对方了,猜疑升级。

猜疑链再进一步升级成:对方也能想到第二层。于是:我主动进攻的动作慢一点都不行,必须立刻进攻才能存活。

物资匮乏+零和博弈条件下,即时通讯也没办法阻断猜疑,这种主观恶意不断在两边反射且升级的过程叫绝境猜疑链。如果条件不变,绝境猜疑链只有一个办法终止:其他人全死。

匮乏、饥饿、生存,零和会成为是道德的荒漠。零和博弈是生死局,再多的交流也毫无意义。深陷其中,道德、人性、慈悲、善意都会成为枷锁,唯有主动丢弃的大逆不道之勇者,才能赢得存活下去的资格。

在黑暗森林中生存,你得抛弃人性,这就是零和博弈下的残酷。所以不要轻易让自己陷入零和博弈的境地。

博弈论」的数学理论,引入了零和博弈、非零和博弈、正和博弈、负和博弈、常和博弈和变和博弈等概念。

不存在碾压式优势的条件下的零和游戏,人的选择并不多。好在生活中并非全都是零和游戏,即便是零和博弈,有时也存在单独一方的碾压优势,这就给合作奠定了基础,善意便能萌发。

如何在合作中最大化自身利益,参见:表弟哟,哥哥我读了《合作的进化有感》,你要小心了

3现实生活中为何没有猜疑链

严格的来说,猜疑链这种不可建立信任与沟通的推导,是建立在严格的逻辑上的,与交流的介质无关,理论上,不管是文字,书面、语言,任何交流载体,都不可弥补这个缺陷。

但是,现实生活中,并没有这种困难,两个国可以建立联合攻击,人与人之间发送邮件也不需要反复确认,当面的交流绝不会反复纠结与对方是否听到了。那么,这是为什么呢?猜疑链的基础是绝对理性,绝对因果。幸好,人们没有绝对理性,而是按概率来实际的判断与生活。简单的说,这是因为这个世界是概率的,人也是按概率来判断和生活的。进行第一轮确认的时候,会认为对方会出兵的概率是90%,到第二轮、第三轮的时候,这个概率会持续上升,直到最后,即使没有回复,这个概率已经足够大,他们不再需要回复了。——刘远举

2019.4.3 有网友评论,回复后认为有必要添加第二次补充:

首先,《三体》有人夸有人贬,反正我自己看得很爽,读了2遍,也乐意读第3遍,我很佩服刘慈欣。但是黑暗森林理论不一定正确或错误,一个社会学家对黑暗森林法则的反驳 作者:丁旭阳 写的很好。

https://lt.cjdby.net/thread-1734315-1-1.html

个人倾向认为更文明的外星人会把地球保护起来进行研究。毕竟宇宙中啥都有,地球上的元素并不特殊,没必要跨越整个宇宙来掠夺地球上的普通烂大街资源,而地球上的文明恰恰是最稀缺的。

其次,猜疑链的适用边界是 严格的零和博弈条件。如果不是零和博弈,猜疑链很难成立。

按三体小说中的设定,在零和博弈背景下,即便是量子通信,全双工通信条件下,性命攸关时,也很难单纯靠全双工通信令对方信服自己是善意的。

也就是说,零和博弈条件下,即便全双工通信也会出现猜疑链。譬如《三体》中幸存的5艘人类战舰,流浪宇宙,物资不够,符合零和博弈条件,即便当时他们之间通信很方便,依然产生了猜疑链。

总结:猜疑链是由博弈环境决定的,与通信技术条件有关系,但与通信技术关系并不是特别大。

与君共勉。

祝近安。

今日得到:

1.数学是大脑的体操

2.博弈分为:零和博弈、非零和博弈、正和博弈、负和博弈、常和博弈和变和博弈等

参考资料:

《三体》中的猜疑链成立吗?

《三体》中的猜疑链成立吗?_文化_腾讯网?

cul.qq.com图标

欢迎关注公众号:饭量的夜宵


http://weixin.qq.com/r/7T81LbXEa_gUrfFO92r- (二维码自动识别)


有网友评论:可以用三次握手解决半双工通信难题。

所谓三次握手,可以简单理解为:

「长江长江,我是黄河,听到请回答。」第一次握手。

长江听到黄河的呼叫后要回答「黄河黄河,我是长江,我听到了你,请回答。」这叫做第二次握手。黄河听到长江的呼叫后还要回答「长江长江,我是黄河,我听到了你,现在请你收报」,这是第三次握手。

三次握手成功后,才能在电台里传送工作报文。

我谷歌后,发现了这么一段:

「三次握手」是电台点对点通信的一般规则,但即使三次握手成功后,以后的通信就能保证正常吗?当然不能,握手成功后的设备故障、干扰、话务员的伤亡等,无数种可能性会导致通信失败。三次握手成功只说明了之前的通信条件和环境,而不能决定和预测之后的通信条件和环境。根据经验,两个电台之间的通信失败,最大的可能性是两个电台本身的故障,三次握手的成功排除了这种可能。以后的情况很难预测的,通信协议只能做到尽可能的可靠,而不能做到理论上的完全可靠。——科学松鼠会 " 第三次握手--革命斗争中的通信故事

当涉及到的利益足够大,仅靠三次握手,是不能让通信双方安心的。

最后,谷歌真的很好用。所谓,大事、要事、外事不决问谷歌,内事、小事、趣事不决找百度。

也有要事,大事,外事,怎么办? 参考大师在流浪,小丑开讲堂 文章末尾


有个比较好理解的例子

我们来玩剪刀石头布,假设我们都想赢对方

开局我告诉你,我出石头

假如你信任我这句话,那你应该出布,没有问题


但是我们都想赢,那么猜疑链就开始了

你想,如果我骗你出了布,而我出剪刀赢你,那你应该出石头赢我

结论:你要出石头


你又想,基于上一条,如果我猜到了你出石头,那我会出布赢你,你要出剪刀赢我

结论:你要出剪刀


你还想,基于上一条,如果我猜到你出剪刀,那我会出石头赢你,你要出布赢我

结论:你要出布

……

子子孙孙无穷匮也


再次更新。最近得到挺多赞,很开心。有部分朋友很关心我找到的「城堡主合作」的例子,对这个的讨论很多。恕我精力、时间有限,你们提的挺多想法我难以一一验证。我想说的是,上次更新在分割线内的那部分,自信无懈可击,欢迎大家看看,并不长。

我也曾经对这个概念感到十分疑惑,甚至怀疑。直到我看到了如下解释:

甲乙两个城堡主,打算两个联合起来去攻打打另外一个城堡,可是,如果他们单独去的话,一定会输,所以,他们一定要保证第二天对方也会带兵到场。于是,甲给乙写了一封信,显然,甲会去的前提是,乙答应了他,也就是说,甲必须得到乙的回复,才会带兵去攻打。对于乙来说,他明白这个情况,所以,他会给甲一个回复,派人送过去。但是,乙怎么判断甲得到了他发出的回复呢?甲没有得到乙的回复就不会出兵,所以,乙必须确认甲得到了他的回复,显然,乙需要甲再次发一封信给他,表示收到回复,第二天会去。乙只有收到这个甲的回复,第二天才敢去。同样的,甲再次发出了这个回复,但他同样也得确认乙收到了这个回复,所以,乙还得再次发送一个回复。于是,情况就这么反复的循环下去。

原文很精彩

《三体》中的猜疑链成立吗?_文化_腾讯网?

cul.qq.com图标

所以,本答案的关键部分在这里

用上面的例子代入宇宙中两个世界(甲、乙)之间的猜疑链:

  1. 甲对乙说,我是善意的。大家都应该明白的一点是,这里的「善意」并不能保证甲不攻击乙,比如知道乙是恶意的,甚至只是怀疑乙是恶意的,甲就需要先下手为强。所以这时候甲开始担心了:乙是好是坏?
  2. 好,接著呢?乙要么悄咪咪地干掉甲,要么说我也是善意的呀。在乙说自己也是善意的情况下,乙需要确保甲确实收到这个信息了。即乙在送出这封信后也开始担心起来:如果甲没有收到信息,甲就有理由怀疑乙是恶意的,甲就会干掉乙。
  3. 甲知道乙的担心,所以给乙回信。这封信还必须送到,否则乙就一直担心下去,直到忍不住直接干掉对方。所以甲送出这封信之后又开始担心起来:乙收到信了没有呀?
  4. 乙收到刚刚的回信后,知道甲的担心,所以又需要给甲回信。回信后,乙还是需要确保甲确实收到信了(不然甲也会一直担心下去直到忍不住先下手为强)。乙又开始担心起来,甲收到我这封回信了没有?
  5. 重复3
  6. 重复4
  7. 重复3
  8. 重复4
  9. ……

从第2步开始,甲和乙每发出一封信,是因为知道对方在等自己的回信。发完信之后,都需要确保对方收到信息了,这下子变成自己(焦虑地)等回信了。就这样陷入了死循环。


我认为,我开始时对这个概念感到疑惑的原因是:《三体》的原文表述略有问题。把这个实际的沟通过程描述出来,那就可以理解了。我觉得猜疑链出现的根本原因是:一个文明在关系到存亡的事情上需要做到100%的可靠。


改一下吧,不是猜疑链的问题,是另一个基础没有搞透。

生存是文明的第一需求。

这句话的意思是,只要有那么一丝丝的可能,那就不能相信对方是善意的。

于是,你无法绝对相信「对方是善意的」这个结论。


不是几层的问题,是你第一层就出了问题。

你不能以对方的善意为基础往上构建推论。

因为他有可能骗你。因为生存是第一要素。

他可以表明他是善意的,你也接受到了,但是你不能就这么断定他是善意的。你也不能在这个基础上进行任何下一步行为。只因为对方有可能在骗你,这个有可能的背后的代价是你死。你不能冒这个风险。


推荐阅读:
相关文章