遺伝的アルゴリズムにおける繁殖のためのベクトル化されたアプローチ

カナック

明示的なループなしで、遺伝的アルゴリズムの単一のクロスオーバー育種法をエンコードしようとしています。したがって、以下に示すように、配列の1つの行と別の配列の別の行を追加して目的の結果を得る必要があります。col_idx配列は繁殖する特定の行を選択し、スライスインデックス配列はスライスする場所を示していることに注意してください(配列のチャンクをエンドポイントを含むまで維持したいと思います)。

a=np.arange(20).reshape(4,5)
print('a')
print(a)
a
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]]
b=np.arange(20).reshape(4,5)*100
print('b')
print(b)
b
[[   0  100  200  300  400]
 [ 500  600  700  800  900]
 [1000 1100 1200 1300 1400]
 [1500 1600 1700 1800 1900]]
row_idx_a=np.array([3,1,0,3,1,3]) #edit-fixed array
row_idx_b=np.array([1,1,0,0,0,3]) #edit-fixed array to fix error identified by the answer below 
slice_idx=np.array([2,1,0,4,4,3])
merged_array=np.zeros((4,5)) ######place holder for final array

#####now some creative slicing magic so that my final array is an irregular indexed addition#######

[[  15   16   17  800  900]
 [   5    6  700  800  900]
 [   0  100  200  300  400]
 [  15   16   17   18   19]
 [   5    6    7    8    9]
 [  15   16   17   18 1900]]

この問題をベクトル化するのは難しいと思いますか?テイカーはいますか?ありがとう。

ポールパンツァー

マークされた数字に対応する期待される答えのビットを仮定する

                            *
row_idx_a=np.array([3,1,0,3,2,3])
row_idx_b=np.array([2,1,0,0,0,3])
                    *

間違っている。

np.where(np.less.outer(slice_idx,np.arange(5)),b[row_idx_b],a[row_idx_a])
# array([[  15,   16,   17, 1300, 1400],
#        [   5,    6,  700,  800,  900],
#        [   0,  100,  200,  300,  400],
#        [  15,   16,   17,   18,   19],
#        [  10,   11,   12,   13,   14],
#        [  15,   16,   17,   18, 1900]])

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Java:遺伝的アルゴリズムのクロスオーバーのために2つのダブルビットストリングを混合する

分類Dev

訓練されたニューラルネットワークの混合-遺伝的アルゴリズム

分類Dev

Rの遺伝的アルゴリズムによる一般化された割り当て問題

分類Dev

遺伝的アルゴリズムにおけるトーナメント評価

分類Dev

遺伝的アルゴリズムにおける探索と活用の違い

分類Dev

遺伝的アルゴリズム-部分的にマッピングされたクロスオーバー-Java

分類Dev

非遺伝的ケースのMatlab遺伝的アルゴリズム

分類Dev

Haskellの合計と製品タイプを列挙するための遺伝的アルゴリズム?

分類Dev

遺伝的アルゴリズムにおけるエリート\エリート主義モデル

分類Dev

遺伝的アルゴリズムにおけるこのメカニズムの名前は何ですか?

分類Dev

Matlabの遺伝的アルゴリズムを使用した画像再構成アルゴリズムの最適化

分類Dev

遺伝的アルゴリズムに部分的に一致したクロスオーバーを使用する場合の重複の処理

分類Dev

Rの遺伝的アルゴリズム

分類Dev

最大(または最小)フィットネス停止条件をマルチプロセッシングdeappython遺伝的アルゴリズムに追加する方法

分類Dev

Golangを使用した遺伝的アルゴリズムでのルーレットホイールの選択

分類Dev

すべての極大値を見つけるために最適化されたアルゴリズム

分類Dev

多項式の遺伝的アルゴリズムの最適化

分類Dev

遺伝的アルゴリズムでゆるい鳥を演じるためのニューラルネットワークのトレーニング-なぜそれは学習できないのですか?

分類Dev

Scala遺伝的アルゴリズム(GA)ライブラリのシミュレートされたバイナリクロスオーバー(SBX)クロスオーバーオペレーター

分類Dev

断片化されたリンクリストを再編成するためのアルゴリズム

分類Dev

遺伝的アルゴリズム:大きな解空間を解くためのパラメーターを選択するための経験則

分類Dev

遺伝的アルゴリズムの配列ヘルプ

分類Dev

クロスエントロピーと遺伝的アルゴリズムの違いは何ですか?

分類Dev

与えられた距離でポイントをグループ化するためのアルゴリズム

分類Dev

ネストされたforループアルゴリズム、JavaScriptの最適化

分類Dev

Pythonの既存のデータフレームにゴースト行を追加するための最適化されたアルゴリズム

分類Dev

整数のセットをチャート軸のラベルにセグメント化するための最適なアルゴリズム?

分類Dev

ランダムなサブセットを選択するための遺伝的アルゴリズムの実装

分類Dev

MlroseTSPOpt遺伝的アルゴリズム独自のコスト関数

Related 関連記事

  1. 1

    Java:遺伝的アルゴリズムのクロスオーバーのために2つのダブルビットストリングを混合する

  2. 2

    訓練されたニューラルネットワークの混合-遺伝的アルゴリズム

  3. 3

    Rの遺伝的アルゴリズムによる一般化された割り当て問題

  4. 4

    遺伝的アルゴリズムにおけるトーナメント評価

  5. 5

    遺伝的アルゴリズムにおける探索と活用の違い

  6. 6

    遺伝的アルゴリズム-部分的にマッピングされたクロスオーバー-Java

  7. 7

    非遺伝的ケースのMatlab遺伝的アルゴリズム

  8. 8

    Haskellの合計と製品タイプを列挙するための遺伝的アルゴリズム?

  9. 9

    遺伝的アルゴリズムにおけるエリート\エリート主義モデル

  10. 10

    遺伝的アルゴリズムにおけるこのメカニズムの名前は何ですか?

  11. 11

    Matlabの遺伝的アルゴリズムを使用した画像再構成アルゴリズムの最適化

  12. 12

    遺伝的アルゴリズムに部分的に一致したクロスオーバーを使用する場合の重複の処理

  13. 13

    Rの遺伝的アルゴリズム

  14. 14

    最大(または最小)フィットネス停止条件をマルチプロセッシングdeappython遺伝的アルゴリズムに追加する方法

  15. 15

    Golangを使用した遺伝的アルゴリズムでのルーレットホイールの選択

  16. 16

    すべての極大値を見つけるために最適化されたアルゴリズム

  17. 17

    多項式の遺伝的アルゴリズムの最適化

  18. 18

    遺伝的アルゴリズムでゆるい鳥を演じるためのニューラルネットワークのトレーニング-なぜそれは学習できないのですか?

  19. 19

    Scala遺伝的アルゴリズム(GA)ライブラリのシミュレートされたバイナリクロスオーバー(SBX)クロスオーバーオペレーター

  20. 20

    断片化されたリンクリストを再編成するためのアルゴリズム

  21. 21

    遺伝的アルゴリズム:大きな解空間を解くためのパラメーターを選択するための経験則

  22. 22

    遺伝的アルゴリズムの配列ヘルプ

  23. 23

    クロスエントロピーと遺伝的アルゴリズムの違いは何ですか?

  24. 24

    与えられた距離でポイントをグループ化するためのアルゴリズム

  25. 25

    ネストされたforループアルゴリズム、JavaScriptの最適化

  26. 26

    Pythonの既存のデータフレームにゴースト行を追加するための最適化されたアルゴリズム

  27. 27

    整数のセットをチャート軸のラベルにセグメント化するための最適なアルゴリズム?

  28. 28

    ランダムなサブセットを選択するための遺伝的アルゴリズムの実装

  29. 29

    MlroseTSPOpt遺伝的アルゴリズム独自のコスト関数

ホットタグ

アーカイブ