1

倒立振子を解くために使用されるフィットネス関数は何ですか?

遺伝的アルゴリズムでニューラルネットワークを進化させています。そして、私は各個人をどのように評価するかわかりません。

振り子の角度を最小化し、評価時間 (10 秒) の最後に移動距離を最大化しようとしましたが、うまくいきません。

ニューラル ネットワークの入力は、カートの速度、カートの位置、振り子の角速度、時刻 (t) での振り子の角度です。出力は、時間 (t+1) に加えられた力です。

前もって感謝します。

4

1 に答える 1

0

目的関数を次のようにリストしているこの論文を見つけました。

式1

次のように定義されます。

式2

ここで、「Xmax = 1.0、thetaMax = pi/6、_X'max = 1.0、theta'Max = 3.0、N は反復ステップの数、T = 0.02 * TS および Wk は選択された正の重みです。」(ただし、角度、速度、および紙面からの位置に特定の値を使用しますが、振り子の境界条件に応じて独自の値を使用する必要があります)。

この論文には、「第 1 項と第 2 項は、X1 と X3 のゼロからの正規化された絶対偏差の累積和を決定し、第 3 項を最小化すると生存時間を最大化する」と述べられています。

始めるにはこれで十分ですが、論文全体を読むことを強くお勧めします。その素晴らしい読み物であり、私はそれが非常に教育的であることがわかりました.

独自のフィットネス関数を作成することもできますが、振り子の位置、速度、角度、および角度の変化率を使用するというアイデアは、フィットネス関数に適していると思います。ただし、論文の著者が変数の関数をモデル化するために選択した方法とはまったく異なる方法で、これらの変数を使用することを選択できます。

ハーモニックオシレーターについて読んでも問題ありません。それらは一般的な形を取ります:

m x" + B x' -k x = A cos(w*t)

(ここで、発振器がそれぞれ減衰/非減衰または駆動/非駆動であるかどうかに応じて、B または A は 0 になる場合があります)。

于 2015-03-12T06:22:29.853 に答える