22

最初に、趣味として数年間プログラミング (主に C ベースの言語、iOS 開発、Web など) を行っており、現在は単純な AI (ほとんどの人々は三目並べゲームから始めますが、私は遺伝子プログラミングの原理を使って何かを作ることに興味があります)。読者にこれを知ってもらいたいのは、答えが複雑すぎない (私はまだ大学のコンピューター サイエンスのコースに参加したことがないので、子供が理解するのが難しすぎない) ことを感謝しているからです。

これが私の目標です:

条項

organsim: CSS div
個体群:生物のグループ (5 または 10)
食料源:別の CSS div

プロセス

  1. 集団が生成され、それぞれが最初は同じ表現型属性を持っているように見えますが、スキルが異なります (この場合、速度)
  2. 単一の食料源が生成されます(毎回同じ)
  3. 環境が設定されてから約 5 秒後 (ステップ 1 と 2)、生物の個体群は競争的に食料源に到達する方法を見つける必要があります。
  4. 食品に到達できる生物は 1 つだけです。それに到達すると、環境はリセットされますが、前回食料品を見つけた生物は恩恵を受け、その速度レベルが増加する可能性がありますが、特にひどいことをした他の生物はさらに遅くなるか、終了する可能性があります
  5. プロセスが繰り返されます。ユーザーは集団の特徴を観察し、どれが進化的に成功しているかなどを確認できます。

追加情報

ご覧のとおり、上記の手順は進化をほぼシミュレートしていますが、非常に単純な方法です (動物の実際の状況に比べて条件が少ない)。ここで私がここで尋ねている理由は次のとおりです。私は完全に道に迷っています。どこから始めればよいか本当にわかりません (母集団の生成を除いて、jQuery アニメーションを介してそれらを動かすだけでなく、母集団を生成することもできます)。しかし、それらを食料源に引き寄せることができるのは、今私ができないことです. ですから、これを正しい方向に向ける手助けをしたいと思います。

4

3 に答える 3

0

問題を2つの部分に分割する必要があります。

パート1:生物は、指定したポイントに向かって移動できる必要があります。これにはタイマーが必要であり、座標を決定するためのいくつかの数学では、タイマーの各ティックの目標に一歩近づくために、各生物を動かす必要があります。

グーグルは、この仕事をするために実行する数学を見つけるのを助けることができるはずです。

パート2:生物は、食料源(おそらく最も近い)を選択し、それをターゲットにしてから、パート1で説明した移動方法を使用する必要があります。

そのためには、各生物と食料源を配列で保存することができます。次に、タイマーの各ティック中に、生物をループし、そのループ内で、最も近いものを探して食料源をループします。

この場合も、2セットの座標間の距離を決定するための数学はGoogleで見つけることができます。

私が持っているよりも簡単にこれを述べることはできないと思いますが、うまくいけば、これはあなたにどの方向に進むべきかについての考えを与えるでしょう。

于 2011-05-25T21:16:04.750 に答える
0

インスピレーションを得るために、 Conway の LIFEのさまざまな実装を見ることができます。似たようなものをすでに見たことがあると思いますか?

興味深い読み物:セルオートマトン

于 2011-05-25T21:25:09.057 に答える