-2

標準の7 * 6ボードを考えてみましょう。 Q-Learningアルゴリズムを適用したいとします。それを適用するには、すべての可能な状態とアクションのセットが必要です。 3 ^(7 * 6)= 150094635296999121が存在する可能性があります。これらを保存することは現実的ではないので、私は法的状態のみを検討しています。どのように4つのすべての合法的な州 - アクションのペアを生成するには?

すべての法的状態と行動に対してQ(s、a)を生成するにはどうすればよいですか?

これは私の宿題ではありません。私は補強アルゴリズムについて学びたいと思っています。私は2日以来これについて調べてきました。私が近づいたのは法的な州だけです。

答えて

0

設定する必要があるプロセスは3つあります。次の移動を生成するもの、移動の先を変更するもの、最後に4x4のブロックを一連のチェックによって評価して、これが勝者であるかどうかを確認します。ナンシーとscipyはこれを助けるでしょう。

0のナンシーアレイを設定します。プレイヤー1の移動の場合は1に、プレイヤー2の移動の場合は-1に変更します.4x4チェックでは、x軸とy軸の合計と、abs(sum(axis))= = 4は終わりより早くボードを出す。

これは実装によっては重複を作成する可能性がありますので、これらをすべて最後のセットに入れてください。

**コメントと質問の変更により編集します。

ジェネレータを使用して深さ優先検索を行う必要があります。どのような状態でも最大42の動きが可能な7つの分岐が可能です。あなたは、勝つ状態または紛失した状態をストアするだけを探しています(スティメートを保存しないでください)。州は各プレイヤーに1つずつ2つの場所のセットになります。 前に進み、勝敗を見つけると、その状態で値を保存し、前の移動に戻ってその値を更新します。

4つの接続には144通りの方法がありますが、それぞれの状態の数はわかりません。だから私はあなたが勝つことから何歩歩いて離れたいのか分からない。

+0

1.Done - 次の移動はnextMove()によって生成されます。 2.完了 - applyMove(nextMove())によって新しい状態が返されます 3.完了 - 垂直、水平、斜め方向に評価する機能があります。 しかし私の質問はこれではありません。 Q-ラーニングアルゴリズムの第一歩であるすべての(法的な)状態 - アクションペアが必要です。私は質問をより明確にするために質問を編集しました。 –

関連する問題