小博士学人工智能与编程

小博士学人工智能与编程"

作者:陶霖密、陶晃昱
ISBN:9787302583530
定价:¥69.80
字数:千字
页数:
出版时间:2021.10.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

从小开始学习人工智能,是我们这两代人的共同任务。教育部颁发的《普通高中信息技术课程标准》明确

提出“通过搭建简单的人工智能应用模块,亲历设计与实现简单智能系统的基本过程与方法”,要求学生从一开

始就要在注重智能概念和理论学习的同时,通过智能算法的编程实现来培养自己的动手能力,为以后的学习奠

定坚实的基础。

本书将智能、交互、编程三者结合,融入智能、交互的概念与方法,通过设计与实现游戏、解题、下棋等

智能应用实例,学习概念、算法、编程,并培养动手能力。本书分为5 个单元。第1、2 单元为编程入门和编程

进阶,从零开始学习编程,包括编程基础及代码实现方法,通过多个实例介绍现代基于对象的编程方法。第3 单

元介绍人机交互,讲授人机交互的概念,包括交互方法与交互设计,通过游戏开发实例,把交互概念融入交互

方法的编程实现中,在生动有趣的游戏编程实践中学习人机交互,积累编程经验和技巧。第4、5 单元为人工智

能和智能算法,从多个角度、用多个实例说明人工智能从模仿人的智能活动到局域地**人类智能的思想,并

通过流程图、算法和编程实现让读者亲自体验用算法和程序**自己的智能的快乐!

本书将智能、交互、编程落实到具体的人工智能学习与编程实践中,使得三者密不可分,互相促进。本书

作者亲自编写了所有的代码,提供了详细的算法说明与算法流程图。

本书适用于所有喜欢人工智能的中小学生,无须具有编程基础。

前言

前 言

2017 年7 月,国务院印发了《新一代人工智能发展规划》,要求在中小学

阶段设置“人工智能”课程,随后教育部于2017 年底颁发了《普通高中信息

技术课程标准》(以下简称新课标。《新课标》将“人工智能初步”列入普通

高中的选择性必修模块,并在课程内容中明确要求“通过搭建简单的人工智

能应用模块,亲身设计与实现简单智能系统的基本过程与方法”“并能根据实

际需要配置适当的环境、参数及自然交互方式等”,为普通高中的“人工智能”

课程设置和开发指明了方向。

《新课标》对“人工智能”课程提出了很高的要求,学生既要学习人工智

能基本知识、自然人机交互方法、人工智能算法等方面的内容,又要“亲身设

计与实现。然而我在和海淀知名高中的“信息技术课程教师讨论人工智能时,

他们都一再强调“我们的学生只有极少或没有编程基础。这就是中学“人工智

能”课程所面临的两难情况:没有编程基础,则没办法实现算法;而先学编程

基础,则没时间学习算法。

我自己的教学体会是在学习人工智能过程中,智能算法实现是必不可少的

一环,因此我也能体会到《新课标》的撰写和审定专家的良苦用心,强调“亲身

设计与实现”,使得中学生从一开始就在学习人工智能的概念和理论的同时,通

过智能算法的编程实现来加深和巩固所学的知识为以后的发展奠定坚实的基础。

一般而言智能算法的实现并不需要高深的编程知识和技巧。本书将编程、

交互、算法三者结合,在学习编程时,通过游戏编程引入交互的概念和设计;

在学习算法时,通过交互设计讨论智能算法的性能和实际应用。

本书共分5个单元。前两个单元为编程入门和编程进阶,从零基础开始学

习编程,包括编程环境的创建及代码的编写、编程基础及代码实现方法,并通

过多个实例重点介绍了现代基于对象的编程概念。同时,这两个单元还介绍了

简单的人机交互概念,为后续单元的学习打下基础。第3单元为人机交互,讲

授自然人机交互的概念,包括交互规划、交互计算、交互方法、交互规则、交

互设计和双人交互。该单元通过单人游戏到双人游戏的开发实例,把这些自然

人机交互的概念融入交互方法的编程实现,在生动有趣的游戏编程实践中既学

习了人机交互,又积累了编程经验。第4、5单元为人工智能和智能算法,深

入介绍了人工智能的概念和算法实现方法,通过算法编程实践而理解智能算法,

并通过算法的编程实现加强编程能力。考虑到编程入门时容易出错,本书提供

了详细的算法说明、算法流程图和代码实现。本书作者编写了所有的代码,并

给出了编程过程中要注意的各种问题,在配套电子资源中提供了所有的源代码。

我们将《新课标》提出的编程、交互、智能的概念落实到具体的人工智能

学习实践中,使得三者密不可分,互相促进。需要特别强调的是,本书从多角

度、用多个实例说明了人工智能从模仿人的智能活动到局域地超越人类智能的

思想,并通过流程图、算法和编程实现让读者亲身体验自己的算法和程序超越

人类智能的快乐!这些切切实实的学习和实践打破了关于人工智能能否超越人

类的迷思,使得读者从小就建立关于人工智能的正确观念。

陶晃昱设计了第1、2 单元的游戏,编写了代码,参与了第3 单元代码的

编写和游戏的设计;陶霖密编写了第3~5单元的代码。本书的第1、2 单元

由陶晃昱的《编程日记》改写而成,陶霖密撰写了第3 ~5 单元,并对全书进

行了统稿。

本书适合所有喜欢人工智能的小学生和中学生,无需编程基础。《劝学篇》

说:“不积跬步,无以至千里;不积小流,无以成江海。”面向人工智能的浩瀚大海,

我们起步了!

陶霖密

于清华园

2021 年3 月

目录

目 录

第

1 

单元 编程入门........................................................................

. 

001

1.1 什么是编程...........................................................................................001

1.1.1 计算机语言................................................................................001

1.1.2 Scratch 

语言..........................................................................

. 

003

1.1.3 编程与程序.............................................................................

. 

004

1.2 编程环境............................................................................................

. 

004

1.3 创建一个新项目..................................................................................

. 

008

1.3.1 集成编程环境..........................................................................

. 

009

1.3.2 造型与声音...............................................................................010

1.4 编故事,写代码....................................................................................013

1.4.1 角色与背景...............................................................................014

1.4.2 写代码.....................................................................................

. 

017

1.5 纠错与循环.........................................................................................

. 

020

1.5.1 纠错........................................................................................

. 

020

1.5.2 鼠标事件..................................................................................021

1.5.3 循环.........................................................................................022

1.6 事件.....................................................................................................023

1.6.1 声音.........................................................................................023

1.6.2 编程习惯..................................................................................025

1.7 程序的初始化.......................................................................................026

1.7.1 初始化......................................................................................027

1.7.2 背景切换事件..........................................................................

. 

028

1.7.3 角色与人交互..........................................................................

. 

029

1.8 角色的消失与显示...............................................................................

. 

030

1.9 新的角色..............................................................................................032

1.10 单元小结............................................................................................037

13 

Xbczw.indd 13 

2021.11.3 7:31:12 PM 

第

2 

单元 编程进阶........................................................................

. 

039

2.1 继承已完成的程序...............................................................................

. 

039

2.2 学会克隆............................................................................................

. 

042

2.2.1 克隆的对象.............................................................................

. 

043

2.2.2 克隆体的消失.........................................................................

. 

043

2.2.3 复制角色..................................................................................045

2.3 多循环的配合.....................................................................................

. 

046

2.4 基于对象的编程....................................................................................050

2.4.1 复制代码..................................................................................050

2.4.2 修改参数..................................................................................052

2.4.3 对象与代码...............................................................................052

2.5 角色移动的新方法................................................................................053

2.6 有限循环、无限循环与嵌套循环............................................................056

2.6.1 有限循环与无限循环..................................................................057

2.6.2 嵌套循环..................................................................................057

2.6.3 嵌套循环应用...........................................................................058

2.7 条件控制:如果……那么…….............................................................

. 

060

2.8 对象之间的通信与协同........................................................................

. 

064

2.8.1 对象的独立性..........................................................................

. 

064

2.8.2 对象之间的通信......................................................................

. 

064

2.8.3 对象之间的协同........................................................................065

2.9 中止无限循环.......................................................................................068

2.9.1 循环和条件控制之间的配合........................................................068

2.9.2 角色之间的配合......................................................................

. 

069

2.10 单元小结...........................................................................................

. 

071

第

3 

单元 人机交互........................................................................

. 

073

3.1 导论.....................................................................................................073

3.2 交互规划..............................................................................................075

14

Xbczw.indd 14 

2021.11.3 7:31:16 PM 

3.3 继承和改编..........................................................................................077

3.3.1 导入和导出角色........................................................................078

3.3.2 角色分类................................................................................

. 

079

3.4 变量..................................................................................................

. 

079

3.4.1 变量的运算.............................................................................

. 

079

3.4.2 全局变量..................................................................................081

3.5 交互计算............................................................................................

. 

082

3.5.1 整体规划................................................................................

. 

083

3.5.2 基于消息的协同......................................................................

. 

083

3.5.3 对象内的消息传递.....................................................................085

3.6 交互方法..............................................................................................086

3.7 交互规则............................................................................................

. 

090

3.7.1 规则的实现...............................................................................091

3.7.2 

规则与状态............................................................................

. 

092

3.7.3 

规则与角色............................................................................

. 

094

3.8 交互设计............................................................................................

. 

096

3.8.1 交互背景设计..........................................................................

. 

097

3.8.2 交互角色设计.........................................................................

. 

098

3.9 双人交互.............................................................................................

. 

101

3.9.1 双人交互设计...........................................................................

. 

101

3.9.2 双人交互实现...........................................................................103

3.9.3 双赢的双人交互........................................................................105

3.10 单元小结...........................................................................................

. 

106

第

4 

单元 人工智能........................................................................

. 

109

4.1 导论.....................................................................................................109

4.1.1 智能计算....................................................................................111

4.1.2 智能计算示例.............................................................................111

4.2 计算方法.............................................................................................

. 

113

4.2.1 数据与列表..............................................................................

. 

114

15 

Xbczw.indd 15 

2021.11.3 7:31:16 PM 

4.2.2 初始化列表..............................................................................

. 

115

4.2.3 更多的数据..............................................................................

. 

116

4.3 算法流程及其优化...............................................................................

. 

117

4.3.1 算法流程.................................................................................

. 

118

4.3.2 优化流程.................................................................................

. 

118

4.4 智能查找..............................................................................................120

4.4.1 流程控制变量............................................................................120

4.4.2 多判断流程..............................................................................

. 

121

4.4.3 交互输入.................................................................................

. 

122

4.5 智能筛选.............................................................................................

. 

125

4.5.1 试除法找质数...........................................................................

. 

126

4.5.2 筛子法找质数..........................................................................

. 

126

4.5.3 筛子法的基本思想....................................................................

. 

127

4.5.4 筛子法的特点...........................................................................130

4.6 筛选流程..............................................................................................130

4.7 实现筛选.............................................................................................

. 

132

4.7.1 质数和奇数列表........................................................................132

4.7.2 筛子循环.................................................................................

. 

132

4.7.3 逻辑运算.................................................................................

. 

135

4.8 算法扩展.............................................................................................

. 

137

4.9 流程与实现..........................................................................................138

4.10 单元小结............................................................................................142

第

5 

单元 智能算法........................................................................

. 

145

5.1 智能与算法..........................................................................................

. 

145

5.1.1 图灵测试..................................................................................

. 

145

5.1.2 机器智能.................................................................................

. 

146

5.2 冒泡排序算法......................................................................................

. 

147

5.2.1 算法思想.................................................................................

. 

147

5.2.2 算法实现..................................................................................148

16 

Xbczw.indd 16 

2021.11.3 7:31:17 PM 

5.3 选择排序算法......................................................................................

. 

150

5.3.1 算法思想.................................................................................

. 

150

5.3.2 算法实现.................................................................................

. 

151

5.4 插队排序算法......................................................................................

. 

153

5.4.1 算法思想.................................................................................

. 

153

5.4.2 算法实现.................................................................................

. 

155

5.5 计数排序算法......................................................................................

. 

157

5.5.1 算法思想.................................................................................

. 

158

5.5.2 算法实现.................................................................................

. 

159

5.6 基数排序算法.......................................................................................160

5.6.1 算法思想.................................................................................

. 

161

5.6.2 算法实现.................................................................................

. 

163

5.7 查找算法..............................................................................................169

5.7.1 算法思想.................................................................................

. 

170

5.7.2 算法实现.................................................................................

. 

171

5.8 回溯搜索算法......................................................................................

. 

173

5.8.1 人工智能下棋............................................................................174

5.8.2 四皇后搜索..............................................................................

. 

175

5.8.3 交互搜索.................................................................................

. 

176

5.9 八皇后问题求解...................................................................................

. 

181

5.9.1 算法分析.................................................................................

. 

181

5.9.2 算法实现..................................................................................183

5.9.3 算法流程.................................................................................

. 

186

5.10 单元小结............................................................................................189

跋..................................................................................................

. 

192

作者简介

编辑推荐

根据教育部人工智能新课标的要求,本教程将编程、交互、算法三者结合,在学习编程时,通过游戏编程而融入交互的概念和设计;在学习算法时,通过交互设计而讨论智能算法的性能和实际应用。

我们将新课标提出的编程、交互、智能的概念落实到具体的实践中,使得三者密不可分,互相促进。考虑到编程入门时容易出错,本书提供了详细的算法说明,算法流程图、代码实现。本书作者亲自编写了所有的代码,并在书中给出了编程过程中要注意的各种问题,提供了所有的源代码!

作者寄语

陶霖密,博士,清华大学计算机科学与技术系副教授,博士。具有浙江大学生物学学士,中国科学院生物物理所认知学硕士,清华大学计算机应用工学博士。意大利科学院国际高等科学研究所视觉认知与计算理论博士后。曾任意大利意大利科学院国际高等科学研究所助理研究员,意大利威诺娜大学助理教授。回国后任清华大学计算机科学与技术系副教授,讲授《人机交互理论》、《模式识别》和《信号处理》等课程。

陶霖密博士于2001年起从事水下机器人和水下传感器的研究,任欧盟第五框架计划大型项目《基于增强现实的水下机器人》的项目协调人,该项目有六个欧盟单位参加,本人代表意大利威诺娜大学出任项目负责人(欧盟为项目协调人);2010开始从事可穿戴技术研究,组织申请了欧盟第七框架计划重大项目,立项后任项目《可穿戴心脏病健康与辅助诊断》的科学协调人,该项目由十七个单位参加,其中十六个单位来自欧盟国家,本人代表清华大学任项目首席科学家(科学协调人)。承担了国家自然科学重点基金项目《情感计算》,国家863计划重大项目《脑机接口》,从事脑控电脑与脑控机器人研究。在各种**国际会议和国际期刊上发表了多篇论文,并与MIT,Boston U,IBM,INTEL,SIEME

电子资料

www.luweidong.cn

下一个