最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python遗传算法的优化过程是什么?

    正文概述    2020-01-15   350

    对于题目中的算法,相信大家最喜欢,或者最常见的就是在优化领域吧,小编就看到很多大神,利用python的算法去做一些项目的优化,而大家在足够了解这个算法以后,也需要去完成这个算法的优化,这样才是真正可以掌握这个算法啦,那到底是怎么做呢?我们要怎么去开始做优化?不了解的小伙伴一起来看下吧!

    下面通过一组实例方法教大家哦~

    问题描述

    一个名为Robby的机器人生活在一个充满垃圾的二维网格世界中,周围有4堵墙(如下图所示)。这个项目的目标是发展一个最佳的控制策略,使他能够有效地捡垃圾,而不是撞墙。

    问题图片所示:

    python遗传算法的优化过程是什么?

    涉及方法

    任何GA的优化步骤如下:

    生成问题初始随机解的“种群”

    个体的“拟合度”是根据它解决问题的程度来评估的

    最合适的解决方案进行“繁殖”并将“遗传”物质传递给下一代的后代

    重复第2步和第3步,直到我们得到一组优化的解决方案、

    应用的遗传算法代码展示:

    在下面的代码中,我们生成一个初始的机器人种群,让自然选择来运行它的过程。我应该提到的是,当然有更快的方法来实现这个算法(例如利用并行化)。

    # 初始种群
    pop = [Robot() for x in range(pop_size)]
    results = []
     
    # 执行进化
    for i in tqdm(range(num_gen)):
        scores = np.zeros(pop_size)
     
        # 遍历所有机器人
        for idx, rob in enumerate(pop):
            # 运行垃圾收集模拟并计算拟合度
            score = rob.simulate(iter_per_sim, moves_per_iter)
            scores[idx] = score
     
        results.append([scores.mean(),scores.max()]) # 保存每一代的平均值和最大值
     
        best_robot = pop[scores.argmax()] # 保存最好的机器人
     
        # 限制那些能够交配的机器人的数量
        inds = np.argpartition(scores, -num_breeders)[-num_breeders:] # 基于拟合度得到顶级机器人的索引
        subpop = []
        for idx in inds:
            subpop.append(pop[idx])
        scores = scores[inds]
     
        # 平方并标准化
        norm_scores = (scores - scores.min()) ** 2
        norm_scores = norm_scores / norm_scores.sum()
     
        # 创造下一代机器人
        new_pop = []
        for child in range(pop_size):
            # 选择拟合度优秀的父母
            p1, p2 = np.random.choice(subpop, p=norm_scores, size=2, replace=False)
            new_pop.append(Robot(p1.dna, p2.dna))
     
    pop = new_pop

    效果展示:

    python遗传算法的优化过程是什么?

    根据以上内容,大家也可以清晰看到,使用遗传算法去做优化的神奇内容,不仅是可以面对冰冷的代码组,还是以上偏生物的内容,使用遗传算法统统可以实现,大家如果感兴趣的话,不妨也试试哈~


    起源地下载网 » python遗传算法的优化过程是什么?

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元