問題タブ [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.
evolutionary-algorithm - 人体 (または生命) の細胞のように機能するプログラムを設計することは可能ですか?
私はいつも、人生は一般的に非常に複雑で、私たちはそれについてすべてを知っているわけではないといつも思っています. しかし、それはうまくいきますよね?プログラムを分化した細胞のグループを考えるように考えることができるかどうかを考えさせられました。または多分分化した全能性(他の細胞で分化できるもの)細胞。
生物学と再プログラミングが関係しているため、これが質問するのに適切な場所であるかどうかはわかりません。関心をお寄せいただきありがとうございます
java - 差分進化を使用した関数値
-500 から 500 までの関数 f(x) = -x(x+1) の最大値を見つけるために微分進化を使用するにはどうすればよいですか? 私が作成しているチェス プログラムにこれが必要です。分化進化の研究を開始しましたが、プログラムでの使用は言うまでもなく、理解するのはまだ非常に難しいと感じています。簡単な方法でアルゴリズムを紹介し、そのようなプログラムの疑似コードの例を教えてください。
optimization - 多目的最適化手法が必要
編集: 他の提案の代わりに、使用可能なものを思いつくまで、 Python DEAP フレームワークをいじることにしました。うまくいけば、これは同様の問題を抱えている人々に役立ちます。
次のように、クライアントに対して多目的最適化を行う必要があるシステムを実装しています。
製造システムは、溶接によって N 個の (同じ種類の) 部品を製造する必要があります。このために、特定の材料、溶接方法、および各パーツの構築に使用する溶接ポイントの数を選択できます。以下の画像は、問題のパラメーターとそれらの相互依存性を示しています。
私は値で遊ぶことができます
コストを最小限に抑え、安定性を最大限に高める材料、溶接方法、および溶接ポイント/部品の数の組み合わせを見つける必要があります。
進化的アルゴリズムのアプローチを使用することを考えていました。ただし、私のバックグラウンドは最適化ではないため、誰かがこの問題に適したより具体的なアルゴリズムを提案できれば、それは本当に役に立ちます。
evolutionary-algorithm - 粒子群の最適化: 候補解の適合性における不確実性/不正確さに対処する
粒子群最適化 (PSO) を使用して、複雑なパラメーター化されたモデルのノイズの多いデータへの適合を最適化したいと考えています。データは時系列の薬品濃度値です。
最適化目的関数内で、濃度時系列プロファイルとモデル予測の間の Bray Curtis 距離 [1] を使用して適合度を測定します (モデル予測は、最適化問題の解候補に対応するパラメーターを使用して生成されます)。
現在、濃度データの不正確さを考慮していません。実際には、濃度は整数値に丸められています。PSO ルーチンおよび/または目的関数が入力データの不正確さを「認識」していれば、PSO とのより良いモデル適合を得ることができると思います。
予測時系列とデータ時系列の最小および最大 Bray Curtis 距離を見つけることができますが、PSO コード内でこれらの値をどのように利用するのが最善かわかりません。
進化的最適化のコンテキスト内で候補ソリューションの適合性を評価する際に、データの不正確さに対処する方法について何か提案はありますか?
二次的な問題は、時系列データが機器とタイミングの両方のエラーの影響を受けることです。両方のタイプのエラーが正規分布しており、標準偏差が不変であると仮定して満足していますが、PSO 最適化の適合性を定量化する際に、この不確実性をどのように処理するのが最善かはわかりません。
[1] http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.braycurtis.html
r - 進化的アルゴリズムの R テンプレート?
R で進化的\遺伝的アルゴリズムを実行するためのテンプレートは用意されていますか?
反復の間にグラフィック出力とユーザー入力を追加できるコードに興味があります。
読んでくれてありがとう!
psはこの投稿を見つけましたRで書かれた遺伝的プログラミングコードはありますか
c# - XNAは描画メソッドを無効にします
xnaを使用して進化的アルゴリズムを実行しようとしています
ゲームの論理的な側面のみを実行し、長い計算時間の後にアニメーションを追加したいと思います。
計算時間を短縮し、Draw()呼び出しを無効にする方法を知っている人はいますか。
ありがとう
optimization - NSGAII(多目的最適化のアルゴリズム)がアルゴリズムの混雑-距離-割り当て部分で常に両方の境界点を選択するのはなぜですか?
NSGA II(多目的最適化)がアルゴリズムの混雑-距離-割り当て部分で常に両方の境界点を選択するのはなぜですか?各反復で、多目的関数の値の1つのうち最良の値を持つ解を選択することを理解していますが、なぜそれも最低値を持つ解を選択するのでしょうか。私にとって、このアルゴリズムはパレートフロント(またはアクティブに検索されたソリューションのスペース)を可能な限り拡張しようとしているようです。
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.4257
擬似コードページ5
293の引用があるので、NSGA IIは多目的最適化の非常に人気のあるアルゴリズムなので、私の質問はそれほど具体的ではないと思います。
artificial-intelligence - 遺伝的アルゴリズムでスキーマを使用する目的は何ですか?
スキーマは、遺伝的アルゴリズムが最適解を得るのにどの程度正確に役立つのでしょうか? スキーマとはテンプレートを意味し、母集団のすべての個人が同じスキーマを持つことを意味しますか?
artificial-intelligence - 遺伝子のクロスオーバー機能
私は Java でタイム テーブル ジェネレーターを作成しています。AI アプローチを使用してハードな制約を満たし、最適なソリューションを見つけるのに役立ちます。これまでのところ、反復構築 (最も制約のある最初のヒューリスティック) とシミュレーテッド アニーリングを実装しており、遺伝的アルゴリズムを実装している最中です。
問題に関するいくつかの情報と、それをどのように表現するか: イベント、部屋、機能 (イベントが必要とし、部屋が満たす)、学生、およびスロットのセットがあります。問題は、各イベントにスロットと部屋を割り当てることです。学生が 1 つのスロットで 2 つのイベントに参加する必要がないこと、割り当てられたすべての部屋が必要な要件を満たしていること。
割り当てがソフト制約違反を評価する場合、セットごとに評価機能があるため、ポイントはこれを最小限に抑えることです。
私が GA を実装する方法は、反復構築 (イベントを未割り当てのままにすることができます) によって生成された母集団から始めて、通常の手順を実行することです。すすいで繰り返します。
私の問題は、私のソリューションがほとんど改善されないように見えることです。私が何をしても、個体群はランダムな適合度になる傾向があり、そこにとどまります。この適合度は常に異なりますが、下限が表示されることに注意してください。
問題はクロスオーバー関数にあると思われます。その背後にあるロジックは次のとおりです。
交差する 2 つの割り当てがランダムに選択されます。それらを割り当て A および B と呼びましょう。B のすべてのイベントに対して、次の手順を実行します (B のイベントが選択される順序はランダムです)。
A で対応するイベントを取得し、割り当てを比較します。3 つの異なる状況が発生する可能性があります。
- それらの 1 つだけが未割り当てで、子で他の割り当てを複製できる場合は、この割り当てが選択されます。
- 両方が割り当てられていて、一方だけが
子への割り当て時に競合を作成しない場合は、その方が選択されます。 - 両方が割り当てられていて競合が発生しない場合は、どちらかがランダムに選択されます。
それ以外の場合、イベントは割り当てられません。
これにより、親の割り当ての一部と母親の割り当ての一部を持つ子が作成されるため、有効な関数のように思えます。さらに、ハード制約を破ることはありません。
突然変異に関しては、SA の隣接関数を使用して、子に基づいて別の割り当てを与え、その子を置き換えています。
もう一度。このセットアップでは、初期集団が 100 で、GA が実行され、常にランダムな (高い) フィットネス値で安定する傾向があります。私が間違っている可能性があることについて、誰かが私にポインタを与えることができますか?
ありがとう
編集:いくつかのものをフォーマットしてクリアする
machine-learning - ヘッブの学習を活用する方法は?
このようなHebb学習を使用するように、進化シミュレーターをアップグレードしたいと思います。私は基本的に小さな生き物が食べ物を見つける方法を学ぶことができるようにしたいと思っています。私は基本的なフィードフォワードネットワークでそれを達成しましたが、Hebb学習でそれを行う方法を理解することに固執しています。ヘッブ学習の基本原理は、2つのニューロンが一緒に発火した場合、それらは一緒に配線されるということです。
したがって、重みは次のように更新されます。
これがどのように役立つかについて私が見つけた情報はかなり不足していて、私はそれを理解していません。
私の現在のバージョンのシミュレーターでは、クリーチャーが食べ物を食べると、アクションと入力(動き、目)の間の重みが大きくなり、それがこの新しいモデルにどのように変換されるかわかりません。パラメータは入力と出力のみであるため、ここで何かが正しいか間違っているかを判断する余地はありません。基本的に、1つの入力が一方向の動きをアクティブにすると、クリーチャーが何かを食べているかどうかに関係なく、体重は増え続けます!
私はHebb学習を間違った方法で適用していますか?参考までに、Pythonを使用しています。