サイトでざっくりで説明を読み6時間掛けて遺伝的アルゴリズムを用いた経路探索プログラムを作成しました。
300行もあり読みたくないと思うのでざっと箇条書きにしますと。
・左上からスタートし右下に進むプログラム(途中に障害物がある)
・20体生成し上位2組を各10体ずつと交叉させる
・突然変異は1%
以上です。
http://codepad.org/oCLtJP3d
ただ、私が作成したかったのは最適解を私が容易に想像できるものではなく。
「評価方法はわかるが最適解はわからない」というような問題です。
具体的にはyoutubeにアップロードされている【人工知能】物理エンジンで人工生命つくって学習させたみたいな
ものです。
じゃあそれをやればいいじゃないかと思われると思われますが高校を出てないので「物理って何?」というレベルです(汗)
何か勉強になるテスト方法とかありませんか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
ODEってやつのことを良く知らないのですが、やってることは、
・各関節に「目標画時系列」とかいうパラメータがある
・全ての関節についてそれを並べる(これをGAの世界ではコーディングといいます)
・コーディングされた遺伝子を使ってGAによる世代交代をする
・各遺伝子をデコードしてODEのパラメータを作り、ODEを利用して評価を行う
・評価関数は「単位時間当たりの移動距離」
じゃないかと思います。
1関節の情報をどのように遺伝子として表現しているかわかりませんが、
単純に多値のパラメータを羅列しているだけ(下手に値を二進数化したりしていない)だと思います。
突然変異は、えらばれた座のパラメータの値域の中からランダムに変化するだけだと思います。
きっとODEを使って評価するには、なんかAPIみたいなのがあって、それを利用できるんだと思います。
動画のような問題ですと、遺伝子長が10とかそれぐらいの非常に簡単な問題だと思います。
この問題は、きっと腕や足に当たる部分を近い座に配置してコーディングしていると思うので、
例えばいい動きをする右足といい動きをする左足のパラメータを持った遺伝子を掛け合わせることで、
劇的によく歩ける遺伝子が作られやすいんだと思います。
ある意味、GAのデモにうってつけの問題ですね。
なので、評価部分にODEを使う、突然変異のやり方を工夫する、
遺伝子のデータ構造をODEに合わせたものにする、
だけで、基本的には古典的なGAのプログラミングで簡単にできそうな気がします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 中学校 中2、宿題の意味がわからないです。 4 2022/08/13 13:42
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- 大学受験 娘の大学受験勉強 6 2022/06/30 19:58
- 高校 勉強ができない。 4 2022/07/03 08:13
- 大学受験 自己推薦書の添削や意見・アドバイスお願いします 2 2022/08/27 19:34
- 国家公務員・地方公務員 公務員試験の数的処理で苦戦しています。 1 2023/01/30 08:56
- 生物学 減数分裂は子孫を残すときにも行う細胞分裂なのでしょうか? 4 2022/04/25 07:31
- 楽器・演奏 ☆彡とある質問サイトでは独学と習うのではどちらが上手になるか?といった質問が上がっていますが 4 2022/09/27 10:49
- その他(社会・学校・職場) 大学授業で教員の話を聞き流す学生 3 2022/07/25 13:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ミキサーの情報の取得方法を教えて
-
VBでUSB制御プログラム作成する...
-
VB2005でスケジュール追加
-
外部装置を扱うプログラムについて
-
RS-232C接続のための VS 2008 C...
-
vba 時間の引き算 例えば 15:00...
-
「読み込み違反」が起きたとき...
-
VBAでOutlookを終了させたい Ex...
-
Designer.vbは直接コードをいじ...
-
印刷ダイアログを表示させない方法
-
意味不明の実行時エラーで困っ...
-
アウトルックが起動しているか...
-
Visual Studio 「AnyCpu」について
-
VBAでArrayListを使う為の「msc...
-
別アプリの起動、終了について
-
VBで実行中のEXEファイルの情報...
-
Windows PowerShellでC言語を実...
-
Process.Startで起動したアプリ...
-
印刷要求順番と印刷出力順番が...
-
ManagementClassが見つからない。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBでUSB制御プログラム作成する...
-
九九の答えの計算
-
MSCommによるCOMポートの制御
-
RS-232C接続のための VS 2008 C...
-
Lotus Notesのカレンダーに外部...
-
webサイトから自動ダウンロード
-
DataGridViewのサンプルコード...
-
USBシリアルケーブル仕様の通信...
-
シリアル通信の通信・検証方法...
-
EPOS 24/1 ドライバによるDCモ...
-
遺伝的アルゴリズムについて教...
-
Visual Basicでの平方関数について
-
ハンディターミナル
-
ミキサーの情報の取得方法を教えて
-
ファジィについて
-
Windowsのログオンユーザーを取...
-
PIC18F2520を用いたLCD制御につ...
-
vba 時間の引き算 例えば 15:00...
-
Designer.vbは直接コードをいじ...
-
アウトルックが起動しているか...
おすすめ情報