ボードゲームでTD学習法を使用した標準的なバックプロパゲーションニューラルネットワークを使用することが意味があるかどうかを尋ねたいですか?
私の方法は次のようになります。
- 1つのゲームをプレイします。ネットは、貪欲なポリシーとランダムな動きの両方のプレーヤーとしてプレイしていることがあります。
保存されたゲーム位置(ターミナル1から開始して開始位置に移動)ごとに、推定位置値と目的の位置値を計算します。
boards_values[i]['desired_value'] = boards_values[i]['estimated_value'] + 0.4 * ( boards_values[i+1]['estimated_value'] - boards_values[i]['estimated_value'] )
標準のバックプロパゲーションアルゴリズムを使用して、1エポックの学習率が小さいゲームエンドトレイン全体からネットのトレーニングパターンを作成します。
NN.train([pattern], iterations=1, N=0.001, M=0.000001)
私はチックタックトーゲームで上記のいくつかの組み合わせを試しました(1つの例からではなく30〜40のパターンを学習し、学習速度を増減するなど)。NNエージェントがランダムプレーヤーと対戦する場合の最良の例の1つは次のとおりです。
(最初にプレー:勝ち、引き分け、負け)、(2番目にプレー:勝ち、引き分け、負け)、(合計:勝ち、引き分け、負け)
(191、34、275)、(159、102、239)、( 350、136、514)-フレッシュネット
(427、21、52)、(312、16、172)、(739、37、224)-+50kゲーム後
入力は18ニューロンの形式です。
各ボードセルセットに対して、xは(1,0)、空のセルは(0,0)、oは(0,1)です。出力は、-1、1の範囲での1単位の勝敗確率推定です。
三目並べはサンドボックスをテストしているだけです。成功して終了したら、より複雑なカードゲーム(「失われた都市」)に移動します。