Geek
majer @ 2022.12.31 , 13:25
脑力小体操:无信任的信任算法
已知 矩形 中三个角上的三角形的面积,求中间那个三角形的面积。
清华有位老师说想出了一个小学生就能理解的做法,但我们具体仍不知晓。下图是推广到一般的解法。
你和其他15个人,参加类似于鱿鱼游戏的真人秀节目。你们每个人都有一个身份ID,是一个9到15位数。这个是自己最大的秘密。因为游戏里原则上每个人都是潜在的竞争对手,如果被他人知道了自己的ID,在后面的环节里就有可能直接被对方淘汰出局。比如说,某个关卡有个奖励道具是死亡笔记,只要把ID写上去,对应的玩家就直接出局。
另一方面,与人共享ID信息就可以结盟,并带来巨大的好处,比如说得分翻倍。所以,如果玩家之间存在场下的亲密关系(如夫妻,亲友等),天然存在互信的基础,结盟就能给自己带来巨大优势。但结盟与否,其他玩家是不可见的。显然,结盟的人也不会自己四处宣扬。
现在的问题是,你自己有没有信得过的人,你自己最清楚。同时,你也不知道其他人有没有盟友。
现在,你们16个人卡在某一环节上。
过关条件是:打开并通过一道密码门,密码是你们所有人的ID之和。
显然,假如其他15个人已在私下结盟,那你无论如何都无法守住自己ID。但让我们乐观一点,不考虑如此极端的情况——否则还不如直接退出游戏回家。但可以肯定的是,其他玩家肯定有若干人已经结盟。
现在,你能否设计出一个相对简单的算法(一套操作流程,必要的时候可以向组织者索要各种简单工具),既算出所有人的ID之和,同时保护自己(和其他玩家)的ID不为彼此所知?