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

Kazuhide Okamura
Kazuhide OkamuraTechlier Inc.
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非公式イメージキャラクター
1 of 178

Recommended

劣モジュラ最適化と機械学習1章 by
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章Hakky St
14.9K views49 slides
様々な全域木問題 by
様々な全域木問題様々な全域木問題
様々な全域木問題tmaehara
37.7K views71 slides
Optimizer入門&最新動向 by
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向Motokawa Tetsuya
23K views21 slides
ブラックボックス最適化とその応用 by
ブラックボックス最適化とその応用ブラックボックス最適化とその応用
ブラックボックス最適化とその応用gree_tech
6K views15 slides
線形計画法入門 by
線形計画法入門線形計画法入門
線形計画法入門Shunji Umetani
59.2K views37 slides
大規模な組合せ最適化問題に対する発見的解法 by
大規模な組合せ最適化問題に対する発見的解法大規模な組合せ最適化問題に対する発見的解法
大規模な組合せ最適化問題に対する発見的解法Shunji Umetani
31.4K views51 slides

More Related Content

What's hot

組合せ最適化入門:線形計画から整数計画まで by
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画までShunji Umetani
77K views60 slides
最適輸送の解き方 by
最適輸送の解き方最適輸送の解き方
最適輸送の解き方joisino
21.6K views270 slides
機械学習による統計的実験計画(ベイズ最適化を中心に) by
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
13.1K views216 slides
OSS強化学習フレームワークの比較 by
OSS強化学習フレームワークの比較OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較gree_tech
5.7K views40 slides
機械学習モデルのハイパパラメータ最適化 by
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化gree_tech
27.8K views117 slides
機械学習のためのベイズ最適化入門 by
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門hoxo_m
185.6K views67 slides

What's hot(20)

組合せ最適化入門:線形計画から整数計画まで by Shunji Umetani
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
Shunji Umetani77K views
最適輸送の解き方 by joisino
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
joisino21.6K views
機械学習による統計的実験計画(ベイズ最適化を中心に) by Kota Matsui
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
Kota Matsui13.1K views
OSS強化学習フレームワークの比較 by gree_tech
OSS強化学習フレームワークの比較OSS強化学習フレームワークの比較
OSS強化学習フレームワークの比較
gree_tech5.7K views
機械学習モデルのハイパパラメータ最適化 by gree_tech
機械学習モデルのハイパパラメータ最適化機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
gree_tech27.8K views
機械学習のためのベイズ最適化入門 by hoxo_m
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m185.6K views
最適輸送入門 by joisino
最適輸送入門最適輸送入門
最適輸送入門
joisino11.5K views
最適化超入門 by Takami Sato
最適化超入門最適化超入門
最適化超入門
Takami Sato174.7K views
Greed is Good: 劣モジュラ関数最大化とその発展 by Yuichi Yoshida
Greed is Good: 劣モジュラ関数最大化とその発展Greed is Good: 劣モジュラ関数最大化とその発展
Greed is Good: 劣モジュラ関数最大化とその発展
Yuichi Yoshida8.5K views
幾何を使った統計のはなし by Toru Imai
幾何を使った統計のはなし幾何を使った統計のはなし
幾何を使った統計のはなし
Toru Imai29.5K views
負の二項分布について by Hiroshi Shimizu
負の二項分布について負の二項分布について
負の二項分布について
Hiroshi Shimizu89.5K views
大規模グラフアルゴリズムの最先端 by Takuya Akiba
大規模グラフアルゴリズムの最先端大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端
Takuya Akiba54.4K views
[DL輪読会]Pay Attention to MLPs (gMLP) by Deep Learning JP
[DL輪読会]Pay Attention to MLPs	(gMLP)[DL輪読会]Pay Attention to MLPs	(gMLP)
[DL輪読会]Pay Attention to MLPs (gMLP)
Deep Learning JP16.9K views
Gurobi python by Mikio Kubo
Gurobi pythonGurobi python
Gurobi python
Mikio Kubo14K views
「統計的学習理論」第1章 by Kota Matsui
「統計的学習理論」第1章「統計的学習理論」第1章
「統計的学習理論」第1章
Kota Matsui4.2K views
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling by Deep Learning JP
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
Deep Learning JP2.9K views
計算論的学習理論入門 -PAC学習とかVC次元とか- by sleepy_yoshi
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
sleepy_yoshi19.8K views
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning by Preferred Networks
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
Preferred Networks117.3K views
勉強か?趣味か?人生か?―プログラミングコンテストとは by Takuya Akiba
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
Takuya Akiba71.8K views

Viewers also liked

できる!遺伝的アルゴリズム by
できる!遺伝的アルゴリズムできる!遺伝的アルゴリズム
できる!遺伝的アルゴリズムMaehana Tsuyoshi
58.5K views99 slides
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半) by
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)Youichiro Miyake
6.4K views75 slides
「エンターテインメント、人工知能、ゲームマスター」 by
「エンターテインメント、人工知能、ゲームマスター」「エンターテインメント、人工知能、ゲームマスター」
「エンターテインメント、人工知能、ゲームマスター」Youichiro Miyake
3.4K views263 slides
ゲームAI製作のためのワークショップ(I) by
ゲームAI製作のためのワークショップ(I)ゲームAI製作のためのワークショップ(I)
ゲームAI製作のためのワークショップ(I)Youichiro Miyake
5.3K views260 slides
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半) by
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)Youichiro Miyake
6.1K views103 slides
Paper intoduction "Playing Atari with deep reinforcement learning" by
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
63.4K views28 slides

Viewers also liked(20)

できる!遺伝的アルゴリズム by Maehana Tsuyoshi
できる!遺伝的アルゴリズムできる!遺伝的アルゴリズム
できる!遺伝的アルゴリズム
Maehana Tsuyoshi58.5K views
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半) by Youichiro Miyake
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)
ゲームにおけるニューラルネットワーク「NERO における学習と進化 」(後半)
Youichiro Miyake6.4K views
「エンターテインメント、人工知能、ゲームマスター」 by Youichiro Miyake
「エンターテインメント、人工知能、ゲームマスター」「エンターテインメント、人工知能、ゲームマスター」
「エンターテインメント、人工知能、ゲームマスター」
Youichiro Miyake3.4K views
ゲームAI製作のためのワークショップ(I) by Youichiro Miyake
ゲームAI製作のためのワークショップ(I)ゲームAI製作のためのワークショップ(I)
ゲームAI製作のためのワークショップ(I)
Youichiro Miyake5.3K views
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半) by Youichiro Miyake
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
Youichiro Miyake6.1K views
Paper intoduction "Playing Atari with deep reinforcement learning" by Hiroshi Tsukahara
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 Tsukahara63.4K views
"Playing Atari with Deep Reinforcement Learning" by mooopan
"Playing Atari with Deep Reinforcement Learning""Playing Atari with Deep Reinforcement Learning"
"Playing Atari with Deep Reinforcement Learning"
mooopan62.5K views
LSTM (Long short-term memory) 概要 by Kenji Urai
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要
Kenji Urai42.9K views
ルールベースから機械学習への道 公開用 by nishio
ルールベースから機械学習への道 公開用ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用
nishio92.6K views
SVM実践ガイド (A Practical Guide to Support Vector Classification) by sleepy_yoshi
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_yoshi132.7K views
実戦投入する機械学習 by Takahiro Kubo
実戦投入する機械学習実戦投入する機械学習
実戦投入する機械学習
Takahiro Kubo85.9K views
最近のDeep Learning (NLP) 界隈におけるAttention事情 by Yuta Kikuchi
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
Yuta Kikuchi72.3K views
PFN Spring Internship Final Report: Autonomous Drive by Deep RL by Naoto Yoshida
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
Naoto Yoshida67.4K views
Chainer Development Plan 2015/12 by Seiya Tokui
Chainer Development Plan 2015/12Chainer Development Plan 2015/12
Chainer Development Plan 2015/12
Seiya Tokui91K views
深層学習ライブラリのプログラミングモデル by Yuta Kashino
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
Yuta Kashino99.4K views
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例 by Jun-ya Norimatsu
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
Capitalicoでのchainer 1.1 → 1.5 バージョンアップ事例
Jun-ya Norimatsu94.9K views
Chainer Contribution Guide by Kenta Oono
Chainer Contribution GuideChainer Contribution Guide
Chainer Contribution Guide
Kenta Oono90.5K views
ディープラーニングにおける学習の高速化の重要性とその手法 by Yuko Fujiyama
ディープラーニングにおける学習の高速化の重要性とその手法ディープラーニングにおける学習の高速化の重要性とその手法
ディープラーニングにおける学習の高速化の重要性とその手法
Yuko Fujiyama90.7K views
Lighting talk chainer hands on by Ogushi Masaya
Lighting talk chainer hands onLighting talk chainer hands on
Lighting talk chainer hands on
Ogushi Masaya88.7K views
Chainer入門と最近の機能 by Yuya Unno
Chainer入門と最近の機能Chainer入門と最近の機能
Chainer入門と最近の機能
Yuya Unno110K views

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

集合知プログラミング5章前半 by
集合知プログラミング5章前半集合知プログラミング5章前半
集合知プログラミング5章前半Atsushi Hayakawa
2.7K views27 slides
遺伝的アルゴリズム (Genetic Algorithm)を始めよう! 【簡略版】 by
遺伝的アルゴリズム(Genetic Algorithm)を始めよう! 【簡略版】遺伝的アルゴリズム(Genetic Algorithm)を始めよう! 【簡略版】
遺伝的アルゴリズム (Genetic Algorithm)を始めよう! 【簡略版】Kazuhide Okamura
4.7K views51 slides
Mutation Testing (Aug 2012) by
Mutation Testing (Aug 2012)Mutation Testing (Aug 2012)
Mutation Testing (Aug 2012)Takehiko Murakawa
559 views10 slides
プログラミングコンテストでの乱択アルゴリズム by
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
26.8K views37 slides
Santa fe trail 入門のお話 by
Santa fe trail 入門のお話Santa fe trail 入門のお話
Santa fe trail 入門のお話Takamasa Saichi
1.2K views30 slides
Genetic algorithm full scratch with R by
Genetic algorithm full scratch with RGenetic algorithm full scratch with R
Genetic algorithm full scratch with RSatoshi Kato
2.6K views69 slides

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

集合知プログラミング5章前半 by Atsushi Hayakawa
集合知プログラミング5章前半集合知プログラミング5章前半
集合知プログラミング5章前半
Atsushi Hayakawa2.7K views
遺伝的アルゴリズム (Genetic Algorithm)を始めよう! 【簡略版】 by Kazuhide Okamura
遺伝的アルゴリズム(Genetic Algorithm)を始めよう! 【簡略版】遺伝的アルゴリズム(Genetic Algorithm)を始めよう! 【簡略版】
遺伝的アルゴリズム (Genetic Algorithm)を始めよう! 【簡略版】
Kazuhide Okamura4.7K views
プログラミングコンテストでの乱択アルゴリズム by Takuya Akiba
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba26.8K views
Santa fe trail 入門のお話 by Takamasa Saichi
Santa fe trail 入門のお話Santa fe trail 入門のお話
Santa fe trail 入門のお話
Takamasa Saichi1.2K views
Genetic algorithm full scratch with R by Satoshi Kato
Genetic algorithm full scratch with RGenetic algorithm full scratch with R
Genetic algorithm full scratch with R
Satoshi Kato2.6K views
20141211柏セミナー by astanabe
20141211柏セミナー20141211柏セミナー
20141211柏セミナー
astanabe1.2K views
Kink: invokedynamic on a prototype-based language by Taku Miyakawa
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
Taku Miyakawa1.8K views
130323 slide all by ikea0064
130323 slide all130323 slide all
130323 slide all
ikea0064291 views
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz... by nkazuki
"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...
nkazuki659 views
深層学習 - 画像認識のための深層学習 ① by Shohei Miyashita
深層学習 - 画像認識のための深層学習 ①深層学習 - 画像認識のための深層学習 ①
深層学習 - 画像認識のための深層学習 ①
Shohei Miyashita942 views
[DL輪読会]GQNと関連研究,世界モデルとの関係について by Deep Learning JP
[DL輪読会]GQNと関連研究,世界モデルとの関係について[DL輪読会]GQNと関連研究,世界モデルとの関係について
[DL輪読会]GQNと関連研究,世界モデルとの関係について
Deep Learning JP8.9K views
ゲノム育種を実装・利用するためのNGSデータ解析 by Hiromi Kajiya-Kanegae
ゲノム育種を実装・利用するためのNGSデータ解析ゲノム育種を実装・利用するためのNGSデータ解析
ゲノム育種を実装・利用するためのNGSデータ解析

More from Kazuhide Okamura

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

More from Kazuhide Okamura(6)

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

Recently uploaded

The Things Stack説明資料 by The Things Industries by
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things IndustriesCRI Japan, Inc.
51 views29 slides
JJUG CCC.pptx by
JJUG CCC.pptxJJUG CCC.pptx
JJUG CCC.pptxKanta Sasaki
6 views14 slides
Web3 Career_クレデン資料 .pdf by
Web3 Career_クレデン資料 .pdfWeb3 Career_クレデン資料 .pdf
Web3 Career_クレデン資料 .pdfnanamatsuo
16 views9 slides
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
104 views42 slides
Windows 11 information that can be used at the development site by
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development siteAtomu Hidaka
80 views41 slides

Recently uploaded(11)

The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.51 views
Web3 Career_クレデン資料 .pdf by nanamatsuo
Web3 Career_クレデン資料 .pdfWeb3 Career_クレデン資料 .pdf
Web3 Career_クレデン資料 .pdf
nanamatsuo16 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka80 views
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之94 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda301 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4287 views

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