質問

3x4(行x列)グリッドでの3行3ゲームのnegamaxアルゴリズムに苦労しています。よく知られている4列のように再生されます。つまり、ピースがドロップされます(TicTacToeとは異なります)。プレーヤーをRとBと呼びましょう。Rが最初の動きをし、Bの動きはネガマックスによって制御されます。可能な移動は、1、2、3、または4です。これは、R:移動3-> B:移動1-> R:移動3:の後に到達した問題の位置です。 ジェネラコディセタグプレ

さて、Rによる手3に対して防御するために、Bは手3自体をプレイする必要がありますが、そうすることを拒否します。代わりに、それは手1をプレイし、Rの次の手でゲームは終了します。

ちなみに、3x3グリッドで完全に機能するnegamax実装のエラーを探すために一日を費やしましたが、何も見つかりませんでした。

それから私は考え始めました:ネガマックスアルゴリズムの振る舞いの別の説明は、Rが3x4グリッドで3番手でゲームを開始した後、Bはすべてのバリエーションで失われるということです。

誰かがこの命題に異議を唱えたり、私に証拠を示したりすることはできますか(私はそれを好むでしょう;-))?

ありがとう、RSel

役に立ちましたか?

解決

B3も失うことの証明:

B3:R(1,2,4)-> R1;B(1,2,4)-> B2(負ける)なので、B1;R(2,4)-> R2が失われるため、R4;B(2,4)-> B2が負けるので、B4;Rは今どちらかの選択に負けます ...したがって、R1はRに負けます-したがって、Rはそれを選択しません。

B3:R(1,2,4)-> R2はB2以降に負けるため、Rはそれを選択しません B3:R(1,2,4)-> R4;B2(強制);R2(強制);BはRの次の動きで負けます

...つまり、B3はB1だけでなくBにも負けます...したがって、この状況ではBが負けました。

編集:「B3:R(1,2,4)-> R1; B(1」の最後にある他のBオプション(2,4)について誰かが疑問に思っている場合に備えて、2,4)-> B2(負け)なので、 B1 "...これらは無関係です。RedがR1を選択するとすぐに、このシナリオはB(コンピューター)がB1を選択して勝つことができることを示しています。Bの他の選択肢がどうなるかは実際には問題ではありません。この選択肢が勝つため、赤はR1を選択できません。そうしないと、負けてしまいます。

他のヒント

実際、それは最初から勝ったゲームです。そして、手でかなり簡単に演奏することができます。BはRの1ムーブの勝利をすべて回避し、ムーブを色でマークし、グリッド内でプレーが発生する場所を特定すると仮定します。 ジェネラコディセタグプレ

アルゴリズムについては、損失よりも勝ちを優先し、近い損失よりも遠い損失を優先するように変更することをお勧めします。そうすれば、避けられない損失を避けるために「もっと頑張る」でしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top