第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