問題タブ [genetic-programming]

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

genetic-programming - 遺伝的プログラミングの典型的なユースケースは何ですか?

今日、 50 個の半透明ポリゴンのみを使用してモナリザのレプリカをペイントする方法について、Roger Alsing によるこのブログ エントリを読みました。

私はその特定のケースの結果に魅了れています.

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

c# - 遺伝的プログラミングのための C# 動的ツリー

私は、メンバー間の関係を持ついくつかのパブリックユーザー定義クラスと、特定および汎用のシグネチャを持ついくつかのメソッドを持っています。

if/then/else、foreach、do/while、変数割り当てなどの基本的な制御ステートメントを使用して、これらのクラス (および CLR クラス) でカスタム制御フローを格納および操作できるようにしたいと考えています。

カスタム制御フローは実行時に作成し、後で使用および操作するために保存する必要があります。アイデアは、遺伝的操作を適用できるようにするために、厳密に型指定された構文を使用して、おそらく抽象的な構文ツリーの形式で、制御フローのデータ表現を持つことです。結果のカスタム コードは、別のプログラムの一部として実行する必要があります。

1)遺伝的操作を操作し、クラスを含むコードを実行するための推奨されるコード表現は何ですか。

2) 上記の問題には、どの c# テクノロジを使用する必要がありますか? リフレクション、新しい c# 3.0 機能 (ラムダ、式ツリー)、CodeDom、DLR ライブラリなどの関連テクノロジがあることは知っていますが、どのアプローチまたは組み合わせが最も効率的かを知っています。

3) 利用可能なそのようなパラダイムまたは実装はありますか?

編集: プラットフォームには、定数と時間変数の両方の定義済みの c# カスタム型のデータが提供されます。

刻々とルールがデータに適用され (基本的な条件またはより複雑な機能)、いくつかのアクションを実行することが決定されます。

私はできるようになりたいです:

ルールを木やグラフで表現し、その流れを実行します。

ユーザーが UI ツールキットを介してカスタム ルール セットを作成する

ツリーまたはグラフ上で再配置を行い、GP 操作を適用する

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

genetic-programming - アナログ回路シミュレーションライブラリ?

私は遺伝的プログラミング ツールに取り組んでおり、アナログ回路を進化させたいと考えています。私の GP コードを接続するためのライブラリやツール、またはリファレンスさえ提案できますか? 私のコードによって作成された回路を SPICE のようなものに評価させる何らかの方法が必要なだけです。SPICE などのツールで使用される回路 (ネットリスト) のプレーン テキスト表現への参照を見てきました。シミュレーターを実行して標準入力でネットリストを渡すよりも、シミュレーターに接続するためのより良い方法があるかどうか知りたいです。私のコードは C で書かれています。これは、私がどのような種類のライブラリに興味を持っているか疑問に思っている場合に備えてのことです。

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

algorithm - 近似解アルゴリズムの設計方法

写真の一部を取り、それらを同じオブジェクトの別の写真と照合できるアルゴリズムを書きたいと思います。

たとえば、コンピューターに花瓶の写真と、花瓶が入っているシーンの写真を与えた場合、花瓶が画像のどこにあるかをコンピュータが判断することを期待します。このようなアルゴリズムの開発をどのように開始しますか?

このアルゴリズムの最終的な使用法は、たとえば、誰かの顔の写真を使って、その人が大勢の人の中にいるかどうかを判断できるアプリケーションです。このアルゴリズムは、最終的にビデオ ストリームに適用されます。

編集:すぐに解決したくないので、この問題の実際の解決策は期待していません。本当の問題は、このようなものをコンピューターにどのように定義して、それを実行するアルゴリズムを作成できるかということでした.

ありがとう

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

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

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

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

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

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

c# - 遺伝的プログラミングの実装

私は遺伝的プログラミングの一般性に精通していますが、遺伝的プログラミングの実装の詳細を示す何かをどこで見つけられるか疑問に思っています。私は C# と .NET 3.5 を使用しており、パスファインディングなどに遺伝的プログラミングを使用したいと考えており、一般的に何ができるかを知りたいだけです。編集:私はおそらく私が探しているものを明確にする必要があります:構文ツリーを格納するためにどのような種類のデータ構造が使用されるか、繁殖操作がどのように実行されるかなどに興味があります。

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

python - 2 つのネストされたリストを分割し、パーツを結合して 2 つの新しいネストされたリストを作成する方法

Python で単純な遺伝的プログラミング ユーティリティをコーディングしようとしています。しかし今、私は自分のツリーのクロスオーバー/メイト機能で立ち往生しています。ツリーはネストされたリストによって構築され、次のようになります。

各ツリーのポイントをランダムに選択して分割し、各ツリーの一部を新しいツリーに結合したいと考えています。また、超えてはならない最大深度もあるため、ツリーが大きすぎる可能性があるため、ツリー内のどこでも選択を行うことはできません。以下は、それがどのように機能するかの例です。

これを解決する方法について(現時点では)わかりません。ヒントや解決策は大歓迎です!

(誰かが構造をよりよく理解するのに役立つかもしれないので、解析関数を追加しました。)

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

genetic-algorithm - カーブ フィッティングに適用される遺伝的アルゴリズム

遺伝的アルゴリズムを介して近似したい未知の関数があるとしましょう。この場合、y = 2x であると仮定します。

x = 0 から x = 4 までの x ごとに 1 つの y の 5 つの要素で構成される DNA を作成します。多くの試行錯誤と計算の後、次の形式に近づくことができます。

best_adn = [0, 2, 4, 6, 8]

それが線形関数なのか、多項式なのか、それとももっと醜いものなのか、事前にはわからないことに注意してください。また、私の目標は、best_adnから関数のタイプを推測することではありません。それらのポイントが欲しいだけなので、後で使用できます。

これはほんの一例の問題でした。私の場合、DNA に 5 つのポイントしかないのではなく、50 か 100 のようなものがあります。最適なポイントのセットを見つけるための GA の最良のアプローチは何ですか?

  1. 100 の母集団を生成し、悪い 20% を破棄します
  2. 残りの80%を再結合?どのように?それらをランダムなポイントで切断し、父親の ADN の最初の部分と母親の ADN の 2 番目の部分を組み合わせますか?
  3. ミューテーション、この種の問題ミューテーションではどのように定義すればよいでしょうか?
  4. エリート主義を使う価値はありますか?
  5. 他に使用する価値のある簡単なアイデアはありますか?

ありがとう