SlideShare a Scribd company logo
1 of 178
Download to read offline
Copyright ©2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 
遺伝的アルゴリズム () を始めよう 
2014年11月17日 
先端IT活用推進コンソーシアム 
クラウド・テクノロジー活用部会 
勉強会資料 
岡村和英(株式会社テクリエ)
Introduction 
2
3 
Genetic Algorithms Programing Library for JavaScript 
https://github.com/kzokm/ga.js 
Samples of Genetic Algorithm 
http://ga-samples.herokuapp.com/
Today’s Topics 
4
5 
What’s GA 
Meritsof GA 
GeneticGlossary 
Genetic Algorithms 
Chromosome Encodings 
Encoding Examples 
Genetic OperationsSelection, Crossover, Mutation 
New Generation AlternationModel 
Known Issues 
Summary
What’s GA 
6
7 
生物進化における遺伝と 
適者生存による自然淘汰の仕組みを ソフトウェア的に模すことで 
複雑な問題に対する最適解を 
探索する手法
8 
ある命題に対する解の候補を 遺伝子(gene)とその集合体である 染色体(chromosome)で表現した 個体(individual)を複数用意し、 適応度(fitness)の高い個体を優先して 交叉(crossover)、突然変異(mutation) などの操作を繰り返しながら 最適解の探索をおこなう
9 
N700系新幹線 
フロントノーズ(エアロ/ダブル ウィング)の空力設計に際し、 GAを用いて約5000パターンのコン ピュータシミュレーションを行った 結果からデザインを決定した。
10 
ST5計画 
NASAのニュー・ミレニアム計画の一 環として行われた技術試験計画Space Technology 5 に用いられた3機の人工 衛星に搭載されたアンテナの形状は、 GAを用いて設計された。
Meritsof GA 
11
12 
評価関数の可微分性や単峰性な どの知識がない場合であっても 適用可能。 
GAの特徴
13 
必要とされる条件は評価関数の 全順序性と、探索空間が位相 (topology)を持っていること。 
GAの特徴
14 
遺伝子の表現の仕方によって、 組合せ最適化問題やNP困難な 問題などのさまざまな問題に対 する適用が可能。 
GAの特徴
GeneticGlossary 
15
16 
遺伝子(gene) 
個体の形質を表すための 基本となる構成要素
17 
染色体(chromosome) 
複数の遺伝子の集まり
18 
個体(individual) 
1つまたは複数の染色体に よって表現される自律的な個 
命題に対する解の候補
19 
集団(population) 
様々な個体の集まり
20 
遺伝子座(locus) 
染色体上における各遺伝子の 位置
21 
対立遺伝子(allele) 
ある遺伝子座において遺伝子 がとりうる別の値
A 
G 
A 
T 
C 
G 
Y 
W 
Z 
X 
Z 
遺伝子型(因子型; genotype) 
遺伝子を用いた内部表現 
22
表現型(phenotype) 
遺伝子によって発現する 形質の外部表現 
23
符号化(encoding) 
表現型から遺伝子型への変換 
24
復号化(decoding) 
遺伝子型から表現型への変換 
25
GeneticAlgorithms 
26
27 
1.解を表現する符号化方法を決定する。
28 
1.解を表現する符号化方法を決定する。 
2.N個のランダムな個体を含む集団を作成 する。これを「現世代」と呼ぶ。
29 
1.解を表現する符号化方法を決定する。 
2.N個のランダムな個体を含む集団を作成する。これを「現世代」と呼ぶ。 
3.N個の個体を格納可能な集団を用意する。 これを「次世代」と呼ぶ。
30 
1.解を表現する符号化方法を決定する。 
2.N個のランダムな個体を含む集団を作成する。これを「現世代」と呼ぶ。 
3.N個の個体を格納可能な集団を用意する。これを「次世代」と呼ぶ。 
4.評価関数を用いて、現世代の各個体の 適応度をそれぞれ計算する。
31 
2.N個のランダムな個体を含む集団を作成する。これを「現世代」と呼ぶ。 
3.N個の個体を格納可能な集団を用意する。これを「次世代」と呼ぶ。 
4.評価関数を用いて、現世代の各個体の適応度をそれぞれ計算する。 
5.ある確率で次の3つの操作を行い、そ の結果を次世代に保存する。 
1) 現世代から2つの個体を選択する。 
2) 選択されれた個体を用いて交叉を行 い、子孫(offspring)を生成する。 
3) 交叉によって生成された子孫に対し て、突然変異を適用する。
32 
2.N個のランダムな個体を含む集団を作成する。これを「現世代」と呼ぶ。 
3.N個の個体を格納可能な集団を用意する。これを「次世代」と呼ぶ。 
4.評価関数を用いて、現世代の各個体の適応度をそれぞれ計算する。 
5.ある確率で次の3つの操作を行い、その結果を次世代に保存する。 
1) 現世代から2つの個体を選択する。 
2) 選択されれた個体を用いて交叉を行い、子孫(offspring)を生成する。 
3) 交叉によって生成された子孫に対して、突然変異を適用する。 
6.次世代の個体数がN個になるまで5 の操 作を繰り返す。
33 
4.評価関数を用いて、現世代の各個体の適応度をそれぞれ計算する。 
5.ある確率で次の3つの操作を行い、その結果を次世代に保存する。 
1) 現世代から2つの個体を選択する。 
2) 選択されれた個体を用いて交叉を行い、子孫(offspring)を生成する。 
3) 交叉によって生成された子孫に対して、突然変異を適用する。 
6.次世代の個体数がN個になるまで5の操作を繰り返す。 
7.次世代を現世代に移行し、命題が収束 するまで3~6の手順を繰り返す。この 結果を「最終世代」と呼ぶ。 命題の収束を判定する方法として・・・
34 
7.次世代を現世代に移行し、命題が収束するまで3~6の手順を繰り返す。 この結果を「最終世代」と呼ぶ。 命題の収束を判定する方法として、以下のよ うな場合が用いられる。 
•集団中の最大適応度が、ある閾値より大き くなった場合 
•集団全体の平均適応度が、ある閾値より大 きくなった場合 
•集団の適応度増加率が、ある閾値以下の世 代が一定期間続いた場合 
•世代交代の回数が規定の最大世代数に達し た場合
35 
7.次世代を現世代に移行し、命題が収束するまで3~6の手順を繰り返す。 この結果を「最終世代」と呼ぶ。 命題の収束を判定する方法として、以下のような場合が用いられる。 
・集団中の最大適応度が、ある閾値より大きくなった場合 
・集団全体の平均適応度が、ある閾値より大きくなった場合 
・集団の適応度増加率が、ある閾値以下の世代が一定期間続いた場合 
・世代交代の回数が規定の最大世代数に達した場合 
8.最終世代の中で最も適応度の高い個体 を「解」として出力する。
ChromosomeEncodings 
36
37 
解の特徴を 遺伝子として表現する
38 
バイナリエンコーディング (binary encoding) 順列エンコーディング (permutation encoding) 
実数値エンコーディング (real encoding) 
木構造エンコーディング (tree encoding)
39 
バイナリエンコーディング (binary encoding) 順列エンコーディング (permutation encoding) 
実数値エンコーディング (real encoding) 
木構造エンコーディング (tree encoding)
40 
バイナリエンコーディング (binary encoding) 
各遺伝子を0, 1のビットと して表現する符号化方法
41 
バイナリエンコーディング (binary encoding) 
染色体A1001011101101 
染色体B 1010011010111
42 
バイナリエンコーディング (binary encoding) 順列エンコーディング (permutation encoding) 
実数値エンコーディング (real encoding) 
木構造エンコーディング (tree encoding)
43 
順列エンコーディング (permutation encoding) 
各遺伝子を順序を示す数字 として表現する符号化方法
44 
順列エンコーディング (permutation encoding) 
染色体A2 7 6 4 1 8 3 5 9 
染色体B 4 6 1 9 5 7 3 8 2
45 
順列エンコーディング (permutation encoding) 
巡回セールスマン問題や仕事 の順序などの並べ替え問題の 表現に用いられる
46 
バイナリエンコーディング (binary encoding) 順列エンコーディング (permutation encoding) 
実数値エンコーディング (real encoding) 
木構造エンコーディング (tree encoding)
47 
実数値エンコーディング (real encoding) 
各遺伝子を数値(または文字) として表現する符号化方法
48 
実数値エンコーディング (real encoding) 
染色体A0.51 2.83 3.12 1.50 
染色体B AGTCATGCAGCATTA 
染色体C 前進前進右後退左
49 
実数値エンコーディング (real encoding) 
実数値データなど、バイナリ エンコーディングでは表現が 難しい場合に用いる
50 
バイナリエンコーディング (binary encoding) 順列エンコーディング (permutation encoding) 
実数値エンコーディング (real encoding) 
木構造エンコーディング (tree encoding)
51 
木構造エンコーディング (tree encoding) 
染色体を1本の紐(配列)で はなく、木構造データとして 表現する符号化方法
52 
木構造エンコーディング (tree encoding) 
+ 
α 
× 
β 
2 
染色体A 
α+(β×2) 
表現型
53 
木構造エンコーディング (tree encoding) 
遺伝的プログラミング(Genetic Programming; GP)や進化的プロ グラミング(Evolutionary Programming; EP)などの表現に 用いられる
EncodingExamples 
54
55 
ナップザック問題 (Knapsack Problem) 
容量Cのナップザックが1つと、各々の 価値がPi、容積がCiであるところのn個 の品物Eiが与えられたとき、Cを超えな い範囲でいくつかの品物をナップザック に詰め、入れた品物の価値の和を最大 化するにはどの品物を選べばよいか?
56 
ナップザック問題を バイナリエンコーディングで表現してみる
57 
n個の荷物→ 遺伝子長(L) = n 
i番目の荷物→ 遺伝子座(p) = i 
荷物Eiを入れる→ 遺伝子[i]= 1 
荷物Eiを入れない→ 遺伝子[i] = 0 
適応度→ 持っている荷物の総価値 
ナップザック問題
58 
荷物 
E1 
E2 
E3 
E4 
E5 
E6 
E7 
… 
En 
重さ(Ci) 
Kg 
0.9 
1.1 
0.7 
1.4 
0.5 
1.3 
1.1 
1.6 
価値(Pi) 
$ 
1.0 
1.3 
0.9 
1.5 
0.5 
1.1 
1.2 
1.4 
遺伝子表現 
[ 
1 
0 
0 
1 
0 
1 
0 
… 
0 
] 
重さ≦C 
Kg 
0.9 
+ 
1.4 
+ 
1.3 
+ 
… 
適応度 
1.0 
+ 
1.5 
+ 
1.1 
+ 
… 
ナップザック問題
59 
循環セールスマン問題 (TravellingSalesman Problem) 
n個の都市Ciと、それぞれの都市間の 距離Di,jが与えられているとき、最初の 都市を出発し、全ての都市を経由して、 同じ都市に戻ってくるルートのうち、最 短のルートを求めよ。
60 
循環セールスマン問題を 
順列エンコーディングで表現してみる
61 
n個の都市→ 遺伝子長(L) = n 
i番目に訪れる→ 遺伝子座(p) = i 
都市Cx→ 遺伝子[i]= x 
適応度→ 循環ルートの総距離 
循環セールスマン問題
62 
ルート 
1 
2 
3 
4 
5 
6 
7 
… 
n 
訪れる都市 
C5 
C8 
C2 
C7 
C9 
C1 
C3 
C4 
次の都市ま での距離 
D5,8 
D8,2 
D2,7 
D7,9 
D9,2 
D1,3 
D3,x 
C4,5 
遺伝子表現 
[ 
5 
8 
2 
7 
9 
1 
3 
… 
4 
] 
適応度 1D5,8+D8,2+D2,7+D7,9+D9,2+D1,3+D3,x+…+C4,5 
循環セールスマン問題
GeneticOperations 
63
64 
選択 (selection) 
交叉 (crossover) 
突然変異 (mutation) 
繁殖 (reproduction)
繁殖 (reproduction) 
65 
選択 (selection) 
交叉 (crossover) 
突然変異 (mutation)
66 
適応度に基づいて、個体を増やし たり減らしたりするための対象を 選び出す操作。 
生物の自然淘汰をモデル化したも の。 
選択(selection)
67 
ルーレット方式 (roulette wheel selection) 
ランキング方式 (ranking selection) 
トーナメント方式 (tournament selection) 
エリート主義 (elitism)
68 
ルーレット方式 (roulette wheel selection) 
ランキング方式 (ranking selection) 
トーナメント方式 (tournament selection) 
エリート主義 (elitism)
69 
集団をルーレット盤に見立て、ラ ンダムな選択を行う方式。 
各個体の適応度が、ルーレット盤 の面積と比例しており、適応度が 高い染色体ほど選ばれる確率が高 くなる。 
ルーレット方式 (roulette wheel selection)
70 
ルーレット方式 (roulette wheel selection) 
個体 
適応度 
A 
32 
B 
12 
C 
24 
D 
18 
E 
10
71 
푝푖= 푓푖 푛=1 푁푓푛 
푝푖:= ある個体が選択される確率 
푓푖:= 個体の適応度、푁:= 集団サイズ 
ルーレット方式 (roulette wheel selection)
72 
適応度が正であることが前提。 
個体間の適応度の差が大きい場合、 適応度の高い個体の選ばれる確率 が高くなりすぎ、局所的な最適解 への初期収束の原因となる。 
ルーレット方式 (roulette wheel selection)
73 
ルーレット方式 (roulette wheel selection) 
ランキング方式 (ranking selection) 
トーナメント方式 (tournament selection) 
エリート主義 (elitism)
74 
ルーレット方式の変形。 
適応度によって各個体のランク付 けを行い、「1位なら確率푝1、2位 なら確率푝2、・・・」と事前に決 められた確率を適用する方式。 
ランキング方式 (ranking selection)
75 
ランキング方式 (ranking selection) 
個体 
適応度 
A 
32 
B 
12 
C 
24 
D 
18 
E 
10 
順位 
選択確率 
1 
0.30 
2 
0.20 
3 
0.20 
4 
0.15 
5 
0.15
76 
個体間の適応度の差が選択確率に 影響されないが、適応度に差がな い個体であっても選択確率に大き な差が生じる可能性がある。 
ランク付けを行うためには世代毎 にソートを行うことが必要。 
ランキング方式 (ranking selection)
77 
ルーレット方式 (roulette wheel selection) 
ランキング方式 (ranking selection) 
トーナメント方式 (tournament selection) 
エリート主義 (elitism)
78 
予め決めた個体数(トーナメント サイズ)をランダムに抽出し、そ の中で最も適応度の高い個体を選 択する方式。 
トーナメント方式 (tournament selection)
79 
トーナメントサイズを変更するこ とで、選択圧をコントロールする ことが可能。 
トーナメントサイズを大きくする ことで選択圧を高めることができ るが、初期収束の原因となる。 
トーナメント方式 (tournament selection)
80 
ルーレット方式 (roulette wheel selection) 
ランキング方式 (ranking selection) 
トーナメント方式 (tournament selection) 
エリート主義 (elitism)
81 
予め決めた個数の、最も適応度の 高い個体をそのまま次世代にコ ピーする。 
エリート主義 (elitism)
82 
世代間で適応度の最大値が下がら ないことが保証される。 
エリートの遺伝子が集団の中で広 まりすぎて、解の多様性が失われ る。 
エリート主義 (elitism)
繁殖 (reproduction) 
83 
交叉 (crossover) 
選択 (selection) 
突然変異 (mutation)
84 
選ばれた2つの個体の遺伝子の一 部を入れ替える操作。 
生物の交配をモデル化したもの。 
交叉(crossover)
85 
各々の染色体において、交叉が発 生する確率。 
通常、80%~95%として設定する。 
交叉確率(Pc)
86 
基本的な交叉方式
87 
一点交叉 (single point crossover) 
二点交叉 (two-point crossover) 
多点交叉 (multi-point crossover) 
一様交叉 (uniformcrossover) 
基本的な交叉
88 
一点交叉 (single point crossover) 
二点交叉 (two-point crossover) 
多点交叉 (multi-point crossover) 
一様交叉 (uniformcrossover) 
基本的な交叉
89 
遺伝子が交叉する場所(交叉点; crossover point)をランダムに決定 し、その場所より後ろの遺伝子を 入れ替える。 
一点交叉 (single point crossover) 
基本的な交叉
90 
染色体1 
1001011101101 
染色体2 
1010011010111 
子孫1 
1001011010111 
子孫2 
1010011101101 
一点交叉 (single point crossover) 
基本の交叉
91 
効率が低いため、現在はあまり 用いられていない。 
一点交叉 (single point crossover) 
基本的な交叉
92 
一点交叉 (single point crossover) 
二点交叉 (two-point crossover) 
多点交叉 (multi-point crossover) 
一様交叉 (uniformcrossover) 
基本的な交叉
93 
2つの交叉点をランダムに決定し、 その間の遺伝子を入れ替える。 
二点交叉 (two-point crossover) 
基本的な交叉
94 
染色体1 
1001011101101 
染色体2 
1010011010111 
子孫1 
1001011011101 
子孫2 
1010011100111 
二点交叉 (two-point crossover) 
基本的な交叉
95 
一点交叉 (single point crossover) 
二点交叉 (two-point crossover) 
多点交叉 (multi-point crossover) 
一様交叉 (uniformcrossover) 
基本的な交叉
96 
3つ以上の交叉点をもつ方法。 
二点交叉や一様交叉より良い値が 得られることが殆どないため、あ まり用いられていない。 
多点交叉 (multi-point crossover) 
基本的な交叉
97 
一点交叉 (single point crossover) 
二点交叉 (two-point crossover) 
多点交叉 (multi-point crossover) 
一様交叉 (uniformcrossover) 
基本的な交叉
98 
各遺伝子のそれぞれを所定の確率 (通常は1/2)で入れ替える。 
一様交叉 (uniformcrossover) 
基本的な交叉
99 
染色体1 
1001011101101 
染色体2 
1010011010111 
子孫1 
1011011001101 
子孫2 
1000011110111 
一様交叉 (uniformcrossover) 
基本的な交叉
100 
2点交叉が得意とする問題を苦手 とし、逆の性質を示す。 
ヒッチハイキング問題への対策と して用いられる。 
一様交叉 (uniformcrossover) 
基本的な交叉
101 
順列エンコーディングに 
対応した交叉方式
102 
同じ遺伝子が 
重複しないこと 
順列の交叉
103 
循環交叉 (cycle crossover; CX) 
順序交叉 (order crossover; OX) 
一様順序交叉 (order-based crossover; OX2) 
一様位置交叉 (position-based crossover; POX) 
順列の交叉
104 
部分写像交叉 (partially mapped crossover; PMX) 
サブツアー交換交叉 
(subtourexchange crossover; SXX) 
辺組換え交叉 
(edge recombination crossover; ERX) 
枝組立て交叉 
(edge assembly crossover; EAX) 
順列の交叉
105 
循環交叉 (cycle crossover; CX) 
順序交叉 (order crossover; OX) 
一様順序交叉 (order-based crossover; OX2) 
一様位置交叉 (position-based crossover; POX) 
順列の交叉
106 
双方の親から重複しない組み合わ を選んで、遺伝子の一部ずつを受 け継ぐ。 
循環交叉 (cycle crossover; CX) 
順列の交叉
107 
染色体1 
1 2 3 4 5 6 7 8 9 
染色体2 
8 41 25 7 9 3 6 
サイクル# 
1 
2 
1 
2 
3 
4 
4 
1 
4 
子孫1 
143257 986 
子孫2 
8 21456739 
循環交叉 (cycle crossover; CX) 
順列の交叉
108 
循環交叉 (cycle crossover; CX) 
順序交叉 (order crossover; OX) 
一様順序交叉 (order-based crossover; OX2) 
一様位置交叉 (position-based crossover; POX) 
順列の交叉
109 
片方の親からは一部をそのまま受 け継ぎ、残りの部分についてはも う片方の親から相対的な順序を受 け継ぐ。 
順序交叉 (order crossover; OX) 
順列の交叉
110 
染色体1 
1 2 3 4 5 6 7 8 9 
染色体2 
8 4 2 75 1 9 3 6 
子孫1 
1 2 3 48 7 5 9 6 
子孫2 
84 2 7 1 3 5 6 9 
順序交叉 (order crossover; OX) 
順列の交叉
111 
循環交叉 (cycle crossover; CX) 
順序交叉 (order crossover; OX) 
一様順序交叉 (order-based crossover; OX2) 
一様位置交叉 (position-based crossover; POX) 
順列の交叉
112 
一様順序交叉 (order-based crossover; OX2) 
順列の交叉 
一様に選んだ遺伝座について、一 方の親の遺伝子の出現順序に従っ て、他方の親の遺伝子を並べ替え たものを受け継ぐ。
113 
染色体1 
1 2 3 4 5 6 7 8 9 
染色体2 
8 42 75 1 9 3 6 
子孫1 
4 2 37 5 61 89 
子孫2 
8 2 4 65 1 9 3 7 
一様順序交叉 (order-based crossover; OX2) 
順列の交叉
114 
循環交叉 (cycle crossover; CX) 
順序交叉 (order crossover; OX) 
一様順序交叉 (order-based crossover; OX2) 
一様位置交叉 (position-based crossover; POX) 
順列の交叉
115 
一様位置交叉 (position-based crossover; POX) 
順列の交叉 
一様に選んだ遺伝子を入れ替え、 残りの遺伝子については親と同じ 相対順序になるように配置する。
116 
染色体1 
1 2 3 4 5 6 7 8 9 
染色体2 
8 4 2 75 1 9 3 6 
子孫1 
24 37 51 96 8 
子孫2 
82541 6 79 3 
一様位置交叉 (position-based crossover; POX) 
順列の交叉
117 
部分写像交叉 (partially mapped crossover; PMX) 
サブツアー交換交叉 
(subtourexchange crossover; SXX) 
辺組換え交叉 
(edge recombination crossover; ERX) 
枝組立て交叉 
(edge assembly crossover; EAX) 
順列の交叉
118 
部分写像交叉 (partially mapped crossover; PMX) 
順列の交叉 
片方の親P1からは一部をそのまま受け継 ぎ、残りの部分についてはもう片方の親 P2から重複しない遺伝子をそのまま受け 継ぐ。 重複する遺伝子については、P1上で該当 する遺伝子が占める遺伝子座を求め、P2 上の同じ遺伝子座に存在する遺伝子を受 け継ぐ。
119 
染色体1 
1 2 3 4 5 6 7 8 9 
染色体2 
8 4 9 75 1 2 3 6 
子孫1 
1 2 3 45 8 7 96 
子孫2 
84 9 7 5 6 2 1 3 
部分写像交叉 (partially mapped crossover; PMX) 
順列の交叉
120 
部分写像交叉 (partially mapped crossover; PMX) 
サブツアー交換交叉 
(subtourexchange crossover; SXX) 
辺組換え交叉 
(edge recombination crossover; ERX) 
枝組立て交叉 
(edge assembly crossover; EAX) 
順列の交叉
121 
サブツアー交換交叉 
(subtourexchange crossover; SXX) 
順列の交叉 
それぞれの親の間である共通する 数字の組み合わせからなる部分順 列が存在する場合に、それを交換 する。さらに入れ替えた部分順列 を逆にしたものを含め、合計4個 の子を生成する。
122 
染色体1 
1 2 3 4 5 6 7 8 9 
染色体2 
8 1 7 534 2 9 6 
子孫1 
1534 2 6 7 8 9 
子孫2 
8 1 7 2 3 4 59 6 
子孫3 
1243 5 6 7 8 9 
子孫4 
8 1 7 5 4 3 29 6 
サブツアー交換交叉 
(subtourexchange crossover; SXX) 
順列の交叉
123 
部分写像交叉 (partially mapped crossover; PMX) 
サブツアー交換交叉 
(subtourexchange crossover; SXX) 
辺組換え交叉 
(edge recombination crossover; ERX) 
枝組立て交叉 
(edge assembly crossover; EAX) 
順列の交叉
124 
辺組換え交叉 
(edge recombination crossover; ERX) 
順列の交叉 
順列の繋がり(辺)に着目した交叉 方法。双方の親が共通して保有す る辺をなるべく多く受け継ぐよう に子を生成する。
125 
辺組換え交叉 
(edge recombination crossover; ERX) 
順列の交叉
126 
部分写像交叉 (partially mapped crossover; PMX) 
サブツアー交換交叉 
(subtourexchange crossover; SXX) 
辺組換え交叉 
(edge recombination crossover; ERX) 
枝組立て交叉 
(edge assembly crossover; EAX) 
順列の交叉
127 
枝組立て交叉 
(edge assembly crossover; EAX) 
順列の交叉 
両親のいずれかが保有する辺のみ を用いて複数のサブツアーに分割 された不完全解を生成する。 
サブツアー間を、なるべく短い辺 を用いて接続しなおすことで完全 解を含む子を生成する。
128 
枝組立て交叉 
(edge assembly crossover; EAX) 
順列の交叉
129 
枝組立て交叉 
(edge assembly crossover; EAX) 
順列の交叉 
経路問題への適用として、計算コ ストと精度の両面から、現時点に おいて最も優れた方法とされてい る。
130 
その他の交叉方式
131 
算術交叉 (arithmetic crossover) 
平均化交叉 
ブレンド交叉(BLX-α) 
単峰性正規分布交叉(UNDX) 
シンプレックス交叉(SPX) 
その他の交叉
132 
突然変異 (mutation) 
選択 (selection) 
交叉 (crossover) 
繁殖 (reproduction)
133 
個体の遺伝子の一部をランダムに 変化させる。 
生物における突然変異をモデル化 したもの。 
局所解に陥ることを防ぐ効果があ る。 
突然変異(mutation)
134 
各々の染色体において、突然変異が 発生する確率。 
通常、0.1%~1%、高くても数%とし て設定する。 
確率が低すぎると局所解に陥りやす くなり、高すぎるとランダム探索に 近づいて解が収束しにくくなる。 
変異確率(Pm)
135 
置換(substitution) 
摂動(perturbation) 
交換(swap) 
逆位(inversion) 
撹拌(scramble) 
転座(translocation)
136 
重複(duplication) 
挿入(insertion) 
欠失(deficiency; deletion)
137 
置換(substitution) 
ランダムに選ばれた遺伝子を対立 遺伝子に置き換える。 
染色体 
1001011101101 
変異後 
1000011111101
138 
摂動(perturbation) 
ランダムに選ばれた遺伝子の値に 微量値を加算(または減算)する。 
染色体 
0.51 2.83 3.12 1.50 
変異後 
0.512.763.12 1.50
139 
交換(swap) 
ランダムに選ばれた2つの遺伝子 を入れ替える。 
染色体 
12 3 4 5 6 7 8 9 
変異後 
1 2 64 5 37 8 9
140 
逆位(inversion) 
ランダムに選ばれた2点間の遺伝 子を逆順に並べ替える。 
染色体 
1001011101101 
変異後 
1000111011101
141 
撹拌(scramble) 
ランダムに選ばれた2点間の遺伝 子をランダムに並べ替える。 
染色体 
1001011101101 
変異後 
1000110111101
142 
転座(translocation) 
ランダムに選ばれた2点間の遺伝 子を別の遺伝子座に移動する。 
染色体 
1001011101101 
変異後 
1001110111001
143 
重複(duplication) 
ランダムに選ばれた2点間の遺伝 子を別の遺伝子座に複製する。 
染色体 
1001011101101 
変異後 
1011011101101101 
遺伝子長が変化
144 
挿入(insertion) 
ランダムに選ばれた場所に任意の 遺伝子を挿入する。 
染色体 
1001011101101 
変異後 
100100111101101 
遺伝子長が変化
145 
欠失(deficiency; deletion) 
ランダムに選ばれた遺伝子を削除 する。 
染色体 
1001011101101 
変異後 
1000111101 
遺伝子長が変化
New Generation AlternationModel(世代交代モデル) 
146
147 
離散世代モデル (discrete generation model) 
連続世代モデル 
(continuous generation model)
148 
離散世代モデル (discrete generation model) 
連続世代モデル 
(continuous generation model)
149 
離散世代モデル (discrete generation model) 
全ての個体が一斉に繁殖を行い、 現世代集合全体が次世代集合に置 き換えられるモデル。 
世代間における個体のオーバー ラップが存在しない。
150 
単純GAモデル (simple GA) 
ルーレット選択と交叉・突然変異を 用いて、親世代と同数の子個体を生 成し、子個体のみを次世代として残 す。 
初期収束による局所解の発生や、進 化的停滞が起こりやすい。 
離散世代モデル
151 
離散世代モデル (discrete generation model) 
連続世代モデル 
(continuous generation model)
152 
連続世代モデル 
(continuous generation model) 
現在の世代のうち一定の割合の個 体だけを入れ替え、のこりはその まま次世代に残すモデル。
153 
世代ギャップ (generation gap) 
離散世代モデルにおいて、各世代の 個体のうち次世代と入れ替えるもの の割合。 
離散世代モデル
154 
定常状態モデル (steady state) 
1世代につき1組(2個)の親個体 から子個体を生成し、現世代のうち 最も適応度の低い個体と入れ替える。 
離散世代モデル
155 
世代間最小ギャップモデル (minimum generation gap; elitist recombination) 
ランダムに選択された親個体2個と、 そこから作られる子個体2個を1つの 「家族」とする。 
家族の中でエリート選択とルーレット 選択により、2個体を次世代に残す。 
これを家族の数だけ繰り返す。 
離散世代モデル
156 
世代間最小ギャップモデル (minimum generation gap; elitist recombination) 
親子個体の選択を適応度を考慮せずに ランダムに行うため、多様性維持に優 れており、初期収束が起こりにくい。 
家族内で選択を行うため、計算負荷が 軽く、並列計算への適応もしやすい。 
離散世代モデル
KnownIssues 
157
158 
初期収束 
ヒッチハイキング
159 
初期収束 
ヒッチハイキング
160 
初期収束 
最初の方の世代で「偶然」他の個 体より適応度が圧倒的に高い個体 が生じた場合、その個体の遺伝子 が集団中に爆発的に増えて、探索 がかなり早い段階で収束してしま う現象。
161 
各パラメータを繰り返し設定し なおしてトライするしかない。 
初期収束への対策
162 
•集団数を増やす 
•ランキングの選択確率を変更す る 
•トーナメントサイズを縮小する 
•突然変異率を増やす 
•適用する問題にたいして効果的 となるよう、突然変異操作を変 更する 
初期収束への対策
163 
大変異 
あらかじめ定めた条件に応じて、 特定の世代においてのみ突然変 異率を急激に高める方法。 
自然界における環境の激変(隕 石の激突など)に相当する。 
初期収束への対策
164 
初期収束への対策 
大変異 
0% 
10% 
20% 
30% 
40% 
50% 
60% 
1 
100 
200 
300 
400 
500 
例えば… 
通常1%に設定した突然変異率を、 
100で割り切れる世代のみ50%とする。
165 
適応変異 
親個体間の不一致度合い(ハミ ング距離)に応じて、生成され た子個体の突然変異率を変化さ せる。 
初期収束への対策
166 
初期収束への対策 
適応変異 
染色体1 
1001011101101 
染色体2 
1010011010111 
染色体1 
1001011101101 
染色体2 
1000011100111 
ハミング距離=6→ 突然変異率=1% 
ハミング距離=2→ 突然変異率=8% 
例えば…
167 
初期収束 
ヒッチハイキング
168 
ヒッチハイキング 
遺伝子操作時に最適解と一致しな い遺伝子が混入してしまうことに よって最適解の生成を妨げる現象。 
2点交叉で発生しやすい。
169 
最適解= …11110100000… 
に対して、 
親1= …11110000000… 
親2 = …11111110000… 
が交叉して 
最適解を得られる確率p は・・・ 
ヒッチハイキング
170 
二点交叉の場合、 
푝= 2 퐿(퐿−1) 
(L=遺伝子長) 
遺伝子長が増加するにつれて、 
加速度的に確率が低下する。 
ヒッチハイキング
171 
しかし、 一様交叉であれば、 
푝= 223= 14 
となり、遺伝子長に依存しない。 
ヒッチハイキング
Summary 
172
173 
GAとは、 
生物の遺伝を模したアルゴリズム。 
適者生存による自然淘汰で最適解 を探索することができる。 
対象となる問題に関する数学的な 知識がない場合でも適用が可能。 
まとめ
174 
問題の性質に適したエンコーディ ングと交叉方法を選ぶことが重要。 
組み合わせの増加などにより指数 関数的に複雑さが増加する問題に 対しても、線形的な時間増加で探 索を行うことができる。 
まとめ
175 
局所最適解への収束を防ぐために、 
状態に応じて突然変異の方法や、 確率、トーナメントサイズなどの パラメータを変えることも必要。 
まとめ
176 
GAで 
いろいろな問題を 
解いてみよう! 
まとめ
177 
Genetic Algorithms Programing Library for JavaScript 
https://github.com/kzokm/ga.js 
Samples of Genetic Algorithm 
http://ga-samples.herokuapp.com/
Copyright ©2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 
http://aitc.jp 
https://www.facebook.com/aitc.jp 
ハルミン 
AITC非公式イメージキャラクター

More Related Content

What's hot

ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement LearningPreferred Networks
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep LearningSeiya Tokui
 
最適化計算の概要まとめ
最適化計算の概要まとめ最適化計算の概要まとめ
最適化計算の概要まとめYuichiro MInato
 
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)Preferred Networks
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデルMasahiro Suzuki
 
幾何と機械学習: A Short Intro
幾何と機械学習: A Short Intro幾何と機械学習: A Short Intro
幾何と機械学習: A Short IntroIchigaku Takigawa
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験克海 納谷
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識佑 甲野
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方Shinagawa Seitaro
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門hoxo_m
 
ベイズ最適化
ベイズ最適化ベイズ最適化
ベイズ最適化MatsuiRyo
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するTakahiro Kubo
 
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​SSII
 
Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Shohei Taniguchi
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object DetectionDeep Learning JP
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAGIRobots
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量takaya imai
 

What's hot (20)

ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 
最適化計算の概要まとめ
最適化計算の概要まとめ最適化計算の概要まとめ
最適化計算の概要まとめ
 
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
 
幾何と機械学習: A Short Intro
幾何と機械学習: A Short Intro幾何と機械学習: A Short Intro
幾何と機械学習: A Short Intro
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
 
AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方AHC-Lab M1勉強会 論文の読み方・書き方
AHC-Lab M1勉強会 論文の読み方・書き方
 
深層強化学習と実装例
深層強化学習と実装例深層強化学習と実装例
深層強化学習と実装例
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
 
ベイズ最適化
ベイズ最適化ベイズ最適化
ベイズ最適化
 
モデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留するモデルではなく、データセットを蒸留する
モデルではなく、データセットを蒸留する
 
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
 
Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)
 
[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection[DL輪読会]Focal Loss for Dense Object Detection
[DL輪読会]Focal Loss for Dense Object Detection
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門まで
 
画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量画像認識の初歩、SIFT,SURF特徴量
画像認識の初歩、SIFT,SURF特徴量
 

Viewers also liked

できる!遺伝的アルゴリズム
できる!遺伝的アルゴリズムできる!遺伝的アルゴリズム
できる!遺伝的アルゴリズムMaehana Tsuyoshi
 
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)Youichiro Miyake
 
「エンターテインメント、人工知能、ゲームマスター」
「エンターテインメント、人工知能、ゲームマスター」「エンターテインメント、人工知能、ゲームマスター」
「エンターテインメント、人工知能、ゲームマスター」Youichiro Miyake
 
ゲームAI製作のためのワークショップ(I)
ゲームAI製作のためのワークショップ(I)ゲームAI製作のためのワークショップ(I)
ゲームAI製作のためのワークショップ(I)Youichiro Miyake
 
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)Youichiro Miyake
 
Paper intoduction "Playing Atari with deep reinforcement learning"
Paper intoduction   "Playing Atari with deep reinforcement learning"Paper intoduction   "Playing Atari with deep reinforcement learning"
Paper intoduction "Playing Atari with deep reinforcement learning"Hiroshi Tsukahara
 
"Playing Atari with Deep Reinforcement Learning"
"Playing Atari with Deep Reinforcement Learning""Playing Atari with Deep Reinforcement Learning"
"Playing Atari with Deep Reinforcement Learning"mooopan
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要Kenji Urai
 
ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用nishio
 
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)sleepy_yoshi
 
実戦投入する機械学習
実戦投入する機械学習実戦投入する機械学習
実戦投入する機械学習Takahiro Kubo
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
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 RLNaoto Yoshida
 
Chainer Development Plan 2015/12
Chainer Development Plan 2015/12Chainer Development Plan 2015/12
Chainer Development Plan 2015/12Seiya Tokui
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデルYuta Kashino
 
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例Jun-ya Norimatsu
 
Chainer Contribution Guide
Chainer Contribution GuideChainer Contribution Guide
Chainer Contribution GuideKenta Oono
 
ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法Yuko Fujiyama
 
Lighting talk chainer hands on
Lighting talk chainer hands onLighting talk chainer hands on
Lighting talk chainer hands onOgushi Masaya
 
Chainer入門と最近の機能
Chainer入門と最近の機能Chainer入門と最近の機能
Chainer入門と最近の機能Yuya Unno
 

Viewers also liked (20)

できる!遺伝的アルゴリズム
できる!遺伝的アルゴリズムできる!遺伝的アルゴリズム
できる!遺伝的アルゴリズム
 
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)
 
「エンターテインメント、人工知能、ゲームマスター」
「エンターテインメント、人工知能、ゲームマスター」「エンターテインメント、人工知能、ゲームマスター」
「エンターテインメント、人工知能、ゲームマスター」
 
ゲームAI製作のためのワークショップ(I)
ゲームAI製作のためのワークショップ(I)ゲームAI製作のためのワークショップ(I)
ゲームAI製作のためのワークショップ(I)
 
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
 
Paper intoduction "Playing Atari with deep reinforcement learning"
Paper intoduction   "Playing Atari with deep reinforcement learning"Paper intoduction   "Playing Atari with deep reinforcement learning"
Paper intoduction "Playing Atari with deep reinforcement learning"
 
"Playing Atari with Deep Reinforcement Learning"
"Playing Atari with Deep Reinforcement Learning""Playing Atari with Deep Reinforcement Learning"
"Playing Atari with Deep Reinforcement Learning"
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要
 
ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用
 
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)
 
実戦投入する機械学習
実戦投入する機械学習実戦投入する機械学習
実戦投入する機械学習
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
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
 
Chainer Development Plan 2015/12
Chainer Development Plan 2015/12Chainer Development Plan 2015/12
Chainer Development Plan 2015/12
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 
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 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
 
Chainer入門と最近の機能
Chainer入門と最近の機能Chainer入門と最近の機能
Chainer入門と最近の機能
 

Similar to 遺伝的アルゴリズム (Genetic Algorithm)を始めよう!

集合知プログラミング5章前半
集合知プログラミング5章前半集合知プログラミング5章前半
集合知プログラミング5章前半Atsushi Hayakawa
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう! 【簡略版】
遺伝的アルゴリズム(Genetic Algorithm)を始めよう! 【簡略版】遺伝的アルゴリズム(Genetic Algorithm)を始めよう! 【簡略版】
遺伝的アルゴリズム (Genetic Algorithm)を始めよう! 【簡略版】Kazuhide Okamura
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
Santa fe trail 入門のお話
Santa fe trail 入門のお話Santa fe trail 入門のお話
Santa fe trail 入門のお話Takamasa Saichi
 
Genetic algorithm full scratch with R
Genetic algorithm full scratch with RGenetic algorithm full scratch with R
Genetic algorithm full scratch with RSatoshi Kato
 
20141211柏セミナー
20141211柏セミナー20141211柏セミナー
20141211柏セミナーastanabe
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageTaku Miyakawa
 
130323 slide all
130323 slide all130323 slide all
130323 slide allikea0064
 
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz..."Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...nkazuki
 
Survival analysis0702 2
Survival analysis0702 2Survival analysis0702 2
Survival analysis0702 2Nobuaki Oshiro
 
深層学習 - 画像認識のための深層学習 ①
深層学習 - 画像認識のための深層学習 ①深層学習 - 画像認識のための深層学習 ①
深層学習 - 画像認識のための深層学習 ①Shohei Miyashita
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係についてDeep Learning JP
 
サマーセミナー2016: 遺伝アルゴリズムによるナビゲーション
サマーセミナー2016: 遺伝アルゴリズムによるナビゲーションサマーセミナー2016: 遺伝アルゴリズムによるナビゲーション
サマーセミナー2016: 遺伝アルゴリズムによるナビゲーション奈良先端大 情報科学研究科
 
ゲノム育種を実装・利用するためのNGSデータ解析
ゲノム育種を実装・利用するためのNGSデータ解析ゲノム育種を実装・利用するためのNGSデータ解析
ゲノム育種を実装・利用するためのNGSデータ解析Hiromi Kajiya-Kanegae
 

Similar to 遺伝的アルゴリズム (Genetic Algorithm)を始めよう! (20)

集合知プログラミング5章前半
集合知プログラミング5章前半集合知プログラミング5章前半
集合知プログラミング5章前半
 
遺伝的アルゴリズム (Genetic Algorithm)を始めよう! 【簡略版】
遺伝的アルゴリズム(Genetic Algorithm)を始めよう! 【簡略版】遺伝的アルゴリズム(Genetic Algorithm)を始めよう! 【簡略版】
遺伝的アルゴリズム (Genetic Algorithm)を始めよう! 【簡略版】
 
Mutation Testing (Aug 2012)
Mutation Testing (Aug 2012)Mutation Testing (Aug 2012)
Mutation Testing (Aug 2012)
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
Santa fe trail 入門のお話
Santa fe trail 入門のお話Santa fe trail 入門のお話
Santa fe trail 入門のお話
 
Genetic algorithm full scratch with R
Genetic algorithm full scratch with RGenetic algorithm full scratch with R
Genetic algorithm full scratch with R
 
20141211柏セミナー
20141211柏セミナー20141211柏セミナー
20141211柏セミナー
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
 
130323 slide all
130323 slide all130323 slide all
130323 slide all
 
Extract and edit
Extract and editExtract and edit
Extract and edit
 
Nips20180127
Nips20180127Nips20180127
Nips20180127
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz..."Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
 
Prml 1.3~1.6 ver3
Prml 1.3~1.6 ver3Prml 1.3~1.6 ver3
Prml 1.3~1.6 ver3
 
Survival analysis0702 2
Survival analysis0702 2Survival analysis0702 2
Survival analysis0702 2
 
深層学習 - 画像認識のための深層学習 ①
深層学習 - 画像認識のための深層学習 ①深層学習 - 画像認識のための深層学習 ①
深層学習 - 画像認識のための深層学習 ①
 
[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について
 
サマーセミナー2016: 遺伝アルゴリズムによるナビゲーション
サマーセミナー2016: 遺伝アルゴリズムによるナビゲーションサマーセミナー2016: 遺伝アルゴリズムによるナビゲーション
サマーセミナー2016: 遺伝アルゴリズムによるナビゲーション
 
Survival analysis0702
Survival analysis0702Survival analysis0702
Survival analysis0702
 
ゲノム育種を実装・利用するためのNGSデータ解析
ゲノム育種を実装・利用するためのNGSデータ解析ゲノム育種を実装・利用するためのNGSデータ解析
ゲノム育種を実装・利用するためのNGSデータ解析
 

More from Kazuhide Okamura

協働プロジェクト「空気を読む家」キッチンにおけるデータ収集
協働プロジェクト「空気を読む家」キッチンにおけるデータ収集協働プロジェクト「空気を読む家」キッチンにおけるデータ収集
協働プロジェクト「空気を読む家」キッチンにおけるデータ収集Kazuhide Okamura
 
いろんなセンサーで 家の中のいろいろなものを測ってみた
いろんなセンサーで 家の中のいろいろなものを測ってみたいろんなセンサーで 家の中のいろいろなものを測ってみた
いろんなセンサーで 家の中のいろいろなものを測ってみたKazuhide Okamura
 
使ってわかる 今どきのdocker超入門
使ってわかる 今どきのdocker超入門使ってわかる 今どきのdocker超入門
使ってわかる 今どきのdocker超入門Kazuhide Okamura
 
気象予報データ(数値予報GPV)を用いた データビジュアライゼーション
気象予報データ(数値予報GPV)を用いたデータビジュアライゼーション気象予報データ(数値予報GPV)を用いたデータビジュアライゼーション
気象予報データ(数値予報GPV)を用いた データビジュアライゼーションKazuhide Okamura
 
マンガ駆動開発のすゝめ
マンガ駆動開発のすゝめマンガ駆動開発のすゝめ
マンガ駆動開発のすゝめKazuhide Okamura
 
ニューラルネットワーク ことはじめ
ニューラルネットワーク ことはじめニューラルネットワーク ことはじめ
ニューラルネットワーク ことはじめKazuhide Okamura
 

More from Kazuhide Okamura (6)

協働プロジェクト「空気を読む家」キッチンにおけるデータ収集
協働プロジェクト「空気を読む家」キッチンにおけるデータ収集協働プロジェクト「空気を読む家」キッチンにおけるデータ収集
協働プロジェクト「空気を読む家」キッチンにおけるデータ収集
 
いろんなセンサーで 家の中のいろいろなものを測ってみた
いろんなセンサーで 家の中のいろいろなものを測ってみたいろんなセンサーで 家の中のいろいろなものを測ってみた
いろんなセンサーで 家の中のいろいろなものを測ってみた
 
使ってわかる 今どきのdocker超入門
使ってわかる 今どきのdocker超入門使ってわかる 今どきのdocker超入門
使ってわかる 今どきのdocker超入門
 
気象予報データ(数値予報GPV)を用いた データビジュアライゼーション
気象予報データ(数値予報GPV)を用いたデータビジュアライゼーション気象予報データ(数値予報GPV)を用いたデータビジュアライゼーション
気象予報データ(数値予報GPV)を用いた データビジュアライゼーション
 
マンガ駆動開発のすゝめ
マンガ駆動開発のすゝめマンガ駆動開発のすゝめ
マンガ駆動開発のすゝめ
 
ニューラルネットワーク ことはじめ
ニューラルネットワーク ことはじめニューラルネットワーク ことはじめ
ニューラルネットワーク ことはじめ
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

遺伝的アルゴリズム (Genetic Algorithm)を始めよう!