alpha-beta-pruning

    2

    1答えて

    私は、tic tac toeのゲームの中間状態でminimaxアルゴリズムの動作を理解しようとしています。しかし、私はそうすることができません。私はmin maxアルゴリズムがあらゆるステップでプレーヤーにとって最良の状態を返すことを理解しています。状態はゲームの最終段階で、この のようだった場合、プレーヤーのための利点または最大のポイントにつながる状態が最適な構成であることを理解することは簡単で

    0

    1答えて

    私はMinimaxを実装しようとしています(アルファベットのプルーニングを使用しています)。 「currentBoardは」makeMoveとremoveFigureの両方が新しいボードを返すにもかかわらず。 それでは、どのように私は正しいバックトラッキングのために古いボードを「保存」することができ、最初のボードが、評価された葉からのものではありません? Psの:ボードが単純なハッシュマップなので

    3

    1答えて

    私は、スネーク戦略(this論文を参照)に基づいて、MiniMaxとAlpha-Betaプルーニングで2048のAIを実装しようとしています。単一ヒューリスティック。 残念ながら、AIはほとんどのゲームで256を作っていますが、それは空のセルヒューリスティックよりはるかに優れていません。私はすでにここで関連トピックを読んでいますが、自分で解決策を見つけることはできません。ここ コードである: im

    1

    1答えて

    私はアルファベータプルーニングアルゴリズムを理解しようとしていますが、私が理解していない特定のケースが1つあります。 与えられた this tree, thisが解決策であると考えられる。 私が得ないのは、赤でマークされたノードの値が19であると思われる理由です。これは明らかに「特別なケース」であり、下位の赤いノードの値は19です。アルファの現在の値です)。その結果、上記のノードにも値19がありま

    -2

    1答えて

    私は、Minimaxアルゴリズムを使って設計したTic Tac Toe AIが無敵になるように、良い評価関数を考えることでした。私たちが持っていた制限は、残りのゲームのソースコードを変更しないこと、AIが完全に機能するはずだったゲームツリーの最低の深度が3でなければならないという制限でした。例えば、minimax関数を3の深さは8の深さで呼び出すのと同じように動作するはずです。私の質問は、ティック

    1

    1答えて

    私はチェスエンジンを静止状態にしてアルファベット検索を実装しました。しかし、ほとんどのポジションでは、プロファイラーに示されているように、静止時間の検索は実行時間の80-90%を占めています。私の剪定にバグがありますか? 私はalpha-betaルーチンと休止ルーチンの両方を含んでいます。 私の静止の検索は、直接this pseudocodeに基づいています。 // Perform the alp

    2

    1答えて

    私は人工知能の問題でしばらく働いていましたが、今週はAIをコーディングしてPythonに接続しようとしました。 最後に、私はアルファベータプルーニングアルゴリズムを作成することができましたが、それは正常に動作しますが、次に、オンラインアルファベータプルーニングアルゴを深さ8深さでテストしました。 6と驚いたことに私のアルゴリズムは失われました。ハーバードのインストラクターと評価関数を作成し、msa

    0

    1答えて

    これはパラレルチェス検索のためのshared hashtable algorithmに関する概念的な質問です。 私は4つのスレッドを生成するアルファベット検索を実装しました。各スレッドは検索を行い、最良の移動/評価を返します。しかし、私はスレッドが異なる結果を返す検索不安定性を観察しています。リンクで説明されているロックレスハッシュテーブルを使用しているため、一部のエントリが上書きまたは破損する可

    0

    2答えて

    チェッカーコンピュータゲームの機械学習に関する私の最後のプロジェクトをやっています。 私は1人のプレイヤー(ランダムに動く)を自動化しています.2番目のプレイヤーはランダム性に対して学び、より多くのゲームや試練で賢くなることを願っています。 私は最初のプレイヤーが自動化されているので、かなりうまく動いていると言いましたが、2番目のプレイヤーについて話しています。 Iが目標関数を使用しているよう V

    0

    1答えて

    転置テーブルを使ったアルファベータプルーニングを実装しようとしていますが、私はアルゴリズムの擬似コードをwikipediaで見つけました:https://en.wikipedia.org/wiki/Negamax#cite_note-Breuker-1 しかし、私はこのpsudocodeが間違っていると信じています。そして代わりに: if bestValue ≤ alphaOrig t