要想使用遗传算法,首要任务是定义DNA编码。 传统的 GA 中, DNA 我们能用一串二进制来表示, 比如: DNA1 = [1, 1, 0, 1, 0, 0, 1] DNA2 = [1, 0, 1, 1, 0, 1, 1] 这里,我们仍然使用二进制编码,但是如何与我们的问题对应起来呢? 我们知道二 ...
分类:
编程语言 时间:
2020-01-29 16:29:35
阅读次数:
148
一、遗传算法的由来 受生物学的启发, 在一个生物的任何一个细胞中,都有着相同的一套染色体。所谓染色体,就是指由 DNA 组成的聚合体。 传统上看,这些染色体可以被由数字 0 和 1 组成的字符串表达出来(实际上是由4种碱基)。 为了形式化定义一个遗传算法,我们可以将它看作一个优化方法,它可以尝试找出 ...
分类:
编程语言 时间:
2020-01-29 15:58:13
阅读次数:
138
本文介绍的是基于GP,并非A*算法,算是另类实现吧。 先看看地图定义,在文本文件中定义如下字符串,代表30列11行大小的地图 初始位置在左上角(0,0) ,值为1的是允许走的通的路,目标位置为右下角(29,10) 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ...
分类:
其他好文 时间:
2020-01-26 15:54:45
阅读次数:
75
一般都是用机器学习、梯度下降或sklearn、pytorch来做函数拟合运算,今天介绍遗传编程,或称基因编程/GP,来做这个计算 最终就是构造一棵树AST,来表示运算的先后、权重: 具体原理可以参考这篇文章:https://blog.csdn.net/ocd_with_naming/article/ ...
分类:
其他好文 时间:
2020-01-25 23:34:32
阅读次数:
89
遗传算法模仿了生物遗传进化的过程,可以在给定范围内搜索最优解。遗传算法的设计一般包括参数编码、初始群体的设定、适应度函数的设计、遗传操作设计(选择、交叉、变异)、控制参数设定等。 0.问题 在这里,我们基于python使用遗传算法尝试搜索函数 $y = x^2+2x+5$ 在区间$[0,63]$内的 ...
分类:
编程语言 时间:
2020-01-23 15:36:18
阅读次数:
106
Python3.7之继承 一、什么叫继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称为基类或超 类,新建的类称为派生类或子类。子类会“”遗传”父类的属性,从而解决代码重用问题。 单继承与多继承 经典类与新式类 只有在python2中才分新式类和经典 ...
分类:
编程语言 时间:
2020-01-17 11:34:26
阅读次数:
85
选择题 1、软件设计中的(D)设计指定各个组件之间的通信方式以及各组件之间如何相互作用 A、数据 B、接口 C、结构 D、组件 2、UML是一种(A) A、面向对象的程序设计语言 B、面向过程的程序设计语言 C、软件系统开发方法 D、软件系统建模语言 3、面向对象中的(C)机制是对现实世界中遗传现象 ...
分类:
其他好文 时间:
2020-01-05 16:01:43
阅读次数:
108
1.问题描述 针对如下问题,设计遗传算法进行求解。 2.Java源代码 GA.java package GA; import java.util.Random; class GA { public static final int varnum = 4;//变量的个数 public static f ...
分类:
编程语言 时间:
2019-12-30 16:01:07
阅读次数:
92
1、PED简介 PED文件格式是广泛使用的用于连锁系谱数据分析的格式,并用作plink程序的输入。PLINK是一个免费的,开源的全基因组关联分析工集,旨在以高计算效率的方式执行一系列基本的,大规模的分析。PED能够处理二倍体SNP数据。 空格(空格或制表符)分隔的文本文件*.ped 每一行对应一个i ...
分类:
其他好文 时间:
2019-12-15 23:25:44
阅读次数:
177
一、基本信息 标题:《基于遗传算法的自动组卷系统设计与实现 》 时间:2016 来源:西北农林科技大学 关键字:自动组卷;遗传算法;早熟;收敛 二、研究内容 问题定义:针对传统的组卷算法组卷速度慢、成功率较低、试卷质量不高的问题,本文提出结合BP算法对遗传算法中遗传因子进行学习训练,提高染色体的适应 ...
分类:
编程语言 时间:
2019-12-07 19:25:26
阅读次数:
95