算法(二)之遗传算法(SGA)
2015-11-25 22:04
246 查看
算法(二)之遗传算法(SGA)
遗传算法(Genetic Algorithm)又叫基因进化算法或进化算法,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,属于启发式搜索算法一种。
下面通过下面例子的求解,来逐步认识遗传算法的操作过程。我参考了博客(http://blog.csdn.net/b2b160/article/details/4680853/),这个博客没提供代码,为了新手更好的学习,我用java实现了程序
例:求下述二元函数的最大值:
View Code
[注意]
需要说明的是,表中有些栏的数据是随机产生的。这里为了更好地说明问题,
我们特意选择了一些较好的数值以便能够得到较好的结果,而在实际运算过程中
有可能需要一定的循环次数才能达到这个最优结果。
遗传算法(Genetic Algorithm)又叫基因进化算法或进化算法,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,属于启发式搜索算法一种。
下面通过下面例子的求解,来逐步认识遗传算法的操作过程。我参考了博客(http://blog.csdn.net/b2b160/article/details/4680853/),这个博客没提供代码,为了新手更好的学习,我用java实现了程序
例:求下述二元函数的最大值:
[110111, 110111, 110001, 110111] max=85.0 [110110, 110110, 110110, 110110] max=72.0 [011010, 101100, 101100, 100100] max=41.0 [001011, 111110, 011101, 111110] max=85.0 [111111, 111111, 101011, 111111] max=98.0 [100011, 101110, 100010, 101111] max=74.0 [110111, 110111, 101111, 110111] max=85.0 [111001, 010111, 010110, 111001] max=53.0 [010110, 100100, 100111, 011100] max=65.0 [111100, 110001, 111101, 011000] max=74.0
View Code
[注意]
需要说明的是,表中有些栏的数据是随机产生的。这里为了更好地说明问题,
我们特意选择了一些较好的数值以便能够得到较好的结果,而在实际运算过程中
有可能需要一定的循环次数才能达到这个最优结果。
相关文章推荐
- 堆变量内存区分析
- 34 Identify two situations in which you can use Data Recovery Advisor for recovery. (Choose two.)
- ios nil、NULL和NSNull 的使用
- Java访问权限修饰符
- 欢迎使用CSDN-markdown编辑器
- 编写一个初始化数组的函数
- 关于s5pv210主Makefile部分代码的分析和小的修改
- XML 文件写入
- nyoj So Easy[II] 1011 (计算多边形面积)
- 十进制转十六进制
- CCNA学习笔记七 DTE广域网(PPP)WAN
- 数组找出重复项算法
- TCP协议封装格式及三次握手四次断开
- 【Win10】页面导航的实现
- 进程的一生
- Girls' research(manacher)
- 带侧边的activity NavigationDrawer activity
- 初识IntentService
- Spring单例与线程安全小结
- 手机如何上网?3G如何建立TCT连接?3G如何建立HTTP连接?