1

ミニマックス/ネガマックス アルゴリズムの使用を試み始めたばかりで、自分にとっては良さそうなアイデアを思いつきましたが、誰も使用していないため、ロジックに欠陥がある可能性があります。

なぜ私たちはこれをしないのですか:

depth=x で 3 を作成し、どの手を打つかを考えて、対戦相手を待ちます。彼がムーブを行った後、すでに評価したムーブのサブツリーを取得し、古いノードを使用しながらさらに深く構築し続けることができます。ノードのすでに評価された値を使用し、新しいより深いノードからの新しい値でそれらを重み付けできます。

新しい値は通常の方法ほど正確ではないかもしれませんが、より深く取得して利益を得ることができます。

文章が下手で構造化されていない質問で申し訳ありませんが、私の考えを理解していただければ幸いです。

4

2 に答える 2

1

ここで見逃しているのは、ミニマックスの仕組みと思います。Minimax は、指定された深さ D までのすべての可能性を列挙し、D のノード (ゲームの状態) にスコアを割り当て、ツリーを上に移動して、私が最大化しているかどうかに基づいて、各深さの MAX または MIN ノードを返します。プレーヤーまたは最小化プレーヤー。

トップダウンで行うという提案は、より浅い深さのノードにスコアを割り当てる必要があることを意味し、評価が低下します。

于 2010-02-15T17:42:40.903 に答える
1

このアイデアは使用されていますが、別の方法で使用されています。メモリを大量に消費する検索ツリーを保持する代わりに、評価スコアは転置テーブルに保持され、再利用されます。多くの位置には以前の検索からのスコアがキャッシュされているため、これにより、反復的な深化を行うときに時間を節約できます。そのため、古い検索結果を再利用することで、中間検索の一部を処理し、移動順序を高速化することができますが、エンジンが使用しているターミナル検索の深さでリーフ ノードを評価する必要があります。

于 2012-01-16T08:44:30.233 に答える