0

ミニマックスと遺伝的アルゴリズムを使用して、ボードの状態をスコアリングするための重みを見つける、かなり単純なゲームをプレイする AI に取り組んでいます。

ゲームは 4x4 tictactoe に似ていますが、1 ターンを費やしてピースを隣接するスペースに移動できます。ピースにはさまざまなサイズがあり、大きなピースは小さなピースを覆うことができます。

4 連続での完成にどれだけ近づいているか、隣接する敵の駒をいくつ上に移動できるかなど、さまざまな要因を調べてボードにスコアを付けたいのですが、これらの要因を具体的に何にすべきかわかりませんなれ。

私のアイデア: 各行について、味方の駒の数、空きスペースの数、および敵の駒の数に基づいてスコア式を作成しますが、値がおそらく勝ったため、重みでそれをスコアリングする単純な式は考えられません線形関数ではありません。

各行について、列内の敵の駒の数に基づいて分割された区分的なスコア式と、味方の数に基づいた式を作成します。したがって、空の列に 1 ピースを配置することは、敵でいっぱいの列に 1 ピースを配置してそれらをブロックするよりも価値がある可能性があり、逆は、すでにブロックされている列に 3 を配置する場合に当てはまります。

私が気づいたいくつかの複雑さ: 3 つのピースが連続しているが、敵の大きなピースの 1 つも列にある場合、ピースの動きを妨げることを除いて、事実上何の価値もありません。

3 つの駒が並んでいて、その列に小さな敵の駒があると、敵の小さな駒に隣接して大きな駒を配置して、その上に移動できれば、ほぼ勝ちです。これは特に検出が難しいようです。これを加味すれば、上記の「隣接する敵の移動可能数」が不要になる可能性もある。

助けてくれてありがとう。進め方がわかりません。

4

0 に答える 0