卒研発表 - 近畿大学理工学部情報学科

download report

Transcript 卒研発表 - 近畿大学理工学部情報学科

近畿大学理工学部情報学科
情報論理研究室
09-1-037-0171
松浦 美里
目次
 ニップとは
 二人零和有限確定完全情報ゲーム
 並列計算
 ニップAI
 実験結果
 考察
 結論および今後の課題
 参考文献
ニップとは?
 二人零和有限確定完全
情報ゲーム
 円形のリバーシ
 リバーシよりも終盤で
の逆転が起こり易い
二人零和有限確定完全情報ゲームの
完全解析
総局面数
 ニップ・・・ 1024通り
 リバーシ・・・1028通り
 6x6リバーシ・・・1017 通り
→16対20で後手勝利
(Joel Feinstein, Amenor Wins World 6x6
Championships!,(1993))
二人零和有限確定完全情報ゲームに
対する手法
 先読みと局面の評価値
→数手先の局面を先読みし, 先読み後の局面の評価
値によりどの手を打つか決定する
→先読み手数を多くすると処理に膨大な時間がかか
る
 定石データベース・対戦データベース
→定石をデータベース化し,各局面で有効な定石があ
ればそれに従って打つ
→データベースに無い局面が出てきたとき,学習が足
りないときにはこの手法は使えない
並列計算
 指数関数的に増えて
いく局面の評価計算
を複数のプロセッサ
に配分
 並列計算の使用例
Ex)新薬の開発,気象現
象の解明…etc
3
ニップAI
 評価関数
→ 評価値マップと相手の選択肢の数
30
30
30
30
30
-10
-10
-10
-10
30
30
-10
-2
3
3
-2
-10
30
30
-10
3
0
0
3
-10
30
による評価
30 30
-10 -10 30
3 -2 -10 30
0 3 -10 30
0 3 -10 30
3 -2 -10 30
-10 -10 30
30 30
評価値マップ
相手の選択肢の数 評価値
0
1000
1
100
2
50
3
20
4以上
0
相手の選択肢の数
30
30
30
30
ニップAI
 評価関数の計算例
1
2
3
4
8
5
7
6
30
-10
-10
-10
-10
30
30
-10
-2
3
3
-2
-10
30
30
-10
3
0
0
3
-10
30
30
-10
3
0
0
3
-10
30
30
-10
-2
3
3
-2
-10
30
30
-10
-10
-10
-10
30
相手の選択肢の数
評価値
0
1
2
3
4以上
1000
100
50
20
0
30
30
30
30
候補手5の評価値
は・・・
・盤面の評価値
30-10-2+0+0+0+3+3=24
・相手の選択肢の数
白の候補手が3つなので20
・合計
実験結果
 ランダム,既存のニップAIに対しても六割以上の勝率
 ランダムには先手のほうが勝率が高い
対戦
先手勝ち
後手勝ち
引き分け
AI対ランダム
75
25
0
ランダム対AI
38
62
0
AI対既存のAI
67
33
0
既存のAI対AI
32
68
0
既存のニップAI
OpenNip(オープンニップ) プロジェクト,の「CPU(中)」
http://sourceforge.jp/projects/opennip/
実験結果
評価関数の重みを変更
相手の選択肢の数 評価値
相手の選択肢の数 評価値
0
1000
0
1000
1
100
1
500
2
50
2
100
3
20
3
50
4以上
0
4
10
5以上
0
実験結果
 ランダムに対しての勝率は先手後手ともに上がった
 既存のAIに対しての勝率は後手が一割下がった
対戦
先手勝ち
後手勝ち
引き分け
AI対ランダム
81
19
0
ランダム対AI
31
69
0
AI対既存のAI
64
36
0
既存のAI対AI
42
58
0
既存のニップAI
OpenNip(オープンニップ) プロジェクト,の「CPU(中)」
http://sourceforge.jp/projects/opennip/
考察
 AIは六割ほどの勝率
→ゲーム終盤で逆転されるのを防ぐ
•最後には逆転されてしまうの
に評価値が高くなってしまう
•評価値の計算は自分の手番
での候補手から算出する
・終盤は必勝読みに切り替える
・評価関数を変更する
・終盤は評価値の計算方法を
変更する
結論および今後の課題
 ニップの評価マップにおいて,外周を重視すればある
程度は強くなったものの,決定的に強くなったわけで
はない
 先読みをしているので六割ほどの勝率で勝ち越した
 途中まで優勢であっても最後に外周を全てひっくり
返され,逆転されることがある
→終盤は必勝読みに切り替える
→評価関数を変更する
→終盤は評価値の計算方法を変更する
結論および今後の課題
 評価関数では相手の選択肢の数はさほど重要ではな
い可能性がある
→検証が必要
 本研究において最終目標としていた並列化について
はできていない
→評価関数の改善と共に必要
参考文献
 結城浩:Java 言語で学ぶデザインパターン入門【マルチスレッド編】, ソフト







バンククリエイティブ(2006)
Seal Software:リバーシのアルゴリズム, 工学社(2007)
OpenNip(オープンニップ) プロジェクト,
http://sourceforge.jp/projects/opennip/
Janos Wagner and Istvan Virag, Solving renju, ICGA Journal, Vol.24, No.1, pp.3035 (2001), http://www.sze.hu/~gtakacs/download/wagnervirag_2001.pdf
Jonathan Schaeffer, Neil Burch, Yngvi Bjorsson, Akihiro Kishimoto, Martin
Muller, Robert Lake, Paul Lu, and Steve Suphen, Checkers is solved, Science
Vol.317, No,5844, pp.1518-1522 (2007).
http://www.sciencemag.org/content/317/5844/1518.full.pdf
Joel Feinstein, Amenor Wins World 6x6 Championships!, Forty billion noted
under the tree (July 1993), pp.6-8, British Othello Federation's newsletter, (1993),
http://www.britishothello.org.uk/fbnall.pdf
清慎一, 川嶋俊:探索プログラムによる四路盤囲碁の解, 情報処理学会研究報
告, GI 2000(98), pp.69--76 (2000), http://id.nii.ac.jp/1001/00058633/
Eric C.D. van der Welf, H.Jaap van den Herik, and Jos W.H.M.Uiterwijk, Solving
Go on Small Boards, ICGA Journal, Vol.26, No.2, pp.92-107 (2003).
参考文献
 北尾まどか, 藤田麻衣子, どうぶつしょうぎねっと, (2010),









http://dobutsushogi.net/
郎哲中田,「どうぶつしょうぎ」 析解全完の, 告報究研会学理処報情Vol.2009GI-22 No.3, pp.1-8(2009),
http://id.nii.ac.jp/1001/00062415/
樹一添美, 宏下山, 仁原松 : 碁囲ターュピンコ―践実と論理の法ロルカテンモ
―, 版出立共, (2012).
Nipp - アブストラクトゲーム博物館,
http://www.nakajim.net/index.php?Nipp
」ロセオ強最WZebra「 http://homepage3.nifty.com/akky-han/100529.html
MasterReversi Home Page
http://homepage2.nifty.com/t_ishii/mr/index.html
14th 世界コンピュータチェス選手権 http://www.grappa.univ-lille3.fr/icga/to
urnament.php?id=16&lang=3
「63年かかる分子動力学計算を2週間で」富士通の超並列サーバ
http://www.atmarkit.co.jp/news/200311/06/fujitsu.html
地球シミュレーター http://www.jamstec.go.jp/es/jp/index.html
第1回並列ゼミ 並列処理概論 - 知的システムデザイン研究室,
http://mikilab.doshisha.ac.jp/dia/seminar/2000/parallel_1.pdf