4

学校の最終課題で何をするかは自由です。現在、カメラがジェットコースターのレールをたどっているだけの単純な direct-x ゲームを変更することに関してです。私は遺伝的アルゴリズムに興味を持っており、この機会に遺伝的アルゴリズムを適用し、それらについて何か学びたいと思っています. ただし、この場合に適用できる方法は考えられません。利用可能なオプションにはどのようなものがありますか?

4

2 に答える 2

4

あなたの質問から、あなたは遺伝的アルゴリズムを使って最適化されたジェットコースターの線路を手に入れたいようです。最適化問題の場合:

  1. まず、目的のソリューションをそのコンポーネントまたは設計変数に分解する必要があります。
  2. 「変数」を取得したら、それらを使用して目的関数を定式化することを検討する必要があります。通常は、目的のソリューションで最小化されるようにコーディングします。
  3. 次に、遺伝的アルゴリズムで使用するコーディングスキームを決定する必要があります。Real Coded Genetic Algorithmは、継続的な検索スペースがある場合にさらに役立ちます。

これらは最初のものです。それらを入手したら、クロスオーバーとミューテーションの戦略を決定する必要があります。次に、最後に、問題で既存のGAコードを使用するか、ライブラリを使用するか、自分でコーディングするかを決定する必要があります。

より説明的な質問は、これにさらに追加するのに役立ちます。どの言語で働きたいですか?

編集:私はそれを自分で使用していません。PARDISEO は、遺伝的アルゴリズムなど、他の多くのもののためのC++テンプレートベースのライブラリです。また、 http: //www.iitk.ac.in/kangal/codes.shtmlでRealCodedGAのCバージョンを確認できます。

your(OP)コメントから:

文字通り、それが行うのは、いくつかのトラック座標を含むxmlファイルをロードし、レールを構築し、ジェットコースターにいるようにカメラにこれらのトラックを追跡させることだけです。約10万行のコードですべて

トラック座標を可能な設計変数として見て、それらのどの組み合わせが最適化されるか(コスト、より良いビュー、快適さなどの点で)を確認してから、どのような数学的関係を取得できるかを確認したいと思います。最高のセット。これで、GAを適用する準備が整いました。:)

于 2009-11-22T17:52:06.213 に答える
3

成功するジェットコースターの基準は何ですか?それを定量的に説明できれば、適応度関数が得られます。次に、ジェットコースターのピースは何であるかを考慮する必要がありますか?細かく砕けるものですか?もしそうなら、あなたはあなたの「遺伝子」を持っています、そして個々のローラーコーストは適応度関数に対してテストされるか、突然変異するか、または交差することができる解決策です。次に、ジェットコースターの母集団を作成し、母集団のサンプルサイズでクロスオーバーと突然変異を実行し、個人に適応度関数を適用します。次に、次の世代に最も適した個人を維持し、このプロセスを繰り返します。

于 2009-11-22T17:42:12.513 に答える