囲碁におけるモンテカルロ法

スポンサードリンク

学習によるシミュレーションの改良

通常のモンテカルロ法というのは
乱数を用いるものでした。

 

乱数を乱数ではなく
「擬似乱数」にしてやることでシミュレーションの精度が向上し、
結果が良くなります。

乱数シミュレーション

乱数というのは
完全に乱数です。

 

考えたらわかりますが
本当に弱いです(笑)

 

囲碁のルールを全く分かっていない人を
何級と呼ぶのか分かりませんが、仮に50級とすると・・・

 

乱数というのは50級よりも弱いくらいかもしれません。

 

仮に50級としても
50級の人が何万人集まったところで初段の人には絶対勝てないでしょう。

学習によって改良されたシミュレーション

ここに学習というものを行います。

 

色々方法はあります。

 

私はBradley-Terryモデル/ELOレーティングというものを使って
学習させたプログラムを作ったりしていました。

 

例えば、学習というのは何を学ばせるか決めなければいけません。

 

良く使われているのは・・・

みなさんが囲碁を打つ場合にも意識しているであろう「パターン」
囲碁というのは石が競り合う場合が多いので「前の手からの距離」
「ポン抜き30目」に代表されるような石を取る価値

 

こういったモノを
プロや高段者の棋譜などを使って学習させてやります。

 

その結果
乱数では無くて、擬似乱数といった具合でシミュレーションを行うことができるようになります。

 

乱数が50級の初心者だったとすれば
学習後のシミュレーションは10〜20級の「ちょい初心者」
くらいになると思ってください。

 

ちょい初心者が
何千…何万…何億…何兆…これだけ集まった結果…

 

有段者クラスの囲碁プログラムの誕生!

 

【続き】並列化

スポンサードリンク

学習によるシミュレーションの改良関連ページ

モンテカルロ法
天頂の囲碁、銀星囲碁、最強の囲碁の3つの囲碁ソフトが使っているモンテカルロ法について解説します。
思考ゲームへの応用
コンピュータ囲碁へのモンテカルロ法の応用方法を紹介します。
強くなった理由
モンテカルロ法を使用して、コンピュータ囲碁が強くなった真の理由を歴史と共にお話します。
多腕バンディットとUCB
スロットマシンの報酬を最大にするアルゴリズムとして知られる多腕バンディット問題とUCBアルゴリズムの関係を紹介。
UCT探索
コンピュータ囲碁におけるUCT探索について簡単に紹介します。
並列化
コンピュータ囲碁の並列化に関する簡単なお話です。
定石データベース・詰碁探索
コンピュータ囲碁に使われている定石データベースや詰碁探索についてお話します。

logo logo logo