0

マインスイーパ ゲームのヒューリスティックについてアドバイスが必要です。私のいない10個のフィールドが見つかった場合、次に開くフィールドをどのように推定するのか興味がありますか? 私は数字ですべてのフィールドの周りに地雷の可能性を見つけ、計算の最後に可能性が最も低いフィールドを選択することを考えていましたが、すでに安全なフィールドを開く必要があるため、良い結果が得られるとは思いません。必要なのは、ボード上で最大の領域を開くフィールドを開くことです。良いアイデアを読みたいのですが、アルゴリズムをだますことはありません。

4

1 に答える 1

0

モンテカルロ シミュレーションで A* 検索を試すことができます。つまり、開かれる各タイプのセル (各タイプのアクション) に対するコスト/報酬を定義します。

現在のタイムステップで実行できる K 個の異なるアクション (a_1、a_2、a_3...) があるとします。

  1. 各アクション (セル X を開く) について、ゲーム モデルを使用して次に何が起こるかをシミュレートします。一連のアクションに対する報酬を保存し、元のアクションに対する報酬を蓄積します。アクションと結果に確率の重みを追加して、推定をより正確にすることができます。

  2. 各アクションとアクション シーケンスのシミュレートされた報酬の平均を取ります。深さ D で M 回のシミュレーションを行った後 (ここで、M と D は、アルゴリズムに時間がかかりすぎないようにするための事前定義された値です)、シミュレートされた報酬が最も高い (a_1、a_2、a_3...) から 1 つのアクションを選択します。この方法を効率的にするには、剪定が必要です (つまり、いくつかのステップのシミュレーションの後、確実に高い報酬につながらない行動に時間を無駄にしないためです)。

于 2013-04-20T22:05:23.223 に答える