合理的なAIを作成する方法は?


11

Fox and Houndsゲームに基づいたロジックゲームを作成しています。プレイヤーはキツネを再生し、AIは猟犬を再生します。(私が見る限り)私はAIを完璧にすることができたので、それは決して失われません。それをそのままにしておくことは、人間のプレイヤーにとってあまり面白くないでしょう。

今、私は人間が勝つことができるようにAIをダムダウンしなければなりませんが、どうすればいいのか分かりません。現在のAIロジックはパターンマッチングに基づいています-ボードをパターンスペースから外すランダムな動きを導入した場合、AIはおそらくゲームの終わりまで間抜けになります。

AIを一気に「天才」から「完全に馬鹿に」しない方法で馬鹿にする方法はありますか?


したがって、常に最適な戦略を見つけて実装しました。少し複雑なゲームに移行してみませんか?または、挑戦についてはどうですか:他のプレイヤーが何をしようとも、常に負ける戦略を実装します。参照:チェス/反抗の喪失
マーティン

この他の質問に対する私の答えを見てみたいと思うかもしれません:gamedev.stackexchange.com/questions/12858/…–
Tyn

キツネと猟犬はチェスほど複雑ではありません。1つの間違った動きとAIは確実に負けます。AIを愚かに見せるのは非常に簡単です。私がペンと紙と何時間もの戦略的思考を使ってそれを解決したという事実は、私のプレイヤーが同じことをするという意味ではありません。
ミラノバブシュコフ

回答:


7

多くの実装は、動きのランダムな重み付きチャンス、例えば、最適な動きをするチャンスと最適でない動きをするチャンスにつながる可能性があります。動きがどれほど最適ではないかを判断することは非常に難しい問題ですが、AIをより一見インテリジェントな意思決定に導くことにもなります。

重要な注意:難易度の設定に関係なく、AIにすぐにゲームに勝つチャンスを渡すことはおそらく悪い考えです。そのターンにゲームを終了するような動きをする可能性がある場合、それは常に行われるべきです。そうでない場合、AIがどのように機能しているかについてのプレイヤーの印象を完全に破壊します。


ありがとう。すべての単純なパターンでスマートにプレイすることにしました。プレイヤーの自由への道が簡単に見えない2つの複雑なパターンがあるため、そのような位置にいる初心者プレイヤーに似た動きをプレイすることでAIを失う追加のパターンを作成しました。ゲームの開始時に、このようなポジションの勝ちパターンと負けパターンをランダムに切り替えます。
ミラノバブシュコフ

10

これは「解決された」ゲームのように見えるため、唯一の答えはコンピューターが意図的に悪い動きをしなければならないということです。

手っ取り早い解決策は、最適な動きを計算し、次にあまり良くない別の合法的な動きを計算することです。AIの難易度の評価は、完璧な動きに対して、あまり良くない動きを選択する確率のパーセントで測定されます。

  • 難しい-90%良い動き
  • ハード-70%良い動き
  • 通常-50%の良い動き
  • シンプル-20%の良い動き
  • 子供として落とされた-<5%の良い動き
  • ホットドッグ-すべてランダム

10
これはおそらく良い考えですが、意図的に間違った動きをしている場合は、遅延AIになってしまいます。私の頭の上では、最初に「合法的な」動きのパスを行い、次に各動きに重みを適用し、重みで並べ替えます。最高の重みが最高の動きです。その後、難易度に応じてRNGをより良い動きに向かって収束させることができます。
ジョナサンコネル

4
@Jonathan Connellに同意します。考えてみてください:木枠の後ろに隠れているvs爆発性の樽の後ろに隠れているvs木枠とアクティブな手ren弾の間に隠れている AIは、動きがどれだけ悪いかを評価し、より良いAIはより良い動きをより頻繁に行う必要があります。AIは、70%の確率で自分を撃ち、30%の確率で爆発した場合、素晴らしいとか難しくなりません。それはただ陽気になります。
doppelgreener

2
@Adrian Seeley最後のコメントは本当に大きな問題に関係しています。私にとって、AIと対戦する人間は、たとえ理論的に完全にランダムであっても、その選択の背後にある推論を常に本能的に見つけます。たとえば、ボードゲームでは、動きを予測する際の反復回数を制限することでこれに対抗できます。したがって、これは解決可能なゲームで良い解決策になるでしょうか?
ジョナサンコネル

2
私はジョナサンの両方に同意しますが、「子供として落とされた」と「ホットドッグ」についてこの回答に+1を与えています
thedaian

2
@Jonathan Connell:あなたの提案/解決策を回答として投稿してください。それはいくつかの賛成に値するでしょう。
bummzack
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.