問題タブ [mutation]

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

java - JAVAコードの説明

5行目から9行目までの意味を説明するのに助けが必要です。ありがとう

  1. String words = "Rain Rain go away";

  2. String mutation1, mutation2, mutation3, mutation4;

  3. mutation1 = words.toUpperCase();

  4. System.out.println ("** " + mutation1 + " Nursery Rhyme **");

  5. mutation1 = words.concat ("\nCome again another day");

  6. mutation2 = "Johnny Johnny wants to play";

  7. mutation3 = mutation2.replace (mutation2.charAt(5), 'i');

  8. mutation4 = mutation3.substring (7, 27);

  9. System.out.print ("\'" + mutation1 + "\n" + mutation4 + "\'\n");

  10. System.out.println ("Title length: " + words.length());

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

programming-languages - 怠惰な言語が突然変異をサポートしないのはなぜですか?

私はプログラミング言語理論を研究していますが、怠惰な言語に突然変異がないという確かな理由を理解することはできません。誰もが理由を知っていますか?

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

programming-languages - この結合の突然変異を許可しないのはなぜですか?

私は学校のプロジェクト(今では趣味のプロジェクトになっています)の通訳/コンパイラを構築していますが、インストラクターは「この」バインディングの変更を許可しないように警告しました(彼はそれがひどくてそれについて大したことをしたと言いました)しかし、なぜこれがそんなに...危険か悪いかを私は知りませんでした。なぜこれがそんなに悪いのか、私は非常に興味があります。この種の機能は、何らかの形で役立つ可能性があると思いました。

言語の構築に精通している人なら誰でも、「this」バインディングのミューテーションがどのような問題を引き起こす可能性があるのか​​、そして実際に許可された場合に実行できるクールで便利なトリックを知っているのだろうか。

あなたが知っている言語は「これ」の突然変異を許可しますか?

ありがとう、

0 投票する
5 に答える
5539 参照

graph - applying crossover and mutation to a graph (genetic algorithm)

I'm playing arround with a Genetic Algorithm in which I want to evolve graphs. Do you know a way to apply crossover and mutation when the chromosomes are graphs?

Or am I missing a coding for the graphs that let me apply "regular" crossover and mutation over bit strings?

thanks a lot! Any help, even if it is not directly related to my problem, is appreciated!

Manuel

0 投票する
6 に答える
7203 参照

java - Java / Swingで、合法的に「通知で変更を試みる」方法はありますか?

IllegalStateExceptionを回避し、JTextFieldが「通知で変更を試みる」ことを許可する、つまり、リスナーがトリガーされた場合に独自のテキストを設定するために使用できる魔法があるかどうか疑問に思いました。

参考までに、JTextFieldでのユーザーの入力に応じて、12個の列挙型の範囲で最も可能性の高い一致を返すオートコンプリート関数をプログラムしようとしています。

これがコードサンプルです。列挙型の結果をきしむ私の不器用なアルゴリズムを許さなければなりません。コメントで例外を生成するコードを強調表示しました:

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

c++ - c++遺伝的アルゴリズムの突然変異エラー

遺伝的アルゴリズム内の突然変異機能に問題があります。自分が間違っていることもよくわかりません。私はこのコードをしばらく見てきましたが、ロジックは正しいと思います。それは私が望む結果を生み出していないだけです。

問題子構造体にあるバイナリ配列を出力するときに、いずれかのビットでミューテーションが発生した場合、本来あるべきものではなく、乱数が変更されます。

例えば

  • 0000000はバイナリ文字列です
  • 2番目のビットで突然変異が発生しました
  • 0001000が結果になります

このセクションはメイン内にあります。

これが突然変異関数です

このようにメインに出力されています

0 投票する
3 に答える
702 参照

genetic-algorithm - 定常状態の遺伝的アルゴリズムに突然変異を適用する

シンボリック回帰を実行するために、定常状態の遺伝的アルゴリズムを実装しています。

私の質問は、突然変異とクロスオーバー演算子の関係についてです。

私は常に突然変異確率(Pm)を調べてから、突然変異とトーナメントの選択を適用して、エラーに基づいて親を選択します。

  • 最初の質問:

突然変異は、交叉(または別の遺伝的演算子)の後に得られた子供にのみ適用する必要がありますか、それとも1人の親に直接適用して、新しい個体を生成することができますか?

  • 2番目の質問:

クロスオーバー手術後に得られた子供は常に突然変異を試みなければなりません(もちろんPmで)?

よろしくお願いします。

0 投票する
0 に答える
628 参照

unit-testing - 非常に単純な Fortran-77 プログラムで変異体の数を計算する方法

来週、クラスでミューテーションテストについて発表します。教授は、A. ジェファーソン オファットらによって書かれた十分なミュータント オペレーターの実験的決定に関する論文をくれました。この論文から、プログラムに対して生成されるミュータントの数は、データ参照の数とデータ オブジェクトの数の積にほぼ比例するという結論を得ることができます。簡単な Fortran-77 プログラムを次に示します。

著者、つまり A. Jefferson Offutt は、上記のプログラムには合計 44 の変異体があると述べています。44 のミュータントを取得する方法がわかりません。データ参照の数とデータ オブジェクトの数を計算して 44 の変異体を取得する方法を知っている人はいますか?

どんなアイデアでも大歓迎です。

さて、44 のミュータントは、データ参照の数とデータ オブジェクトの数を掛けただけでは得られないと思います。上記の Fortran-77 プログラムのミュータントの総数には、他のミュータント オペレーターも含まれています。他の人が回答し続けるのを防ぐために、この質問を編集します。質問を閉じる方法や回答済みとしてマークする方法がわかりません

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

genetic-algorithm - 遺伝的アルゴリズム、適応度、突然変異でクロスワードパズルを解く

私は学校のために研究室を作るために一生懸命に努力しています。遺伝的アルゴリズムを使ってクロスワードパズルを解こうとしています。問題はそれがあまり良くないことです(それはまだランダムすぎます)私は今私のプログラムがどのように実装されているかについて簡単に説明しようとします:

パズルを持っている場合(#はブロック、0は空きスペース)

そして、このパズルの解決策の候補となる単語のコレクション。私のDNAは、単に1D配列としてのマトリックスです。

私の最初の個人のセットは、私の単語に含まれる文字のプールからランダムに生成されたDNAを持っています。

roulette-selectionを使用して選択を行います。組み合わせと突然変異の可能性についていくつかのパラメーターがありますが、突然変異が発生した場合、私は常にDNAの25%を変更します。私は文字のプールからランダムな文字でそれを変更します(突然変異はすでに形成された単語を破壊する可能性があるため、これは悪影響を与える可能性があります)

ここで、適応度関数:行列を水平方向と垂直方向の両方でトラバースします。単語が見つかった場合、FITNESS + = word.lengh +1

ある単語の一部である文字列を見つけた場合、FITNESS + = word.length /(puzzle_size * 4)。とにかく、0から1までの値を指定する必要があります。したがって、「tool」から「to」を検索し、XをFITNESSにアドバタイズし、「tool」から「too」を検出した直後に、FITNESSに別のYを追加します。

私の世代は実際には時間の経過とともに改善していません。それらはランダムに表示されます。したがって、1000〜2000のプールで400世代後でも(これらの数値は実際には重要ではありません)、ソリューションに6ワードが必要な場合に、1〜2ワード(2文字または3文字)のソリューションが得られます。