DEAP文档

(不准确翻译,用于自学,如若有误请谅解。原链接:https://deap.readthedocs.io/en/master/)

DEAP是一个新的用于快速验证和测试新想法的演化计算框架。它致力于直接地构建算法和数据结构的简单化。它可以很好地应用在并行机制中,例如多任务处理和SCOOP(这是啥?)中。下面的文档将会展示许多关键概念以及构建你自己的演化算法时的一些特征。

第一步

1、总览(从这里开始)

2、安装

3、如何进入端口?(porting guide)

基础教程

Part1:创造类型

Part2:操作与算法

Part3:记录数据

Part4:使用多进程

进阶教程

遗传程序设计(GP)

检查点?(checkpoint)

收敛控制

针对最优解的基准测试(BBOB)

与numpy的继承关系

例子

库引用

亮点 & 贡献 & 相关

-----------------------------------------分割线------------------------------------

2018.09.02  第一步

1、总览

如果你已经习惯于其他的演化计算框架,你将会发现我们在DEAP中所做的事情是不同的。我们提供了创建适当类型的方法,而不是限制你使用预定义类型。我们使得你能够定制你的初始化选项而不是封闭它。我们希望你能够更明智地选择一些操作而不是使用预定义好的。我们允许你能够写一个适合于你自己需求的算法而不是仅仅提供许多封闭的算法。这个教程将通过说明DEAP的每一个程序组成来快速地展示DEAP的所有内容。

2、类型

首先要做的事情是思考适合你问题的类型。然后,不像之前的方法那样为你提供一些可用类型的列表,DEAP会为你构建适合你自己的。这个操作需要使用creator模块。创建一个合适的类型可能听起来很难,但是creator使得这个过程变得十分简单。事实上,这通常在单行操作上实现。例如:下面为一个最小值优化问题创建一个FitnessMin class,并且会从刚刚设置好的适应度列表中再创造一个individual class

C1P1

这就是它了!更多的创建类可以在基础教程的Part1中找到。

3、初始化

一旦你创建了一个你需要为它们填充一些随机值的类型,DEAP可以通过简单的方法去完成它。Toolbox是一个包含了所有的初始化工具的容器,它可以做你需要它去完成任何事情。下面代码的目标就是去为个体和种群随机地生成浮点数类型的初始值。

C1P2

这个产生初始种群的生成功能,是通过个体自身不断进行随机生成完成的。这个功能和它的默认参数已经被放入了toolbox中。例如,调用toolbox.population()将会有可能立即创建一个种群,更多的初始化方法将会在基础教程的Part1中以及后面的例子中讲到。

4、操作

除了一些在tools模式下已经设定好的东西以外,操作与初始化类似。一旦你选择了一个最好的,简单的在toolbox中注册它们。除此之外你必须创造你的评估函数,下面展示具体的做法

C1P3

这些已经注册的函数会被toolbox重命名,使得遗传算法(广义)不会依赖于操作的名称。还要注意的是,适应度本身是可以迭代的,这就是为什么evaluate函数必须返回元组的原因。更多的细节在后面中会说到。

5、算法

现在一切都准备就绪了,我们可以自己来写一个算法了。它通常在一个main()中执行。为了实现这个目标我们将简单地写一个迭代算法

C1P4

使用在algorithm中四个已有的算法也是可以的,或者在这个模块中搭建一些其它区域的变化也是可行的。

6、总结

演化计算的步骤无非就是适应度函数设计+种群初始化+针对种群的操作(交叉变异等)+选择与复制(轮盘赌等),设计不同的适应度函数以及不同类型的种群可以解决不同的问题。

在这一节中,教程大致介绍了上述四个核心步骤的基本操作,并给出了一个寻找最大和的实例。

关键的步骤似乎均在toolbox中,无论是初始化还是遗传操作还是最后的选择,均可以使用toolbox对其进行register,一旦register一种方法,并搭建好计算框架便可以是一种新的模型,这可能就是前言中所说的“灵活性”。

python deap_DEAP(Distributed Evolutionary Algorithms in Python)1.2.2文档(一)相关推荐

  1. Python批量识别图片中的文字并保存到txt文档中

    Python OCR工具pytesseract,之前是惠普的产品,被Google收了之后就给开源了. 1.需要下载并安装Google Tesseract,下载地址看图片上有,要下载4.0.0版本的 2 ...

  2. Python自动化办公学习- 获取文件夹下的所有文档的名字并存储到Excel

    Python自动化办公学习- 获取文件夹下的所有文档的名字并存储到Excel 这是我第一次学习使用csdn发布学习笔记,如有版权侵犯,引用不当的地方,请立即提示我,我会删除,谢谢. 笔记中如有解释错误 ...

  3. Python基础day04【函数(定义与调用、文档说明、传参函数、全局变量、返回值、嵌套调用)】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day04[字典]    目录 3.函数 函数的定义和调用 函数定义 PEP8规范 ...

  4. python 给word添加背景图片_Python如何使用word文档插入图片和表格

    Python如何使用word文档插入图片和表格 发布时间:2020-10-26 13:49:29 来源:亿速云 阅读:101 作者:挣扎的蓝藻 这篇文章运用简单易懂的例子给大家介绍Python如何使用 ...

  5. 《python网络数据采集》读后感 第六章:读取文档

    1.文档编码: 文档编码是一种告诉程序--无论是计算机的操作系统还是 Python 代码--读取文档的规 则.文档编码的方式通常可以根据文件的扩展名进行判断,虽然文件扩展名并不是由编码 确定的,而是由 ...

  6. python批量打印word_Python使用扩展库pywin32实现批量文档打印实例

    本文代码需要正确安装Python扩展库pywin32,建议下载whl文件进行离线安装.然后调用win32api的ShellExecute()函数来实现文档打印,系统会根据文档类型自动选择不同的软件进行 ...

  7. python下载图片到文件夹_python实现解析markdown文档中的图片,并且保存到本地~

    背景 前阵子简书好像说是凉了,搞得我有点小慌,毕竟我的大部分博客都是放在简书上面的,虽然简书提供了打包导出功能,但是只能导出文字,图片的话还是存在简书服务器上面,再加上我一直想要重新做一个个人博客,于 ...

  8. python批量读取图片并复制入word_提取word文档中的图片并使用Python进行批量格式转换,出,Word,里,利用,python...

    日常工作中,你是否遇到过这样的场景,领导发来一份 Word 文档,要求你将文档中的图片存储到一个文件夹内,并且还要将图片都改成 .jpg 或者 .png,你会怎么办?你是不是一边内心崩溃,一边开始一张 ...

  9. [附源码]计算机毕业设计Python保护濒危动物公益网站(程序+源码+LW文档)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+N ...

  10. python自动排版 html_python自动生成易于阅读的html文档——使用Sphinx

    Sphinx是一组可以用来从文本树生成一个HTML结构的脚本和docutils扩展.这个工具可以用来创建python文档,现在很多项目都使用它来制作文档.使用它内建的功能,生成一个真正精细的浏览系统, ...

最新文章

  1. 工程能力提升管理之道
  2. 47. Permutations II
  3. Hyper-V 3 虚拟机快照之四 导入/导出快照
  4. python 判断字母大小写
  5. 8,协议序列化组件NewLife.Serialization
  6. Python技术分享:深入理解ThreadLocal变量的功能和使用
  7. 2017.3.20上午
  8. Google图片搜索的原理
  9. 经典算法刷题笔记pdf
  10. linux管理员基础知识
  11. python如何调用程序_Python中调用其他程序的方式详解
  12. 文献(2): 综述_癌症相关成纤维细胞(CAF)的异质性【建议收藏】
  13. 计算机网络和现场总线的区别,现场总线系统的特点和组成
  14. ​微信公众平台用户信息相关接口调整通知2021-09-27​
  15. vue+element 在ie和360浏览器的兼容问题
  16. 可刷新的 PDB(PDB Refresh)
  17. 一种能人类大脑信息解读成声音信息的人工智能
  18. matlab nan插值,科学网-Matlab 关于NaN值的填充-肖鑫的博文
  19. 黑马ssm学习笔记-企业权限管理系统
  20. Android-日历CalendarView使用

热门文章

  1. ubuntu20.04安装nvidia显卡驱动/CUDA/cuDNN
  2. Fedora 9 vmware 上网问题
  3. Adobe Premiere(pr)2021 安装教程【64位】
  4. FAT32 文件系统 实践
  5. 完全卸载exchange2010
  6. 下行物理信道rs_下行物理信道rs_LTE下行物理信道与物理信号
  7. PHP 如何使用Mobile Detect来判断访问网站的设备 安卓,平板,电脑
  8. fedora mysql安装教程,Fedora 14 上MySQL的安装及使用
  9. c++操作打印机那些事
  10. Ruby之父松本行弘的编程人生