SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
遺伝アルゴリズムによるナビゲーション
奈良先端科学技術大学院大学
モバイルコンピューティング研究室
スプリングセミナー研修テーマ
1
遺伝アルゴリズム (GA)とは
 生物が環境に適応して進化していく過程を模倣した最適
化アルゴリズム
 ランダムサーチやSAと異なり,GAでは複数の解候補を
保持(個体群と呼ぶ)
 各ループ(世代)において,2つの解候補(個体)に対し交
差演算子を適用し,新しい個体を生成
 新しく生成した解候補の中から良い個体を選択する(淘
汰)
 後の世代になるほど良い評価値の個体群に進化
2
遺伝アルゴリズムとは (続き)
 アルゴリズムのステップは以下の通り
1. 初期個体群の生成
 解候補をランダムに作成
2. 交差演算子を適用して新たな個体群を生成
3. 突然変異演算子を使用して各個体に確率的に新しい
形質を導入
4. 各個体の評価値に応じて良い個体が選択される.選
択された個体が次の世代の個体群となる
ステップ2から4をあらかじめ決めた回数だけ繰り返す
3
GAで使う用語集
 個体とは,解候補のこと.染色体と同一のこともある.
 染色体とは,符号化した解候補のこと.
 個体群とは,GAにより一度に保持される複数の個体または染色体.
 遺伝子とは,染色体の要素.染色体は複数の遺伝子から構成される
ことが多い.
 適応度とは,各個体がどれほど優れているか表す数値.通常,染色
体に対し評価関数を適用することにより得られる.
 選択(淘汰)は,適応度に応じて,次世代の個体群に属する個体を
選択するための操作
 淘汰圧は,高ければ適応度の高い個体が選択される確率が高まる.
 突然変異は,染色体を改変し,新しい形質を導入すること
 変異率は,染色体が改変される確率のこと
 交差は,2つ(またはそれ以上)の染色体の形質を混ぜて,新たな個
体を生成する操作
4
手始めにGAでカックロを解いてみよう
 突然変異演算子は,個体の遺伝子をランダム
に改変する
 変異率に応じて,改変する遺伝子の数を変える
 交差演算子として,一様交差を使用
 トーナメント選択を使用
 個体群のサイズとして1000,トーナメントサ
イズに2を指定
 これは,特に理由なく決めた値
 適当に決めただけでも結構いい解が見つ
かる!
5
GAによるナビゲーション
 東京の400余りの目的地からいくつかをユーザが選択し,これらを
全て巡回する最も距離の短い順番を求める
 解候補の符号化は,
 一次元の配列に,指定された目的地を訪問する順番を格納
 配列内の各要素が各目的地に対応する
 解候補の生成の仕方
 各セルにランダムに訪問する順番を入れる
 順番が重複しないようにする
 評価関数 (値が低いほど良い解) :
 経路の走行距離
6
課題 Google Mapsと比較してみよう
 5箇所程度の目的地を選択し,これら全てを回る経路を
Google Mapsを用いて探してみよう
 この経路と,GAで探索した経路を比較してみよう
7

Contenu connexe

Plus de 奈良先端大 情報科学研究科

Plus de 奈良先端大 情報科学研究科 (20)

11.実装の脆弱性を利用して強力な暗号を解読してみよう!
11.実装の脆弱性を利用して強力な暗号を解読してみよう!11.実装の脆弱性を利用して強力な暗号を解読してみよう!
11.実装の脆弱性を利用して強力な暗号を解読してみよう!
 
8. ミニ・スーパコンピュータを自作しよう!
8. ミニ・スーパコンピュータを自作しよう!8. ミニ・スーパコンピュータを自作しよう!
8. ミニ・スーパコンピュータを自作しよう!
 
16. マイコンと機械学習を使って行動認識システムを作ろう
16. マイコンと機械学習を使って行動認識システムを作ろう16. マイコンと機械学習を使って行動認識システムを作ろう
16. マイコンと機械学習を使って行動認識システムを作ろう
 
15. テレイグジスタンスシステムを制作してみよう
15. テレイグジスタンスシステムを制作してみよう15. テレイグジスタンスシステムを制作してみよう
15. テレイグジスタンスシステムを制作してみよう
 
14. ビデオシースルーHMDで視覚拡張の世界を体感しよう
14. ビデオシースルーHMDで視覚拡張の世界を体感しよう14. ビデオシースルーHMDで視覚拡張の世界を体感しよう
14. ビデオシースルーHMDで視覚拡張の世界を体感しよう
 
19. 生物に学ぶ人工知能とロボット制御
19. 生物に学ぶ人工知能とロボット制御19. 生物に学ぶ人工知能とロボット制御
19. 生物に学ぶ人工知能とロボット制御
 
13. SDRで学ぶ無線通信
13. SDRで学ぶ無線通信13. SDRで学ぶ無線通信
13. SDRで学ぶ無線通信
 
18. 計測に基づいた写実的なコンピュータグラフィクスの生成法
18. 計測に基づいた写実的なコンピュータグラフィクスの生成法18. 計測に基づいた写実的なコンピュータグラフィクスの生成法
18. 計測に基づいた写実的なコンピュータグラフィクスの生成法
 
21. 人の動作・行動センシングに基づく拡張現実感システムの開発
21. 人の動作・行動センシングに基づく拡張現実感システムの開発21. 人の動作・行動センシングに基づく拡張現実感システムの開発
21. 人の動作・行動センシングに基づく拡張現実感システムの開発
 
20. 友好的関係を構築する人と対話ロボットのコミュニケーション技術開発
20. 友好的関係を構築する人と対話ロボットのコミュニケーション技術開発20. 友好的関係を構築する人と対話ロボットのコミュニケーション技術開発
20. 友好的関係を構築する人と対話ロボットのコミュニケーション技術開発
 
9. マイコンと機械学習を使って行動認識システムを作ろう
9. マイコンと機械学習を使って行動認識システムを作ろう9. マイコンと機械学習を使って行動認識システムを作ろう
9. マイコンと機械学習を使って行動認識システムを作ろう
 
6. 生物に学ぶ人工知能とロボット制御
6. 生物に学ぶ人工知能とロボット制御6. 生物に学ぶ人工知能とロボット制御
6. 生物に学ぶ人工知能とロボット制御
 
14. モバイルエージェントによる並列分散学習システムの構築
14. モバイルエージェントによる並列分散学習システムの構築14. モバイルエージェントによる並列分散学習システムの構築
14. モバイルエージェントによる並列分散学習システムの構築
 
17. 100台の小型ロボットを協調させよう
17. 100台の小型ロボットを協調させよう17. 100台の小型ロボットを協調させよう
17. 100台の小型ロボットを協調させよう
 
5. ミニ・スーパコンピュータを自作しよう!
5. ミニ・スーパコンピュータを自作しよう!5. ミニ・スーパコンピュータを自作しよう!
5. ミニ・スーパコンピュータを自作しよう!
 
2. 計測に基づいた写実的なコンピュータグラフィクスの生成法
2. 計測に基づいた写実的なコンピュータグラフィクスの生成法2. 計測に基づいた写実的なコンピュータグラフィクスの生成法
2. 計測に基づいた写実的なコンピュータグラフィクスの生成法
 
8.テレイグジスタンスシステムを制作してみよう
8.テレイグジスタンスシステムを制作してみよう8.テレイグジスタンスシステムを制作してみよう
8.テレイグジスタンスシステムを制作してみよう
 
1. C言語で行く100倍効率シストリックアレイ入門
1. C言語で行く100倍効率シストリックアレイ入門1. C言語で行く100倍効率シストリックアレイ入門
1. C言語で行く100倍効率シストリックアレイ入門
 
7.ビデオシースルーHMDで視覚拡張の世界を体感しよう
7.ビデオシースルーHMDで視覚拡張の世界を体感しよう7.ビデオシースルーHMDで視覚拡張の世界を体感しよう
7.ビデオシースルーHMDで視覚拡張の世界を体感しよう
 
13. Raspberry Piを用いたIoTアプリの開発
13. Raspberry Piを用いたIoTアプリの開発13. Raspberry Piを用いたIoTアプリの開発
13. Raspberry Piを用いたIoTアプリの開発
 

スプリングセミナー2016"遺伝アルゴリズムによるナビゲーション"