ニューラルネットワークを使い三目並べゲームを作成してみよう!!

今回はニューラルネットワークを用いて三目並べゲームを作っていきます。参考にしたのは以下のソースでーす。
GitHub

ニューラルネットワークを用いて学習させることにより先手に対して最善の手を導きだします。三目並べは確定ゲームなので
先手は下手なことをしなければ勝ちか引き分けることができます。今回は学習し最善手を見つけ引き分けに持ち込む
プログラミングです。

では作成手順を紹介します
①座標変換をし、最善手を導き出す関数の作成。3×3の升目に対し、左上から右に0~2,3~5,6~8の値がデフォルトであった場合、
90度、180度、270度に回転、もしくは水平方向、垂直方向に反転させた場合の並びを導き出しています。

②最善手のリストから局面局面における最善手を導き出す関数、ランダムに変換された局面で最善手を導き出す関数を作成

③上記関数を用いててレーニングを開始

ここまでで三目並べゲームの最善手を導き出きだせる状況ができた。実際使って遊びながら確認してみよう
④勝つか升いっぱいに打ち終わるまで繰り返すプログラミング

実際動かしてみるとおおよそこちらの手に対して最善の手を打ってきているように感じた。この内容をさらに突き詰めていくとAlphaGOの
ようなAIができるのかなと感じました。まだまだ勉強が必要ですね。