数学建模之遗传算法

遗传算法简介

维基百科上的概念如下
遗传算法(英语:genetic algorithm (GA) )是计算数学中用于解决最优化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。

遗传算法通常实现方式为一种计算机模拟。对于一个最优化问题,一定数量的候选解(称为个体)可抽象表示为染色体,使种群向更好的解进化。传统上,解用二进制表示(即0和1的串),但也可以用其他表示方法。进化从完全随机个体的种群开始,之后一代一代发生。在每一代中评价整个种群的适应度,从当前种群中随机地选择多个个体(基于它们的适应度),通过自然选择和突变产生新的生命种群,该种群在算法的下一次迭代中成为当前种群。

这看起来是不是很抽象?没关系,我们举一个例子
比如你家住的那一块地方有一群老鼠,有一些跑得快而且也聪明,有一些傻得大白天在你面前跳舞,然后理所当然就被你捕获然后进行土葬。故那群跑得快而且也聪明自然活下来的概率比傻的大的多,我们称老鼠是否活下来为适应度,适应度高的更容易在你手上活下来,而低的更容易被你土葬。活下来的老鼠们,它们中大多都是适应度高的,它们进行交配繁殖,老鼠子类大多都是继承了老鼠父母的特点,当然也存在一定几率变异,变异数除以总体老鼠为变异率,变异率一般都不是很大的常数。但总体来说,由于淘汰机制,故所产生的鼠类比起它们的父类,平均来说更为聪明。通过一代代的优化,使得老鼠越来越聪明,而你越来越抓不到老鼠。这就是遗传算法的核心。

遗传算法的步骤

1.编码

编码有多种,如二进制编码,浮点数编码,格雷码等。最常见的是二进制编码和浮点数编码。

二进制编码
二进制编码方法是使用二值符号集{0,1},它所构成的个体基

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值