24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2657  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

s20090281

银虫 (小有名气)

[求助] 遗传算法的一段程序请教解释

各位高手我在做遗传算法的东西,但是自己刚开始研究,高手给我解决一下下面的程序是什么意思吧:
while generation<=maxgen
   ind=randperm(N-2)+2; % 随机配对交叉
   A=fatherrand(:,ind(1N-2)/2));
   B=fatherrand(:,ind((N-2)/2+1:end));
%     多点交叉
   rnd=rand(num,(N-2)/2);
   ind=rnd   tmp=A(ind);
   A(ind)=B(ind);
   B(ind)=tmp;
% % 两点交叉
%     for kk=1N-2)/2
%         rndtmp=randint(1,1,num)+1;
%         tmp=A(1:rndtmp,kk);
%         A(1:rndtmp,kk)=B(1:rndtmp,kk);
%         B(1:rndtmp,kk)=tmp;
%     end
   fatherrand=[fatherrand(:,1:2),A,B];
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ocnzhao

木虫 (正式写手)

游戏

★ ★
xiegangmai(金币+2): 谢谢应助! 2011-05-19 21:37:09
多点交叉就是首先选好父代,
A=[a1,a2,a3,.....,an];
B=[b1,b2,b3,......,bn]
然后可以随机产生1-m(其中m 然后以这些位置点做数组的下表对父代进行操作就可以了
数学软件交流群84998420
8楼2011-05-19 13:32:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 s20090281 的主题更新
信息提示
请填处理意见