Python 官方文档:入门教程 => 点击学习
这篇文章给大家分享的是有关python中轮盘赌算法的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、说明轮盘赌博算法的精髓是可以根据个人适应度随机选择,适应度越大的个人选择的概率越高,群体规模越大,该算
这篇文章给大家分享的是有关python中轮盘赌算法的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
1、说明
轮盘赌博算法的精髓是可以根据个人适应度随机选择,适应度越大的个人选择的概率越高,群体规模越大,该算法可以比较真实地模拟自然状态的状况。
2、实例
def select(chromosome_list, fitness_list): """ 选择(轮盘赌算法) :param chromosome_list: 二维列表的种群 :param fitness_list: 适应度列表 :return: 选择之后的种群列表 """ population_fitness = np.array(fitness_list).sum() # 种群适应度 fit_ratio = [i / population_fitness for i in fitness_list] # 每个个体占种群适应度的比例 fit_ratio_add = [0] # 个体累计概率 for i in fit_ratio: fit_ratio_add.append(fit_ratio_add[len(fit_ratio_add) - 1] + i) # 计算每个个体的累计概率,并存放到fit_ratio_add中 fit_ratio_add = fit_ratio_add[1:] # 去掉首位的0 rand_list = [random.unifORM(0, 1) for _ in chromosome_list] # 生成和种群规模相等的随机值列表,用于轮盘赌选择个体 rand_list.sort() fit_index = 0 new_index = 0 new_population = chromosome_list.copy() '''个体选择 start''' while new_index < len(chromosome_list): if rand_list[new_index] < fit_ratio_add[fit_index]: new_population[new_index] = chromosome_list[fit_index] new_index = new_index + 1 else: fit_index = fit_index + 1 '''个体选择 end''' return new_population
Python主要应用于:1、web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
感谢各位的阅读!关于“python中轮盘赌算法的使用示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
--结束END--
本文标题: python中轮盘赌算法的使用示例
本文链接: https://lsjlt.com/news/276781.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0