4

私は現在、「Artificial Intelligence: A Modern Approach」(Russell+Norvig) と「Machine Learning」(Mitchell) を読んでいて、AINN の基礎を学ぼうとしています。

いくつかの基本的なことを理解するために、2 つの「グリーンホーン」の質問があります。

Q1: それぞれ染色体 001110 と 101101 を持つ 2 つの親 A と B が与えられた遺伝的アルゴリズムでは、次の子のどれが 1 点交叉から生じた可能性がありますか?

を: 001101

b: 001110

Q2: 上記の子孫のうち、2 点交叉から生じた可能性があるのはどれ? なぜ?

お知らせ下さい。

4

3 に答える 3

7

逆交叉関数を知らなければ、親を見つけることはできません (つまり、AxB => (a,b) & (任意の a) => (A,B))。

通常、1 点交差関数は次のとおりです。

a = A1 + B2
b = B1 + A2

abがわかっていても、システム (4 つの変数を持つ 2 つの連立方程式) を解くことはできません

任意の A または/および B の任意の 2 つの部分がわかっている場合は、それを解くことができます(2 つの変数を持つ 2 つの連立方程式)。AとBの両方を提供するため、これはあなたの質問に当てはまります。

通常、クロスオーバー関数には逆関数がなく、論理的に解を見つけるか、親がわかっている場合はクロスオーバーを実行して比較する必要があります。

したがって、一般的な式を作成するには、次の 2 つのことを知っておく必要があります。

  1. クロスオーバー機能。
  2. 逆クロスオーバー機能。

2 番目のものは、必須ではないため、通常 GA では使用されません。


では、質問にお答えします。

Q1: それぞれ染色体 001110 と 101101 を持つ 2 つの親 A と B が与えられた遺伝的アルゴリズムでは、次の子のどれが 1 点交叉から生じた可能性がありますか?

abを見ると、クロスオーバー ポイントがここにあることがわかります。

    1    2
A: 00 | 1110
B: 10 | 1101

通常、クロスオーバーは次のを使用して行われます。

a = A1 + B2
b = B1 + A2

可能な子は次のとおりです。

a: 00 | 1101
b: 10 | 1110

質問からオプションbを除外します。
したがって、Q1 への答えは、結果の子は a: 001101 であり、与えられたクロスオーバー関数を想定しています。

Q2: 上記の子孫のうち、2 点交叉から生じた可能性があるのはどれ? なぜ?

a と b を見ると、クロスオーバー ポイントがここにあることがわかります。

    1   2    3
A: 00 | 11 | 10
B: 10 | 11 | 01

2 ポイント クロスオーバーの通常の式は次のとおりです。

a = A1 + B2 + A3
b = B1 + A2 + B3

したがって、子供たちは次のようになります。

a = 00 | 11 | 10
b = 10 | 11 | 01

それらをあなたが尋ねたオプション(小さなab)と比較すると、答えを言うことができます:

Q2. A: aまたはbのいずれも、与えられた交叉関数によると、AxBとの 2 点交叉の結果ではない可能性があります。


ここでも、クロスオーバー関数を知らずに質問に答えることはできません

私が提供した関数は GA では一般的ですが、質問に答えることができるように、非常に多くの関数を発明することができます (以下のコメントを参照してください)。

于 2009-12-09T00:51:36.037 に答える
2

1ポイントのクロスオーバーは、各親から1つの結合を行う場合であり、2ポイントのクロスオーバーは、2つの結合を行う場合です。つまり、1人の親から2人、他の親から1人です。

詳細については、クロスオーバー(ウィキペディア)を参照してください。

于 2009-12-09T00:25:07.313 に答える
2

Q1に関しては、(a)親Aからビット0〜4を、親Bからビット5を取得して、1ポイントのクロスオーバーによって生成された可能性があります。ヌルの重み。その場合、親Aはその完全な染色体(ビット0〜5)を提供し、親Bはnilを提供し、(b)を生成します。

Q2については、(a)と(b)の両方が可能です。テストするいくつかの組み合わせがあります。書くのは面倒ですが、ペンと紙で作業できます。:-)

于 2009-12-09T00:26:20.270 に答える