AI Q学習#6

学習します!

いよいよQ学習を行っていく。100万回試合させるため、クラスMainに次のコードを記述した。

5行目で対戦相手を決めている。ランダムに打つコンピュータが先攻、学習を行うAIが後攻だ。これでゲーム関数play()を100万回呼び出せばいいのだが、AIプレイヤーがランダムに打つ確率(学習範囲を狭めないため)を最初は高くし、学習が進むにつれ低くしている。それが8行目だ。

学習率、割引率等は次の値を設定している。

結果

100万回試合でAIの勝率は85%ほどだった。低いような気がする・・・。グラフにしてみた。

試合を行う毎に少しずつ勝率が上がっている。学習効果が出ているとみてよさそうだ。

ここまでのソースコードを掲載する。

忘れていた!「目的」

これで完了したと喜んでいたが、すっかり目的を忘れていた。

Androidアプリで三目並べを作ったが三目並べでは思考ルーチン(ミニマックス法)に問題はなかった。しかしウリである四目、五目並べでは思考ルーチンが遅く激弱だったのだ。そこでAI使うことを思いついた。

ここから四目、五目並べにして学習させていけばいいのだが・・・まだまだ道のりは遠そうである。


前へ<ーーー>とりあえず完

タイトルとURLをコピーしました