0

誰かが私を正しい方向に向けてくれることを願っています。Farkleというサイコロゲームがあります。このゲームは、2 人用ゲームとしてうまく機能しています。今、私は 1 人用ゲームの AI を実装したいと考えています。基本的に私が望むのはそれだけなので、現在のダイスのスコアが >= の場合、300 と言ってサイコロを人間のプレイヤーに戻します。他にも、すべてのサイコロが使用され、6 つのサイコロすべてが再びロールされるかどうかなど、確認したいことがいくつかあります。

私はJava/Androidの世界全体に慣れていないので、どこから始めればいいのか、Dice AIの例の例を探すべきなのか本当にわかりません. ポーカー用のものをいくつか見つけましたが、それらは私が必要とするよりもはるかに複雑であるか、さらに言えば理解できるものだと思います。何か案は?

ところで... ゲームのソース コードを喜んで、または支援できる人なら誰にでも送りたいと思います。

前もって感謝します!

4

1 に答える 1

2

正直なところ、私はあなたを助けることができる AI ライブラリを知りません。さらに、概念と AI をそれに統合する方法を理解するために、ファークルのルールを実際に読まなければなりませんでした。したがって、自分で実装する必要がある2つのオプションが思い浮かびます
。1.ニューラルネットワークを使用します。ネットワークは、バックプロパゲーションを使用してトレーニングされます。エラーとして、300 から合計した 6 つのサイコロ (6 つの異なる出力ニューロンによってモデル化されている可能性があります) の差を使用することができます。少し検索すると、Java ライブラリまたはソースを見つけるのが難しいとは思いません。コード例。
2.遺伝的アルゴリズムを使用します。これには、実際には非常に優れたライブラリJGAPがあります。染色体は 6 つすべてのサイコロを振った結果であり、適合度関数はそれらのスコアになります。
もちろん、上記の両方のルートはかなり一般的であり、あまり正確ではない可能性があります. 残念ながら、特定の AI の概念/アルゴリズムに慣れる必要があります。farkle ゲームは、AI パッケージ自体 (たとえばチェスなど) を持つほど人気が​​ないため、独自に実装する必要があると思います (おそらくいくつかのライブラリを使用します)。お役に立てれば。

于 2012-11-19T14:45:19.490 に答える