Go版 - Alphago分析,狗狗只能算4手棋。 |
|
|
|
|
|
h*********n 发帖数: 5789 | 1 Alphago有着重大致命的缺陷:搜索深度有限。Deepmind用尽一切手段把这个缺陷隐藏
起来,教给Alphago 很多策略避免面对搜索深度太深的复杂局面。
Alphago的“棋风”和怪异招法都可以用这来解释。
1.Alphago不爱打劫,几乎不会主动开劫。因为打劫会引发局部手数增多 ,超过
alphago的搜索深度,引发不可预知的结果;
2.Alphago面对对手的模样不会选择打入,而是选择肩冲,哪怕是违背棋理的五路肩冲
。因为打入之后,局部的死活太复杂,远超它的搜索深度。而肩冲棋下在外面,逃跑的
机会大,比较安全,不会增加局面的复杂程度。
3.Alphago不会根据征子是否有利来决定行棋方向。征子虽然简单,但是全摆出来会超
出Alphago的搜索深度。所以Alphago会在第二盘下出黑43的大恶手。
4.Alphago不会杀对手的大龙,直接杀对手大龙,需要的手数非常多也超出了Alphago的
搜索深度。也许读者会反驳,第三盘Alphago从一开始就在追杀李世石的大龙。其实这
是错觉。Alphago不是在直接杀李世石的大龙,Alphago是在保证李世石的大龙不活。直
接杀大龙是很复杂的事情,随时保证李世石的大龙不活,并同时获利确实对于电脑很简
单的事。
5.Alphago的棋风,给人的感觉是“稳健简明厚重”。实际上,Alphago作为一个程序,
根本就没有风格。他给人的这个印象是程序设计者为了规避复杂局面而采取的策略。
“稳健”实际是Alphago前面分析的不会主动刻意的去杀对方的大龙。再说“简明”。
人类为了更多的劫材和变化保留一些必要的交换,Alphago会早早走掉。这是为了缩小
棋盘,减少局面的变化,降低对于深度搜索的依赖。所谓”厚重“,其实是Alphago喜
欢把自己的棋连在一起,增加自己的气,减少被攻的可能,同时足够的安全余量可以远
离“地平线效应”的悬崖。
可以说Alphago不会下围棋,至少不会像人类一样的方式下围棋。像第四盘,白棋78落
下之后,所有懂棋的人类都会明白,黑棋的大空已经不可避免的被破,但是Alphago没
有意识到。他一直到87手才发现自己的胜率悬崖性跌落,直到103手才发现空被破不可
避免。Alphago对于围棋的理解方式和人类是完全不同的。
如果Alphago不会像人类那样下围棋,那么他在棋盘上在做什么呢?他在搜索可以“导
向对自己有利局面的落子”。Alphago在下棋的时候就是纯粹的暴力搜索,没有多少人
工智能的成分。Alphago项目上面运用的人工智能,其实是在训练Alphago认定什么局面
对自己有利上面。通过三千万棋局的训练,在深度神经网络的帮助下,Alphago“知道
”了什么局面会对自己有利。而下棋的时候,Alphago对可以落子的地方进行搜索,看
看怎么下棋会引导棋局向自己有利的地方发展。
Alphago在下棋的时候,其实是在做4件事情:整理自己的棋型,保持联络(安全);破
坏对方孤棋的棋型,保证对方的孤棋还没有活净;扩大自己的空;缩小对手的空。针对
不同的局面,Alphago对于这4件事情的权重是不一样的。如果一手棋会同时满足以上的
多个目标,alphago就会下这手棋。基本对于同样的整盘局面,Alphago会走同样的招数
,不会主动变招。
那么如何用简明有效的手段打败Alphago呢?就是要针对Alphago的落子搜索深度非常有
限的。人们过高估计了Alphago对于局部的计算能力,Alphago根本没有完全算清局部棋
局。
那么Alphago的搜索深度是多少呢?我们可以通过过去的4盘棋就可以推算出来。
Alphago的项目主管Demis Hassabis在Twitter上面曾经说过“Mistake was on move 79
, but #AlphaGo only came to that realisation on around move 87"。翻译过来
Alphago1在第79手的时候没有预计到87手会面对的困难局面。就是说Alphago可以算清
79,80,81,82,83,84,85,86这8手面对的局面,而且认为概率上对于自己非常有利。我们
可以估算,Alphago的深度搜索能力大概在8步(自己4手,对方4手)左右。
通过前面的棋局,我们可以验证这个猜测。比如说第一盘,白棋的第142手挡,这不是
最佳的收官手段,这一手使得白棋在局部落了后手,损失了大概5目棋。大家当时认为
Alphago选择的是胜率最高的一手,而不是盘面获利最大的一手。其实在收官阶段,不
影响自己棋子死活的前提下面,收官的目数越多,最后的胜率最大,这两者其实是不矛
盾的。Alphago在右下角之所以没有走柯杰推荐的S16的跳点先手活净,纯粹就是局部的
漏算而已。如果Alphago的第142手下到S16,而黑棋脱先的话。白棋想惩罚黑棋的脱先
,必须走o13扳(144),o12断(146),o10打吃(148),救出白棋被困的三子。从142到148
中间只有7手棋,前面的猜测,Alphago看不清8手棋之后的局面,完全符合。
我们再看第二盘Alphago的疑问手。黑棋第43手粘两颗孤子,下到第51手黑棋面临被征
子的局面,同时对于黑棋征子不利,黑棋局面大失败.43到51,也是8手棋。
再看第一盘,Alphago下出疑问手86断,下到第94手之前,(大家注意,86手到93手,
正好8步棋)白棋面对的局面不利。从94手开始Alphago开始奋起反击,最终下出了102
手的妙手一举扭转局面。从94到102一共是9手棋,其中黑97白98的交换是必应手,除去
这两手,从94引导到102的局面,一共是7手棋,完全在Alphago的搜索深度之内。
由此我们可以得出结论,Alphago的搜索深度只有8步棋(其中自己4步,对手4步)。或
者说alphago在局部只能算清自己的4手棋!这是非常不够的。
但是由于围棋的棋盘太大,每一手的棋至少有50个以上的可下位置。如果Alphago要多
搜索一步,把搜索深度深入到9步,至少要投入现在Alphago项目的50倍的资源,这是
Google无法负担的。Alphago的这个搜索深度是工程人员面对现实条件做出的必要妥协。
Alphago的搜索深度只有8步棋(其中自己4步,对手4步)。或者说alphago在局部只能
算清自己的4手棋!对于超一流棋手,Alphago这样的对手完全不可怕。只要针对
Alphago的这个弱点,布置一个10步(出于安全余量,多留两步)之后的陷阱,再根据
Alphago“稳健厚重简明”的棋风,引导或者逼迫Alphago走向它看不见的陷阱,
Alphago走入陷阱之后8步脱不了身的话,就会发疯出“地平线效应”,让棋手轻松获胜。 | a****t 发帖数: 7049 | | m**m 发帖数: 5500 | 3 如果程序不大改,仅靠堆积更多的cluster,不知道能解决到什么程度。不过计算能力
只能线性增加,复杂度是指数增加,不太好说。 |
|
|
|
|
|
|