2013-01-23 理論編〜ぱらぱらめくる『コンピュータ囲碁 モンテカルロ法の理論と実践』 モンテカルロ 囲碁 ぱらぱらめくるシリーズ 第1章 2012年時点で最強の囲碁用アルゴリズム モンテカルロ木探索についての本 ゲーム木を作る木探索部分と乱数を使って終局図を作るプレイアウト部分の2つからなる UCTアルゴリズムというモンテカルロ木探索アルゴリズム 第2章 ゲーム木:場合分けの分岐木 二人ゼロサム完全確定情報ゲームとminimax探索 ゼロサムゲーム→こちら minimax:プレーヤーは片方の人の最大化の目的に対して片や最小化をめざし、片や最大化を目指している(最善手の応酬) ※ 「地を最大化」しないけれど「勝率を最大化」する、という作戦もあるかも… 曲面の評価関数 ゲームでは適当な深さまでの分岐木を作った上で、評価関数を導入してスコア化して手を選ばせていた 探索不要な分岐を除去するα‐β探索 囲碁の難しさ 探索空間の広さが突出しているわけではない 評価関数の作成が難しい すべての石が同じ(将棋の駒のような個性がない) とった領域の広さを序盤・中盤に求めることが難しい 局所的な最善手が全局的な最善手になりにくい 石の存在の重要度が変遷する 序盤の定石とその状況による例外化 中盤の局所的な読み、形・スジと言ったパターン認識、「感覚的評価」 第3章 囲碁の利点 終局における勝敗算出は簡単 手の場合の数は終盤に向かってどんどん少なくなる いいかげんに打っても結構ゲームとして成立する プレイアウト:終局まで打ち切ること 選ぶべき手の下流の勝率がモンテカルロなプレイアウトで高い手を選択する、という原始的なモンテカルロ法が始まり 少し改良して、「有望な手」の「モンテカルロ試し」を増やしてよりよい手を選ぶようにしむける 第4章 UCTアルゴリズム Multi-Armed Bandit 問題 複数のスロットマシーンについて少しずつ試しながら、その結果を解釈して得しそうなマシーンを多く使うようにして、もうけを増やそうとする戦略とか… UCB1 第5章 工夫 既知情報で枝刈り プレイアウトの手を改良する トラップやだまし構造への対処も必要 シチョウ、ナカデ、攻め合いと言った、名前のついたような「対策」は特別に教え込んだ方がよいらしい 逆に言うと、名前の付いた対策は、「人間も普通にやっていると失敗するから、コツとして覚えておくように」という「パターンに関する格言」のようなものということか 分岐木の合流(合流と言えばZDDがこのブログではブームなのだがこちら) コンピュータらしき、『秘策』〜並列化 評価関数vs.モンテカルロ モンテカルロの利点の一つは、時間をかけてもかけなくても「判断に使える」こと〜実生活・臨床判断に向いている、か…