SlideShare una empresa de Scribd logo
1 de 99
できる! 遺伝的 アルゴリズム CLR/H  前鼻 毅
自己紹介 ・前鼻 毅(まえはな つよし) ・ふつうの 基幹系 SE 兼 PM ・ 文系 大学出身 ・大体 スープカレー で出来ている ・ 数学ガール いいよね! twitter:sandinist , mixi:mae
自己紹介 ・ C# 使ってます。 ・ CLR/H ・関数型言語勉強会 ・数学勉強会 とかによく行ってます。 質問は twitter:@sandinist
概要 ・遺伝的アルゴリズムについて、   知識のない方を対象 に説明します。 ・遺伝的アルゴリズムを   実装例を元に解説 します。
遺伝的アルゴリズムは ・ どんな もの? ・何に使える? ・ どうやって いるの? ・どこまでできるのか?
目的 ・遺伝的アルゴリズムが   どんなものか 分かる
目的 Ex Ex. 遺伝的アルゴリズムを   実装できそう だと思う
遺伝的 アルゴリズム http://www.flickr.com/photos/fmc550uz/3446971252
そのまえに…
アルゴリズムとは ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
遺伝的アルゴリズム ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
どんなもの? ,[object Object],[object Object],[object Object],[object Object]
生物の遺伝の仕組み ,[object Object],[object Object]
メンデルの遺伝の法則 ①
メンデルの遺伝の法則 ① ②
メンデルの遺伝の法則 ② ③
メンデルの遺伝の法則 ② ③
表現型と遺伝子型 表現型 Pheno Type 遺伝子型 Geno Type
ダーウィンの進化論
ダーウィンの進化論
ダーウィンの進化論
適者生存 不適応 適応
遺伝的アルゴリズムと 生物の進化 ,[object Object],[object Object],表現型 遺伝子型 不適応 適応
遺伝的アルゴリズムと 生物の進化 ,[object Object],[object Object],[object Object],表現型 遺伝子型 不適応 適応
[object Object],万物は流転する -  ヘラクレイトス
どんなもの? ,[object Object],[object Object],[object Object],[object Object]
何に使える? ,[object Object],[object Object],[object Object],[object Object]
例えば? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
巡回セールスマン問題 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
まずは見てみよう
Genetic Algorithm Demo
遺伝的アルゴリズム ,[object Object],[object Object],[object Object],[object Object]
どうやっているの? 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
巡回セールスマンで考えよう ,[object Object],[object Object],[object Object]
巡回セールスマンで考えよう ,[object Object],[object Object]
巡回セールスマンで考えよう ,[object Object],[object Object],[object Object],② ① ③ ④ ⑤
巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
初期集団 ,[object Object],[object Object],[object Object],[object Object],[object Object]
巡回セールスマンで考えよう ,[object Object],[object Object],[object Object],② ① ③ ④ ⑤
初期集団 ,[object Object],[object Object],[object Object],[object Object]
初期集団 ,[object Object],[object Object],[object Object],[object Object],[object Object]
初期集団 ,[object Object],[object Object],[object Object],[object Object],[object Object]
初期集団 ,[object Object],[object Object],[object Object],[object Object],[object Object]
初期集団 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
初期集団 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
初期集団 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
初期集団 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
初期集団 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
評価 ,[object Object],[object Object],② ① ③ ④ ⑤
評価 ,[object Object],[object Object],[object Object],② ① ③ ④ ⑤
評価 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Genetic Algorithm http://www.flickr.com/photos/viamoi/3439951085
選択・交叉 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
選択・交叉 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
選択 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
選択 ,[object Object],[object Object],[object Object],[object Object],[object Object]
選択 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
選択 ,[object Object],[object Object],[object Object],[object Object],[object Object]
選択 ,[object Object],[object Object],[object Object],[object Object],[object Object]
選択 ,[object Object],[object Object],[object Object],[object Object],[object Object]
選択 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
選択 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
選択 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
交叉 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
交叉 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
交叉 ,[object Object],[object Object],[object Object],[object Object],[object Object]
交叉 ,[object Object],[object Object],[object Object],[object Object],[object Object]
選択・交叉 ,[object Object],[object Object],[object Object],[object Object],[object Object]
巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
変異 ,[object Object],[object Object],[object Object],[object Object]
変異 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
変異 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了
評価・終了 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
評価・終了 ,[object Object],[object Object],[object Object],② ① ③ ④ ⑤
評価・終了 ,[object Object],[object Object],② ① ③ ④ ⑤
評価・終了 ,[object Object],[object Object],[object Object],② ① ③ ④ ⑤
巡回セールスマンで考えよう 1. 初期集団 3. 選択 4. 交叉 5. 変異 2. 評価 6. 終了 ■ ハルモス符号
よくわからない… だと?
よろしい、ならば デモだ!
Genetic Algorithm Demo http:// www.flickr.com/photos/leniners/2284977041 @ C# 3.0
遺伝的アルゴリズム ,[object Object],[object Object],[object Object],[object Object]
どこまでできるのか? ,[object Object],[object Object],[object Object],[object Object]
三度、巡回セールスマン ,[object Object],[object Object],[object Object],[object Object],[object Object],計算量については下記ページの内容を引用しています。 http://www.infonet.co.jp/ueyama/ip/software/tsp.html
訪問先 32 ヵ所 ,[object Object],[object Object],[object Object]
4.11 × 10  33  通り ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4.11 × 10 21   秒 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
一三〇〇〇〇〇〇〇〇〇〇〇〇〇年 に挑む!
Genetic Algorithm http://www.flickr.com_photos_43052603@N00_3391952890.jpg
遺伝的アルゴリズム・一幕 ,[object Object],[object Object],[object Object],[object Object]
遺伝的アルゴリズム・一幕 ,[object Object],[object Object],[object Object],[object Object],[object Object]
遺伝的アルゴリズム・一幕 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
遺伝的アルゴリズム・一幕 ,[object Object],[object Object],[object Object],[object Object]
最後に…
僕らが旅に出る理由
遺伝的アルゴリズム ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],科学は葬儀を重ねて進歩する -  マックス・プランク

Más contenido relacionado

La actualidad más candente

競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系
tmaehara
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
 
FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)
Haruka Ozaki
 

La actualidad más candente (20)

遺伝的アルゴリズム・遺伝的プログラミング
遺伝的アルゴリズム・遺伝的プログラミング遺伝的アルゴリズム・遺伝的プログラミング
遺伝的アルゴリズム・遺伝的プログラミング
 
最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く最小カットを使って「燃やす埋める問題」を解く
最小カットを使って「燃やす埋める問題」を解く
 
Deeplearning輪読会
Deeplearning輪読会Deeplearning輪読会
Deeplearning輪読会
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02R実践 機械学習による異常検知 02
R実践 機械学習による異常検知 02
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
 
Binary indexed tree
Binary indexed treeBinary indexed tree
Binary indexed tree
 
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系
 
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
【論文読み会】Deep Clustering for Unsupervised Learning of Visual Features
 
全日本コンピュータビジョン勉強会:Disentangling and Unifying Graph Convolutions for Skeleton-B...
全日本コンピュータビジョン勉強会:Disentangling and Unifying Graph Convolutions for Skeleton-B...全日本コンピュータビジョン勉強会:Disentangling and Unifying Graph Convolutions for Skeleton-B...
全日本コンピュータビジョン勉強会:Disentangling and Unifying Graph Convolutions for Skeleton-B...
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
[DL輪読会]Deep Reinforcement Learning that Matters
[DL輪読会]Deep Reinforcement Learning that Matters[DL輪読会]Deep Reinforcement Learning that Matters
[DL輪読会]Deep Reinforcement Learning that Matters
 
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)FDRの使い方 (Kashiwa.R #3)
FDRの使い方 (Kashiwa.R #3)
 
BERT+XLNet+RoBERTa
BERT+XLNet+RoBERTaBERT+XLNet+RoBERTa
BERT+XLNet+RoBERTa
 

Destacado

Destacado (18)

AI Based Game Design - Teaching how to expand designers' artistic palette wit...
AI Based Game Design - Teaching how to expand designers' artistic palette wit...AI Based Game Design - Teaching how to expand designers' artistic palette wit...
AI Based Game Design - Teaching how to expand designers' artistic palette wit...
 
ブループリントマニアックス
ブループリントマニアックスブループリントマニアックス
ブループリントマニアックス
 
猫でも分かるUMG
猫でも分かるUMG猫でも分かるUMG
猫でも分かるUMG
 
SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)
 
Chainer Development Plan 2015/12
Chainer Development Plan 2015/12Chainer Development Plan 2015/12
Chainer Development Plan 2015/12
 
PFN Spring Internship Final Report: Autonomous Drive by Deep RL
PFN Spring Internship Final Report: Autonomous Drive by Deep RLPFN Spring Internship Final Report: Autonomous Drive by Deep RL
PFN Spring Internship Final Report: Autonomous Drive by Deep RL
 
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 
Chainer入門と最近の機能
Chainer入門と最近の機能Chainer入門と最近の機能
Chainer入門と最近の機能
 
ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法
 
ボケるRNNを学習したい (Chainer meetup 01)
ボケるRNNを学習したい (Chainer meetup 01)ボケるRNNを学習したい (Chainer meetup 01)
ボケるRNNを学習したい (Chainer meetup 01)
 
Chainer Contribution Guide
Chainer Contribution GuideChainer Contribution Guide
Chainer Contribution Guide
 
Lighting talk chainer hands on
Lighting talk chainer hands onLighting talk chainer hands on
Lighting talk chainer hands on
 
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
 Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
Pythonによる4足歩行ロボットの制御と強化学習による歩行動作獲得の実例 #pyconjp
 
Chainer meetup lt
Chainer meetup ltChainer meetup lt
Chainer meetup lt
 
Introduction to DEEPstation the GUI Deep learning environment for chainer
Introduction to DEEPstation the GUI Deep learning environment for chainerIntroduction to DEEPstation the GUI Deep learning environment for chainer
Introduction to DEEPstation the GUI Deep learning environment for chainer
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
Deep parking
Deep parkingDeep parking
Deep parking
 

Más de Maehana Tsuyoshi

Improvement_process_for_providing_ongoing_value
Improvement_process_for_providing_ongoing_valueImprovement_process_for_providing_ongoing_value
Improvement_process_for_providing_ongoing_value
Maehana Tsuyoshi
 

Más de Maehana Tsuyoshi (16)

Stray sheep #ggjsap 2016 UE4 Team
Stray sheep #ggjsap 2016 UE4 TeamStray sheep #ggjsap 2016 UE4 Team
Stray sheep #ggjsap 2016 UE4 Team
 
リモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワークリモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワーク
 
育てる!かんばん - bring up Kanban.
育てる!かんばん - bring up Kanban.育てる!かんばん - bring up Kanban.
育てる!かんばん - bring up Kanban.
 
Gadget study 1 at SapporoMIRAIstcafe
Gadget study 1 at SapporoMIRAIstcafeGadget study 1 at SapporoMIRAIstcafe
Gadget study 1 at SapporoMIRAIstcafe
 
KanbanとTHETAとDK2とわたし
KanbanとTHETAとDK2とわたしKanbanとTHETAとDK2とわたし
KanbanとTHETAとDK2とわたし
 
How to put out ideas
How to put out ideasHow to put out ideas
How to put out ideas
 
大きなチーム、大きな仕事 ~ 大規模アジャイル開発のいま
大きなチーム、大きな仕事 ~ 大規模アジャイル開発のいま大きなチーム、大きな仕事 ~ 大規模アジャイル開発のいま
大きなチーム、大きな仕事 ~ 大規模アジャイル開発のいま
 
Kaminend-Agile-WorkShop
Kaminend-Agile-WorkShopKaminend-Agile-WorkShop
Kaminend-Agile-WorkShop
 
CLR/H78 CI at iOS
CLR/H78 CI at iOSCLR/H78 CI at iOS
CLR/H78 CI at iOS
 
Improvement_process_for_providing_ongoing_value
Improvement_process_for_providing_ongoing_valueImprovement_process_for_providing_ongoing_value
Improvement_process_for_providing_ongoing_value
 
Clrh66
Clrh66Clrh66
Clrh66
 
quanp for iPhone appbank japan tour 2nd in sapporo
quanp for iPhone appbank japan tour 2nd in sapporoquanp for iPhone appbank japan tour 2nd in sapporo
quanp for iPhone appbank japan tour 2nd in sapporo
 
step by step agile
step by step agilestep by step agile
step by step agile
 
clrh58
clrh58clrh58
clrh58
 
clrh56
clrh56clrh56
clrh56
 
Native Smartphone Development with Ruby
Native Smartphone Development with RubyNative Smartphone Development with Ruby
Native Smartphone Development with Ruby
 

できる!遺伝的アルゴリズム