タグ付けされた質問 「genetic-algorithms」

5
次世代がより良くなることをどうやって知るのでしょうか?
私は最近このMSDN記事で遺伝的アルゴリズムを紹介しました。彼はそれらを組み合わせ進化と呼んでいますが、それは同じことのようであり、2つの潜在的なソリューションを組み合わせることで、少なくともその親として良い。 これはなぜですか?確実に組み合わせると、さらに悪い結果が生じる可能性があります。 私が理解している限り、アルゴリズムは種のオスとメスが子孫を生産するとき、それらの子孫は両方の親の特性を持つという概念に基づいています。いくつかの組み合わせはより良くなり、いくつかはより悪くなり、いくつかは同様に良くなります。(「より良い」の定義が適切であれば)より良いものは、改善された特性を持つ生き残りを生み出し、offsringを生成する可能性が高くなります。しかし、そこになります弱い組み合わせであること。なぜこれがGAの問題ではないのですか?

3
カレンダー/計画アルゴリズム
問題に直面しているので、どのようにアプローチしたらよいかわかりません。従業員のカレンダーを作成する必要があります。各従業員には特定の仕事上の制約があります(個人的なもの、一般的なもの) 私が取り組んでいるもの: 医者がいます 各医師は週5日勤務する必要があります。 各医師は週に1晩働く必要があります 各医師は、他の医師と比較して(または可能な限り近く)夜同じ時間働く必要があります。 各医師は、他の医師と同等の(または可能な限り近い)木曜日の夜と日曜日の夜に同量の仕事をしなければなりません。 一部の医師は特定の日/夜に作業できない(ユーザーによる入力) 一部の医師は、特定の日/夜に作業したい(ユーザーによる入力) 一部の医師は、特定の日/夜に仕事をしたくない(ユーザーによる入力) 問題のユーザーはカレンダーを扱っている人です。すべての制約に従うカレンダーを自動的に生成するソリューションを構築しようとしています。解決策は、各医師に「医師を追加」と「制約を追加」を入力し、次に「カレンダーを生成」ボタンを入力するだけの大きな設定です。それはユーザーにとって本当に基本的なものです。 私の問題 : 実際の計画をどのように生成するかわからない。ニューラルネットワークや遺伝的アルゴリズムなどについて読んでいるが、それらはすべて正しい解決策のように思えるが、実際にはそうではない。 GAを見ると、与えられた母集団(私の問題)の解を見つけるように作られていますが、開始母集団は与えられた制約のセットに既に従わなければなりません。その場合、私の最初の人口はすでに解決策です。「最適化」する必要はありません。1人の人が月曜日の3晩連続して働くことは問題ではありません。実際に正しい場合、他の人が同じ量で働く場合は、他の人もある時点で月曜日の3日間働くことは問題ありません。私の問題はすでにGAの開始点で解決されているので、GAは私にとって「高度」であると思うようになります。 しかし、再び、GAは本当にこれのために作られたように見えるので、私はそれを正しく理解していないかもしれませんか? とにかく、GA(またはニューラルネットワークなど)を使用したことはないので、そのような学習曲線を作成する前に、正しいアプローチを選択してください。 私の質問 : 私のような問題に対する良いアプローチ/アルゴリズム/テクニックは何だと思いますか?ガス?ニューラルネットワーク?まったく違う何か? 私はすべての耳であり、必要に応じて詳細を開いていますが、私は自分自身をかなり明確にしたと思います:)

5
遺伝的プログラミング[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 私は最近Redditを閲覧していて、「JavaScript遺伝的アルゴリズム」の例へのリンクを投稿しました。私は遺伝的アルゴリズムとプログラミングの概念に本当に魅了されてきましたが、いくつかのグーグルを使った後でも、少し混乱したままです。どのように機能しますか? ボキャブラリーの用語は他の何よりも私を混乱させていると思います。簡単な例と説明をいただければ幸いです。遺伝的プログラミングの概念と、それを自分のプロジェクトにどのように実装できるか、そしてその理由は?

8
遺伝的アルゴリズムの停止点を定義すると、アルゴリズムの目的が損なわれますか?
ウィキペディアでは、GAの終了ポイントを次のように定義しています。 通常、アルゴリズムは、世代の最大数が生成されるか、母集団に対して十分なフィットネスレベルに達すると終了します。世代の最大数が原因でアルゴリズムが終了した場合、満足のいく解決策に達したかどうかはわかりません。 さて、満足のいくフィットネスレベルに達したときに終了し、あなたがそのフィットネスレベルを定義している場合、特性をすでに知っているので、最初から「完璧な」ゲノムを作成できるのはなぜですか。この完璧なゲノムの? ここで少し混乱していると思います。GAの目的は、常に進化し、考えていたよりもさらに良い解決策を示すことであると考えました。完全な」状態。それはポイントを破壊しませんか?

2
クロスオーバー値が0.5ではないのはなぜですか?
私がGAについて読んだほとんどの文献では、約0.7のクロスオーバー値を使用することを推奨しています。そのため、一方の染色体の遺伝子の最初の70%と残りの30%を使用して、1つの新しい染色体を生成します。 上位2つを選択して親の染色体を選択している場合(適合度でランク付け)、評価の高い染色体の遺伝子により多くの重みを付けているため、ここでロジックを確認できます。ただし、確率的な方法(ルーレットホイールなど)を使用して親を選択している場合、クロスオーバー値として0.5以外のものを使用する意味は何ですか?親として染色体AとBを選択した場合、Aを最初に選択し、次にBを選択し、次にBを最初に選択する可能性があります。 私は実際にはこれまでに1つのGAしか書いていません(まだ学習曲線の一番下にありますが、ここでの大きな助けのおかげで速く上に移動します)。しかし、その実験により、0.5はソリューションへの収束が速くなることが示されていますその他の値。 それとも何か不足していますか?

4
計算が無限に速いときに遺伝的アルゴリズムは必要ですか?
私が理解していることから、遺伝的アルゴリズムは複数のバリエーションを試し、各バリエーションの適合度を評価します。次に、最適なバリエーションを選択し、少し変更して、次の世代に向けてプロセスを続行します。 しかし、無制限の計算リソースがある場合はどうでしょうか?次に、新しい世代を育てる複雑なプロセスに頼らずに、考えられるすべてのバリエーションを試してみて、それらの適合性を評価できますか?言い換えれば、遺伝的アルゴリズムは計算が高価で、総当たりの方法が不可能な場合にのみ必要ですか?それとも、他の利点も追加しますか?

4
遺伝的アルゴリズムで整数をビットにマッピングする必要がありますか?
私が読んだことから、遺伝的アルゴリズムは通常(常に?)ビットの染色体に適用されます。したがって、整数値をとる関数の最大化に問題がある場合、最初に整数がビットとしてエンコードされます。 このマッピングは必要ですか?整数の染色体を取り、クロスオーバーと突然変異を直接適用できるようです。したがって、35個の整数入力を受け取る関数がある場合は、35xBビット(Bは整数のエンコードに必要なビット数)ではなく、これらの整数に遺伝演算子を適用できます。これが行われない理由はありますか? 問題はより粗く定義されているため(つまり、ビットを使用しない場合は、より短い染色体で問題を定義できるため)、アルゴリズムは影響を受ける可能性がありますが、より良い答えがあるかどうか知りたいです。

12
コード作成の自動化にどれくらい近づきましたか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張ディスカッションを誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 また、現代のエディターによって挿入されたオートコンプリートや自動コードスニペット、またはポリモーフィックコードを意味するものではありません。しかし、与えられた入力とタイプ、および望ましい出力の情報を通過し、選択した言語で有効なコードを出力できるプログラムの最先端は何ですか。遺伝的プログラミング、遺伝子発現プログラミングは知っていますが、他の取り組みについては知りません。また、グーグルはあまり現れません。 この面での進歩を誰かが知っていますか? 編集:「有効なコードを出力する」と言うとき、私はAIまたは類似の何かがロジックと制御のフローを処理し、命令型言語で実装することを意味します。命令型言語のみです。それが難しい部分だからです。それでも、この種のアイデアをサポートするために開発されている新しい言語を知っている場合は、言及してください。おそらく、現在の言語セットは、最初に遭遇する可能性のある初期のAIには適していない可能性があります。

1
自然にインスパイアされたアルゴリズムを学ぶための最良の方法は何ですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 6年前休業。 私は機械学習コース(スタンフォード)を修了し、非常に興味を持ちました。また、いくつかの調査の結果、自然にインスパイアされたアルゴリズムを学びたいと思いました。 次のようなリソースを見つけました。 賢いアルゴリズム:自然にヒントを得たプログラミングのレシピ(本) Wyss Institute(ウェブサイト) プログラミングゲームAIの例(書籍) 最初のリファレンスは見栄えがよく、疑似コードで完全に見えます(すべてをRuby、私の好みの言語で実装する可能性を与えてくれます)。また、すべてのコードにRuby実装を提供します。しかし、それは練習するための演習の欠如であり、これは重要な特徴だと私は思います。 2つ目は、この分野の研究を始めるきっかけとなったものですが、研究するコースや教材はありません。 3番目のものも見た目は良いですが、エクササイズが少ししかなく、集中しすぎている可能性があります(私はゲームが好きですが、自然にインスパイアされたアルゴリズムに関連する他のすべても研究したいと思っています)。また、それはC ++(ハード言語ではないが、Rubyに比べてその制限が気に入らない)に焦点が当てられており、Rubyまたは疑似コードで何かを優先します(ただし、私の優先事項ではありません)。 誰かが理論を補足するための演習も持っている何かを知っていますか?特に演習に焦点を当てて、学ぶべきことはありますか?(多分コースやビデオ講義)。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.