私の工学クラスでは、「自明ではない」捕食者/被食者追跡問題をプログラミングしています。
状況の要点は次のとおりです。捕食者から逃げようとしている獲物がいます。それぞれを MATLAB でアニメーション化できる粒子としてモデル化できます (このコーディング言語を使用する必要があります)。
獲物: 捕食者よりも簡単に操縦 (回転) できる 捕食者: 獲物よりも速く動くことができる
捕食者と被食者の両方のコードを作成する必要があり、クラスの競争で使用されます。
基本的に、最終製品は次のようになります: http://www.brown.edu/Departments/Engineering/Courses/En4/Projects/pred_prey.gif
目標は、相手チームの獲物を最短時間で捕まえることであり、自分の獲物が相手チームの捕食者に捕まえられないようにすることです (または、少なくとも長期間逃げることができます)。
具体的な設計上の制約は次のとおりです。 3. 設計上の制約: 捕食者と獲物は xy 平面内でのみ移動できます シミュレーションは 250 秒間実行されます。捕食者も被食者も、次の 3 つの力を受けます。(a) 推進力。(b) 粘性抗力。(c) ランダムな時変力。(与えられたすべての式) 1. 推進力は、競合する 2 つのグループによって提供される関数によって決定されます。捕食者/被食者の力を計算する際に rand() 関数を使用することはできません。ランダムな力は、提供されたスクリプトによって生成されたものでなければなりません。(ODE ソルバーがランダムな力を持つ EOM を統合することは不可能であり、無限ループに陥ります)。大会に向けて、競合他社の軌跡を計算してアニメーション化し、各コンテストの勝者を決定する MATLAB コードを提供します。テスト コードは SI 単位で動作します。
何らかの戦略に役立つ可能性のあるリソースを探しています。基本的な追跡曲線を見てきましたが、獲物が一直線に動いていない例をいくつか見てみたいと思います。他のコーディングのアドバイスや戦略は大歓迎です!