精简版遗传算法,算法中仅采用变异算子而没有使用交叉算子,但是进化依然很有效

from string import ascii_lowercase
from random import choice, random'''精简版遗传算法,算法中仅采用变异算子而没有使用交叉算子,但是进化依然很有效'''target  = list("welcome to http://www.cnhup.com")
charset = ascii_lowercase + ' .:/'
parent  = [choice(charset) for _ in range(len(target))]
minmutaterate  = .09
C = range(100)perfectfitness = len(target)
def fitness(trial):return sum(t==h for t,h in zip(trial, target))def mutaterate(parent):return 1.0-(1.0*(perfectfitness - fitness(parent)) / perfectfitness * (1.0 - minmutaterate))def mutate(parent, rate):return [(ch if random() <= rate else choice(charset)) for ch in parent]def log(iterations,rate,parent):print("#%-4i, rate: %4.3f, fitness: %4.1f%%, '%s'" %(iterations, rate, fitness(parent)*100./perfectfitness, ''.join(parent)))iterations = 0
while parent != target:rate =  mutaterate(parent)iterations += 1if iterations % 10 == 0: log(iterations,rate,parent)copies = [ mutate(parent, rate) for _ in C ]  + [parent]parent = max(copies, key=fitness)print()
log(iterations, rate, parent)

python 遗传算法精简版相关推荐

  1. Python遗传算法工具箱的使用(一)求解带约束的单目标优化

    加了个小目录~方便定位查看~ 前言 正文 一. 基础术语: 二. 遗传算法基本算子: 三.完整实现遗传算法: 四.后记: 前言 网上有很多博客讲解遗传算法,但是大都只是"点到即止" ...

  2. Python 遗传算法实现字符串

    Python 遗传算法实现字符串 流程 1. 初始化 2. 适应度函数 3. 选择 4. 交叉 5. 变异 适应度函数计算方法 计算个体间的差:分别计算每个元素与目标元素的差取平方和 种群:计算总体均 ...

  3. 用 BERT 精简版 DistilBERT+TF.js,提升问答系统 2 倍性能

    特邀博文 / 软件工程师 Pierric Cistac:研究员 Victor Sanh:技术主管 Anthony Moi,来自 Hugging Face Hugging Face (https://h ...

  4. Markdown语法学习|精简版

    markdown语法学习|精简版 文章开头 点击这里回到下方介绍 页面跳转 的阅读位置 点击这里回到下方介绍 toc 的阅读位置 此笔记学习摘抄自Markdown语法大全(超级版),并根据笔者的使用不 ...

  5. Hanwang汉王笔精简版 20120207官方最新版

    2019独角兽企业重金招聘Python工程师标准>>> Hanwang汉王笔精简版是一款汉王笔精简版驱动程序软件,适用于08年之后生产的USB系列汉王笔,支持Windows XP/V ...

  6. C4D2023取消永久许可?Maya推出精简版?你不能错过的7个CG软件资讯...

    忙碌了一个月,是不是没有时间看各类CG软件的最新资讯呀,云渲染小编特意整理了一下各大 CG 制作软件和渲染器的更新情况,方便大家了解行业最新动态!不知道是不是因为9月是第三季度结尾,各大软件研发组都开 ...

  7. Python 程序设计(第二版)董付国_清华大学出版社_习题答案与分析【针对8.4及其之前的】

    更多精彩内容:(没有设置公众号获得,麻烦动动小手~谢谢) CSDN下载:Python编程无师自通电子书,[美]科里·奥尔索夫(Cory Althoff)-文档类-CSDN下载 百度云:链接:https ...

  8. 如何用Python实现多任务版的udp聊天器

    这篇文章主要为大家详细介绍了Python实现多任务版的udp聊天器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 一.案例示例 二.案例说明 1.编写一个有2个线程的程 ...

  9. webview页面和壳通信的库(精简版)

    //PG精简版 (function() {var PG ={iosBridge:null,callbackId:0,callbacks: [],commandQueue: [],commandQueu ...

最新文章

  1. 1.2 Kali与Debian的关系
  2. Matlab中左除和右除
  3. springcloud(十一):服务网关Zuul高级篇
  4. linux安装mysql 5.6.33
  5. 技术检验检测管理系统之样品检验模块概况(四)
  6. java float存储方式_Java中小数的存储方式
  7. 章节十一、1-Junit介绍
  8. 1.关于Python,你可能不知道的
  9. 网络爬虫详细设计方案
  10. 基于java的企业员工绩效考评系统
  11. 物联网和边缘部署的5大嵌入式工控机设计要求
  12. 【gfs】google file system 之重点剖析
  13. POJ 1392 Ouroboros Snake
  14. DDD(领域驱动设计)系列主题:DDD战略设计和战术设计分析流程及关键输出物
  15. PhxRPC源码简析
  16. python中得到26个字母
  17. 英语基础-动词的分类
  18. 关于Java内存可见性的探究实验遇到的意外和happens-before
  19. 如何制作注册登录网址
  20. Apache shiro 官方API (中文版)(承蒙大佬们看重 小弟整理了下 无需积分 编辑的不好 希望帮到你们)

热门文章

  1. android studio8.0,Android Studio错误:(8,0)未找到ID为’android’的插件
  2. orgmode导出html,含有python代码块的ORG-MODE导出为HTML时出错
  3. python捷联惯导的姿态解算_自动驾驶中高精地图的大规模生产:视觉惯导技术在高德的应用...
  4. 热更新机制的实现_记 Arthas 实现一次 CPU 排查与代码热更新
  5. java 私有成员方法_Java Reflection 教程(7):类私有成员变量和方法
  6. ovirt 双机_ovirt kvm嵌套虚拟化
  7. Ubuntu PIL 安装
  8. AppList.json文件为空,主界面清缓存后加载后还正常显示
  9. Java Web学习笔记11:JSTL与EL
  10. 17.立体匹配——匹配两个图 Matlab实战,立体效果_3