Duchess http://www.cse.unsw.edu.au/~blair/duchess/rules.htmlと呼ばれるゲームのアルゴリズム/メソッドを探していました。
アルファ ベータのプルーニングを検討していますが、2 人以上のゲームに適用できるかどうかはわかりません。
Duchess http://www.cse.unsw.edu.au/~blair/duchess/rules.htmlと呼ばれるゲームのアルゴリズム/メソッドを探していました。
アルファ ベータのプルーニングを検討していますが、2 人以上のゲームに適用できるかどうかはわかりません。
チーム対チーム バージョンは、ゼロサム 2 プレーヤー ゲームであるため、アルファ ベータ プルーニングおよび同様のゲーム ツリー検索手法を使用してプレイできます。チームをプレイヤーと考えればいいだけです。
ツリー プレーヤーを含むバージョンは、2 プレーヤーのゼロサム ゲームではないため、ゲーム ツリーの検索方法のような標準的なアルファ ベータ版には適していません。
問題は、2 人用のゲームでは、「評価関数」を使用して、特定のボード構成がプレイヤー 1 にとってどれだけ優れているかを評価できることです。たとえば、これを、プレイヤー 1 が特定の構成から勝つ「確率」として解釈しようとすると、次のようになります。 "ファインプレー。プレイヤー 1 の勝率が P である場合、プレイヤー 2 の勝率は 1 - P であり、当然、ボード構成の評価を表すには P で十分です。アルファ ベータ プルーニングは、アルゴリズムの中核でこの評価値を使用します。
プレイヤーが 3 人の場合、これはもはや明確に定義されていません。これは、プレイヤー 1 が「良い」プレイを想定して特定の構成から勝つ確率は、プレイヤー 2 とプレイヤー 3 がプレイヤー 1 に対して共謀するかどうかに依存するためです。また、プレイヤー 1 が勝てなくても、プレイヤー 1 がプレイヤー 2 とプレイヤー 3 のどちらが勝つかを決定できる、「キング メイキング」と呼ばれるシナリオがあります。
3 人のプレーヤーの場合、基本的には、ボード構成が P1、P2、および P3 の 3 つの値に評価されるスキームに頼る必要があります。それぞれは、その構成に到達する特定のプレーヤーの相対的な好みを表します。その後、すべてのプレーヤーが検索フロンティアでプレーヤーの選好値を最大化しようとするゲーム 3 検索を行うことができます。しかし、たとえば、プレーヤー X がチェックメイトされて負けるか、勝者でなくて負ける方が望ましいかという質問に答えられる必要があります。
ミニマックスアルゴリズムは、対戦相手のターンごとに最大((プレイヤー数)-1)回、自分のターンに最小1回で適用できると思います。したがって、1 ラウンドのツリーでは、プレイヤーの数に等しいツリーの深さになります。この場合、累積最大値 (すべての対戦相手の最大合計) を考慮する必要があります。アルゴリズムの動作は、スコアリングの方法に大きく依存します。