問題タブ [minimax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2121 参照

algorithm - ミニマックスと三目並べ - 私のアルゴリズムは正しいですか?

TTT のミニマックス アルゴリズムを実装しました。AI プレーヤーに最初の動きをさせると、可能な動きのすべての最小値が 0 として評価されます。つまり、最初の動きとしてグリッド上の任意の正方形を選択できます。ただし、どの Tic Tac Toe ガイドでも、勝つ可能性が高いため、最初の動きをするときに角または中央の正方形を選択する方が良い選択であると教えてくれます。

私のアルゴリズムがこれを反映していないのはなぜですか?

編集:明確にするために、私が尋ねようとしているのは、これはミニマックスアルゴリズムの制限ですか、それとも私の実装は正しくありませんか?

0 投票する
1 に答える
1986 参照

minimax - アルファ ベータ検索 反復的深化 反証テーブル

反復的な深化を伴うアルファベータ検索を実装し、以前の深さ検索から得られた最初の最良の動きを検索することでアルゴリズムをさらに最適化するためのいくつかの手法を読みました。

私が理解している限り、以前の深さ検索からの主要なバリエーションを動的長さリストに保存できますか? たとえば、深さ 4 まで PV で検索したとします: [1, 0, 2, 3] は、深さ 1 で移動番号 1 を選択し、深さ 2 で移動番号 0 を選択し、深さ 3 で移動番号 2 を選択するなどを意味します。 ...そして、深さ 5 の検索では、アルゴリズムは最初にその前の深さ PV からノードの子を検索します。

それはあなたが反論テーブルと呼んでいるものですか?

このリンクからの反論テーブルの説明: 反復ごとに、検索により、ルートからリーフ ノードへの各移動のパスが生成され、その結果、正しいミニマックス スコアまたはその値の上限が得られます。d - 1 ply 検索からのこのパスは、d ply への検索の基礎として使用できます。多くの場合、現在の反復で調べられた最初のパスとして、前の反復のパスまたは動きの反論を検索すると、1 層深い動きを反駁するのに十分であることが証明されます。

それが同じでない場合、反駁表が実際に何であるかを説明できますか(私には両方が等しいように見えますが、よくわかりません)、最初に述べた方法の代わりに反駁表を使用する利点は何ですか?

0 投票する
1 に答える
651 参照

r - 密度プロットで境界を見つける

私は機械学習に非常に慣れていないので、提案も受け付けています。今日、ミニマックスリスクと呼ばれるものを読みましたが、これが私の場合に可能かどうか疑問に思っていました.

私は 2 つのデータセットを持っており、垂直線の右側にある左の曲線の下の領域が垂直線の左側にある右の曲線の下の領域と等しくなるような線 (より正確には境界線) を見つけることに興味があります。ライン。Rでこれを行う方法はありますか?つまり、垂直線を引く正確な位置を見つけますか?

次のグラフをプロットするために使用できるサンプル データをここにいくつか掲載します。

ここに画像の説明を入力

0 投票する
2 に答える
2829 参照

algorithm - 用語ベースのゲームを処理するように Minimax 検索ツリーを適応させる方法は?

マンカラ ボード ゲームを実装し、そのための AI も実装する必要があるプロジェクトを実行する必要があります。

ゲームではプレーヤーが連続して複数のターンを持つ可能性があるため、mancala を使用できるようにするには、ミニマックス ツリーを修正または変更する必要があるとの指示を受けました。

ゲーム ロジックと GUI は既に実装していますが、AI を始める前に、AI の背後にある理論について少し考えてみたいと思います。ネットで非ターン ベースのミニ マックス ツリーを検索しましたが、何も見つからないようです。しかし、mancala に minimax を使用することについて多くの人が話しているのを見てきました。

これで、通常のミニマックス ツリーと、各レベルが最小ノードと最大ノードの間でどのように切り替わるかを理解できました。私が今必要としているツリーで、 min > max > max > min > max次のように言えますか?

また、Minimax ツリーの特定の層の深さを指定できる必要があります。アルファ ベータの枝刈りも必要ですが、それは実際に木ができてからの話です。