遗传算法 交叉的个数怎么确定

 我来答
day忘不掉的痛
推荐于2017-09-12 · 知道合伙人数码行家
day忘不掉的痛
知道合伙人数码行家
采纳数:62646 获赞数:223934
本人担任公司网络部总经理多年,有充足的网络经验、互联网相关知识和资讯。

向TA提问 私信TA
展开全部
"交叉策略可分为单点交叉、多点交叉、均匀交叉等。
单点交叉的交叉个数就是一个。
多点交叉时需产生若干个0、1序列,交叉个数随机。
如果是采用二进制编码方式,假设个体为[0101 1101 1010 0100 1000],一共有4*5=20个基因,则需产生长度为20的0、1序列,在matlab中可以用命令crossp=round(rand(1,20)),通过判断crossp的每一个元素,为1的位置上交叉,为0不交叉。
如果是采用十进制编码,假设个体为[8,10,12,30,1,5],一共6个染色体,
则需产生长度为6的0、1序列,在matlab中同样可以用上面的命令产生,同样的在为1的位置上交叉,为0的位置不交叉。"
富港检测技术(东莞)有限公司_
2024-04-02 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);正弦振动在任一瞬间只包含一种频率的振动,而随机振动在任一瞬间包含频谱范围内的各种频率的振动。由于随机振动包含频谱内所有的频率,所以样品上的共振点会同时激发... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
御绿戎0EY
2017-08-09 · TA获得超过3.8万个赞
知道大有可为答主
回答量:2.7万
采纳率:38%
帮助的人:1282万
展开全部
遗传算法中的选择、交叉和变异都是随机操作,而不是确定的精确规则。这说明遗传算法是采用随机方法进行最优解搜索,选择体现了向最优解迫近,交叉体现了最优解的产生,变异体现了全局最优解的复盖。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
拿数据说事儿
2012-03-29 · 通过业务案例讲解行业研究、信贷风控知识。
拿数据说事儿
采纳数:15 获赞数:56

向TA提问 私信TA
展开全部
要看你设定的是多少点的交叉了,一般都是单点交叉,任选两个个体,选择一个基因位互换。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘阳升
2012-03-17 · TA获得超过2878个赞
知道小有建树答主
回答量:921
采纳率:86%
帮助的人:381万
展开全部
交叉策略可分为单点交叉、多点交叉、均匀交叉等。
单点交叉的交叉个数就是一个。
多点交叉时需产生若干个0、1序列,交叉个数随机。
如果是采用二进制编码方式,假设个体为[0101 1101 1010 0100 1000],一共有4*5=20个基因,则需产生长度为20的0、1序列,在matlab中可以用命令crossp=round(rand(1,20)),通过判断crossp的每一个元素,为1的位置上交叉,为0不交叉。
如果是采用十进制编码,假设个体为[8,10,12,30,1,5],一共6个染色体,
则需产生长度为6的0、1序列,在matlab中同样可以用上面的命令产生,同样的在为1的位置上交叉,为0的位置不交叉。
追问
产生6个染色体。为什么是六个?
追答
十进制交叉公式之一为:
x(i,m)‘=(1-a)*x(i,m)+a*x(i+1,m)
x(i+1,m)’=a*x(i,m)+(1-a)*x(i+1,m)
其中X(i),X(i+1)为要交叉的个体,x(i)‘,x(i+1)‘为交叉后的新个体,m为交叉位置,a为小于1的随机数,由此可看出,在交叉过程中要确定m的值。
而上述假设个体为[8,10,12,30,1,5],一共6个元素(染色体),假设另一个交叉的个体为[7,12,9,25,4,8]。若产生的crossp为[1,0,0,0,1,0],则表示第一个个体的8、1分别和对应第二个个体的7、4按照交叉公式进行交叉,其它元素的值不变。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式