松原仁 編
美添一樹・山下宏 著
第Ⅰ部 理論編
第1章 理論編のはじめに
第2章 背景;モンテカルロ木探索以前
第3章 モンテカルロ囲碁の概要
第4章 モンテカルロ木探索の詳細
第5章 モンテカルロ木探索の強化
第6章 理論編の最後に
第Ⅱ部 実践編
第7章 モンテカルロ囲碁
第8章 原始モンテカルロ囲碁の作成
第9章 モンテカルロ木探索の概略
第10章 UCTで探索するプログラム
第11章 彩のデータ構造
第12章 モンテカルロ木探索で使われる手法
第13章 ノードの作成
第14章 彩のUCT関数
第15章 プレイアウトを行う前の処理
第16章 プレイアウトの中での処理
第17章 パターン
第18章 Minorization-Maximizationアルゴリズム
第19章 郡の評価
第20章 連の死活探索
第21章 プレイアウトでの攻め合い
第22章 並列化
第23章 時間制御
第24章 その他の情報
第25章 開発環境など
第26章 資料
第27章 モンテカルロ法を試してみて
囲碁を覚えて,コンピュータが好きならば,当然コンピュータ囲碁にも興味が向かう.一緒に打ってくれる人がいない孤独な人にはコンピュータはよい遊び相手だ.内部でどのような思考をしているか知りたくなるし,可能であれば自分で囲碁プログラムを作ってみたくなる.自分の棋力を上げるより,強いプログラムを作るほうが簡単に思えるからだ.
囲碁も将棋もコンピュータが強くなってくると,いつ人間に勝てるのかという話題になる.人間対コンピュータの試合は大々的に行われ,注目される興行となっている.しかし,人間同士の戦いより,人間対コンピュータの戦いの方が注目を集める現状を私はあまりよく思っていない.身体的な勝負であれば,人間対機械なんて議論にもならない.人間と機械の優劣を比べること自体,あまり意味のないことではないか.機械が人間に近付いたとして,だから何なのだ.そうはいっても,気になってはしまうけど.
もちろん,コンピュータにゲームをさせることは否定しない.それこそゲームとして面白いのだから.機械の性能を競うゲームだ.人間と比べるというより,このゲームに勝つには人間の思考が参考になるというのが正しい.
また,長い歴史のある碁というゲームの発展に,コンピュータからのアプローチにより得られた知見が役立つから,コンピュータ囲碁も意味があると思う.コンピュータが人間を参考にするように,人間がコンピュータを参考にし始めれば,面白い.
近年コンピュータ囲碁業界では,モンテカルロ法という新しいアルゴリズムが席巻している.モンテカルロ法は,人間の大局観のようなものをコンピュータに持たせることのできる驚くべきアルゴリズムだ.モンテカルロ木探索アルゴリズムの発見によって,コンピュータ囲碁は大きく発展した.
本書は,このモンテカルロ法を用いた囲碁プログラムについて解説している.モンテカルロ法登場以前の評価関数を用いた方法については,全く解説されていない.また,C言語を用いたプログラムの例もあるので,実装の方法も理解できる.刊行されて間もないし,最先端のコンピュータ囲碁について知りたければ本書が最良の教科書だ.
実践編は,囲碁プログラム「彩」の作者山本氏によって書かれている.モンテカルロ木探索の概要だけではなく,棋力を向上させるためにおこなわれている工夫についても記述されている.しかし,それらは現在研究中の内容で決定版ではない.本書を読んでいる間にも日々古くなっていく内容である.今,囲碁プログラムの開発を始めても,このあたりの内容にたどり着く頃には内容が古くなってしまっている可能性がある.
いずれにしても最先端に追いつくには本書から勉強をはじめれば良いと思われる.
囲碁プログラム開発について記録するブログを作りました.
GO NOTE
もう少し,広い内容の技術系ブログにしようと思う.
TECH/SCI NOTE
0 件のコメント:
コメントを投稿