問題タブ [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.

0 投票する
12 に答える
33160 参照

c# - C# での遺伝的プログラミング

C# の優れた遺伝的プログラミングの例を探していました。良いオンライン/本のリソースを知っている人はいますか? Evolutionary/Genetic プログラミング用の C# ライブラリがあるのだろうか?

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

computer-science - 進化的アルゴリズム: 最適な再増殖の内訳

それは本当にすべてタイトルにありますが、進化的アルゴリズムに興味がある人のために内訳を以下に示します。

EA では、基本的な前提として、特定の数の生物 (実際には単なるパラメーターのセット) をランダムに生成し、それらを問​​題に対して実行し、トップ パフォーマーを生き残らせることができます。

次に、生存者の交雑種、生存者の突然変異、および特定の数の新しいランダム生物の組み合わせで再増殖します。

それを数千回繰り返すと、効率的な生物が生まれる。

一部の人々は、生物の複数の「島」を導入するようなことも行います。これは、時々交配が許可されている別々の集団です.

ですから、私の質問は次のとおりです。最適な再増殖率はどのくらいですか?

私は上位 10% のパフォーマーを維持し、30% の交雑種と 30% の突然変異で再移植しています。残りの 30% は新しい生物用です。

私は複数の島の理論も試しましたが、その結果にも興味があります。

これがまさに EA が解決できるタイプの問題であることを忘れてはいません。誰かがそれを試みていることを知っていますか?

前もって感謝します!

0 投票する
14 に答える
55319 参照

genetic-algorithm - 遺伝的アルゴリズムにおけるルーレット選択

ルーレット選択関数の擬似コードを提供できる人はいますか? これをどのように実装しますか:

代替テキスト

この数学表記の読み方がよくわかりません。私は確率や統計を取ったことがありません。

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

java - 進化的音楽のサンプルコードを探しています

音楽を生成するためのインタラクティブな進化的アルゴリズムを実装したいと思います(おそらく、最初は単純なメロディーです)。

これにはJFugueを使用したいと思います。そのウェブサイトはそれが進化的音楽によく適していると主張しているが、私は進化的例を見つけることができない。

私はすでに進化的機械を提供するためのフレームワークを持っています。私が探しているのは、音楽部分の実行可能なアプローチを示すいくつかの単純で機能するコードです(たとえば、進化した曲に適したエンコーディングと進化演算子)。

それがどのように達成されるかについてはいくつかの考えがありますが、私は音楽理論について特に知識がないので、最初に、機能することがわかっているものを再実装したいと思います。

では、進化的音楽への1つ以上のアプローチを示す、自由に利用できるコード(どの言語でもかまいません)を持っている、または知っている人はいますか?

編集:私は、音楽合成に使用できる他の手法ではなく、進化的なコードを特に探しています。

0 投票する
12 に答える
90346 参照

algorithm - ルーレットホイール選択アルゴリズム

ルーレット選択関数の擬似コードを提供できる人はいますか? これをどのように実装しますか: この数学表記の読み方がよくわかりません。これには一般的なアルゴリズムが必要です。

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

artificial-intelligence - 進化的アルゴリズムとニューラル ネットワークは同じドメインで使用されていますか?

さまざまなクラスの機械学習アルゴリズムの違いを感じようとしています。

進化的アルゴリズムの実装は、ニューラル ネットワークの実装とはかなり異なることを理解しています。

ただし、どちらも、潜在的にノイズの多いトレーニング/履歴データのセットからの入力と出力の間の相関関係を判断することを目的としているようです。

定性的な観点から、進化的アルゴリズムとは対照的に、ニューラル ネットワークのより適切なターゲットとなる問題領域はありますか?

それらを補完的な方法で使用することを提案するいくつかの記事をざっと見てきました。そのためのユースケースの適切な例はありますか?

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

algorithm - 進化的画像マッチング シミュレーションのための新しい適応度測定

多くの人が、遺伝的アルゴリズムを使用してサンプル画像と一致する画像を生成するデモを見たことがあると思います。ノイズから始めて、徐々に対象の画像に似てくるようになり、多かれ少なかれ正確な複製ができあがります。

ただし、私が見たすべての例は、かなり単純なピクセルごとの比較を使用しているため、最終的な画像のかなり予測可能な「フェードイン」が得られます。私が探しているのは、もっと斬新なものです: 素朴なアプローチよりも「似ている」と見なされるものに近づくフィットネス測定.

特定の結果を念頭に置いているわけではありません。デフォルトよりも「興味深い」ものを探しているだけです。提案?

0 投票する
34 に答える
123739 参照

algorithm - 遺伝的アルゴリズム/遺伝的プログラミング ソリューションの良い例は何ですか?

遺伝的アルゴリズム(GA) と遺伝的プログラミング(GP) は興味深い研究分野です。

GA/GP を使用して解決した具体的な問題と、独自のライブラリ/フレームワークを作成しなかった場合に使用したライブラリ/フレームワークについて知りたいです。

質問:

  • GA/GP を使用してどのような問題を解決しましたか?
  • どのライブラリ/フレームワークを使用しましたか?

私は直接の経験を探しているので、そうでない限り答えないでください.

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

java - Java で書かれた GA

私は、本「ゲーム プログラマーのための AI テクニック」から取り上げたテクニックに基づいて、遺伝的アルゴリズムを書こうとしています。 2 次元配列でプログラム内でランダムに生成されます。

私は最近、疑似コードに出くわし、それを実装しようとしましたが、実行する必要があることの詳細に関していくつかの問題に遭遇しました。私は多くの本といくつかのオープンソース コードをチェックしましたが、まだ進歩するのに苦労しています。人口の合計適合度の合計を取得し、合計とゼロの間の乱数を選択し、その数が親よりも大きい場合はそれを上書きする必要があることを理解していますが、これらのアイデアの実装に苦労しています.

私のJavaは錆びているので、これらのアイデアの実装に助けがあれば大歓迎です。

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

artificial-intelligence - 進化的アルゴリズムで重み付けする入力を決定する

私はかつて、テトリスを非常に上手にプレイするテトリスAIを作成しました。私が使用したアルゴリズム(このホワイトペーパーで説明)は、2段階のプロセスです。

最初のステップで、プログラマーは問題に「関心がある」入力を追跡することを決定します。テトリスでは、ギャップを最小限に抑えると将来のピースをより簡単に配置できるため、連続していくつのギャップがあるかを追跡することに関心があるかもしれません。もう1つは、平均的な列の高さです。これは、負けそうになった場合にリスクを冒すことは悪い考えである可能性があるためです。

2番目のステップは、各入力に関連付けられた重みを決定することです。これは私が遺伝的アルゴリズムを使用した部分です。結果に基づいて重みが時間の経過とともに調整される限り、任意の学習アルゴリズムがここで実行されます。アイデアは、入力がソリューションにどのように関連するかをコンピューターに決定させることです。

これらの入力とその重みを使用して、アクションを実行することの価値を判断できます。たとえば、直線の形を右の列に完全に配置すると、4つの異なる行のギャップがなくなる場合、このアクションは、その重みが高い場合に非常に高いスコアを取得する可能性があります。同様に、それを上に平らに置くと、実際にはギャップが生じ、アクションのスコアが低くなる可能性があります。

「興味深い」潜在的な入力を見つける最初のステップに学習アルゴリズムを適用する方法があるかどうか、私はいつも疑問に思っていました。コンピュータが最初にどの入力が有用であるかを学習し、次に学習を適用してそれらの入力を重み付けするアルゴリズムを作成することは可能であるように思われます。以前にこのようなことをしたことがありますか?すでにAIアプリケーションで使用されていますか?