展会信息港展会大全

人工智能 Java 坦克机器人系列: 遗传算法-机器与智能网-机器人
来源:互联网   发布日期:2011-09-06 15:02:15   浏览:8740次  

导读:人工智能 Java 坦克机器人系列: 遗传算法,机器与智能网发布最新的机器人资讯、技术资料,关注机器人产业,报道机器人新技术,新产品....

遗传算法

遗传算法已用于求解带有应用前景的一些问题,例如遗传程序设计、函数优化、排序问题、人工神经网络、分类系统、计算机图像处理和机器人运动规划等。

术语说明

由于遗传算法是由进化论和遗传学机理而产生的搜索算法,所以在这个算法中会用到很多生物遗传学知识,下面是我们将会用来的一些术语说明:

一、染色体(Chronmosome)

二、基因(Gene)

三、基因地点(Locus)

四、基因特征值(Gene Feature)

五、适应度(Fitness)

操作算法


图1. 轮盘赌模型
 


Fitness 值: 2200 1800 1200 950 400 100

选择概率: 3331 0.271 0.18 0.143 0.06 0.015

 

2.交叉(Crossover)


交叉算子将被选中的两个个体的基因链按一定概率pc进行交叉,从而生成两个新的个体,交叉位置pc是随机的。其中Pc是一个系统参数。根据问题的不同,交叉又为了单点交叉算子(Single Point Crossover)、双点交叉算子(Two Point Crossover)、均匀交叉算子 (Uniform Crossover),在此我们只讨论单点交叉的情况。

单点交叉操作的简单方式是将被选择出的两个个体S1和S2作为父母个体,将两者的部分基因码值进行交换。假设如下两个8位的个体:

S1 1000 1111 S2 1110 1100


产生一个在1到7之间的随机数c,假如现在产生的是2,将S1和S2的低二位交换:S1的高六位与S2的低六位组成数串10001100,这就是S1和S2的一个后代P1个体;S2的高六位与S1的低二位组成数串11101111,这就是S1和S2的一个后代P2个体。其交换过程如下图所示:

Crossover 11110000 Crossover 11110000

S1 1000 1111 S2 1110 1100

P1 1000 1100 P2 1110 1111


3.变异(Mutation)


这是在选中的个体中,将新个体的基因链的各位按概率pm进行异向转化,最简单方式是改变串上某个位置数值。对二进制编码来说将0与1互换:0变异为1,1变异为0。

如下8位二进制编码:

1 1 1 0 1 1 0 0


随机产生一个1至8之间的数i,假如现在k=6,对从右往左的第6位进行变异操作,将原来的1变为0,得到如下串:

1 1 0 0 1 1 0 0


整个交叉变异过程如下图:


图2. 交叉变异过程

图2. 交叉变异过程

图2. 交叉变异过程


 

遗传算法的所需参数

遗传步骤

了解了上面的基本参数,下面我们来看看遗传算法的基本步骤。

基本过程为:

计算群体上每个个体的适应度值(Fitness)

按由个体适应度值所决定的某个规则应用选择算子产生中间代Pr(t)

输出种群中适应度值最优的个体

程序的停止条件最简单的有如下二种:完成了预先给定的进化代数则停止;种群中的最优个体在连续若干代没有改进或平均适应度在连续若干代基本没有改进时停止。

根据遗传算法思想可以画出如右图所示的简单遗传算法框图:

图3. 简单遗传算法框图

下面伪代码简单说明了遗传算法操作过程:

choose an intial population
For each h in population,compute Fitness(h)
While(max Fitness(h) < Fitnessthreshold)
do selection
do crossover
do mutation
update population
For each h in population,compute Fitness(h)
Return best Fitness

Robocode”

MS BPS RS TS

random distance-based always-turn HeadOn

Linear light-fast target-focus Linear

circular Powerful-slow target-scope-focus Circular

Perpendicular Medium nearest robot

arbitary hit-rate based Log

anti gravity Statistic

Stop Angular

Bullet avoid wave

wall avoid

track

Oscillators

下面是基本移动策略的说明:

瞄准策略说明如下:

共4页 [1] [2] [3] [4] 下一页 

赞助本站

人工智能实验室
下一篇:没有了...
AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港