問題タブ [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.
algorithm - これは、遺伝的プログラミングを使用して系列の方程式を見つけることは可能ですか?
シリーズを構成する数字のリストがあります。同じ系列を再生できる方程式を見つけたい。これは可能ですか?また、それをプログラムするために何をお勧めしますか(GA、GPなど)。例を挙げてください。
neural-network - コードをニューラル ネットワークにコンパイルして進化させようとした人はいますか?
高レベルのプログラミング言語 (Java、C# など) を再帰型ニューラル ネットワークにコンパイルし、それらを進化させようとした人がいるかどうか知っていますか?
つまり、メモリ使用量を含むプロセス全体がニューラル ネットワークのグラフに格納され、複雑なプログラム (自然言語処理の問題について考える) について話しているということです。
ニューラル ネットワークとは、活性化を拡散する有向加重グラフを意味し、ノードは入力の関数です (単純にするために線形、シグモイド、乗法)。
さらに、それは遺伝的プログラミングで人々が意味することですか、それとも違いはありますか?
python - ランダムなPythonプログラムジェネレーターを検索する
ランダムだが有効なPythonプログラムを生成できるプログラムを探しています。
私はPython関数にランダムな入力を与えて自分でこれを行おうとしていましtokenize.untokenize()
たが、もちろん、生成されたソースコードのほとんどは、で解釈できる有効なプログラムではありませんでしたeval()
。ですから、ランダムで有効なPythonプログラムを生成する方法を知っているか(おそらくast
モジュールを使用していますか?)、またはそのようなジェネレーターがすでに存在するかどうかを知りたいと思います。
編集: Pythonで遺伝的プログラミングを行うための開始点としてランダムなPythonソースコードを使用したいと思います。そこで、ランダムなプログラムのリストを作成し、それらを「HelloWorld!」を返すプログラムに進化させたいと思います。
genetic-algorithm - 定常状態の遺伝的アルゴリズムに突然変異を適用する
シンボリック回帰を実行するために、定常状態の遺伝的アルゴリズムを実装しています。
私の質問は、突然変異とクロスオーバー演算子の関係についてです。
私は常に突然変異確率(Pm)を調べてから、突然変異とトーナメントの選択を適用して、エラーに基づいて親を選択します。
- 最初の質問:
突然変異は、交叉(または別の遺伝的演算子)の後に得られた子供にのみ適用する必要がありますか、それとも1人の親に直接適用して、新しい個体を生成することができますか?
- 2番目の質問:
クロスオーバー手術後に得られた子供は常に突然変異を試みなければなりません(もちろんPmで)?
よろしくお願いします。
java - 均一なクロスオーバーは、1ポイントのクロスオーバーよりも悪い結果をもたらしますか?
宿題の一部に統一クロスオーバーアルゴリズムを作成しましたが、正しく機能していません。実際には、私の1ポイントのクロスオーバーよりも悪い結果が返されています。どこが間違っているのかを誰かに指摘してもらいたいので、修正してください:)。私は何年もの間努力してきました、そしてこれは私の最後の手段です!
このメソッドは、パラメーターとして2つの親p1idとp2idを取り込みます。次に、表現の配列リスト(p1およびp2)を作成します。
forループでは、「nbits」は配列の重み(または配列の長さ)です。私のワンポイントクロスオーバーメソッドはforループでそれを使用し、問題なく機能します。
次に、1/2を生成して、各親から子が取得する遺伝子を決定します。
このアルゴリズムの適合性は非常に悪いです!! どんな助けでも大歓迎です。
どうもありがとう。
genetic-algorithm - なぜ遺伝的アルゴリズムはRSAの因数分解のような問題で機能しないのですか?
少し前に私はGAにかなり興味があり、GAについてかなり勉強しました。私はC++GAlibを使用していくつかのプログラムを作成しましたが、計算が難しい問題を数秒で解決できることに非常に驚いていました。彼らは本当に本当にスマートに機能し、適応する素晴らしいブルートフォーシングテクニックのように見えました。
名前を正しく覚えていて、それがすべてMITによって証明されたスキーマ定理に基づいているように思えた場合、私はMichalewitzの本を読んでいました。
また、RSA秘密鍵の因数分解などの問題に実際に使用することはできないと聞きました。
なぜこれが当てはまるのか誰かが説明できますか?
java - PHP のフィットネス関数
遺伝的アルゴリズムで「フィットネス関数」を実装する例を丸一日調べました。(私はすでに「人口の開始」、「突然変異」、および順列を実装しています)。次のステップは「フィットネス関数」です。PHPで「適合性」を計算する例はありますか? JavaやC#でもOKです。
artificial-intelligence - 遺伝的プログラミング-適応度関数
A_i
が属性で、結果がバイナリ(yesまたはno)である一連のトレーニング例があるとします。
適応度関数を定義する必要があることはわかっています。しかし、この問題はどうなっているのでしょうか。私の実際の問題には、10個のパラメーターと100個のトレーニング例がありますが、これは同様の問題です。
algorithm - 遺伝的アルゴリズムによるコード生成
進化的プログラミングは、多くの最適化問題を解決する優れた方法のようです。アイデアは非常に簡単で、実装に問題はありません。
ruby/python スクリプト (または他の言語) でプログラムを進化的に作成する方法があるかどうか疑問に思っていました。
アイデアは簡単です:
- プログラムの母集団を作成する
- 遺伝子操作 (ルーレット ホイールの選択またはその他の選択) を実行したり、最高のプログラムから継承した新しいプログラムを作成したりします。
- 条件を満たすプログラムが見つかるまでポイント 2 をループします。
しかし、まだいくつかの問題があります。
- 染色体はどのように表されますか? たとえば、染色体の 1 つのセルを 1 行のコードにする必要がありますか?
- 染色体はどのように生成されますか? それらがコード行である場合、それらが構文的に正しいことを保証するためにどのように生成しますか?
生成できるプログラムの例:
N 個の数値を入力として取り、それらの平均を出力として返すスクリプトを作成します。
そのようなアルゴリズムを作成しようとする試みがあった場合は、リンク/ソースを見て喜んでいます.
artificial-intelligence - 人工知能を利用した自動プログラミングの探索手法のカテゴリーを何という?
私は文献で利用可能な自動プログラミング技術の研究を行っていますが、AI を使用するもののみです。私が見つけることができる唯一のそのような手法は、遺伝的プログラミングです。
プログラマーが解決方法を知る必要のない、高レベルの問題仕様を実際のプログラムに変換する他の手法はありますか? これらの検索手法のカテゴリは何と呼ばれますか?