問題タブ [crossover]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
2430 参照

artificial-intelligence - 遺伝的プログラミングでクロスオーバーを実装する

私は遺伝的プログラミング(GP)システムを書いています(C言語ですが、それは些細なことです)。多くの文献 (Koza、Poli、Langdon、Banzhaf、Brameier など) を読みましたが、説明されていない実装の詳細がいくつかあります。例えば:

私は世代別のアプローチではなく定常状態の人口を使用しています。これは主に、暫定的な人口のために半分を予約するのではなく、コンピューターのメモリのすべてを使用するためです。

Q1. GP では GA とは異なり、クロスオーバーを実行するときに 2 つの親を選択しますが、1 つまたは 2 つの子を作成するか、それとも自由に選択できますか?

Q2. 定常状態の GP では、世代システムとは対照的に、クロスオーバーによって作成された子供たちは人口のどのメンバーに取って代わりますか? これは私が議論したのを見たことがないものです。2 人の親ですか、それとも他の 2 人のランダムに選択されたメンバーですか? 後者の場合は理解できますし、代わりのメンバーを選ぶためにネガティブ トーナメント セレクションを使用するかもしれませんが、それは時期尚早の収束を生み出しませんか? (クロスオーバー イベントの後、母集団には 2 つの元の親とそれらの親の 2 つの子が含まれ、他の 2 つのランダムなメンバーが削除されます。エリート主義は固有のものです。)

Q3. GP に焦点を当てた Web フォーラムまたはメーリング リストはありますか? 奇妙なことに、私はそれを見つけていません。Yahoo の GP グループはほぼアナウンスのみに使用され、Poli/Langdon フィールド ガイド フォーラムはほとんど沈黙しており、gamedev.net のような一般/ゲーム プログラミング サイトでの GP ディスカッションは非常に基本的なものです。

ご協力いただきありがとうございます。

0 投票する
2 に答える
1335 参照

java - 均一なクロスオーバーは、1ポイントのクロスオーバーよりも悪い結果をもたらしますか?

宿題の一部に統一クロスオーバーアルゴリズムを作成しましたが、正しく機能していません。実際には、私の1ポイントのクロスオーバーよりも悪い結果が返されています。どこが間違っているのかを誰かに指摘してもらいたいので、修正してください:)。私は何年もの間努力してきました、そしてこれは私の最後の手段です!

このメソッドは、パラメーターとして2つの親p1idとp2idを取り込みます。次に、表現の配列リスト(p1およびp2)を作成します。

forループでは、「nbits」は配列の重み(または配列の長さ)です。私のワンポイントクロスオーバーメソッドはforループでそれを使用し、問題なく機能します。

次に、1/2を生成して、各親から子が取得する遺伝子を決定します。

このアルゴリズムの適合性は非常に悪いです!! どんな助けでも大歓迎です。

どうもありがとう。

0 投票する
2 に答える
2812 参照

c++ - 2 点交差操作

遺伝的アルゴリズムで 2 点交差演算のコードを書こうとしています。最初に 2 つのランダムな遺伝子位置が選択されます。その後、2 つの染色体は遺伝子位置 1 と遺伝子位置 2 と呼ばれる乱数の間にある遺伝子を交換します。

私の問題はこれです: 2 つの数値がランダムに生成されるため、array[genelocation2-genelocation1] のような配列を定義できませんでした..どうすれば問題を解決できますか? これが2点交差に関する私のコード全体です。ポインターはおそらく解決策ですが、私はポインターが苦手です。

コードは次のとおりです。

0 投票する
5 に答える
2808 参照

algorithm - 遺伝的アルゴリズムの選択とクロスオーバー

私はaiクラスのプロジェクトで遺伝的アルゴリズムの研究を行っていますが、従来のアルゴリズムと思われるものについて少し混乱しています。

基本的に、なぜ彼らはルーレット盤のような異なる選択を使用して、再現する親を選択するのだろうか。最高のフィットネススコアを持つ親を選んで、それを1日と呼んでみませんか?

また、クロスオーバーも私を混乱させます。親情報をつなぎ合わせるために、毎回ランダムにポイントを選択します。しかし、以前の情報に基づいてクロスオーバーを変更する方が理にかなっているようです。染色体ストリングがある程度まで良好であることがわかっている場合でも、クロスオーバーはランダムである可能性がありますが、ストリングの良好な部分の範囲内ではありません。

何かご意見は?

0 投票する
2 に答える
2849 参照

java - Java での 2 点クロスオーバー

次のようにワンポイントクロスオーバーを実装しました。

1 点交叉 - 交点が選択され、染色体の先頭から交叉点までのバイナリ文字列が 1 つの親からコピーされ、残りは 2 番目の親からコピーされます。

親 1 = 染色体および親 2 = インディ。

私は親を子に変えています。

2 ポイント クロスオーバーも実行する必要がありますが、問題が発生しています。これはこれまでのところですが、コードの下半分は、中間セクションを交換するのではなく、1 ポイント クロスオーバーと同じことを行っていると思います。

これは正しくないようです。どんな助けでも大歓迎です! ありがとう!

0 投票する
1 に答える
3066 参照

java - Java での均一クロスオーバー

Java で均一なクロスオーバーを実装するのに問題があります。これがアルゴリズムです。

int tmp乱数を保存して保存できることを知ってからif tmp < 0.5、ループを続行します

私はスタートを切ることができませんでした。助けていただければ幸いです。

これは私のワンポイント クロスオーバーの例です。私のフォーマットがわかります。

1 点交叉 - 交点が選択され、染色体の先頭から交叉点までのバイナリ文字列が 1 つの親からコピーされ、残りは 2 番目の親からコピーされます。

親 1 = 染色体および親 2 = インディ。

親をインプレースの子に変えています

0 投票する
4 に答える
11915 参照

algorithm - 順列の交差演算子

私は順列で遺伝的アルゴリズムのクロスオーバーの問題を解決しようとしています。20 個の整数の順列が 2 つあるとします。それらを交配して2人の子供をもうけたいです。親は同じ整数を内部に持っていますが、順序は異なります。

例:

そのようにしましょう-どうすればこれら2つの子供を得ることができますか?

0 投票する
1 に答える
1190 参照

artificial-intelligence - 異なる長さの遺伝子型のクロスオーバー

たとえば、私は 2 つのランダムな代表者を持っています

1 6 8 9 0 3 4 7 5

3 6 5 7 8 5

それらをクロスオーバーする方法は何ですか?

同じサイズになるように、すべての遺伝子型の最後にいくつかの空の数字 (または操作または sth) を追加しますか?

3 6 5 7 8 5 -1 -1 -1

ここで -1 は何も意味しませんか?

または、最初の遺伝子型からいくつかの数をコピーし、2 番目の遺伝子型からいくつかをコピーしますか?

どんな使い方をしていますか?

0 投票する
2 に答える
6862 参照

genetic-algorithm - シミュレーテッド バイナリ クロスオーバー (SBX) クロスオーバー オペレーターの例

私は研究チームで多目的エンジニアリングの問題を解決するために働いており、NSGA-IIアルゴリズムに専念していますが、今は立ち往生しており、SBX クロスオーバーが数値例でどのように機能するかを理解する必要があるため、それを実装したり、既製のコードがある場合でも、問題に応じて適応できますが、最初に数値例を確認する必要があるため、次に進むことができます。そのためのリソースがあれば、http://www.slideshare.net/でプレゼンテーションしか見つかりませんでしたが、例はありません。