遺伝的アルゴリズムを作成していますが、突然変異に問題があります。私がやりたいことは、有限状態マシン (3 桁の 10 セット) で 10 の状態として機能する 30 のランダムな文字を生成することです。 0-9。
数値を生成したら、それらを 30 文字の文字列に変換する必要があります。私も5桁ごとのようなものだけを変異させたいと思います。
これは私が現在試していることです:
% mutate probability 0.2
if (rand < 0.2)
% pick best chromosome to mutate
mut = combo{10};
for t = 3:30
mut(t) = num2str(randi([0,9]));
end
end
私が現在できないことは、n 桁ごとにのみ変更するか、3 桁ごとの最初の桁が 1 から 4 の間にあり、他の桁が 0 から 9 の間にあることを確認することです。
参考になる場合combo{10}
:110202132224154246176368198100