crossover.m

来自「基本遗传算法,RBF神经网络算法,BP神经网络算法,一共5个源代码.程序可移植性」· M 代码 · 共 17 行

M
17
字号
%交叉
%群体中的每个个体之间都以一定的概率交叉,
%即两个个体从各自字符串的某一位置(一般是随机确定)开始交换
function [newpop]=crossover(pop,pc)
[px,py]=size(pop);
newpop=ones(size(pop));
for i=1:2:px-1
    if(rand<pc)
        cpoint=round(rand*py);
        newpop(i,:)=[pop(i,1:cpoint) pop(i+1,cpoint+1:py)];
        newpop(i+1,:)=[pop(i+1,1:cpoint) pop(i,cpoint+1:py)];
    else
        newpop(i,:)=pop(i,:);
        newpop(i+1,:)=pop(i+1,:);
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?