声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 918|回复: 1

[综合讨论] 这个遗传算法小程序是什么意思?

[复制链接]
发表于 2007-9-28 23:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
呵呵,刚开始看遗传算法,有个小程序不懂,向大家请教.

function [child] = adjswapmutation(par,bounds,genInfo,Ops)
% Adjswap mutation performs a swap of two adjacent
% genes in a permutation
%
% function [newSol] = adjswapmutation(parent,bounds,Ops)
% parent  - the first parent ( [solution string function value] )
% bounds  - the bounds matrix for the solution space
% Ops     - Options for binaryMutation [gen prob_of_mutation]
sz = size(par,2)-1;
pos = round(rand*(sz-1) + 0.5); %Generate U(1,n-1)
child = par;
child(pos:pos+1)=[par(pos+1) par(pos)];

其中pos = round(rand*(sz-1) + 0.5);是什么意思,能否解释一下.谢谢
回复
分享到:

使用道具 举报

发表于 2007-9-28 23:37 | 显示全部楼层
这个语句就两个函数需要留意的,rand 和 round,一个是随机函数,一个是取整函数,其实你自己在命令窗口用一个小例子测试一下就知道了

[ 本帖最后由 ChaChing 于 2010-6-14 21:39 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 09:02 , Processed in 0.064232 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表