人工智能实战

人工智能实战"

作者:[古]阿纳达·佩雷兹·卡斯塔诺(ArnaldoPérezCasta?o)著敖富江周云彦李博李海莉译
ISBN:9787302538561
定价:¥98
字数:千字
页数:
出版时间:2019.12.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

主要内容

● 了解Agent和多Agent以及它们是如何合并的

● 将机器学习与现实问题联系起来,明白它的意义

● 在现实世界中应用监督学习和无监督学习的技术和方法

● 实现强化学习、游戏编程、仿真和神经网络

前言

前    言

《人工智能实战》提出了一种学习人工智能知识的新模式。大多数人工智能书籍都十分偏重理论,而抛弃了能够证明书中介绍的理论的实践问题。而在《人工智能实战》中,我们提出了一种模式,该模式遵循理念:“告知的会被忘记;教会的能够记住;亲身参与,才能学会”,因此,《人工智能实战》中包含理论知识,但保证每章中都包含至少一个编写了完整代码(C#)的实际问题,以便让读者更好地理解,并作为一种让他们亲身体会本章介绍的理论概念和思想的方式。读者可以使用《人工智能实战》附带的代码来执行这些实际问题,这样应该能够帮助读者更好地理解书中描述的概念。

《人工智能实战》尽可能浅显易懂地描述所包含的解释和定义(考虑到它们属于数学、科学领域的事实),因此不同背景的读者只需要具备最基本的数学或编程知识即可入门并理解内容。

第1章和第2章探讨许多科学领域(如数学或计算机科学)的基础:逻辑学。在这两章中,我们将介绍命题逻辑、一阶逻辑和自动定理证明,还将介绍用C#编程的相关实际问题。

在第3~7章中,重点关注Agent和多Agent系统。这几章将深入研究不同类型的Agent及其架构,然后提出一个大型实际问题,其中将编写一个火星漫游车程序,其任务是在火星上找到水。我们还将讨论另一个实际问题,即设置一组使用Windows Communication Foundation(WCF)进行通信的Agent,最后通过提出另一个实际问题(第7章)结束《人工智能实战》的这一部分内容:构成多Agent系统的一组Agent将协作并进行通信以清洁房间的污垢。

第8章将描述人工智能的一个称为仿真的子领域,在该领域中通过运用统计和概率工具模拟现实生活场景。在本章中,我们将模拟一个机场的运作,其中飞机在某个特定时段内到达和离开机场。

第9~12章专门介绍监督学习,它是一种非常重要的机器学习范式,基本上是通过向一台机器(程序)提供许多对<数据,分类>的样本,教会它做某件事(通常是对数据进行分类),其中数据可以是任何事物,它可以是动物、房屋、人等。例如,样本集可能是< 象,大型><猫,小型>等。

显然,为了使机器能够理解和处理任何数据,必须输入数值而不是文本。在这些章节中,我们将探讨支持向量机、决策树、神经网络和手写数字识别。

第13章将阐释另一种非常重要的机器学习范式,即无监督学习。在无监督学习中,学习的是作为输入接收的数据的结构,没有监督学习中出现的标签(分类);换句话说,样本只是<数据>,并且不包括分类。因此,无监督学习程序是在没有任何外部帮助的前提下,仅通过研究数据本身提供的信息进行学习。在本章中将介绍聚类,一种经典的无监督学习技术。另外将描述多目标聚类和多目标优化。构造帕累托边界的方法,即作者提出的帕累托边界生成器,也将包含在本章中。

第14章将重点介绍启发式和元启发式,这是在前几章中提到过的一个主题,最终在本章中开展研究。本章将主要描述两种元启发式:遗传算法和禁忌搜索,它们是两种应用最广泛的元启发式类,即基于人口的元启发式和基于单一解的元启发式的典型代表。

第15章将探讨游戏编程,特别是需要执行搜索的游戏的世界。本章将详解和实现多种流行的搜索算法。本章还包括一个实际问题,其中设计和编码了一个滑动拼图智能Agent。

第16章将深入探讨博弈论,特别是其称为对抗性搜索的子领域。在该领域中,我们将研究Minimax算法并实现一个使用该策略(Minimax)进行游戏的黑白棋Agent。

第17章将描述一种目前被视为人工智能未来的机器学习范式:强化学习。在强化学习中,Agent通过奖励和惩罚来学习。它们像人类一样与时俱进地学习,当学习过程足够长时,它们可以在游戏中达到极具竞争力的水平,直到击败人类世界冠军(例如西洋双陆棋和围棋)。

《人工智能实战》下载资源请扫封底二维码获取。

目录

目    录

第1章  逻辑学与人工智能   1

1.1  逻辑是什么   1

1.2  命题逻辑   2

1.3  逻辑联结词   3

1.3.1  否定   3

1.3.2  合取   4

1.3.3  析取   4

1.3.4  蕴涵   5

1.3.5  等值   6

1.4  命题逻辑定律   6

1.5  范式   8

1.6  逻辑电路   9

1.7  实际问题:使用继承和C#运算符计算逻辑公式的值   11

1.8  实际问题:将逻辑公式表达为二叉决策树   14

1.9  实际问题:将公式转换为否定范式(NNF)   16

1.10  实际问题:将公式转换为合取范式(CNF)   18

1.11  本章小结   21

第2章  自动定理证明和一阶逻辑   23

2.1  自动定理证明   23

2.2  实际问题:C#中的Clause类和Cnf类   25

2.3  DPLL算法   30

2.4  实际问题:在命题逻辑中建模鸽巢原理   37

2.5  实际问题:判断一个命题逻辑公式是否可满足   37

2.6  一阶逻辑   41

2.7  实际问题:清洁机器人   45

2.8  本章小结   49

第3章  Agents   51

3.1  Agent是什么   51

3.2  Agent的属性   53

3.3  Agent环境的类型   55

3.4  有状态Agent   56

3.5  实际问题:将清洁机器人作为Agent建模并对其添加状态   57

3.6  Agent的架构   63

3.6.1  反应式架构:包容架构   63

3.6.2  慎思式架构:BDI架构   65

3.6.3  混合架构   69

3.6.4  旅行机   71

3.6.5  InteRRaP   72

3.7  本章小结   73

第4章  火星漫游车   75

4.1  火星漫游车简介   75

4.2  火星车的架构   77

4.3  火星车的程序代码   78

4.4  Mars Rover可视化应用程序   96

4.5  本章小结   106

第5章  多Agent系统   107

5.1  多Agent系统是什么   107

5.2  多Agent组织   109

5.3  通信   110

5.3.1  言语行为理论   111

5.3.2  Agent通信语言(ACL)   112

5.4  协调与合作   116

5.4.1  使用合同网协商   118

5.4.2  社会规范与社会   120

5.5  本章小结   121

第6章  基于WCF的多Agent系统通信   123

6.1  服务   123

6.2  契约   124

6.3  绑定   126

6.4  端点   126

6.5  发布者/订阅者模式   127

6.6  实际问题:利用WCF在多个Agent之间通信   127

6.7  本章小结   138

第7章  清洁Agent:一个多Agent系统问题   139

7.1  程序结构   139

7.2  清洁任务   140

7.3  清洁Agent平台   141

7.4  合同网   142

7.5  FIPA-ACL   146

7.6  MAS清洁Agent   149

7.7  GUI   155

7.8  运行应用程序   157

7.9  本章小结   159

第8章  仿真   161

8.1  仿真是什么   161

8.2  离散事件仿真   162

8.3  概率分布   163

8.4  实际问题:机场仿真   165

8.5  本章小结   173

第9章  支持向量机   175

9.1  支持向量机是什么   176

9.2  实际问题:利用C#实现线性SVM   181

9.3  不完全可分情形   189

9.4  非线性可分情形:核心技巧   191

9.5  序列最小优化算法(SMO)   192

9.6  实际问题:SMO实现   196

9.7  本章小结   201

第10章  决策树   203

10.1  决策树是什么   203

10.2  利用ID3算法生成决策树   206

10.2.1  熵和信息增益   207

10.2.2  实际问题:实现ID3算法   208

10.2.3  C4.5算法   217

10.2.4  实际问题:实现C4.5算法   220

10.3  本章小结   226

第11章  神经网络   227

11.1  神经网络是什么   227

11.2  感知器:单神经网络   229

11.2.1  实际问题:实现感知器神经网络   231

11.2.2  Adaline神经网络和梯度下降搜索   235

11.2.3  随机逼近法   237

11.2.4  实际问题:实现Adaline神经网络   238

11.2.5  多层网络   239

11.2.6  反向传播算法   241

11.2.7  实际问题:实现反向传播算法并解决XOR问题   244

11.3  本章小结   251

第12章  手写数字识别   253

12.1  手写数字识别是什么   253

12.2  训练数据集   254

12.3  用于HDR的多层神经网络   255

12.4  实现   256

12.5  测试   261

12.6  本章小结   262

第13章  聚类和多目标聚类   263

13.1  聚类是什么   263

13.2  层次聚类   265

13.3  划分聚类   267

13.4  实际问题:k-Means算法   269

13.5  多目标聚类   274

13.6  帕累托边界生成器   275

13.7  本章小结   278

第14章  启发式方法&元启发式方法   279

14.1  启发式方法是什么   279

14.2  爬山算法   280

14.3  实际问题:实现爬山算法   282

14.4  P-元启发式算法:遗传算法   286

14.5  实际问题:对旅行商问题实现遗传算法   288

14.6  S-元启发式方法:禁忌搜索   296

14.7  本章小结   300

第15章  游戏编程   303

15.1  电子游戏是什么   303

15.2  游戏中的搜索   304

15.3  无信息搜索   306

15.4  实际问题:实现BFS、DFS、DLS和IDS   308

15.5  实际问题:在滑块拼图问题中实现双向搜索   313

15.6  有信息搜索   319

15.7  运用A*算法求解滑块拼图   321

15.8  本章小结   324

第16章  博弈论:对抗性搜索与黑白棋游戏   325

16.1  博弈论是什么   326

16.2  对抗性搜索   327

16.3  极小化极大搜索算法   328

16.4  α-β剪枝算法   330

16.5  黑白棋游戏   332

16.6  实际问题:在Windows窗体程序中实现黑白棋游戏   335

16.7  实际问题:使用Minimax算法实现黑白棋AI   347

16.8  本章小结   349

第17章  强化学习   351

17.1  强化学习是什么   351

17.2  马尔可夫决策过程   352

17.3  值函数/动作值函数与策略   355

17.4  值迭代算法   357

17.5  策略迭代算法   358

17.6  Q-Learning和时序差分学习   359

17.7  实际问题:使用Q-Learning求解迷宫问题   360

17.8  本章小结   371

 

作者简介

编辑推荐

在日常生活难以想象的各种场景中,各种级别的人工智能(AI)如何发挥作用呢?这可能是读者感兴趣的问题。《人工智能实战》将为读者解答这些问题,书中探讨了神经网络、Agent、多Agent系统、监督学习和无监督学习。这些问题和其他主题都将通过现实世界的示例进行阐明,以便读者学习基本概念及其AI解决方案,并将它们应用于自己的项目中。

人们往往将人工智能作为玄之又玄而与日常生活无关的谈资。《人工智能实战》提供简单易懂的解释和上手指南,书中的讲解并不专注于理论,也不使用过度学术化的语言,而是通过各个层面的实践,使读者不仅可以学习人工智能,还能实现其实际应用。

作者寄语

Arnaldo Pérez Casta?o是一位计算机科学家,居住在古巴哈瓦那。他是PrestaShop Recipes(Apress,2017)和一系列编程书籍 —— JavaScript Fácil、HTML y CSS Fácil以及Python Fácil(Marcombo S.A.)的作者,并为MSDN Magazine、VisualStudio Magazine.com和Smashing Magazine等刊物撰写AI相关的文章。他是Cuba Mania Tour(http://www.cubamaniatour.com)网站的联合创始人之一。

他的专长包括Java、VB、Python、算法、优化、Matlab、C#、.NET Framework和人工智能。Arnaldo通过freelancer.com提供服务,并担任期刊Journal of Mathematical Modelling and Algorithms in Operations Research(运筹学研究中的数学建模和算法)的审稿人。他爱好电影和音乐。许多同事称他为“加勒比海科学家”。可以通过arnaldo.skywalker@gmail.com与他联系。

电子资料

www.luweidong.cn

下一个