問題タブ [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.
c++ - 遺伝的アルゴリズムのクラス階層を構築する方法は?
私は遺伝的アルゴリズムでいくつかの作業を行っており、独自のGAクラスを作成したいと考えています。GAには、選択、突然変異、クロスオーバー、初期母集団の生成、適合度の計算、およびアルゴリズムの終了を行うさまざまな方法があるため、これらのさまざまな組み合わせをプラグインする方法が必要です。私の最初のアプローチは、これらすべてのメソッドが純粋な仮想として定義された抽象クラスを持つことであり、具体的なクラスはそれらを実装する必要がありました。たとえば、同じでクロスオーバーメソッドが異なる2つのGAを試してみたい場合は、GeneticAlgorithmを継承し、クロスオーバーメソッドを除くすべてのメソッドを実装する抽象クラスを作成してから、2つの具象クラスを作成する必要があります。このクラスから継承し、クロスオーバーメソッドのみを実装します。
この問題によりよく適用できる別のアプローチはありますか?
ruby - 遺伝的アルゴリズムでフィットネスを追跡する
私はまだアンデッド投稿のために古いルビーをハッキングしています(私は知っています、私は知っています、死んだチャックから投稿を取り戻そうとするのをやめます)。しかし、コードは少し手に負えなくなってきており、現在、遺伝的アルゴリズムに取り組んでおり、生と死の究極の戦いを作成しており、フィットネスは戦いが続く時間です.
それで、私はそれの基本を理解しました。ゲームの属性を調整する方法とソリューションの適合度を取得する方法、私が理解できないのは、以前に組み合わせを試したことがわかるように適合度を保存する方法です。
私は、何が起こっているのかを理解するのに十分なほどよく読めるコードは言うまでもなく、調べるための多くの遺伝子コードを見つけることができませんでした. これが通常どのように行われるか、または単に私を正しい方向に向けるのに役立つアルゴリズムを知っている人はいますか?
artificial-intelligence - 遺伝学アルゴリズムの理論的な問題
私は現在、「Artificial Intelligence: A Modern Approach」(Russell+Norvig) と「Machine Learning」(Mitchell) を読んでいて、AINN の基礎を学ぼうとしています。
いくつかの基本的なことを理解するために、2 つの「グリーンホーン」の質問があります。
Q1: それぞれ染色体 001110 と 101101 を持つ 2 つの親 A と B が与えられた遺伝的アルゴリズムでは、次の子のどれが 1 点交叉から生じた可能性がありますか?
を: 001101
b: 001110
Q2: 上記の子孫のうち、2 点交叉から生じた可能性があるのはどれ? なぜ?
お知らせ下さい。
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 の最良のアプローチは何ですか?
- 100 の母集団を生成し、悪い 20% を破棄します
- 残りの80%を再結合?どのように?それらをランダムなポイントで切断し、父親の ADN の最初の部分と母親の ADN の 2 番目の部分を組み合わせますか?
- ミューテーション、この種の問題ミューテーションではどのように定義すればよいでしょうか?
- エリート主義を使う価値はありますか?
- 他に使用する価値のある簡単なアイデアはありますか?
ありがとう
genetic-algorithm - 遺伝的アルゴリズムを使用してノード間の最短経路を解決するにはどうすればよいですか?
ノードのネットワークがある場合、遺伝的アルゴリズムを使用して任意の 2 つのノード間の最短経路を計算するにはどうすればよいですか?
.net - .NET に使用するのに適した遺伝的アルゴリズム (GA) または粒子群最適化 (PSO) フレームワークは何ですか?
PSO や GA などの進化的最適化手法を実装するために提案する、優れた安定したフレームワークは何ですか?
私は独自のものを作成しましたが、それらが気に入っています。既存の安定版のものと比較または追加することに興味があります (または、それらがしっかりしていて拡張可能であれば、それらを使用するだけです)。
c - c#、c/c++、または Java を使用して GA で BBN を改善する
私の小さなプロジェクトで少し問題があります。ここの誰かが私を助けてくれることを願っています!
ゲーム AI の意思決定要素としてベイジアン ネットワークを使用することを計画しています。意思決定をあらゆる段階で改善したいのですが、その方法を知っている人はいますか? チュートリアル/既存の実装はどれも非常に優れています。あなたの何人かが私を助けてくれることを願っています.
このコミュニティのプログラマーがこれをポーカー ゲームの AI にうまく実装したと聞きました。彼のように、別のポーカー (テキサス州) またはレンツで使用する予定です。
C/c++、c#、または Java コードを探しています。
ありがとう、マイク
algorithm - 遺伝的アルゴリズムの「クロスオーバー」関数を作成してネットワーク パスを改善する
特定の場所で特定の数のノードを接続する最も効率的な方法を見つける遺伝的アルゴリズムを開発しようとしています。
ネットワーク上のすべてのノードがサーバー ノードに接続できる必要があり、ネットワーク内にサイクルがあってはなりません。基本的に木です。
任意のネットワーク レイアウトの「適合性」を測定できる機能があります。私を止めているのは、2つのネットワーク構造(親)を取り、それらを何らかの形で混合して上記の条件を満たす子孫を作成するクロスオーバー関数を考えられないことです。
何か案は?
明確化: 各ノードには固定の x、y 座標位置があります。それらの間のルートのみを変更できます。
artificial-intelligence - 遺伝的プログラミングでクロスオーバーを実装する
私は遺伝的プログラミング(GP)システムを書いています(C言語ですが、それは些細なことです)。多くの文献 (Koza、Poli、Langdon、Banzhaf、Brameier など) を読みましたが、説明されていない実装の詳細がいくつかあります。例えば:
私は世代別のアプローチではなく定常状態の人口を使用しています。これは主に、暫定的な人口のために半分を予約するのではなく、コンピューターのメモリのすべてを使用するためです。
Q1. GP では GA とは異なり、クロスオーバーを実行するときに 2 つの親を選択しますが、1 つまたは 2 つの子を作成するか、それとも自由に選択できますか?
Q2. 定常状態の GP では、世代システムとは対照的に、クロスオーバーによって作成された子供たちは人口のどのメンバーに取って代わりますか? これは私が議論したのを見たことがないものです。2 人の親ですか、それとも他の 2 人のランダムに選択されたメンバーですか? 後者の場合は理解できますし、代わりのメンバーを選ぶためにネガティブ トーナメント セレクションを使用するかもしれませんが、それは時期尚早の収束を生み出しませんか? (クロスオーバー イベントの後、母集団には 2 つの元の親とそれらの親の 2 つの子が含まれ、他の 2 つのランダムなメンバーが削除されます。エリート主義は固有のものです。)
Q3. GP に焦点を当てた Web フォーラムまたはメーリング リストはありますか? 奇妙なことに、私はそれを見つけていません。Yahoo の GP グループはほぼアナウンスのみに使用され、Poli/Langdon フィールド ガイド フォーラムはほとんど沈黙しており、gamedev.net のような一般/ゲーム プログラミング サイトでの GP ディスカッションは非常に基本的なものです。
ご協力いただきありがとうございます。
neural-network - 遺伝的アルゴリズムを使用してニューラルネットワークを最適化する方法は?
私はこのトピックにまったく慣れていないので、どんな助けでも素晴らしいでしょう。必要なのは、GAを使用してMATLABのニューラルネットワークを最適化することです。私のネットワークには[2x98]入力と[1x98]ターゲットがあり、MATLABヘルプを調べてみましたが、どうすればよいかわかりません:(ですから、助けていただければ幸いです。よろしくお願いします。
編集:ダンが最初の答えで言ったように、私は最適化するために何があるかを言っていなかったと思います。最も重要なことは、隠れたニューロンの数だと思います。そして、おそらく隠れ層の数とエポックの数などのトレーニングパラメータ。十分な情報を提供していないことをお詫び申し上げます、私はまだこれについて学んでいます。