Upgrade to Pro — share decks privately, control downloads, hide ads and more …

遺伝的アルゴリズムでスキーのスケーティング学習

yusumi
January 15, 2021

 遺伝的アルゴリズムでスキーのスケーティング学習

遺伝的アルゴリズム (Genetic Algorithm : GA) を用いてスキーのスケーティングを最適化しようと試みた話.
An attempt to optimize ski skating using Genetic Algorithm (GA).

yusumi

January 15, 2021
Tweet

More Decks by yusumi

Other Decks in Research

Transcript

  1. 関節の可動域 関節 可動域 頭 X軸回転, -30~30° 胴体 X軸回転, 0~40° 肩

    X軸回転, -80~80° 肘 X軸回転, 0~160° 手 Y軸回転, 0~90° 股 YZ軸回転, -45~45° 膝 X軸回転, 0~60°
  2. 体重と摩擦係数の設定 • 人の体重を設定 • スキー板、ストック、平面の摩擦を設定 スキー板 静止摩擦係数 : 0.6 動摩擦係数

    : 0.3 ストック 静止摩擦係数 : 0.6 動摩擦係数 : 0.3 平面 静止摩擦係数 : 0.6 動摩擦係数 : 0.1 人の体重 57.4kg
  3. 遺伝子の構造 頭 胴体 左肩 左肘 左手 左股 左膝 右肩 右肘

    右手 右股 右膝 28 38 0 10 33 -15 18 5 5 47 36 18 30 37 10 -4 41 45 1 58 -77 6 86 -76 27 18 23 41 76 10 69 13 34 -11 8 6 状態1 状態2 状態 n=10 これが一つの遺伝子 0.5秒 0.5秒 0.5秒 • 状態周期 : n = 10 • 関節数 : m = 12 遺伝子 : n × m 行列 (=120個の要素) m=12 関節の角度
  4. 遺伝子の構造 腕・脚の動きは半周期ずらして左右対称 頭 胴体 左肩 左肘 左手 左股 左膝 右肩

    右肘 右手 右股 右膝 28 38 0 10 33 -15 18 5 5 47 36 18 15 22 18 10 -36 状態 i 状態 i + n/2 18 33 0 47 5 5 15 股は正負反転
  5. 任意の時刻の関節角度 • 開始から 𝑡 時間経過したときの各関節の角度 𝑡 > 0かつ𝑚𝑜𝑑 𝑡, 𝜏

    = 0で状態遷移(𝑮𝑖 → 𝑮𝑖+1 ) 𝑺𝑡 = 𝑮𝑖 + (𝑮𝑖+1 − 𝑮𝑖 ) 𝑚𝑜𝑑(𝑡, 𝜏) 𝜏 𝑺𝑡 𝑡 時間経過後の各関節角度を要素 にもつベクトル 𝑮𝑖 状態 𝑖 の各関節角度を要素にもつ ベクトル(1 ≤ 𝑖 ≤ 𝑛) 𝜏 • 状態遷移時間(=0.5秒) 𝑚𝑜𝑑 𝐴, 𝐵 𝐴を𝐵で割ったときの余り
  6. シミュレーションの構造 終了 条件 適応度評価 終了 No Yes 交叉 選択 突然変異

    開始 初期個体生成 • 50体生成 • 遺伝子の値はランダム
  7. 交叉(多点交叉法) • 頭、胴体、左腕、左脚、右腕、右脚の6点で交叉 • どちらの親かはランダムに決定 頭1 胴体1 左肩1 左肘1 左手1

    左股1 左膝1 右肩1 右肘1 右手1 右股1 右膝1 親1 頭2 胴体2 左肩2 左肘2 左手2 左股2 左膝2 右肩2 右肘2 右手2 右股2 右膝2 親2 頭1 胴体2 左肩1 左肘1 左手1 左股2 左膝2 右肩1 右肘1 右手1 右股2 右膝2 子 交叉
  8. 突然変異 • 各関節は2%の確率でランダムな値に置き換わる 頭1 胴体1 左肩1 左肘1 左手1 左股1 左膝1

    右肩1 右肘1 右手1 右股1 右膝1 親1 頭2 胴体2 左肩2 左肘2 左手2 左股2 左膝2 右肩2 右肘2 右手2 右股2 右膝2 親2 頭1 胴体2 左肩1 110 左手1 左股2 左膝2 右肩1 右肘1 右手1 右股2 右膝2 子 交叉 突然変異