title: 小时候想到的一个数学问题，现在还没有想明白，可能以后会越来越不明白，有哪位大牛可以帮我解答吗？
desc: 两个正常人a和b，在无干扰的房间里对话，a对b说出一句话c，如此完成了一次“面对面事件”（名字不太会起，将就吧）<br>一次面对面事件包含以下一系列任意多的信息，仍以刚才的a和b为例，<br>a说了c，且a知道自己说了c 定义为事件1<br>b知道事件1 定义为事件2<br>a知道事件2 定义为事件3<br>b知道事件3 定义为事件4<br><br>如此推至无穷，a知道任意多的奇数号事件，b知道任意多的偶数号事件，则定义此次交涉为“面对面事件”。（当然，答友请不要钻牛角尖，说a的话太长记不住，b心不在焉没听见，或是两人所在的房间太大超过一光年什么的）<br>然后，考虑另一种情况，a和b两人互发短信，且短信有一定几率会发送失败，如果失败，发信人并不会知道，而收信人收不到信息。此种事件定义为“风险信息事件”（风险有多大和我们讨论的问题无关）。<br>仍然是a对b发出消息c，b收到之后，则向a回复消息，表示收到消息a收到之后，也回复一条表示收到，则形成如下程序：<br>a向b发出c 风险信息事件1<br>b回信息表示收到c 风险信息事件2<br>a回消息表示获悉风险事件2 风险信息事件3<br>b回消息表示获悉风险事件3 风险信息事件4<br><br>那么问题是，两人在互发多少条短信之后，可以达到“面对面事件”的效果？<br>显然，两人如果如此互发了100条短信，那么两人对于一开始c信息这件事，必然会了解得和“面对面事件”一样通透。而如果真是如此，因为第100条短信存在发送不到的可能性，所以b其实不发这条短信也可以，不影响已经传达了“面对面事件”同样多的信息这一事实。如果第100条短信真的不发，那么a就无从知道自己第99条短信是否到达，实际上第99条短信也有发送失败的风险，也就是说，第99条短信发送成功与否，并不影响以此类推，可以推出其实一条信息都可以不发，这显然是错的。<br>那么，到底是风险信息事件永远无法构成面对面事件的信息呢，还是在某一条风险信息开始，就拥有了和面对面事件同样多的信息呢？
topic: 数学
content: 这个其实是计算机中的一致性问题，回答中也有人提到了两将军问题（Two Generals' Problem ），两将军问题是拜占庭将军问题（Byzantine fault tolerance ）的一个特殊场景。两将军问题的场景和你的例子非常像，也就是说如果只通过通信，双方如何能对约定某个时间发起战役达成一致（考虑到中途传令兵会被敌人拦截的状况）？看到得票最高的 Manolo 答案中也描述了这个问题，这里就不详细描述了。计算机协议（比如TCP）中解决这个问
answerer_tags: http://jolestar.com