JAVA 遗传算法编程 PDF
资源名称:JAVA 遗传算法编程 PDF
内容简介:
本书简单、直接地介绍了遗传算法,并且针对所讨论的示例问题,给出了Java代码的算法实现。全书共分灾6章。第1章简单介绍了人工智能和生物进化的知识背景,这也是遗传算法的历史知识背景。第2章给出了一个基本遗传算法的实现;第4章和第5章,分别针对机器人控制器、旅行商问题、排课问题展开分析和讨论,并给出了算法实现。在这些章的末尾,还给出了一些练习供读者深入学习和实践。第6章专门讨论了各种算法的优化问题。
本书适合机器学习爱好者阅读,尤其适合对遗传算法的理论和实现感兴趣的读者阅读参考。
作者简介:
Lee Jacobson来自英国布里斯托尔,是一名专业的自由职业软件开发者。在大学期间学习了遗传算法和其他优化技术后,他对这个主题产生了强烈的兴趣。
Burak Kanber是土生土长的纽约人,他拥有机械工程的学士学位和硕士学位,专注于控制系统、机器人技术、汽车工程和混合动力汽车系统工程。但是,软件一直是他终身的爱好,贯穿着Burak整个生命。
资源目录:
第1章 简介 1
1.1 什么是人工智能 2
1.2 生物学类比 3
1.3 进化计算的历史 4
1.4 进化计算的优势 5
1.5 生物进化 7
生物进化的一个实例 8
1.6 基本术语 10
术语 10
1.7 搜索空间 11
1.7.1 适应度景观 12
1.7.2 局部最优 14
1.8 参数 17
1.8.1 变异率 17
1.8.2 种群规模 18
1.8.3 交叉率 19
1.9 基因表示 19
1.10 终止 20
1.11 搜索过程 20
1.12 参考文献 22
第2章 实现一个基本遗传算法 23
2.1 实现之前 23
2.2 基本遗传算法的伪代码 24
2.3 关于本书的代码示例 25
2.4 基本实现 26
2.4.1 问题 27
2.4.2 参数 27
2.4.3 初始化 29
2.4.4 评估 35
2.4.5 终止检查 38
2.4.6 交叉 41
2.5 轮盘赌选择 41
2.6 交叉方法 42
2.7 交叉伪代码 43
2.8 交叉实现 44
2.8.1 精英主义 48
2.8.2 变异 50
2.8.3 执行 53
2.9 小结 55
2.10 练习 56
第3章 机器人控制器 57
3.1 简介 57
3.2 问题 58
3.3 实现 59
3.3.1 开始之前 59
3.3.2 编码 60
3.3.3 初始化 64
3.3.4 评估 73
3.3.5 终止检查 87
3.3.6 选择方法和交叉 91
3.4 锦标赛选择 91
3.5 单点交叉 93
执行 99
3.6 小结 101
3.7 练习 102
第4章 旅行商 103
4.1 简介 103
4.2 问题 105
4.3 实现 106
4.3.1 开始之前 106
4.3.2 编码 106
4.3.3 初始化 107
4.3.4 评估 111
4.3.5 终止检查 117
4.3.6 交叉 118
4.3.7 变异 124
4.3.8 执行 126
4.4 小结 131
4.5 练习 132
第5章 排课 134
5.1 简介 134
5.2 问题 135
5.3 实现 136
5.3.1 开始之前 137
5.3.2 编码 137
5.3.3 初始化 138
5.3.4 执行类 158
5.3.5 评估 167
5.3.6 终止 169
5.3.7 变异 172
5.3.8 执行 174
5.4 分析和改进 179
5.5 小结 182
5.6 练习 182
第6章 优化 183
6.1 自适应遗传算法 183
6.1.1 实现 184
6.1.2 练习 188
6.2 多次启发 188
6.2.1 实现 189
6.2.2 练习 190
6.3 性能改进 191
6.3.1 适应度函数设计 191
6.3.2 并行处理 191
6.3.3 适应度值散列 193
6.3.4 编码 197
6.3.5 变异和交叉方法 197
6.4 小结 198
资源截图: