機械学習の理論を理解せずに tensorflow で オセロ AI を作ってみた 〜いざ対戦編〜
シリーズ目次
前回の続き...
この分野では門外漢の私が、「機械学習の理論」をまったく勉強せずに
オセロのAI を作ってみようと思います。
準備
対戦相手は、友人の作ったこちら
・ PHP Reversi
用意したAIを起動
$ python FightWithAI.py
------------- GAME START ---------------
*** userターン○ ***
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 ○ ● 29 30 31
32 33 34 ● ○ 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
番号を入力してください
[44, 37, 26, 19]
>>>
AIの指示を私が入力します。
いざ対戦
先手(対戦相手)19番
先手(対戦相手)19番
後手(AI)18番
*** AIターン● ***
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 ● 20 21 22 23
24 25 26 ● ● 29 30 31
32 33 34 ● ○ 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
番号を入力してください
[44, 37, 26, 19]
>>> 18
先手(対戦相手)26番
後手(AI)34番
先手(対戦相手)42番
後手(AI)44番
先手(対戦相手)43番
後手(AI)12番
先手(対戦相手)29番
後手(AI)37番
先手(対戦相手)21番
後手(AI)22番
先手(対戦相手)23番
後手(AI)15番
先手(対戦相手)7番
後手(AI)41番
先手(対戦相手)3番
後手(AI)14番
先手(対戦相手)5番
後手(AI)6番
先手(対戦相手)20番
後手(AI)4番
先手(対戦相手)45番
後手(AI)46番
先手(対戦相手)11番
後手(AI)2番
先手(対戦相手)1番
後手(AI)13番
先手(対戦相手)17番
後手(AI)31番
先手(対戦相手)39番
後手(AI)16番
先手(対戦相手)25番
後手(AI)24番
先手(対戦相手)32番
後手(AI)33番
先手(対戦相手)8番
後手(AI)9番
先手(対戦相手)0番
後手(AI)10番
先手(対戦相手)40番
後手(AI)パス
先手(対戦相手)47番
後手(AI)49番
先手(対戦相手)56番
後手(AI)53番
先手(対戦相手)48番
後手(AI)57番
先手(対戦相手)58番
後手(AI)55番
先手(対戦相手)63番
後手(AI)52番
先手(対戦相手)62番
後手(AI)61番
先手(対戦相手)54番
後手(AI)38番
先手(対戦相手)59番
後手(AI)30番
先手(対戦相手)60番
後手(AI)51番
先手(対戦相手)50番
結果
えー完敗です orz
というか、四つ角全て取らせる 最弱の AI を 1ヶ月かけて作ってしまいました
訓練終盤でも Q_MAX が 0.023 とか小さすぎ だったから変だなぁ~と思ってたんだけどね
普通 訓練終盤 なら ログが こんな感じで Q_MAX が 1に近いはずだよね
player:1 | pos:32 | LOSS: 0.0014 | Q_MAX: 0.9423
player:2 | pos:15 | LOSS: 0.0020 | Q_MAX: 0.9335
…
接待 AI ができています
リベンジ
次回 tensorflow から chainer に変えて リベンジです。
どうやら tensorflow では使えない optimizers.RMSpropGraves が効いているのか
今のところうまく学習できています。(執筆時点では、まだ強くないですが)
どなたか詳しい方、ご教示をお願いいたします。
m(_ _)m
Author And Source
この問題について(機械学習の理論を理解せずに tensorflow で オセロ AI を作ってみた 〜いざ対戦編〜), 我々は、より多くの情報をここで見つけました https://qiita.com/sasaco/items/f9aa608860eebb3026c1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .