def binary_tournament_selection(population): selected_parents = [] for i in range(len(population)): a = random.choice(population) b = random.choice(population) if a.fitness > b.fitness: selected_parents.append(a) elif a.fitness < b.fitness: selected_parents.append(b) else: selected_parents.append(random.choice([a, b])) return selected_parents
时间: 2024-04-28 20:26:06 浏览: 46
fatal error: boostdesc_bgm.i: No such file or directory补充文件
你现在的代码看起来已经正确了。在修复了return语句的位置后,你的函数应该能够按照预期工作了。在每次迭代中,你从`population`中随机选择了两个个体,并根据它们的适应度值将其中适应度较高的个体添加到`selected_parents`列表中。最后,当for循环迭代完所有个体后,你使用return语句将`selected_parents`列表作为函数的返回值。
阅读全文