非言語的認知モデルはオカルトか?ノーマンズランド感覚

2016年07月06日

できるだけわかりやすく説明してみるという実験:(前回の説明がちょっとアレだったので再実験)遺伝的アルゴリズム

これまでこの「できるだけわかりやすく説明してみるという実験」シリーズでは、「プログラマーとは何をする仕事なのか?」や、「アルゴリズムとは何か?」という基本から始めて、「ニューラルネットの基本」やら「人工生命」についてなど、かなり高度な話をしてきたはずなのに、前回、なぜ急に「0と1の世界」という超基本的な話に戻ったのか?

このシリーズで「遺伝的アルゴリズム」について説明した際に、下記の図を用いて、データの"交配"を説明した。 
ga2
この図は、感覚的に伝わるように描いたつもりだったので、なんとなく感覚として、「ああなるほど、交配だなあ」と思っていただけたとは思うが、「あるデータ(=値)を、任意の交差点で交差する」って、伝わっているのだろうか?

いや、ない。
絶対に伝わっていない。 

と思ったので再実験がしたくて、そのための予備知識として「0と1の世界」をまずは説明した。 
その要点としては、 
  • 「コンピュータは0と1の世界」とよく言うが、これはオン/オフのことである。
  • 電球が3つあれば、0〜7までの8つの数を表すことができる。
つまり、0/1の状態を持ったもの(たとえば電球)がn個あれば、0から(2のn乗-1)までの数を表すことができる、ということである。
コンピューターでは一般に32ビット、つまり二進数の32桁である数字を表すので、0〜4,294,967,295までの数を表すことができる。
これは正の数だけの場合で、これにプラスマイナスが入る場合はプラスかマイナスかを表すのに1ビット使うので、扱える値の絶対値が31ビットになり、-2,147,483,647〜2,147,483,647となる。
パソコンに詳しい人は「2ギガの壁」などという言葉を聞いたことがあると思うが、それはハードディスクやメモリの中の位置を32ビットで表そうとするから、この2,147...よりも大きな数を表せないことが原因だ。

さて、遺伝的アルゴリズムの話に戻るが、前回の遺伝的アルゴリズムの説明では、例としてある生物オブジェクトの遺伝情報を下記の図のように表した。
ga1
これがあまりにも概念的だったと反省して今回の再実験に至る。
もう少し具体的に、ある2つの生物オブジェクトがそれぞれ下記のような数値を持っているとしよう。
とは言うものの、あまり細かく書きすぎるとアレなので、上図のデータがそれぞれひとつの値で表せる、とする。

[生物A]
  • 形を表すデータ :9
  • 身体能力を表すデータ:12
  • 繁殖能力を表すデータ:5
  • 食べ物の好みを表すデータ:8

[生物B]
  • 形を表すデータ :4
  • 身体能力を表すデータ:7
  • 繁殖能力を表すデータ:12
  • 食べ物の好みを表すデータ:3
 話を簡単にするため、それぞれの値は4ビットで表せることにした。つまり、0〜15までの数値を持つ。

これらのデータをDNAに置き換えると下図のようになる。
ga2-1
形、身体能力、繁殖能力、食べ物の好みを表すそれぞれのデータが0と1で表されている。
これをある任意の交差点で交差する。
ga3-1
すると、下記の二つの子供ができる。これを”交配”と呼ぶ。
ga3-2
ここで先ほどの、どの部分が何を表すデータか、というのを当てはめてみると、
ga3-3
つまり、子供はそれぞれの親の特徴を引き継ぐものになっている。
ここで、交差点が含まれていた「身体能力」について注目すると、親はそれぞれ
  • 生物Aの身体能力=12
  • 生物Bの身体能力=7 
であったのに対し、それらを交配して生まれてきた子供は、それぞれ
  • 子供1の身体能力=13
  • 子供2の身体能力=6
というように、どちらの親のものでもない新たな値が発生している。
これがビットを用いることによる交配のおもしろい点である。

こうして生まれた子供のうち、より目的に合致したものを”選択”することで、代を重ねるにつれて優性な個体の遺伝子がブレンドされていき、より優性な個体が生まれていくことになる。
これが遺伝的アルゴリズムだ。

【今回のまとめ】
  • 遺伝的アルゴリズムでは、オブジェクトのパラメータを一本のビット列(0と1の列)に並べ、それを任意の交差点で交差することにより、次の代を作る。
  • これを「交配」と呼ぶ。
  • 交配によって生まれた次の世代は、親の特徴を持つものになるが、交差点によってはいずれの親の特徴でもない新たな値を持つことがある。
  • こうして生まれた個体のうち、より優性なものを選択し、優性どうしを掛けあわせることを繰り返すことでより優性な個体を発生させる。 


OLランキングで1位になりたい!賛同していただける方は下記をクリック!
にほんブログ村 OL日記ブログ ドジOLへ

コメントする

名前
 
  絵文字
 
 
非言語的認知モデルはオカルトか?ノーマンズランド感覚