神经进化平台的解耦与模块化:模块更新与选择算法实现
1. 基因变异函数
1.1 退火参数变异函数
在神经进化平台中, mutate_annealing_parameter/1 函数用于检查代理约束记录中是否存在除当前使用的调优退火参数之外的其他参数。如果有,则从列表中随机选择一个参数,并将代理的退火参数设置为该参数;如果没有,则会退出并抛出错误。
mutate_annealing_parameter(Agent_Id) ->
A = genotype:read({agent, Agent_Id}),
Tuning_Annealing_Parameters = (A#agent.constraint)#constraint.tuning_annealing_parameters -- [A#agent.annealing_parameter],
case Tuning_Annealing_Parameters of
[] ->
exit("********ERROR:mutate_tuning_annealing/1:: Nothing to mutate, only a single function available.");
_ ->
New_TAP = lists:nth(random:uniform(length(Tuning_Annealing_Parameters)), Tuning_Annealing_Parameters),
U_A =
超级会员免费看
订阅专栏 解锁全文
39

被折叠的 条评论
为什么被折叠?



