1

Я оптимизирую алгоритм реконструкции изображения, используя генетический алгоритм в Matlab. Я сделал кроссовер на двух популяциях и сгенерировал двух потомков без использования инструментария «ga» в Matlab. Так в настоящее время у меня есть два 1 * п матриц с целыми значениями в диапазоне от 0-255 (Это два изображения в строке основного заказа) .For напримерСтадия мутации генетического алгоритма в Matlab

population_1 = [1 2 3 4 5 6 7 8 9 10] 
population_2 = [10 20 30 40 50 60 70 80 90 100] 

И я одна точка заказала крест над и получил отпрыск, как

Off_1 = 1  2  3  4  5 60 70 80 90 100 
Off_2 = 10 20 30 40 50  6  7  8  9 10 

Далее мне нужно сделать мутацию с вероятностью 0.02.I здесь используется «gaoptimset» и кодируется следующим образом.

mutated_child = gaoptimset('MutationFcn', {@mutationuniform, .02}) 

и я напечатал результат. Он дает такую ​​структуру без каких-либо значений.

mutated_child = 

    PopulationType: [] 
     PopInitRange: [] 
    PopulationSize: [] 
     EliteCount: [] 
CrossoverFraction: [] 
    ParetoFraction: [] 
MigrationDirection: [] 
MigrationInterval: [] 
MigrationFraction: [] 
     Generations: [] 
     TimeLimit: [] 
     FitnessLimit: [] 
    StallGenLimit: [] 
    StallTimeLimit: [] 
      TolFun: [] 
      TolCon: [] 
InitialPopulation: [] 
    InitialScores: [] 
    InitialPenalty: [] 
    PenaltyFactor: [] 
     PlotInterval: [] 
     CreationFcn: [] 
FitnessScalingFcn: [] 
     SelectionFcn: [] 
     CrossoverFcn: [] 
     MutationFcn: {[@mutationuniform] [0.0200]} 
DistanceMeasureFcn: [] 
     HybridFcn: [] 
      Display: [] 
      PlotFcns: [] 
     OutputFcns: [] 
     Vectorized: [] 
     UseParallel: [] 

Может кто-нибудь, пожалуйста, помогите мне выполнить мутацию на crossovered Чайлдс (Off_1 и Off_2)? Спасибо заранее.

ответ

1

Я ничего не знаю о панели инструментов GA. Но без него вы могли бы сделать что-то вроде:

% for offspring 1: 

p_m = 0.02; 
for i = 1:length(Off_1) 
    if rand(1) < p_m 
     Off_1(i) = randi([0,255],1); 
    end 
end 

Вы должны делать то же самое с потомством нет. 2