围棋作为唯一一种电脑下不赢人的大众棋类,是何原因导致?以及量子计算机出现后有无可能? 陈雷,围棋从业者(非棋手,非围棋教师) 虽然不懂量子计算机,但还是决定要强答一波。 首先那些说解决围棋只是时间问题的,你们够了。围棋是个 np hard 问题,19 路围棋的状态空间复杂度为 ,对比国际象棋的状态空间复杂度 ,即使量子计算机在计算能力上比电子计算机强 1 亿倍,然并卵。 然而计算机围棋的复杂性并非仅体现在计算量一个维度上,更重要的是专家评估系统的能力: 下图是威孚房开杯半决赛范蕴若 VS 李轩豪的对局,这两位均是中国当前的一线职业棋手,不了解的请自行搜索。棋局至此刻要注意的是白框黑棋和三角白棋均为活棋。 图一 当棋局行进至白棋 G16 后已进入混沌不清的状态,三角白子和圆形黑子处于对杀状态 图二 此刻黑棋下了这步,下方白棋巨龙立刻卷入对杀的漩涡中 图三 最终的结果是三角白子全部阵亡,方框黑子亦全部阵亡,黑白双方在此处做了一次转换。 图四 黑白双方经过这般沧海桑田的大转换后,最终黑棋以半目优势(围棋中最小的优势)获得本局胜利。 我想问,在图三发生的那一刻,量子计算机如何能评估出转换后双方的价值得失? 结论一:计算机为何围棋下不过人的主要原因之一就是一个精准的专家评估系统实在是太特么难做了! 围棋的知识被我们分为两种:一种叫调用型知识;另一种叫计算型知识。 调用型知识指对局者根据以往的经验,凭直感或本能下出的棋,如下图 这个定式双方不需要计算,只需根据经验调用。这类知识基本全部集成在海量的棋谱里,在计算机围棋中,这类知识统称为“模式”,对应当前最前沿的解决方案深度卷积神经网络(DCNN)。Facebook 目前的 AI 黑暗森林就用了这个方法解决模式的问题。我们去年也做了个基于海量数据的围棋搜索引擎,见 http://www.wtweiqi.com/ 如下图,A-E 是下法和下法的评分。 而计算型知识指现场通过计算加工出来的参考图,比如某个对杀或死活问题。下图白杀黑,来感受一下计算型知识。 求解这类知识的方法目前最常用的就是各位说的蒙特卡洛树搜索(MCTS)不赘述了。 结论二:现在使用的普遍解计算机围棋的方法是 DCNN+MCTS。如果你精通以上方法且还是围棋高手,那么有望能够在未来几年内开发出对抗业 6 或三线职业棋手的程序。是的,目前来看高等级的围棋程序一定是由围棋高手开发出来的。 结论三:如果希望程序能战胜顶级围棋高手,比如李世石大师,客观的说还是图样图森破。(虽然我是李世石大师的棋迷,但还是真心希望有程序能击败他) 之所以这么说是因为除了以上讨论的智力比拼维度外,绝顶高手还要比拼心理和灵性。马晓春的棋被人称为妖性十足,这种妖被李世石发扬光大了,所谓的“妖”就是善于在心理层面给对手设套。 这是前不久梦百合决赛第五局柯洁执黑对李世石的棋,此时黑棋大概盘面领先 15 目左右。 让我们来看看李世石大师妖性十足的逆转功夫。白棋先去一路扳,强调这个劫的价值,黑棋的注意力瞬间就转移到这个劫争的劫材上来了,结果导致柯洁在右上角出现重大失误,险些被翻盘。 这种心理牵引能力的形成过程已远超我对围棋本身的理解范畴。出于对这种能力的尊重,我认为现有的计算机围棋思想配合一个极度精确的专家评估系统也难以战胜顶级职业棋手。 最后强发一个自己讲棋的视频无耻求赞。 http://v.pptv.com/show/QxzQTxfxibzmcGoI.html?&rcc_src=B3 查看知乎原文