napoliao Postado Novembro 4, 2013 Denunciar Share Postado Novembro 4, 2013 function [filho_cross]= crossover(pai_1, pai_2, prob_cross) pontos_crossover = floor(prob_cross*9); X = [1*ones(1,pontos_crossover) 2*ones(1,9 - pontos_crossover)]; x = x(randperm(9)); indices_1 = X-ones(1,9); indices_2 = abs(x-2*ones(1,9)); if(rand(1,1)<=0.5) genes_pai_1 =Pai_1.*indices_1; genes_pai_2 =Pai_2.*indices_2; filhos_cross_1 = genes_pai_1 +genes_pai_2; else genes_pai_1 =Pai_1.*indices_2; genes_pai_2 =Pai_2.*indices_1; filhos_cross_1 = genes_pai_1 +genes_pai_2; end Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
napoliao
function [filho_cross]= crossover(pai_1, pai_2, prob_cross)
pontos_crossover = floor(prob_cross*9);
X = [1*ones(1,pontos_crossover) 2*ones(1,9 - pontos_crossover)];
x = x(randperm(9));
indices_1 = X-ones(1,9);
indices_2 = abs(x-2*ones(1,9));
if(rand(1,1)<=0.5)
genes_pai_1 =Pai_1.*indices_1;
genes_pai_2 =Pai_2.*indices_2;
filhos_cross_1 = genes_pai_1 +genes_pai_2;
else
genes_pai_1 =Pai_1.*indices_2;
genes_pai_2 =Pai_2.*indices_1;
filhos_cross_1 = genes_pai_1 +genes_pai_2;
end
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.