将棋ソフトウェアにおける棋譜
データの利用と機械学習
佐藤 佳州
筑波大学システム情報工学研究科
パナソニック株式会社先端技術研究所
2013/12/16-18 NINSコロキウム 分科会1
目次
コンピュータ将棋の現状とこれまでの歴史
ゲームの基本的なアルゴリズム
将棋における棋譜を利用した知識獲得
今後の研究動向
まとめ
2013/12/16-18 NINSコロキウム 分科会2
目次
コンピュータ将棋の現状とこれまでの歴史
ゲームの基本的なアルゴリズム
将棋における棋譜を利用した知識獲得
今後の研究動向
まとめ
2013/12/16-18 NINSコロキウム 分科会3
コンピュータ将棋とは
•
人間の指示なしに,コンピュータ自身が考え,指し手
を返すプログラム
•
様々な将棋ソフトが存在
•
Bonanza,GPS将棋,激指,YSS(AI将棋),Ponanza,…
•
年に1回,世界一のプログラムを決定するための,
世界コンピュータ将棋選手権
が開催されている
•
今年はBonanzaが優勝
•
ハードウェア制限なし
(GPS将棋:東大の教育用計算機で参加:3000コア以上)
•
学問的には,人工知能の一分野
2013/12/16-18 NINSコロキウム 分科会4
電王戦
•
コンピュータ将棋が一躍注目を集めたイベント
•
第一回(2012年)
•
米長永世棋聖にコンピュータが勝利
⇒
かつての名人を破る
•
第二回(2013年)
•
現役プロとの対局において,コンピュータが
3勝1敗1分
⇒
初めて現役のプロに勝利
たった10人しかいない
A
級棋士に勝利
2013/12/16-18 NINSコロキウム 分科会5
コンピュータ将棋の歴史
2000年代後半から急速に強くなる ⇒
機械学習の成功
+
並列探索の導入
実現確率探索
詰将棋
アルゴリズム
アマチュア高段者
ルール通りに指す アマチュア低級者
プロ中級
並列探索
クラスタ探索
評価関数の機械学習
(チェス)Deep Blueが 人間のチャンピョンを破る初めての
プログラム
枝狩り手法の充実
2010
2000
1990
1980
強さ
技術
動向
手作業による評価関数
選択探索
合議
(現在)
2013/12/16-18 NINSコロキウム 分科会6
目次
コンピュータ将棋の現状とこれまでの歴史
ゲームの基本的なアルゴリズム
将棋における棋譜を利用した知識獲得
今後の研究動向
まとめ
2013/12/16-18 NINSコロキウム 分科会7
ゲームの基本的なアルゴリズム
•
人間は,
「読み」
と「大局観」
で指し手を決定
•
コンピュータの場合,それぞれ
「探索」
と「評価関数」
で実現
ゲームの基本的なアルゴリズム
•
人間は,
「読み」
と「大局観」
で指し手を決定
•
コンピュータの場合,それぞれ
「探索」
と「評価関数」
で実現
▲7六歩
▲2六歩
考えられる手を
すべて展開していく
(図では省略)
探索深さ = 1
2013/12/16-18 NINSコロキウム 分科会9
ゲームの基本的なアルゴリズム
•
人間は,
「読み」
と「大局観」
で指し手を決定
•
コンピュータの場合,それぞれ
「探索」
と「評価関数」
で実現
▲7六歩
▲2六歩
考えられる手を
すべて展開していく
(図では省略)
△3四歩
△2六歩
△3四歩
△5二玉
探索深さ = 2
2013/12/16-18 NINSコロキウム 分科会10
ゲームの基本的なアルゴリズム
•
人間は,
「読み」
と「大局観」
で指し手を決定
•
コンピュータの場合,それぞれ
「探索」
と「評価関数」
で実現
▲7六歩
▲2六歩
考えられる手を
すべて展開していく
(図では省略)
△3四歩
△2六歩
△3四歩
△5二玉
▲2六歩
▲1八香
▲7七角
▲9八香
▲76歩
▲5八玉
探索深さ = 3
2013/12/16-18 NINSコロキウム 分科会11
ゲームの基本的なアルゴリズム
•
人間は,
「読み」
と「大局観」
で指し手を決定
•
コンピュータの場合,それぞれ
「探索」
と「評価関数」
で実現
▲7六歩
▲2六歩
終局までは探索できないため,ある程度の深さで探索を打ち切る
△3四歩
△2六歩
△3四歩
△5二玉
▲2六歩
▲1八香
▲7七角
▲9八香
▲76歩
▲5八玉
探索深さ = 3
2013/12/16-18 NINSコロキウム 分科会12
ゲームの基本的なアルゴリズム
•
人間は,
「読み」
と「大局観」
で指し手を決定
•
コンピュータの場合,それぞれ
「探索」
と「評価関数」
で実現
▲7六歩
▲2六歩
△3四歩
△2六歩
△3四歩
△5二玉
▲2六歩
▲1八香
▲7七角
▲9八香
▲76歩
▲5八玉
探索深さ = 3
末端局面の優劣を
評価関数
で数値化
+10
-2
+3
-8
+15
+5
2013/12/16-18 NINSコロキウム 分科会13
ゲームの基本的なアルゴリズム
•
人間は,
「読み」
と「大局観」
で指し手を決定
•
コンピュータの場合,それぞれ
「探索」
と「評価関数」
で実現
【最善手▲7六歩】
▲2六歩
△3四歩
△2六歩
△3四歩
△5二玉
▲2六歩
▲1八香
▲7七角
▲9八香
▲76歩
▲5八玉
+10
-2
+3
-8
+15
+5
+10
+3
-8
+15
-8
+3
+3
自分の手番 では,評価値が最大になるノードを,
相手の手番 では,評価値が最小となる(相手に取って最大になる)
ノードを,選択する
2013/12/16-18 NINSコロキウム 分科会14
ゲーム木探索の難しさ(研究内容)
•
探索: よさそうな手を深く探索したい
(無駄な手は探索したくない)
•
評価関数: 局面の優劣を正確に
数値化することは困難
2013/12/16-18 NINSコロキウム 分科会15
棋譜を利用した機械学習
(今回は評価関数に焦点)
評価関数とは(1)
•
局面の優劣を数値化する関数
評価関数
-45 (互角)
評価値
2013/12/16-18 NINSコロキウム 分科会16
評価関数とは(2)
•
評価関数の例
• 従来は数千以上のパラメータ
を手作業で調整
• 人間の知識を正確に数値に
落としこむのは困難
機械学習が成功
[保木 2006]
将棋プログラムの飛躍的な
性能向上に繋がる
2013/12/16-18 NINSコロキウム 分科会17
目次
コンピュータ将棋の現状とこれまでの歴史
ゲームの基本的なアルゴリズム
将棋における棋譜を利用した機械学習
今後の研究動向
まとめ
2013/12/16-18 NINSコロキウム 分科会18
棋譜を用いた評価関数の学習
•
機械学習(教師あり学習)とは :
教師データ(棋譜)を用いて,パラメータを自動調整する
2013/12/16-18 NINSコロキウム 分科会19
エキスパートの棋譜
各パラメータを
自動で決定
【将棋における評価関数の学習】
棋譜と同じ手を選択できるようにパラメータを学習する
(人間の真似を目指す)
※ 以降,具体的な学習手法の概要を説明
Comparison Training [Tesauro 2001]
•
評価関数学習の最も一般的な学習手法
•
棋譜中の
エキスパートの指し手とその他の合法手を比較
2013/12/16-18 NINSコロキウム 分科会20
教師局面
棋譜中の指し手
その他の
合法手
αβ探索
末端局面
(評価局面)
エキスパートの指し手の評価が,その
他の合法手の評価を十分に上回るよう
に評価関数を学習
Comparison Training [Tesauro 2001]
2013/12/16-18 NINSコロキウム 分科会