之前阿尔法狗大战李世石和柯洁那两次在地球村上都炸锅了,大家都在热议,可惜当时完全没接触过人工智能方面的任何书籍,所以当时压根就没去关注,也缺乏兴趣了解。后来是在看完美剧“西部世界”第一季后对人工智能的好感一下子就提升了,很大原因是在看片过程中由于不了解人工智能的原理,对于剧情的发展以及人物的设定产生很多疑问,虽然看剧过程中会有相应的解释,但是还是一脸蒙蔽。当时看完西部世界后就看了一本人工智能方面的书籍,同时兴趣大增。
今天我们就来聊聊我所理解的阿尔法狗大战柯洁过程中采用的计算原理。首先,阿尔法狗在下棋过程中使用的并不是单一的算法,而是多种算法的结合。
关于下棋的算法,我们能想到的最简单的方式是决策树的方式,穷尽每一种落子方式,最后找到最优解。但是这样的算法在围棋中会遇到一个问题,那就是多算几步就会产生指数级的计算量,这是就算超级电脑也无法完成的任务,但是这种方式是最简单最直接的计算方式,那么如何通过优化这种算法,以达到既能使用到决策树的算法,同时又能减少计算量,以达到电脑能负荷的程度呢,这种方式便是,在决策树计算的过程中,用大数据对于每一步下法获胜的概率做个前期的测算,通过测算储存好结果,在实战出,针对每一步棋下法的决策交给概率最高的结果决定。
阿尔法狗涉及的第二种算法就是左右互搏,自己跟自己下,通过自己跟自己下提升自己的棋艺。由于计算机的计算能力相当惊人,同时他可以不用休息,所以他能以很惊人的速度自我成长。一个人终其一生,所下的棋是有限的,但是计算机可以不停的下。
第三种算法就是记录下人类到目前为止积累下的所有棋局。类似于大数据的收集,积累海量的数据,为自己对战人类提供大量的棋局作为参考。
其实这些算法跟人类学习方式是很像的,我们无非也是通过这些方式来学习知识,了解世界。掌握世界的规律。
学无止境,我们应该让自己的学习能力更强一些,有了好的学习能力我们能在工作生活中走的比别人更远一些。
网友评论