AlphaGo算法原理浅析

本文深入探讨了AlphaGo击败世界围棋冠军的原理,解析了其使用深度学习、监督学习和增强学习的策略。AlphaGo通过政策网络(policy net)预测棋局最优着法,并利用价值网络(value net)评估局面赢的概率,通过自我对弈不断优化。通过蒙特卡洛树搜索策略,模拟多次推演以选择最佳走法,实现了围棋水平的超越。
摘要由CSDN通过智能技术生成

2016年3月,AlphaGo与围棋世界冠军、职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜,震惊世界;2017年5月,AlphaGo与排名世界第一的世界围棋冠军柯洁对战,以3比0的总比分获胜,再次震惊世界。围棋界公认AlphaGo的围棋能力已经远远超过了人类职业围棋的顶尖水平了,那么AlphaGo为什么这么厉害,它的算法原理是什么呢,下面结合在互联网上看到的一些文章,整理思路进行浅析。

一、非AI时代的计算机下棋程序基本做法
在信息完整的情况下,在棋局的每一步,计算机可以使用穷举法,自己与自己下棋(self-play),尝试每一个选择,模拟所有可能的完整战局,观察结果,然后选出最佳走法。
这种方法在五子棋、象棋中还可行,但由于围棋的下子地方很多,各种下棋组合非常的大,穷举法的计算量极其庞大,计算机很难在有效地时间里穷举出最佳走法。

案例:

1997年的“深蓝”计算机战胜了人类的国际象棋冠军卡斯帕罗夫,但是没有人会认为“深蓝”真正拥有了人工智能,这是因为国际象棋的每一步都是可见的。在一个确定性的棋局下,仅有有限个走法,而在这有限个走法中必然有一个最优的,那么一个基本的想法就是对棋局进行预测,遍历(穷举)每一种走法直到一方胜出,然后回退计算每一个可能赢的概率,最后使用概率最高的作为最优的走法。“深蓝”就是这么做的,暴力穷举所有的步子,然后找最优的步子。虽然赢了人类,但没有智能,因为整个算法完全就是按人工设计的一个算法,体现不出智能之处。

计算机下围棋,理论上也是可以暴力破解的,但是问题就在于围棋的可走的步子太多了,以至于按目前的计算性能根本做不到暴力破解。而另外一种方式,是使用蒙特卡洛树搜索的方法,蒙特卡洛算法通过某种“实验”的方法,得到一个随机变量的估计,从而得到一个问题的解。这种实验可以是计算机的模拟,那蒙特卡洛树搜索怎么模拟的。算法会找两个围棋傻子(计算机),他们只知道那里可以下棋(空白处,和非打劫刚提子处),他们最终下到终局。好了,这就可以判断谁赢了。算法就通过模拟M(M>>N)盘,看黑赢的概率。可以看到这明显的不合理,因为每步是乱下的,有些棋根本就不可能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值