Java遗传算法编程 封面

Java遗传算法编程

暂无评分
章节数
6
ISBN
9787115437310

标签

内容简介

本书是英文原书《Genetic Algorithms in Java Basics》的中文译本,由人民邮电出版社于2016年12月出版,全书约199页、共6章。它用尽量简单直接的方式介绍遗传算法这一进化计算方法,并针对书中讨论的示例问题给出可直接运行的Java代码实现,属于典型的“边做边学”式实战读物。 第1章从人工智能谈起,介绍生物进化的类比、进化计算的发展历史、优势与局限,并给出适应度景观、局部最优、变异率、种群规模、交叉率、基因表示与终止条件等基本概念和术语。第2章从零开始实现一个基本遗传算法,包括参数设置、种群初始化、适应度评估、终止检查、轮盘赌选择、交叉方法、精英主义与变异等环节,章末附有练习。第3至5章分别围绕机器人控制器、旅行商问题和排课问题展开分析与编码实践,把抽象算理落到具体场景。第6章讨论遗传算法的参数调优与实现层面的优化技巧。 全书以代码为主线、理论为辅线,篇幅精炼,适合把遗传算法当作“工具箱里的一件武器”而非研究对象来学习的读者。需要注意,书中内容定位于基础入门,并未覆盖遗传编程、多目标优化等进阶主题,示例规模也相对有限。

编辑推荐

市面上讲遗传算法的中文书,不少要么停在公式与收敛性证明,要么只给出伪代码,读者读完仍不知道如何让种群真正“跑起来”。这本书的可爱之处在于它的定位极其明确:不讲体系,只讲实现。作者从一个最小可用的遗传算法骨架开始,一行行写出选择、交叉、变异、精英保留,再把它拖进机器人控制、旅行商、排课三个经典场景里试刀,代码与算式相互对照,读起来几乎没有“卡壳”的感觉。 译者是国内资深技术译者王海鹏,译文干净利落,专业术语处理得当,保留了原书的代码风格与逻辑顺序。全书不到两百页,两三个晚上就能通读,跟着敲完能拿到一套可复用的Java遗传算法实现,这是它最实在的价值。 当然也要客观提醒:原书是2015年的入门小册子,讲解深度有限,对多目标优化、遗传编程等进阶内容没有涉及,个别示例的工程完备性也一般。把它当作“亲手实现第一个遗传算法”的起点书最合适,不要指望它替你做算法选型和性能评估。

适合谁读

适合

  • 会写Java、想把遗传算法真正跑起来的初中级程序员
  • 机器学习入门者,需要一个可动手复现的优化算法案例
  • 在校学生做课程设计、学科竞赛时参考算法实现
  • 想了解进化计算基本术语与流程的跨专业读者

不适合

  • 寻找完整理论体系、收敛性证明的研究型读者
  • 希望系统学习多目标优化、遗传编程等进阶主题的人
  • Java基础薄弱、需要先补语言基础的初学者

阅读建议

  1. 先通读第1章建立术语与概念地图,再动手逐行敲第2章的代码,不要跳读。
  2. 把第3至5章的示例当作模板,换成自己领域的目标函数和编码方式做改造实验。
  3. 阅读时同步调参:尝试改变种群规模、变异率与交叉率,观察收敛曲线的变化并记录结果。
  4. 读完可检索遗传算法与遗传编程的外文综述,补齐本书未覆盖的进阶主题。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 第1章 简介:什么是人工智能;生物学类比;进化计算的历史与优势;生物进化;基本术语;搜索空间与适应度景观;局部最优;参数(变异率、种群规模、交叉率);基因表示;终止与搜索过程
  2. 第2章 实现一个基本遗传算法:实现之前的准备;基本遗传算法的伪代码;代码示例说明;基本实现(问题、参数、初始化、评估、终止检查、交叉);轮盘赌选择;交叉方法与实现;精英主义;变异;执行;小结与练习
  3. 第3章 机器人控制器
  4. 第4章 旅行商问题
  5. 第5章 排课问题
  6. 第6章 优化遗传算法的参数与实现

常见问题

这本书是原版翻译还是国内原创?
是翻译书,原书为Apress 2015年出版的《Genetic Algorithms in Java Basics》,作者为Lee Jacobson与Burak Kanber,中文版由王海鹏翻译,人民邮电出版社2016年12月出版。
中文版和英文原版内容一样吗?
中文版依据原书完整翻译,正文结构与代码示例一致,页数约199页(原版154页),差异主要来自版式与中文排版,正文内容没有删改。
需要什么水平的Java基础才能读?
具备基本语法、类与集合的使用能力即可。书中代码以标准Java编写,不依赖复杂框架,但需要能读懂面向对象的类结构。
书中代码可以直接运行吗?
示例以Java实现,需按书中说明配置编译环境。部分示例偏演示性质,工程完备度有限,实际使用时应补上输入校验、日志与异常处理。
这本书讲遗传编程(GP)吗?
主要讲遗传算法(GA),即定长编码的进化优化方法。第6章涉及参数与实现优化,但未系统展开遗传编程、多目标优化等进阶内容。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同类高分