Q-LearningでMinMaxツリーを使用するには?Q-LearningでMinMaxツリーを使用するには?
私はQ-Learningを実装したいと思っています.4人のエージェントを接続して、MinMaxツリーを追加すると役立ちます。
Q-LearningでMinMaxツリーを使用するには?Q-LearningでMinMaxツリーを使用するには?
私はQ-Learningを実装したいと思っています.4人のエージェントを接続して、MinMaxツリーを追加すると役立ちます。
QラーニングはTemporal difference learningアルゴリズムです。すべての可能な状態(ボード)について、使用可能なアクション(移動)の値を学習します。ただし、Minimaxとの使用には適していません。Minimaxアルゴリズムでは、その位置のアクションの値ではなく、位置の値を返す評価関数が必要なためです。
ただし、このような評価関数を学習するために時間差法を使用することができます。特に、Gerald TesauroはTD(λ)( "TD lambda")アルゴリズムを使用して、人間が競争できるバックギャモンの再生プログラムであるTD-Gammonを作成しました。彼はhereというアプローチを説明する記事を書いた。
TD(λ)は、後でTDLeaf(λ)に拡張されました。具体的には、Minimax検索をよりよく扱うためです。 TDLeaf(λ)は、例えば、チェスプログラムKnightCapで使用されている。 TDLeafについてはthis paperで読むことができます。
Minimaxを使用すると、将来の動きを見て、そのタイムスパンで得点を得る機会を最大限に活用できます。これは、ゲームがいつでもほとんど終了できるConnect-4に適しており、各ターンで利用可能な移動数はあまり大きくありません。 Q-Learningは、Minimaxの検索をガイドする価値関数を提供します。