3

私の仕事は、単純な 2D ビューを上から見たカーレース ゲームを作成することです。このゲームの唯一の目標は、可能な限り時間内に最高の結果を達成することです。プレイヤーは車を動かし、スピードを上げたり下げたりすることができます。プレイヤーが競馬場の外に出ると、ゲームオーバーです。

この時点では単純ですが、ゲームには AI もあります。AI の目標は、人間のプレーヤーの過去のトレースに基づいて、トラック上の「最適な」トレースを学習することです。

いくつかの関数を検討しています。これらはトレーニング セットとして使用できます。

  • トラックのトポロジの関数としてのプレーヤーのトレース
  • トラックの位置の関数としてのプレーヤーの速度

もちろん、他の機能や情報も役立ちます。

有効なトラックを作成するために使用できる学習方法は何ですか。私の目標は、人間のプレイヤーを倒すことではなく、トラックの最後まで到達することだけです。:)

4

3 に答える 3

1

ニューラルネットを試してみませんか?

「ほとんどの場合、ニューラル ネットワークは、学習段階で構造を変更する適応システムです。ニューラル ネットワークは、入力と出力の間の複雑な関係をモデル化するため、またはデータ内のパターンを見つけるために使用されます。」

http://en.wikipedia.org/wiki/Artificial_neural_network

于 2013-05-15T16:25:45.373 に答える
0

自分の環境をどのように表現するか、その状況に対して「ありそうな」行動をとることの方が重要だと思います。モデルはそれらをリンクするためのものです。

私の意見では、「道路の左右のマージンから自車までの距離」、「現在の車の速度」、「車と道路の向きの角度差」などの機能を試すことができます。これらはモデル入力になります。

次に、「左折」/「右折」/「スピードアップ/ダウン」、「ゲーム続行/オーバー」など、車の可能なアクションに関連付けます。これらはモデルの出力になります。

NN を使用しようとしている場合は、モデルをトレーニングするための 2 つの方法を考え出します。1. ゲームをプレイし、車にアクションが適用されたときにいつでもプログラムに入力を記録させることができます。2. 車をランダムに運転してトレーニング データをサンプリングするアルゴリズムを作成し、効果的なものを選択してモデルをトレーニングします。

私は強化学習に詳しくありませんが、関連していると思います。それに飛び込んで試してみることもできます。

于 2013-05-16T06:45:57.517 に答える