• 締切済み

対話型遺伝的アルゴリズムについて。

対話型遺伝的アルゴリズムについて。 現在,IGAを用いたアプリケーションを構築するための勉強をしている者です。 進化計算処理の一つ,「交叉」について2つ疑問があります。 <質問1>=============================== 例えば, 「ユーザに好きな色を評価してもらいながら最適な色(好みの色)を作り出してもらう」 「パラメータはRGB3原色の3つ」 とするとき,評価及び進化計算の過程でRGBの値が 親1 R=63 G=127 B=255 親2 R=50 G=240 B=0 の親があったとします. これを以下のように,10進数のまま交叉するというのではだめなのでしょうか。 親1 R=63 G=127 <交叉位置> B=255 親2 R=50 G=240 <交叉位置> B=0          ↓ 子1 R=63 G=127 B=0 子2 R=50 G=240 B=255 もちろんこれだと2進数化(コード化)した時とは違い,各原色はそっくりそのまま入れ換えることになります。 ただ,それでも最適解へ収束するということには変わらないと思います。 従来の2進数にコード化して行う明確な理由を教えて頂けないでしょうか。 <質問2>=============================== 上記のアルゴリズムであれば, 整数である「表現型」のままの交叉ということになるのでしょうか。 もしそうであれば,ここは従来の交叉は使えず「実数値GA」なるものを使わなければいけないのでしょうか。 ==================================== 以上2点です。 どちらか1つの回答でも結構です。 どうぞ,よろしくお願いします。

みんなの回答

  • f272
  • ベストアンサー率46% (8467/18127)
回答No.2

質問1 2進数だろうが10進数だろうが同じアルゴリズムの変化形にすぎません。 質問2 同じアルゴリズムの変化形ですから,同じ方法が使えますが,異なる方法を使ってもかまいません。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

ぶっちゃけた話, 「うまくいけばど~でもいい」です.