-2

私はこれを読みました

AI にゲームをゼロから学習させるにはどうすればよいですか? ちょっとした例として、AI がブラックジャックをプレイし、すべてのスプリット、デッキ内のカードなどを割引するとしましょう。AI はヒットするかスタンドするかのいずれかであり、もちろん負け始めるまで何をするかわかりません。ゲームでは、ヒットしすぎると負けるということを学習する必要があります。私はこれを強化学習と呼んでいます。しかし、それを実装する方法、使用するモジュールなどはわかりません...

どこから始めればよいですか?

私の究極の目標は、ユーザーと AI が対戦するのではなく、ゲーム メカニクスに対して [協同ではなく] 両方がプレイし、両方が学習するようなゲームを作成することです。ゲームは時々変化し、新しいメカニズムが登場し、プレイヤーと AI の両方にとってゲームが難しくなります。AI は、ゲームをプレイするだけでなく、プレーヤーが勝って負けるのを見て学習します。私はコンピューターがあまりにも早く学習することを望んでいません.両方が同じ「地面」にあるようにしたいと思います...おそらく最終レベルは、プレーヤーがAIと対戦できるようになるでしょう. 私は正しい場所に行っていますか、それとも他のアプローチを試す必要がありますか?

編集:広すぎると思いました。そこで、ML と AI について少し検索したところ、scikit-learn、PyBrain、neurolab、RLToolkit など、役立つモジュールがいくつか見つかりまし。最初の 2 つは、どのように開始すればよいかよくわかりませんでした。人工ニューラル ネットワークとは何かをよく理解していなかったので、まだ試したことのないニューロラボである私のような新参者にとって、ドキュメントは非常に不明確です[ ANN] とそれがどのように私を助けることができるか、強化学習に特化した最後のものにはドキュメントがありません。

4

1 に答える 1

4

これは完全な答えではありませんが、基本原則は次のとおりです。

結果が予測できない場合、現在の状態 + 可能な動き = 結果。そのため、ゲームの任意の状態 (特定の数/組み合わせのカードがある場合、おそらく未知のカードの数を持つ他のカードと組み合わせた場合、または最後のシャッフル以降に見られた特定のカードがある場合) には、あなたができる可能な動きの数(ヒット、スタンド)。次に、どちらかを試して、それが良い結果か悪い結果か (またはその中間のどこか) を記録します。次に同じ現在の状態を見ると、どの動きがこれまでで最高の統計結果をもたらしたかがわかります (% のランダム性)。

どこでアウト

複数の移動があり、最後まで実際の結果が得られない場合は、これまでのすべて (状態 + 試行された移動) を追跡します。結果が得られたら、それを途中のすべてのステップに適用します。

これが完了すると、膨大な数のゲームをプレイできるようになり、進むにつれて改善されるはずです.

トリックは、通常、「状態」を構成するものを解決することです。可能な状態が多ければ多いほど、AI がうまく機能するまでに多くのゲームをプレイする必要があり、データベースが大きくなります。ブラックジャックでは、カードの数の合計だけの状態 (20 の状態が得られます) を持つか、エースの数が含まれる可能性があります (おそらく、約 40 の状態が得られると思います)。 ; 他のプレイヤーが持っているカードの枚数が含まれる場合があります。それは、あなたが手に持っている値を正確に含み、スーツを含まない場合があります (4 つのエースを持っている場合、他の誰もエースを持っていないことがわかります)、または (ブラックジャックの場合は無意味に) カードのスーツの順序を含む場合があります。

場合によっては、「状態」がより抽象的なものになることがあります。たとえば、チェスの場合、すべてを学習するには多くの可能な「状態」があり、抽象化する必要があります。これに通常何が使用されるかはわかりません。おそらく、何が何を攻撃し、何が何を防御しているか、何マスが何ピースでカバーされているか、どのピースが何によって守られているかなど。また

また、何が「良い」結果と「悪い」結果を構成するのかを検討することもできます。ブラックジャックの場合、勝つことは良いことであり、負けることは悪いことであり、それがすべてであると考えるかもしれません。ただし、負ける以上に避けるべきことがあります。無効な動きをすることです。ブラックジャックの例では、AI がルールを知らないと仮定すると、ペア以外のハンドを持っている場合にスプリットすることは、(おそらく) 負けることよりもはるかに悪いことです。これを「負け」と数えてしまうと、最終的にはヒントを得てそれをやめてしまいます。

于 2014-05-08T01:53:14.387 に答える