首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在NetLogo中修改海龟变量的好方法是什么?

在NetLogo中修改海龟变量的好方法是什么?
EN

Stack Overflow用户
提问于 2019-04-04 23:29:51
回答 1查看 39关注 0票数 1

我在模拟一个多智能体系统。每种药物都有一条染色体。基因型代表5个参数,它们是0到100之间的各种浮点数。我的变异操作符用新的随机数简单地修改了原始基因(根据恒定的突变率)。这是最好的方法吗?还是你可以建议另一种方法?例如,是否有可能在位数字级别上改变参数以提供更高的精度?

My mutation operator

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-05 02:16:01

你的意思是你想要根据它的当前值修改基因值,而不是简单地替换它?也许这对你有用:

代码语言:javascript
运行
复制
globals [ genome ]

to setup
  ca
  set genome n-values 5 [ random 101 / 100 ]
  print word "Original genome: " genome
  reset-ticks
end

to mutate
  set genome map [ 
    i -> 
    ifelse-value ( random-float 1 < 0.2 )
    [ precision ( i + one-of [ 0.01 -0.01 ] ) 2 ]
    [ i ]
  ] genome
  print word "Mutated genome:  " genome
end

在这里,基因组是在setup中随机创建的,然后每次调用mutate时,每个基因都有机会增加或减少0.01。输出:

代码语言:javascript
运行
复制
Original genome: [0.09 0.77 0.41 0.97 0.8]
Mutated genome:  [0.08 0.77 0.41 0.96 0.8]
Mutated genome:  [0.08 0.76 0.41 0.97 0.8]
Mutated genome:  [0.08 0.75 0.41 0.97 0.8]
Mutated genome:  [0.09 0.75 0.42 0.97 0.8]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55519766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档