alpha-beta-pruning

    2

    1答えて

    私はJavaでチェスゲームを作っています。(私は思うが)AIプレイヤーにNegamaxを実装しました。アルゴリズムを改善するために、これにアルファベータプルーニングを追加する際にいくつか問題があります。私はチュートリアルとサンプルコードに従ってみましたが、それがどのように機能するかについて私の頭を掴むことはできません。 public int evaluateNegaMax(int lookForw

    0

    1答えて

    私はその結果を転置テーブルに追加するアルファ - ベータ検索を実装しました。次に、転置テーブルから主なバリエーションを抽出しています。 これは、浅い深さでの解析で問題なく動作するようです。私は7プライの深さで分析を依頼する場合しかし、私はこれを取得: 7 [+1.00] 1.b1c3 a7a6 2.g1f3 a6a5 3.a6a5 を終わりに、動きが繰り返されます。この最終的な移動は、プルーニ

    0

    2答えて

    私は単純なゲームのためにnegamaxを実装しようとしています。合計を21勝に上げるプレーヤー。 3. 私はないんだけど、コンピュータを簡単に0モッズに合計合同になる数を追加することで勝つ必要がありますので、https://en.wikipedia.org/wiki/Negamax#Negamax_base_algorithmが 人間のプレイヤーが最初に移動します。私はここに擬似コードを使用してい

    5

    1答えて

    私はミニマックスとアルファベータのプルーニングの基礎を理解しています。すべての文献において、最良の場合の時間複雑度は、b =分岐因子およびd =木の深さであるO(b ^(d/2))であり、すべての優先ノードが最初に展開されます。 "ベストケース"の私の例では、私は4レベルのバイナリツリーを持っているので、16のターミナルノードのうち、最大7つのノードを展開する必要があります。これはO(b ^(d/

    0

    1答えて

    再帰なしでアルファベット剪定を実装する方法はありますか?レベルの数は固定されており、各レベルに対応するすべてのノードを各配列に割り当てています。私のminimaxアルゴリズムはこの方法でうまく動作しますが、アルファベータを理解できないようです。

    1

    2答えて

    私は4つの接続を再生するためにnegamaxを使用してきました。私が気づいたのは、アルファ・ベータを追加すると、時には「間違った」結果が出るということです。失われた動きのように、私が探している深みではないと信じています。私がalpha-betaを削除した場合、それは想定されているように再生されます。実際に実行可能なブランチをアルファベータで切り捨てることはできますか(特に深さに制限がある場合)?こ

    -1

    1答えて

    othelloゲームでAIの次の動きをシミュレートしたいのですが、次の動きを返す代わりに、クローンをシミュレートするのではなく、ゲームが終了する。 public class GameState implements Cloneable{ private Node[][] board; // Game board private int scorePlayer, scoreAI; //

    0

    1答えて

    アルファベットの剪定用のゲームツリーを作成しています。私はsvgを使用してツリーを作成しましたが、ツリー内に編集可能なテキストを追加して、私の計算で入力された値を使います。 誰でも私にこれを助けることができます。 [D3]を使用してプログラムで html, body { background: #EEE; } svg { background-color: #EEE;

    2

    1答えて

    私は古いNorse taflボードゲームファミリ(project here、source file at issue here)の人工知能を書いています。彼らはここに応募するチェスAIの知識のための広いストロークのチェスに十分に近いです。 (問題のバリエーションは、放射状に対称な開始位置を持つ7x7ボード上で演奏され、白は中央で開始し、黒は端から始まります。)アルファベット検索をどのように実装した

    0

    1答えて

    アルファベータプルーニングを使用したマルチスレッドの有効性は次の場合になります。 マルチスレッドは繰り返し使用されました。たとえば、1は最初の分岐になり、スレッド、2番目のスレッドが他の深さは、可能性があるため、私は、これが唯一の第1の深さ(次の一手製AI)で行うべきであると考えているなど、第二のスレッドを見てしまいます断つ。 1つのスレッドが生成されたハーフmovesetに検索生成された最初の「