モンテカルロ法と囲碁・将棋ソフトの人智超え

Download Report

Transcript モンテカルロ法と囲碁・将棋ソフトの人智超え

モンテカルロ法と囲碁・将棋ソフトの人知超え
~ 最強プログラムはサイコロを振るだけなのか ~
山下 宏
2009年10月7日
経団連会館
JISAコンベンション2009
スライド紹介
私について
将棋や囲碁ソフトの開発
現在のソフトの実力
将棋ソフト「Bonanza」の衝撃
コンピュータ囲碁
囲碁のルール
モンテカルロ法
将棋や囲碁ソフトを開発
AI将棋
1993年発売
現在Version 16まで
コンピュータ将棋選手権で優勝3回
囲碁世界Ⅴ(開発版は「彩」)
2009年発売
モンテカルロ法を採用
現在のゲームソフトの強さ
ル
ー
ル
ど
お
り
打
て
る
人
間
の
チ
ャ
ン
ピ
オ
ン
ア
マ
チ
ュ
ア
有
段
者
囲碁
必
勝
法
解
明
!
オセロ
チェス
将棋
チェッカー
将棋
相手の王様を取った
方が勝ち
将棋ソフト「Bonanza」の衝撃
局面の数値化は人間が手作業で行ってきた
人間の感覚を数値に変換するあいまいな作業
Bonanzaが2006年に登場
プロの棋譜1万局から学習させる
プロの真似が上手に
局面の数値化が正確になった!
渡辺竜王と対戦するBonanza
2007年3月に対
戦
1手につき10億局
面を探索
Bonanzaは負けた
が好勝負だった
渡辺竜王の感想
「プロの足元まで
来ている」
将棋ソフトの強さの推移
人間の名人は3100点ぐらい?2012年ごろに到達か?
名人?
アマ六段
アマ初段
囲碁
陣取りゲーム
陣地の多い方が勝ち
黒地96目
白地80目
コミ5目半
黒10目半
勝ち
囲碁のルール
盤面に黒白交互に石を置いていく
19×19の盤が一般的
13×13(13路盤)、9×9(9路盤)もある
四方を囲めば相手の石を取れる
黒が▲に打てば、囲まれた白の石を取れる
囲碁のルール 2
四方を囲まれた場所に石は置けない
ただし、そこに置くことによって相手の石を取れ
るなら構わない
Aには白石は置けないがBには置ける
囲碁のルール 3
石が置けない場所が2つ以上あれば、この
石は取られることがないので「生き」ている
この黒石を取ることはできないので「生き」
囲碁のルール 4
先手の黒が有利なので、ハンデを負わせる
これを「コミ」と呼ぶ
6.5目あるいは7.5目が一般的
コンピュータ囲碁の歴史
1969年 最初のプログラムが登場
1995年 8級になる
2001年 3級になる
2007年 3級のまま停滞
2008年 2段に(モンテカルロ囲碁の登場)
2009年 3段に
従来の囲碁ソフト
人間の思考を真似したプログラミング
陣地の認識
石の連絡の認識
生きている石の認識
局面の数値化が難しく囲碁は停滞していた
将棋やチェスは駒の損得が重要
囲碁にはそれがなく、すべてがあいまい
モンテカルロ法の登場で囲碁ソフトは大きく変わった!
モンテカルロ法とは?
乱数を使って数値計算を(適当に)行う手法
由来はギャンブルで有名なモナコの地名から
円周率(π)の計算など
モンテカルロ法の衝撃
1996年
2007年
2007年
2008年
囲碁プログラム「彩」を作りはじめる
GnuGoが6級、彩は8級
10月にモンテカルロ法に移行
2月、モンテカルロ法の彩が3級に
12年かけてGnuGoにすら届かなかったのが4ヶ
月でGnuGoを遥かに追い越した!
従来の人間の思考の真似をしていたプログラ
マには大ショック
モンテカルロ法を使った囲碁の仕組み
1.乱数で黒石、白石を交互に置く
2.打つ場所がなくなったら終了
3.点数を計算する
4.1. - 3. を何度も繰り返す
(実際のサンプルを表示)
シミュレーションの精度を上げる
囲碁知識を利用
アタリを逃げる、石を取る。
3x3の範囲のパターンを学習
人間の棋譜から統計を取る
着手確率を求める
高確率
低確率
アタリ
黒石の着手確率
数値が大きいほど着手確率が高い
精度を上げたサンプル
サンプルを再生
単純乱数(上)と囲碁っぽい乱数
囲碁っぽい乱数を使ったほうが格段に強い
単純乱数(上)は途中
図がひどい。最後はど
ちらも同じ感じ
将棋よりも囲碁も方が先に?!
モンテカルロ法が本格的になって1年で9路
でプロに近いレベルに
2年でプロに19路で8子で勝利
8コアで。コア数が4倍になれば1子減る?
将棋は2012年に名人に勝つ?予想
このペースで進むなら将棋よりも先に囲碁の
方が名人に勝ってしまうかも
ご静聴ありがとうございました
モンテカルロ法の囲碁の特徴
ぎりぎり半目で勝とうとする
勝っているときは安全に
負けているときは勝負手を放つ
常に大局的に局面を見ている
部分の損得にこだわらないグローバルな視点
人間は小さな得に目を奪われがち