問題タブ [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.
python - これら 2 つのコードはまったく同じことを行うはずですが、最初のコードは期待どおりに動作しません
パイソン
この 2 つのコードが異なる理由を説明してください。実際に私は、最初の世代で個人がランダムな方向に進むような AI を作ろうとしています。コードをシンプルに保つために、ブレイン自身でランダムな指示をいくつか提供しました。
個人に頭脳を与える個人クラスがあります。また、親とまったく同じ脳 (同じ方向に進むことを意味します) を持つ子供を返す機能もあります。
私は2つのコードを持っています:
最初:親でいくつかの方向が変更されると、同じことが子でも変更されます(または子で変更された場合、親でも変更されます)。
2番目:これは完全に私のものではありません(そのため、なぜ機能するのかよくわかりません)が、正常に機能します。親で変更された一部の方向は、子では変更されず、その逆も同様です。
誰かが違いと、最初のものが機能しなかった理由を説明してください。ご回答いただければ幸いです。
最初の1つ:
[ [5, 2], [5, 3], [7, 4], [1, 5] ]
[ [5, 2], [5, 3], [7, 4], [1, 5] ]
二つ目:
[ [5, 2], [5, 3], [7, 4], [1, 5] ]
[ [1, 2], [5, 3], [7, 4], [1, 5] ]
javascript - 最初の配列のサブセットを使用して2つの配列を「交差」させ、可能な場合は2番目の配列の順序を維持しようとしています
次のプロセスを使用して、2 つの親配列 (クロスオーバー) から新しい子配列を生成しようとしています。
私が定義しているクロスオーバー ルールは次のとおりです。
- から連続したサブセットを抽出し、抽出されたのと同じ位置で
parentArr1
新しいサブセットに挿入します。childArr
- の残りの位置
childArr
を要素で埋め、サブセットparentArr2
内の要素の順序を維持します。parentArr2
- 重複があってはなりません。
別の例を次に示します。
私はこれを行うために多くの失敗した試みをしました。これが最も近い試みです。