茉莉花新闻网

中華青年思想與行動的聚合地

国际象棋比赛疑用智能肛珠作弊,比赛作弊是如何靠人工智能和肛珠实现的?

桔了个仔的回答

泻邀。

这场比赛,到底是人类和人类的公平对决?还是人类和人工痔能——阿不,人工智能的对决?本回答为你揭晓。

国际象棋AI能否击败人类?

大家也许听过2016年围棋彻底击败人类,李世石认输的故事。不过国际象棋AI击败人类,那是更早的事了。

1997年国际象棋AI就已经击败人类了。

1996年2月10日,深蓝首次挑战国际象棋世界冠军卡斯帕罗夫,但以2-4落败。比赛在2月17日结束。
其后研究小组把深蓝加以改良——它有一个非官方的昵称“更深的蓝”(Deeper Blue)——1997年5月再度挑战卡斯帕罗夫,比赛在5月11日结束,最终深蓝电脑以3.5–2.5击败卡斯巴罗夫。[1]

所以,利用AI作弊,理论上还是能实现的,就看怎么实现,能不能把这个AI落地到「菊花」上了。

我们继续接着探讨实现方式。

痔能肛珠怎么实现

有人认为汉斯·尼曼是在屁股里有阿尔法狗——塞了串「肛珠型」的超级计算机。其原理类似摩斯电码,通过括约肌有节奏地张弛收缩把信息传达给股间的超级计算机,后者分析棋局,然后用震动的高低频刺激汉斯·尼曼的直肠神经。

这种「超级计算机」在技术上能否实现呢?我们分析几个方面:

算力

国际象棋AI相比围棋AI,并不需要很大的计算资源。我们甚至不需要「超级计算机」。我们智能手表的算力,足够运行一个国际象棋的AI。例如apple watch上面也有国际象棋的游戏,说明现在智能手机的算力还是足以运行国际象棋AI的。只要括约肌够松弛,一个apple watch大小的「计算机」还是可以放得进去的。当然,本回答不建议读者尝试把智能手表塞到不该塞的地方,如果塞了(还拿不出来),本回答概不负责。

要发送的信息

通过括约肌收缩能传递棋盘信号吗?

理论上是可以的。国际象棋是由8x8的棋盘组成的。初始状态是固定的,如果能把每一步棋的信息都正确发送出去,那么在计算机那边是可以同步棋盘状态的。

v2 f622f66bccc69b3d3447f78b3952b0ee 720w

如果要让计算机那边棋盘同步,我们得通过括约肌收缩来发送两个信息:

  • 起始点的横轴和纵轴
  • 终点的横轴和纵轴

那么怎么收缩才能把信息发送给计算机呢?

编码

如果要发送信号,那么我「发送信号」的速度有多快呢?我尝试了一下,我在写这段话的时候,同时也在用自己的极限速度提肛。每秒一次已经是最快的了,再快的话已经没法保持节奏,甚至要抽筋了。也许是我我的括约肌不够灵活,自认为灵活的小伙伴可以尝试下自己的速度。也就是说,我括约肌的带宽是1 bit/s(我写的什么玩意!?)

好,如果汉斯·尼曼也是这个速度,那么他如果要用「菊花」给计算机传信号,应该怎么传呢?那么怎么把坐标轴信息编码发送出去呢?

有读者可能会想到设置32秒,分成四个8秒,在这8秒里 ,你收缩括约肌秒数代表了坐标位置。第一个8秒用于传输起始点横轴,第二个8秒用于起始点传输纵轴,第三个8秒传输终点横轴,第四个8秒用于传输终点的纵轴。那么传输一步棋的数据就要32秒。

当然,32秒还是有点长的,尤其考虑到计算机如果采用同样的编码方法,那么一来一回,就要1分钟了,显然这样太慢了。同时,这个编码方式不可靠,毕竟不看着表数秒数可能不那么准确,容易给计算机发送错误的信息。那么有没有更短的编码方法呢?

还是有的。根据香农第一定理,64选1的信息熵为log64=6比特。不懂信息论方法的小伙伴没关系,如果你懂什么是二进制,那么也一样能理解。例如我们可以000代表1,001代表2,010代表3,011代表4,100代表5,101代表6,110代表7,111代表8。用这种方法,发送每步棋只需要12秒,如果计算机用同样的编码把信号回传给棋手的「菊花」,那么每步棋缩短至24秒。

举个例子,如果我们要把g7位置的棋子移动到f7,那么我们发送的信号为:110 110 101 110,在12秒内每秒钟对应的括约肌状态是「紧紧松 紧紧松 紧松紧 紧紧松」

而且这样的编码方法由于是「数字化」的,因此容错性更高

我大学时老师就讲过,数字信号容错性比模拟信号高,果然是真的

嗯,如果是慢棋的话,貌似可行?

当然,这还不是最短的编码,由于棋出在在不同位置的概率不一样,根据信息熵的计算公式,以及霍夫曼编码方法,我们能得出低于6比特的编码方法,估计用霍夫曼编码能压缩到5比特左右。但编出来的码太复杂,不利于「菊花」发挥,所以我们还是用平均的编码方法吧。

v2 403f8918da34991322834a39afd4cff4 720w
信息熵公式

容错/校验

当然,正如我在前面加粗了,前提是【正确】发送出去。但毕竟括约肌没有其他肌肉灵活性强,棋手很容易一个不小心,菊花一紧,糟糕,信号全乱了,这时候AI那边的棋盘和眼前的棋盘就不一致了。

因此我们得在信号里加入点容错或者校验的信号,让信号接收方知道我们的信号是有效的。

最稳当的方法,就是把信号重复一次,当这样的话,太费劲了。

当然,我们可以加入校验位,例如最后两位作为校验位,把起点和终点坐标的最后一位重复在信号的最后两秒。也就说每次发送用14秒。这样虽然每步棋慢了点,但也还可以接受。

还没解决的问题

到这里位置,还有很多问题没解决,例如:

  • 怎么告诉计算机我要开始发送信号了(例如有人会想起网络通信里的三次握手。)
  • 这个东西得提前塞进去「菊花」吧,那么怎么告诉计算机比赛现在开始?
  • 一旦其中一步发错了,棋手有没办法把桌面的棋盘通过另一套编码重新同步到计算机里?

其实这些问题技术上都能解决,但要做得好用,并不容易。而且我边写边笑,实在笑不活了,决定留给读者思考,让读者自己慢慢笑。

总结

当然,这场比赛是否作弊,目前也没实锤,仅仅是「疑」。群众之所以怀疑汉斯·尼曼,是因为他确实有过作弊经历。

这篇文章虽然无法判定汉斯·尼曼有没作弊,但大家可以看得出,通过人工痔能作弊的话,可行性也就存在于理论里,要靠人工痔能作弊赢得这场比赛,除了要学会信息论,最重要的还是「菊花」得在一场几十分钟的比赛里「收放自如」,保证每次编码不出错。

不知道这种神技能得多少年才能练成。

同类信息

查看全部

茉莉花论坛作为一个开放社区,允许您发表任何符合社区规定的文章和评论。

茉莉花新闻网

        中国茉莉花革命网始创于2011年2月20日,受阿拉伯之春的感召,大家共同组织、发起了中国茉莉花革命。后由数名义工无偿坚持至今,并发展成为广受翻墙网民欢迎的新闻聚合网站并提供论坛服务。

新闻汇总

邮件订阅

输入您的邮件地址:

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram