問題タブ [genetic-algorithm]

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 投票する
3 に答える
202 参照

python - キーでオブジェクトのリストを並べ替えるのに助けが必要

.sort()またはsorted()を使用してオブジェクトのリストを並べ替えるこのコードを取得できません。ここで何が欠けていますか?

PS私のsolution.distance()メソッドは、誰かが何か提案があれば、美容整形も使用できます。

ありがとう!

0 投票する
7 に答える
19708 参照

java - 遺伝的アルゴリズム用のどのJavaライブラリ/ライブラリ?

Javaでいくつかの単純な遺伝的アルゴリズムを実装したいと思います。

これまでのところ、JGAPしか見つかりませんでした。誰かがそれについていくらかの経験をしましたか?また、GA用の他のJavaライブラリを知っていますか?

Javaで書かれたGAのように自分で書きたくないので、Javaを使わなければならないので、最もアクティブな遺伝的プログラミングライブラリは何ですか?また、それほど役に立ちません。

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

algorithm - ランダム化アルゴリズムの特性 (モンテカルロ、ラスベガス)

私は現在、ラスベガスとモンテカルロのアルゴリズムを自分で学んでおり、2つの質問は簡単かもしれませんが、誰かが私を助けてくれれば答えられません...事前に感謝します

  1. 確率 y(n) で正しい解を生成するサイズ n の任意のインスタンスで予想実行時間が最大 T(n) である問題 P のモンテカルロ アルゴリズム A を考えます。さらに、P の解が与えられた場合、時間 t(n) でその正しさを検証できるとします。P に対して常に正しい答えを与え、最大で期待される時間 (T(n)+t(n))/y(n) で実行されるラスベガス アルゴリズムを取得する方法を示します。

  2. 0<ε2<ε1<1 とする。入力に関係なく、少なくとも 1-ε1 の確率で問題の正しい解を与えるモンテカルロ アルゴリズムを考えてみましょう。入力に関係なく、少なくとも 1-ε2 の正しい解を得る確率を上げるには、このアルゴリズムを何回独立して実行すれば十分ですか?

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

algorithm - C# で 0-1 ナップザックのシミュレーテッド アニーリング アルゴリズムを作成する

私は、シミュレーテッド アニーリング アルゴリズムについて学んでいる途中で、サンプル アルゴリズムをどのように変更して 0-1 ナップザック問題を解決するかについていくつか質問があります。

CP でこの素晴らしいコードを見つけました。

http://www.codeproject.com/KB/recipes/simulatedAnnealingTSP.aspx

私はそれが今どのように機能するかを理解していると確信しています(私が懸念している限り、ボルツマン条件全体を除いて、私は黒魔術ですが、局所最適を回避することについて理解しており、明らかにこれはまさにそれを行います)。これを再設計して、0-1 ナップザックの「っぽい」問題を解決したいと思います。基本的に、私は 5,000 個のオブジェクトの 1 つを 10 個の袋に入れ、未使用のスペースが最小になるように最適化する必要があります。ソリューションに割り当てる実際の「スコア」はもう少し複雑ですが、アルゴリズムとは関係ありません。

これは簡単そうです。これは、Anneal() 関数が基本的に同じであることを意味します。ニーズに合わせて GetNextArrangement() 関数を実装する必要があります。TSM の問題では、パスに沿って 2 つのランダムなノードを交換するだけです (つまり、反復ごとに非常に小さな変更を加えます)。

私の問題では、最初の繰り返しで、10 個のランダムなオブジェクトを選び、残りのスペースを調べます。次の反復では、10 個の新しいランダム オブジェクトを選択しますか? それとも、オブジェクトの半分または 1 つだけなど、いくつかのオブジェクトのみを交換するのが最善でしょうか? それとも、スワップアウトするオブジェクトの数は、温度に比例する必要がありますか? これらのどれも私には実行可能に思えますが、誰かが最善のアプローチについてアドバイスを持っているかどうか疑問に思っています (ただし、コードが機能したら、改善をいじることができます)。

ありがとう!

マイク

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

algorithm - 画像モザイクジェネレータの書き方

タスクは次のとおりです。多数の画像から選択した画像モザイクを作成する方法。私の最初のショットは、進化的アルゴリズムを使用することです。ここで、遺伝子型は元の画像のモザイクグリッド内の位置へのマッピングを表し、個人は元の画像との類似性に従って評価されます。実際、基本的なアプローチでは、各タイルを個別に処理できるため、グリッドを反復処理して最適な画像を一致させるだけで十分です。しかし、相似関数を定義する方法はまだわかりません。単純なピクセル単位の比較(r、g、b)の違いは、おそらく厳密すぎるでしょう。サブイメージとそれを見つけようとする領域との間の類似性を最適化するために、ヒストグラムバランシングのようないくつかの画像処理アルゴリズムを適用する必要があると思います。

これは、モナリザを作成する遺伝的アルゴリズムに似ています。

サンプルモザイクはここにあります。

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

animation - アニメーション システムのニューラル ネットワークのサイズ

私が持っているアニメーション エンジンの動作を作成するために、ニューラル ネットワークを使用することにしました。ニューラル ネットワークは、3 つの vector3 と 1 つのオイラー角を、私が持っているすべての体の部分から取り込みます。最初の vector3 は位置、2 番目は速度、3 番目は角速度です。オイラー角は、ボディ パーツの回転角度です。私には7つの体の部分があります。これらのデータ型にはそれぞれ 3 つの float があります。7*4*3 = 84 なので、ニューラル ネットワークには 84 個の入力があります。出力はキャラクタの筋肉にマッピングされます。それらは各筋肉に適用する強さの量を提供し、それらの15があります.

15 のネットワークを 10 秒間同時に実行し、エネルギー使用量が最も少なく、z と x の動きが最も少なく、体のパーツが残りの部分と比較して正しい y 位置にあるかどうか (hips.y > upperleg.y、upperleg.y > lowerleg.y など)、遺伝的アルゴリズムを実行します。私は、隠れ層ごとに 168 個のニューロンからなるニューラル ネットワークを実行しており、8 つの隠れ層があります。キャラクターがまっすぐに立ち、あまり動き回らないようにしています。これを 3000 世代実行しましたが、近づくことさえできませんでした。

ニューラル ネットワークと遺伝的アルゴリズムは、このチュートリアルの C# バージョンです。クロスオーバーの方法を一点からブレンディングに変更しました。

84 の入力と 15 の出力があります。ニューラル ネットワークのサイズはどれくらいですか?

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

complexity-theory - 複雑なアルゴリズム機能の要件を見積もる方法は?

よく知られているヒューリスティックなアプローチを使用して、特定の複雑なアルゴリズムのハードウェア要件を効率的に見積もる方法を理解したいと思います。
つまり。TEA O(2 ^ 32)またはXTEA O(2 ^ 115.15)を妥当な時間またはその他の方法でクラックするために必要なコンピューターの能力をすばやく見積もりたいと思います。

1000 x 4GHzクアッドコアCPUのファシリティパワーがある場合、特定のアルゴリズムの実行にはどのくらいの時間がかかりますか?
O(log N)などのアルゴリズムの他のアルゴリズムの複雑さの推定にも興味があります。

ブアに関して

0 投票する
3 に答える
1095 参照

bit-manipulation - 2 バイト間の特定のポイントでのビットの交換

次の 2 つの数値があるとします。

それらのバイナリ表現は次のとおりです。

ここで、特定のポイント、たとえばポジション 4 以降でクロスオーバー (GA) したいと考えています。

期待される結果は次のとおりです。

ビットごとに、どうすればこれを達成できますか?

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

genetic-algorithm - 遺伝的アルゴリズムにおける適合度関数の設計

変数が [0 - 1,00,000] の広い範囲で変化する連立一次方程式 (7 つの未知数を持つ 5 つの方程式、つまり未決定の問題) を解く必要があります。誰かが私が使用すべきフィットネス機能を提案できますか?

0 投票する
3 に答える
121 参照

algorithm - 許可されていないソリューションを置き換える方法は?

私は数学関数を最大化するために遺伝的アルゴリズムを構築しています。最初の母集団はランダムに選択されます。たとえば、20人の個体です。最高のものは次世代のために保たれています。18のトーナメントが行われ、その後、個人をランダムに選択して9つのペアを形成できます。9つのペアから、9人の子供が「生まれる」。これが私の問題です。これらの子供たちの何人かは、許容基準を満たしていません。これらの要素を次世代から削除することにしました。私が必要とするアドバイスは、許容されないために削除された個人の交代に関するものです。ランダムに新しい個体を生み出すことを考えました。他にアイデアはありますか?

ルイス