协同进化与SAFE方法在迷宫实验中的应用
1. 适应度分数评估方法
在评估适应度分数时,有两种不同的方法,因此需要实现两个不同的函数。下面将详细讨论这两种实现。
1.1 目标函数候选者的适应度评估
目标函数候选者群体中每个个体的适应度分数由其新奇性分数决定,新奇性分数的计算方法如前文所述。适应度分数评估的实现分为两个函数: evaluate_obj_functions 和 evaluate_individ_obj_function 。
1.1.1 evaluate_obj_functions 函数实现
该函数接受 ObjectiveFun 对象,该对象包含目标函数候选者的群体,并通过以下步骤估计群体中每个个体的适应度分数:
1. 遍历群体中的所有基因组,收集每个基因组的新奇点:
obj_func_genomes = NEAT.GetGenomeList(obj_function.population)
for genome in obj_func_genomes:
n_item = evaluate_individ_obj_function(genome=genome, generation=generation)
n_items_list.append(n_item)
obj_func_coeffs.append(n_item.data)
在代码中,从
超级会员免费看
订阅专栏 解锁全文
15

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



