三目並べゲームの Q 値を更新する方法がわかりませんでした。私はそれについてすべて読みましたが、これを行う方法を想像できませんでした. ゲーム終了時にQ値が更新されると読んだのですが、行動ごとにQ値があるのかどうかがよくわかりません。
2 に答える
Q
状態とアクションのペアごとに値があります。Q
アクションを実行するたびに、1 つの値を更新します。a1
より正確には、 state からアクションを適用すると states1
に入りs2
、何らかの報酬が得られる場合は、次のようr
に更新Q(s1, a1)
します。
Q(s1, a1) = Q(s1, a1) + learning_rate * (r + discount_factor * max Q(s2, _) - Q(s1, a1))
tic-tac-toe などの多くのゲームでは、ゲームが終了するまで報酬を獲得できません。そのため、いくつかのエピソードでアルゴリズムを実行する必要があります。これが、最終状態の有用性に関する情報が他の状態に伝播される方法です。
標準の Q ラーニング アルゴリズムの問題は、ゲームの結果は最後にしか分からないため、最後の手から最初の手まで値を伝播するのに時間がかかりすぎることです。
したがって、Q ラーニング アルゴリズムを変更する必要があります。次の論文では、可能な変更についていくつかの詳細を説明しています。
- ゲームの終了後に負でない報酬が与えられた場合 (引き分けを除く)、Q の更新はすべてのアクション ステップで実行されるのではなく (何も変化しません)、ゲームの終了後にのみ実行されます。
- Q 更新は、新しい値を最後の移動から最初の移動に逆方向に伝播することによって実行されます。
- 2 人用ゲームのターン制の性質のため、対戦相手の視点も考慮した別の更新式が組み込まれています。
概要:
この論文では、三目並べをすることを学習するために Q Learning アルゴリズムを適用する実験について報告します。元のアルゴリズムを変更して、ゲームが終了したときにのみ Q 値を更新し、更新プロセスを最後の手から最初の手まで遡って伝播し、新しい更新ルールを組み込みます。フルボードと部分ボードの表現を使用して、エージェントのパフォーマンスを評価します。この評価では、エージェントは人間のプレイヤーに対して三目並べゲームをプレイします。評価結果は、部分ボード表現を使用した修正された Q ラーニング アルゴリズムのパフォーマンスが、人間のプレーヤーのパフォーマンスに匹敵することを示しています。
三目並べを学ぶ (2009) Dwi H. Widyantoro & Yus G. Vembrina
(残念ながら、それはペイウォールの背後にあります。IEEE アーカイブにアクセスできるか、著者に researchgate でコピーを提供するよう依頼することができます: https://www.researchgate.net/publication/251899151_Learning_to_play_Tic-tac-toe )