ScratchData LogoScratchData
Back to sakura_neko's profile

遺伝的アルゴリズム

SAsakura_neko•Created August 15, 2021
遺伝的アルゴリズム
9
9
357 views
View on Scratch

Instructions

必須↓ https://turbowarp.org/560722061?hqpen&turbo 基本的には放置です。右の「最高値」リストから徐々に適応度が増えるのが見てとれます。好きなタイミングで(目安は適応度480)最高値リストの遺伝子をコピーしておき、スペースキーを押して遺伝子をペーストすると、その遺伝子のロボットが動きます。 「コインを拾うロボット」を、遺伝的アルゴリズムで強化しています。 タスク:10×10マスのうちに平均50個ランダムに置かれたコインを回収する。 能力:自分の位置とその隣の合わせて5マスの状況(空マス、壁、コインのいずれか)を調べ、「移動する(四方向いずれか)」、「コインを拾う」の5つの行動から一つを(遺伝子によって)選んで実行する。これを200回繰り返す。 報酬:壁に突っ込む(-5ポイント)、コインのないところでコインを拾う(-1ポイント)、コインのあるところでコインを拾う(10ポイント) 実行:1世代ごとに200の遺伝子が作成され、それぞれ100回タスクを実行する。報酬の平均がその遺伝子の適応度となる。 更新:タスク実行後、各遺伝子が適応度に応じて割り振られた確率で選択され、遺伝子を前半と後半の二つに分けて入れ替えてつなぎ合わせて交配し、次の世代とする。ただし、遺伝子一文字につき0.5%の確率で突然変異が起き、ランダムな値に置き換わる。 また、その世代で最高の適応度を出した遺伝子はそのまま受け継がれる。

Description

適応度の最大値は理論上500(ランダム要素あり) 適応度499.25 156352052254352251350355163351352656251330151152054036352356051256254054354036615051054055056351254352656441056056614051652266156006603054056055251330056205002631253151256254355251156624426152533010156266115150436040441422354414360466413121523

Project Details

Project ID560722061
CreatedAugust 15, 2021
Last ModifiedJanuary 18, 2022
SharedJanuary 18, 2022
Visibilityvisible
CommentsAllowed