プランB - モンテカルロ法

モンテカルロ法
http://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%AB%E3%83%...

『モンテカルロ法 (モンテカルロほう、Monte Carlo method, MC) とはシミュレーションや数値計算を乱数を用いて行なう手法の総称。元々は、中性子が物質中を動き回る様子を探るためにジョン・フォン・ノイマンにより考案された手法。カジノの賭博国家モナコ公国の4つの地区(カルティ)の一つであるモンテ・カルロから名づけられた。ランダム法とも呼ばれる。台湾中国など漢字圏では賭博手法と呼ばれる。』

極言すれば、将棋のAI検索はいかに「組合せ爆発」を抑えるかにかかっています。

組合せ爆発
http://ja.wikipedia.org/wiki/%E7%B5%84%E5%90%88%E3%81%9B%E7%88%86%E7%99%...

『組合せ爆発(くみあわせばくはつ、英: Combinatorial explosion)は、数学において、組合せ的効果によって関数の値が急激に増大することを意味する。』

...その為に様々なテクが使用されます。

⇒ アルファ・ベータ (後ろ向き枝刈り)
⇒ トランスポジションテーブル (評価値を覚えておき再出現の局面は検索しなくてよい)
⇒ Null Move ヒューリスティクス (「一回休み」で検索・評価)
⇒ 前向き向き枝刈り
⇒ 並列検索

...で、無明が今回採用するのが「モンテカルロ法を使用した評価値の補正」となります。

なぜこんなみょうちくりんな物を引っ張ってくるかと言うと、

① (少なくとも今年は)誰も使用していないようですし...ネタ扱いですね

② 学習は要らない

③ プログラム部分は単純明快

④ モンテカルロ法は我が大学生当時(専攻は離散数学)多用していた手法なので

検索の実際はこんな感じになります。

① アルファ・ベータ使用で一定深度まで検索...その時点での評価値を計算。

② そこから◎手ランダムに手を進め、その時点での評価値を計算...これを数万~数十万回繰り返し、その平均を求める。

③ 最終評価値は ① + α x (②-①) とする。

基本の考え方は以下の通りです...

ある程度の深度まで読み評価値を計算したとします。この評価値が安定した信頼できる数値ならば、この局面から数手双方がランダムに駒を動かしても大して評価値は変動しないハズです。もしこの手が評価値以上の悪手・好手なら評価値にブレが出ます。この手法の肝は一定深度まで検索した評価値にさらにその未来の予測を加味して精度を上げよう...といった企みです。

投稿者: 紫外線 投稿日時: 日, 03/14/2010 - 19:01 categories [ ]

返信

このフィールドの内容は非公開にされ、公表されることはありません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 使用できるHTMLタグ: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <hr>
  • 行と段落は自動的に折り返されます。

書式オプションに関するさらに詳しい情報...