問題タブ [evolutionary-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.
algorithm - 遺伝的アルゴリズムと進化的アルゴリズムの違いは何ですか?
遺伝的アルゴリズムと進化的アルゴリズムに違いはありますか?
遺伝的または進化的アルゴリズムについて話している複数の論文を読みましたが、非常に似ていますが、同じものではない可能性があると思います。
optimization - マルチナップザック問題の遺伝的アルゴリズムの改善
最近、マルチナップザック問題の伝統的な遺伝的アルゴリズムを改善しています。したがって、私の改良された遺伝的アルゴリズムは、従来の遺伝的アルゴリズムよりもうまく機能しています。テストしました。(私は OR-Library ( http://people.brunel.ac.uk/~mastjjb/jeb/orlib/mknapinfo.html ) から公開されているものを使用して GA をテストしました。) 他の改善された GA を知っている人はいますか? 他の改良された遺伝的アルゴリズムと比較したかったのです。実はネットで調べました。しかし、比較するのに適したアルゴリズムが見つかりませんでした。
algorithm - 画像モザイクジェネレータの書き方
タスクは次のとおりです。多数の画像から選択した画像モザイクを作成する方法。私の最初のショットは、進化的アルゴリズムを使用することです。ここで、遺伝子型は元の画像のモザイクグリッド内の位置へのマッピングを表し、個人は元の画像との類似性に従って評価されます。実際、基本的なアプローチでは、各タイルを個別に処理できるため、グリッドを反復処理して最適な画像を一致させるだけで十分です。しかし、相似関数を定義する方法はまだわかりません。単純なピクセル単位の比較(r、g、b)の違いは、おそらく厳密すぎるでしょう。サブイメージとそれを見つけようとする領域との間の類似性を最適化するために、ヒストグラムバランシングのようないくつかの画像処理アルゴリズムを適用する必要があると思います。
これは、モナリザを作成する遺伝的アルゴリズムに似ています。
サンプルモザイクはここにあります。
genetic-programming - 遺伝子発現プログラミングとデカルト遺伝的プログラミングの違い
進化的計算でかなり厄介なのは、わずかに異なり、重複する概念が劇的に異なる名前を選択する傾向があることです。このための私の最近の混乱は、遺伝子発現プログラミングがデカルト遺伝的プログラミングと非常に似ているように見えることです。
- (どのように)これらの根本的に異なる概念ですか?
- GP命令の間接エンコーディングが効果的な手法であることを読みました(GEPとCGPの両方がそれを行います)。間接エンコーディングには時代遅れの古典的なツリーベースGPがあるというある種のコンセンサスに達しましたか?
algorithm - 許可されていないソリューションを置き換える方法は?
私は数学関数を最大化するために遺伝的アルゴリズムを構築しています。最初の母集団はランダムに選択されます。たとえば、20人の個体です。最高のものは次世代のために保たれています。18のトーナメントが行われ、その後、個人をランダムに選択して9つのペアを形成できます。9つのペアから、9人の子供が「生まれる」。これが私の問題です。これらの子供たちの何人かは、許容基準を満たしていません。これらの要素を次世代から削除することにしました。私が必要とするアドバイスは、許容されないために削除された個人の交代に関するものです。ランダムに新しい個体を生み出すことを考えました。他にアイデアはありますか?
ルイス
multithreading - 計算で使用される # スレッドを最適化するアルゴリズム
私は操作を実行しています。CalculateSomeData と呼びましょう。CalculateSomeData は、1..x の番号が付けられた連続する「世代」で動作します。実行全体の世代数は、CalculateSomeData への入力パラメーターによって固定され、先験的に知られています。1 つの世代が完了するまでに 30 分から 2 時間かかります。その変動性の一部は入力パラメータによるものであり、制御することはできません。ただし、その変動の一部は、ハードウェアの容量、他のプロセスからの CPU 負荷、ネットワーク帯域幅の負荷などによるものです。世代ごとに制御できるパラメーターの 1 つは、CalculateSomeData が使用するスレッドの数です。現在、それは修正されており、最適ではない可能性があります。私' 各世代にかかる時間を追跡し、スレッドの数を微調整して、連続する各世代が前の世代の計算時間を改善する (時間を最小化する) アルゴリズムを用意したいと考えています。どのようなアプローチを使用する必要がありますか? 遺伝的アルゴリズムはどの程度適用可能ですか? 直感的には、この範囲はかなり狭くなることがわかります。おそらく、デュアル クアッド コア プロセッサ マシンでは 1 ~ 16 スレッドです。
ポインタ、疑似コードなどは大歓迎です。
security - コンピュータセキュリティのための遺伝的アルゴリズム
私は大学のプロジェクトを選択中です。そして、遺伝的アルゴリズムとコンピュータ セキュリティを組み合わせることに非常に興味があります。
したがって、私の質問は、コンピュータ セキュリティのあらゆる面でGA を使用することは可能ですか? 例えば?. 私は、脅威を自己保護/抑制することができる進化的なファイアウォール/アンチウイルスのようなものを考えていました. そのようなことはもっともらしいですか?
ご意見、アドバイス、コメント、本当にありがとうございます。
evolutionary-algorithm - ダーウィン進化論をプログラミングに適用する
しばらく前に、ダーウィンの進化をプログラムに適用してより良いプログラムを作成することについての雑誌記事(Wiredで私は信じています)を読んだことを思い出します。基本的に、プログラムの複数のミューテーションが生成され、パフォーマンスが最も優れたものが次のミューテーションラウンドに選択されます。
残念ながら、記事のように主題を面白くすることはできませんが、記事を見つけることができません。
これは私にとってこれまでで最もクールなことのように聞こえるので、プログラム内でどのような突然変異が発生する可能性があるのか疑問に思いました。
genetic-algorithm - ウイルスシグネチャと遺伝的アルゴリズム
次の署名をどのように達成するか知りたいです。私はオンラインで読んだことがありますが、(少なくとも過去には)研究者は「疑わしい」ファイルをバイナリコードに変換し、アセンブリに変換して調べ、異常と思われるコードのセクションを選択し、マシン内の対応するバイトを特定します。コード。
しかし、次のウイルス文字列シグネチャはどのように達成されますか?
MIRC.Julie = 6463632073656e6420246e69636b20433a5c57696e646f77735c4a756c696531362c4a50472e636f6d0a0d6e31333d207d0a0d6e31343d200a0d6e31353d206374637020313a70696e673a2f646363
また、(これは完全に狂ったように聞こえるかもしれませんが)上記の文字列は何かを意味する必要があります。アクションのシーケンス、実際のコードなどを推測することしかできません。したがって、アセンブリからこの形式(ウイルス署名)に一度「翻訳」された場合は、それを元に戻すことは可能ですか?
念のために、なぜ私でさえ奇妙な質問だと思うのかを尋ねているのか疑問に思うかもしれません。これが理由です...私は理学士の最終年度のコンピュータサイエンスプロジェクトを準備しています。この時点で、GA(遺伝的アルゴリズム)を使用してウイルスシグネチャを生成/推定/評価/予測できるかどうか疑問に思っています。多分それは私の質問を少し理解しやすくするのに役立つでしょう、私は願っています。
ありがとう!
java - 動的グラフの描画 (直交)
特定の時点での一連のノードで構成されるグラフがあります。このグラフは、時間の経過とともに変化する場合があります。つまり、ノード間の関係とノード自体が変化する場合があります。
図面は直交する必要があります。
グラフの進化を描きたいと思います。つまり、さまざまな瞬間にグラフのイメージを描き、ある瞬間から次の瞬間まで同様の図を描くようにします。
多くのグラフ レイアウト アルゴリズムは、ノードを 1 つ追加するだけで非常に異なる結果を返すと言われており、同様のグラフには同様の描画が必要なので、これは避けたいと思います。
進化の図を作成するのに役立つアルゴリズムとライブラリを探しています (現在のプロジェクトの言語は Java です)。