スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 35年前の何倍だろう? | トップページ | 今までの経緯を書いてみた »

モンテカルロ法のAIは弱い

今は、新しいリバーシプログラムの開発フェーズで、試しに色々と弱いAIを作ってみたのだが、その中には、一時期、囲碁用AIとして脚光を浴びていたモンテカルロ法を使ったものもある。このAIはランダムに打つAIよりは強いのだが、2手読みのMasterReversiにも勝てない。

モンテカルロ法を使ったAIというのは、基本的には、各局面で着手可能位置を検出し、その中のどれを打つかは乱数で決定する。そして、そんな処理を終局まで行って、対局結果を得るのだが、更に、そういった一連の処理を何万回も行い、その結果の平均値を計算する。

で、その平均値の中で最も高い値を出した着手を、次の着手として選択する、というものなので、AI的には、リバーシのルールに従った着手可能位置の検出が行えれば、どんな手が望ましいか、なんて予備知識がなくても、次の着手を選択できるという点で、優れていると言えば優れている。

つまり、どんな手を打ったらよいのか全く分からない、という状況でも、それらしい手を打たせる事が出来るので、便利な手法になる。そして、その強さを確認する為に、単なる乱数で着手するAIと対局させてみると、大体は、モンテカルロ法を使ったAIが勝った。

と、いう事で、モンテカルロ法を使ったAIというのは、単にランダムに着手するAIよりは強くなる事は確認できたのだが、更に、MasterReversiのコンピュータを1手読みに変更して対局させてみると、これにも10回対局させれば数回は勝てたものの、2手読みのコンピュータには全く勝てなかった。

つまり、モンテカルロ法のAIは弱かったのだが、モンテカルロ法を使う場合、その対局数をどれくらいにするのか、というのも強さのパラメータにはなるかもしれない。

で、作者的には、MasterReversiのエンジン対局機能が使えるので、少々AIの思考時間がかかっても放っておけるので、上記の対局では、モンテカルロ法を使ったAIに、各局面で100万対局させる格好にしていた。

そして、その対局内容はデータベースに保存させていたのだが、その内容を見てみると、対局時間は10分強といった感じになっていた。

と、いう事で、今の所、着手処理なんかの最適化は行っていないので、最適化したコードを使えば、各局面で1000万対局させたとしても、それほど待たされる事はないかもしれないのだが、そもそも、各局面で乱数を使って着手を行って対局結果を得る、という本質的な所で、モンテカルロ法は、リバーシ用のAIとしては、使えないかもしれない訳だ。

何故なら、リバーシの場合、例えば、普通は、角を取ると有利になる、というのは良く知られた特徴になるのだが、モンテカルロ法の場合、角が取れる局面でも、取らない着手も存在する訳だ。

つまり、モンテカルロ法の場合、角を取れる有利な局面でも、角を取らない着手を選択した場合の対局結果も結果に平等に反映される訳なので、角を取らない着手を選択した場合の対局結果が芳しくなければ、その局面は良くない局面、と、判定される可能性も高くなる訳だ。

更に言えば、リバーシの場合、局面の状況が一手で大幅に変わってしまうので、その局面で角が取れたからといって、次の手番でも取れる保証はなく、一旦、優勢な局面になったからといっても、少なくともランダムに打っていては、次の局面も有利になるとは限らない訳だ。

と、いう事で、モンテカルロ法によるAIというのは、リバーシ用としては、役不足な感じなのだが、その対局結果を分析すれば、何となく、角を取った場合に勝てる可能性が高いかも? みたいな傾向は掴める様になるかもしれない。

なので、より強いAIの学習用の対局相手に使ってみるのはアリかもしれないのだが、強いAIは角を取れば優勢になる状況でそれを見過ごす事はマズない事を鑑みれば、そんな状況を気にしないAIとの対局で、より強いAIを育てられるかどうかは疑問かもしれない。

« 35年前の何倍だろう? | トップページ | 今までの経緯を書いてみた »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/66359883

この記事へのトラックバック一覧です: モンテカルロ法のAIは弱い:

« 35年前の何倍だろう? | トップページ | 今までの経緯を書いてみた »

2018年11月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google