我是在 aigamedev.com 上的 2008 年第 17 周的 RoundUp 里看到这篇文章的推荐的,出于自己对中国象棋及其计算机博弈方面的兴趣,虽然对于围棋和围棋 AI 一窃不通,但还是挺仔细地阅读了这篇文章,觉得这里的内容跟自己以前了解的计算机博弈方面的知识有不同。所以把它翻译一下,为的是让自己更好地理解其中的知识。本人英语甚差,如有译错,敬请赐教。
另,本文的作者应该是中国人,真希望他以后也用中文写写他的研究所得。
====================================
Monte Carlo Method in Game AIs
蒙特卡罗算法在游戏(围棋)AI中的应用
Friday, April 25th, 2008 12:28 pm
Written by: qqqchn
作者:qqqchn
翻译:赖勇浩(恋花蝶)
原文地址:http://expertvoices.nsdl.org/cornell-cs322/2008/04/25/monte-carlo-method-in-game-ais/
As many of my classmates have posted, the Monte Carlo method isn’t actually any single method, but actually represents an entire class of methods which involve taking random samples to find a result. An interesting application my partner and I found for the Monte Carlo method was for one of the GO AIs we made for one of our other projects. (GO is an ancient Chinese Board Game that is still very popular today in East Asia, the rules and details can be found here)
像我很多同学说过的,蒙特卡罗算法不是一个算法,而是一系列关于通过随机抽样来求解的算法。我的 partner 和我发现了一个有趣的蒙特卡罗算法应用:把它用在围棋的人工智能上。(围棋是一种来自中国的古老的智力游戏,直到今天在东亚仍然非常流行,
参考这里)
One of the reasons we chose to use the Monte Carlo method was because the immense number of possible moves in GO made using the Minimax Algorithm (one of the more common methods used for finding the next ”best” move in many game AIs like chess by consecutively maximizing and minimizing the score for a player up to a certain depth, more details here) far too computationally intensive when looking at more than 2 or 3 moves ahead (looking only 4 moves ahead on a mere 9×9 board takes about 81^4 > 4 million board evaluations). An inte