はい。実現可能です。
質問の概要
システムの設計目標は、カードゲームプレイングエンジンと組み合わせて1つ以上の人工ネットワークを採用することで、戦略的に有利な利点を得るように思われます。
質問は、モルゲンシュテルンとフォンノイマンのゲーム理論に概説されているように、ゲームプレイの基本に対する一般的な認識を示しています。
- ゲームプレイ中の特定の時点で、プレーヤーは移動を実行する必要があります。
- ゲームのルールに従って、移動オプションの最後のセットがあります。
- 移動を選択するためのいくつかの戦略は、他の戦略よりも複数のゲームプレイで高い勝利記録を生み出します。
- 人工的なネットワークを使用して、ランダムな移動選択よりも頻繁に勝利するゲームプレイ戦略を作成できます。
ゲームプレイの他の機能は、それほど明白ではない場合があります。
- 各移動ポイントにはゲームの状態があり、これはゲームプレイの成功の改善に関与するすべてのコンポーネントに必要です。
- カードゲームでは、対戦相手がいつブラフするかわからないだけでなく、シャッフルされたカードの秘密の順序によって、仮想プレーヤーと同等の動きでランダムに近づくことができます。
- 3人以上のプレーヤーゲームでは、パートナーまたは潜在的なパートナーのシグナリングにより、いつでも勝つゲーム戦略を決定するのに複雑さの要素を追加できます。編集によると、このゲームにはそのような複雑さがあるように見えません。
- 脅迫などの心理的要因も、ゲームプレイの勝利に影響を与える可能性があります。エンジンが対戦相手に顔を出すかどうかは不明なので、この回答はスキップします。
一般的なアプローチのヒント
入力と出力の両方をマッピングする一般的な方法がありますが、Stack Exchangeの回答では説明が多すぎます。これらはほんのいくつかの基本的な原則です。
- 明示的に実行できるすべてのモデリングを実行する必要があります。たとえば、人工的なネットは理論的にカードの数え方(各カードの可能な位置の追跡)を学習できますが、単純な数え上げアルゴリズムがそれを行うことができるので、既知のアルゴリズムを使用してそれらの結果を人工的なネットワークにフィードします。入力。
- 最適な出力に関連付けられている情報は入力として使用しますが、最適な出力に関連付けられない可能性のある情報は入力として使用しないでください。
- データをエンコードして、トレーニング中と自動ゲームプレイ中の両方で入力ベクトルの冗長性を減らします。抽象化と一般化は、これを達成するための2つの一般的な方法です。特徴抽出は、抽象化または一般化するためのツールとして使用できます。これは、入力と出力の両方で実行できます。例として、このゲームで、A> K、K> Q、Q> J、10> 9と同じ方法でJ> 10の場合、カードを2〜14または0〜12の整数としてエンコードします。 1を引く。スーツを4つのテキスト文字列ではなく0〜3としてエンコードします。
画像認識作業はリモートでのみ関連しているため、視覚的に画像からカードを認識する必要がない限り、カードゲームプレイとはあまりにも異なります。その場合、他のプレーヤーが移動のために選択したものを確認するためにLSTMが必要になることがあります。勝利戦略を学ぶことは、MLPやRNNの設計、またはそれらの派生的な人工ネットワーク設計の1つから利益を得る可能性が高いでしょう。
人工ネットワークの機能とトレーニングの例
これらのタイプの人工ネットワークの主な役割は、サンプルデータから機能を学習することです。実際のゲームの移動シーケンスがある場合、それはプロジェクトにとって素晴らしい資産です。それらの非常に多数は、トレーニングに非常に役立ちます。
例をどのように配置するか、どのようにラベルを付けるかは検討に値しますが、カードゲームのルールがないと、信頼できる方向性を示すことは困難です。パートナーがいるかどうか、スコアに基づくかどうか、勝利への動きの数かどうか、およびその他の12の要因が、これらの決定を行うために必要なシナリオのパラメーターを提供します。
勉強する
私が与えることができる主なアドバイスは、ウェブ上のそれほど一般的な記事ではなく、上記のトピックについて理解できるいくつかの本といくつかの論文を読むことです。次に、ダウンロードできるコードを見つけて、用語を十分に理解してから、何をダウンロードすればよいかを理解してから試してください。
つまり、本の検索や学術的な検索は、一般的なウェブ検索よりも正しい方向に進む可能性がはるかに高くなります。一般的なWebスペースには何千ものposerがあり、多数のエラーを伴うAIの原則を説明しています。本や学術論文の出版社は、著者に対するデューデリジェンスをより要求しています。