Friday, February 27, 2015

和Crazy Stone下了很多盘棋

http://www.mitbbs.com/article_t/Military/43282467.html

发信人: EmMeadow (青山绿水), 信区: Military
标  题: 和Crazy Stone下了很多盘棋
发信站: BBS 未名空间站 (Fri Feb 27 13:28:47 2015, 美东)


谈一下感想。首先,本人业余四段,对计算机,人工智能也算是有基本的了解。优化,
搜索,模式匹配,穷举,蒙特卡洛采样,等等,不只是知道名词而已。我自己曾经尝试
过编类似的程序,虽然水平极低,但是好歹也不能说完全是门外汉。

感觉crazy stone和以往的围棋程序有点不同,crazy stone似乎专门为让子棋做了特别
的策略优化。所以,如果你让crazy stone四子,会发现它的棋力比不让子的时候强了
不是一点半点。

计算机下棋当然主要是靠模式匹配算法。棋谱记得多,计算能力强。但是计算机对大局
没有概念。而且碰见多块大棋纠缠的情况,处理能力很差。以往程序的难点在于,开局
计算机吃亏很大,多块大棋缠斗得时候容易被对手偷吃,而且对手如果下棋谱中完全见
不到的无理棋,计算机找不到合适的模式匹配,因而无法有效应对。和crazy stone下
了几盘让四子的棋,发现crazy stone在让子棋里巧妙地绕开了上面所说的这些缺陷。

让子棋开局黑方优势巨大,因此计算机可以采取保守走法,选则明显吃亏,但是不出大
问题的着法。白方在局势落后的情况下,各种所谓的“妙手”不过是高手经验的总结,
有一定的套路。而且重要的是大部分妙手棋谱中都有记载。所以走这样的棋,计算机应
对基本不会出大的问题。反而人对这些细节未必记得很清楚,更不要谈自己的自由发挥
。在这种情况下,人是处于劣势的。因为计算机采取保守策略,异常在乎自己大棋的安
危,因此很难出现让计算机多块大棋出现死活问题的情况。当然,认清楚了这个情况,
人大概自然而然地会想到使用怪招。我发现crazy stone对怪招的应对有两个简单的策
略,那就是,保守+不理睬。估计在找不到合适的模式匹配的时候,crazy stone先保证
自己活棋,如果死活无忧,crazy stone会完全不理睬怪招,自己集中精力做大摸样围
空。因为黑方本来就优势巨大,所以就算每一步都吃很大的亏,或者甚至单个大龙被杀
,只要局势不崩溃,赢棋也是有不小的机会的。而且,一旦黑方做成大摸样围空的态势
,逼迫白棋无理打入,计算机算路的优势会完全发挥出来。在局部打入的计算中,棋盘
相对较小,没有局势判断的问题,人基本上讨不到多少便宜。

总之,和crazy stone下了十几盘让四子的棋,虽然我最后总能吃它一两块大棋,但是
结果至今还一盘都没有赢过。最接近的一盘也输了八目。感觉crazy stone的策略对让
子棋非常有效。回想当年自己和职业棋手下被让子棋,通常也是因为对妙手的应对不好
而吃亏。计算机没有这些问题,棋盘越小,它的优势就越大。

不过,不让子的情况下,crazy stone完全不是对手。我不用怪招,赢它也很轻松。基
本上是因为开局它劣势太大,导致我可以不紧不慢地使用稳健的招法。计算机大概是不
会有能力去主动搅局的,所以通常就这样四平八稳地输掉了。

不过,总的来说水平确实比N年以前的围棋程序高多了。而且crazy stone好像有个
server会记录它和其它对手对战的棋谱,这样对一些无理招的应对也会有基本章法可循
。所以我对计算机围棋能力的前景总的来说还是看好的。要分先下赢九段估计不知道有
没有可能,但是下让子赢高手应该看起来已经很现实了。

No comments:

Post a Comment