第180章 围棋软件的工作原理
作者:明镜不止水      更新:2022-10-10 15:38      字数:2608
  元霄有把握说服江展宏。

  考古发现者挖掘出来的东西,如果没有人知道怎么使用,那就是废弃物。

  不知道为什么,元霄认为江展宏不会那么轻易放弃自己的发现。

  果然沉默几分钟后,电话那头的江展宏答应了。

  他立即动身来里伦威尔市。

  挂断电话,柯杰这才凑了过来“元老师,不如你和我们说说这围棋软件的大概构想吧。”

  天知道这几天他是怎么煎熬的。

  一个能够指导棋手下棋的软件程序,谁都想要。

  就好比看书看到精彩的地方,结果作者不更新了。

  柯杰对于元霄,那是心痒难搔。

  学生们也有兴趣,毕竟大家都喜欢新鲜的事物。

  元霄干脆坐下来,让卓越摆弄电脑。

  “任何的棋类,规矩之下,大部分都是考验计算力的。”元霄开始说明。

  扑克牌、哪怕是斗地主之类,想要打好,也需要计算。

  象棋跳跳棋五子棋等等。

  包括围棋,除了相应的一些技巧外,其实都是对计算力的考验。

  柯杰认可“这也是目前计算机界,认为围棋软件很难开发的缘故。”

  之所以难,是围棋可选择的点太多了。

  一个路棋盘,横竖各是条线,一共个点。

  也就是说,第一步走哪里,理论上有个可能。

  而第二步,则是种可能。

  如此类推。

  “我刚刚查的资料,”苏辰逸将电脑屏幕扳过来,“比如象棋的软件,其实用的就是穷尽法。

  简单地说,把所有可能全部计算清楚。”

  开局一步棋,已经预测到了结果,当然就不会输了。

  这就是计算机比人脑厉害的地方。

  “但是围棋不行,”柯杰补充,“想要穷尽所有可能,那是天文数字。”

  “对,”元霄也很高兴,“所以,我们不能使用这一类的算法。”

  这里就需要蒙特卡洛算法。

  这个算法,其实就是一个抽样样本的计算。

  举个例子,要从一箱苹果里面,找出最大的。

  正常人的做法,就是拿出一个苹果,和另外一个比较,留下大的。

  这样一直淘汰,到最后剩余的苹果,就是最大的。

  那么,这样处理的结果,取决于箱子里面的苹果有多少。

  越多的话,得出来的结果就越准确。

  从这方面看,和围棋的下棋思路很接近。

  柯杰明白了。

  高手下围棋,也是根据当前的形势,模拟推算下面的几步,取最优的方案。

  “也就是说,”柯杰捏着下巴,“不需要把所有可能算完,只是选取一些重要的来进行分析。”

  “对,这就是围棋软件程序的核心要点。”元霄竖起了手指。

  计算机对每一步棋,都是这么分析。

  当然,分析的点肯定不是百位千位这个数量的。

  苏辰逸也听明白了“那问题的关键,在于哪些点需要分析,哪些可以直接淘汰掉。”

  元霄很满意,小辰逸果然给力。

  方旭尧不甘示弱,毕竟是全国智商最高的人“有点像剪枝的行为。”

  “没错,”和聪明人说话就是省事,元霄笑眯眯的,“就是剪枝。”

  一颗盆景,树干分支出去,有很多树枝。

  元霄要做的,就是把没有必要的剪去,留下有用的。

  通过这样的手段,压缩计算的范围和量,从而让程序能够顺利进行下去。

  柯杰点头“概念的置换,得到当前局面的最优解,而不是整盘棋的最终解。”

  这两者是天差地别的。

  但是,只要从开始,计算机下的每一部,都是当前的最优解,累积起来,也就成了整盘棋的最优解。

  ??傲世指数+

  看看,这随便弄几下,就把柯杰给震出惊了。

  可惜的是,学生们大部分对元霄都不感冒。

  这就是收集傲世指数困难的地方。

  看来只有等成品问世,对他们才能收割一波。

  任务有坑啊。

  柯杰兴趣很浓“那么问题在于,如何筛选出这样的点。”

  “所以,我们需要对算法进行加成。”元霄解释。

  围棋棋盘上的一个点,可以用数值表示它的状态。

  比如有白棋是,有黑棋是-,没有棋就是。

  这是最基础的。

  如此一来,就可以对整个棋盘个点,建立数学数值。

  然后,程序就可以对这群数值进行反复的运算。

  元霄画出一个概念图“第一个我们需要的是,可以称为策略神经网络。”

  策略神经网络的作用,是判断当前局势下,下一步棋下在哪里最合适。

  元霄认为,这里的选点,可以参考人类棋手的棋谱。

  模仿人类棋手的思考模式,快速将一些低概率的点淘汰掉。

  柯杰叹了口气“看来,到时候我还要提供目前为止所有人类的对局棋谱了。”

  理论上而言,棋谱数量越多,策略神经网络的成熟度也越高。

  “这一点,我们让计算机自主学习。”元霄支出其中的关键。

  反复推演学习的结果,将会使策略神经网络更加强大,选点更为准确。

  “而要做到这一步,还需要另外一个神经网络的结合。”元霄写下一个公式。

  价值神经网络。

  其作用是能够计算出,每个选点的胜率。

  每一步都进行这样的估值判断,直到棋局的结束,得到最精准的胜率数值。

  而同样,这东西也可以自己学习。

  总结起来其实很简单。

  就是模拟人类下棋的思维。

  首先判断在哪些地方可以下,每个地方的胜率是多少。

  然后对这些选点进行集中计算,推演出最后的结果。

  每一步都这么执行。

  那么得到的每一手,自然就是最佳的下法。

  如果说一开始柯杰觉得元霄说的是天方夜谭。

  到了现在,他感觉这东西并不是完全不可能实现的了。

  他咽下口水“如此一来的话,那不是一开始的时候,计算机就已经锁定了结果。”

  必胜的结果。

  ??傲世指数+

  “这只是大概的概念,实际我们还需要一步步来,”元霄放下笔,“柯院长,到时候和围棋软件的对弈,还需要你来。”

  柯杰表示责无旁贷。

  苏辰逸、卓越、方旭尧几个都听懂了。

  夏晚晴黎沐岚之流,当然是不知所云。

  尤其是夏晚晴,她表示很鄙视。

  花脑袋去开发这玩意有啥用。

  老师也真是的,有时间和我一起不香么。

  计算机的世界,果然蕴含宅的属性。

  。