2

は、私が理解しようとしていますQ-Learningの次のようこれはチェッカーのQ-Learningの正しい実装ですか?


私の現在のアルゴリズムは動作し、

その直接の報酬に関する情報の状態をマップするルックアップテーブルが維持されている

1.利用可能な各アクションのユーティリティ

2.各状態で、ルックアップテーブルに含まれているかどうかを確認し、そうでない場合は初期化します(デフォルトのユーティリティーは0)。

の確率で実行するアクションを選択します。

(*ϵ* = 0>ϵ>1 - probability of taking a random action) 
    1-ϵ = Choosing the state-action pair with the highest utility. 
    ϵ = Choosing a random move. 
    ϵ decreases over time. 

に基づいて更新し、現在の状態の効用:

Q(st, at) += a[rt+1, + d.max(Q(st+1, a)) - Q(st,at)] 

私は現在、午前ヒューリスティックプレイヤーに対してエージェントを演奏するケーズは最高を与える移動即時の報酬

結果 - 結果は、非常に貧弱であっても数百試合後、Q学習エージェントが勝っているよりももっとたくさん失っています。さらに、勝利の変化は、特に数百に達すると、ほとんど存在しない。

何か不足していますか?同様に、期待はずれ、結果をもたらすことが

(ローテラーニング、TD(0)、TD(ラムダ)、Q-ラーニング)

しかし、彼らはすべてのように見える:私は、カップルのエージェントを実装しています。

enter image description here

+0

これを入力するとシミュレーションが実行され、結果の画像がメインポストに一時的に更新されます。 – Samalot

答えて

1

はチェッカーで1020の異なる状態のオーダーがあり、あなたはすべての更新のために全体のゲームをプレイする必要があるので、あなたは、意味のあるアクション値これを取得するまで、それは非常に、非常に長い時間となります方法。一般的に、ニューラルネットワークのような単純化された状態表現では、強化学習を使用してこの種の問題を解決したいと考えています。

また、警告のカップル:単一のゲームでの移動が非常に相関しているので、

  • 理想的には、あなたは、ゲームごとに1つの値を更新する必要があります。
  • 小規模のランダムな値にアクション値を初期化して、小さなQアップデートからの大きなポリシー変更を避ける必要があります。
+0

ありがとう!そして明確にするために、あなたはTD(0)がチェッカーにとって1000試合以上の改善を見せないと言っていますか? – Samalot

+1

@Samalot、それが100万回後に改善しなければ私は驚かないでしょう。 –

関連する問題