前言
人工智能(artificial intelligence,AI)是一个大领域,本书也是一本“大”书。我们试图全方位探索这一领域。书中内容涵盖逻辑、概率和连续数学,感知、推理、学习和行动,以及公平、信任、社会公益和安全,应用范围从微电子设备到机器人行星探测器,再到拥有几十亿用户的在线服务。
本书的副书名是“现代方法”。这意味着我们选择从当下的角度讲述人工智能的故事。我们使用当今流行的思想和术语重新构建早期的工作,将现有已知的内容融合到统一的框架中。对那些因为研究领域不是本书所及而没有受到本书重视的人,我们深表歉意。
第4版新变化
第4版反映了自2010年第3版面世以来人工智能领域发生的下列变化。
● 由于数据、计算资源和新算法的可用性增强,我们更关注机器学习而不是人工设计的知识工程。
● 我们增加了专门的章节介绍深度学习、概率编程和多智能体系统的相关内容。
● 我们修订了自然语言理解、机器人学和计算机视觉的内容,以反映深度学习的影响。
● 我们在第26章“机器人学”中包括了与人类互动的机器人以及强化学习在机器人学中的应用。
● 之前,我们将人工智能的目的定义为创建一些试图最大化期望效用的系统,其中具体效用信息——目标——由系统的人类设计师提供。现在我们不再假设目标是固定的,也不再假设人工智能系统知道目标,相反,人工智能系统可能不确定人类的真正目标。它必须学习到要最大化的内容,必须在不确定目标的情况下也能适当地发挥作用。
● 我们增加了人工智能对社会影响的相关内容,包括道德、公平、信任和安全等重要问题。
● 我们把习题从每章末尾移到了网站。这让我们能够不断添加、更新和改进习题,以满足教师的需求并反映这一领域和人工智能相关软件工具的进展。
● 书中约25%的内容是全新的,剩下的75%也做了大量修改,以呈现出更加统一的人工智能领域图景。本版中22%的参考文献是2010年以后发布的。
本书概述
智能体(intelligent agent)的概念是贯穿整本书的主题思想。我们将人工智能定义为对从环境中接收感知并执行动作的智能体的研究。每个这样的智能体都要实现一个将感知序列映射为动作的函数,我们介绍了表示这些函数的不同方法,如反应型智能体、实时规划器、决策论系统和深度学习系统。我们强调,学习既是构造良好系统的方法,也是将设计者的影响范围扩展到未知环境的方法。我们没有把机器人学和视觉看作独立定义的问题,而是将其看作实现目标的服务。我们强调任务环境在确定合适的智能体设计中的重要性。
我们的主要目标是传达在过去70多年的人工智能研究和过去2000多年的相关工作中涌现出来的思想。在表达这些思想时,我们在保持准确性的前提下尽量避免过于拘泥于形式。书中提供了数学公式和伪代码算法,让关键思想具体化;附录A中给出了数学概念和符号,附录B中给出了伪代码。
本书主要用作本科人工智能课程或课程序列的教科书。全书共28章,每章大约需要一周的课时,因此完成整本书的教学需要两个学期。如果课程只有一个学期,可以按教师和学生的兴趣选择部分章节进行教学。本书也可用于研究生课程(可能需要增加参考文献中建议的一些主要资料),或者用于自学或作为参考书。
在本书中,定义了新术语的地方都会以灰色粗体显示,术语的后续重要用法也以黑色粗体显示。
阅读本书唯一的先修要求是对计算机科学基本概念(算法、数据结构、复杂性)的熟悉程度达到大学二年级的水平。大学一年级的微积分和线性代数知识对一些主题的阅读很有帮助。
在线资源
在线资源可通过培生教育集团的官方网站或本书的配套网站获得。本书的配套网站上有以下内容。
● 习题、编程项目和研究项目。这些不再放在每章末尾,只在网站提供。在本书中,我们将使用“习题6.NARY”之类的名称引用在线习题。网站的说明允许读者按名称或主题查找习题。
● 使用Python、Java和其他编程语言实现的本书中的算法(目前托管在GitHub上)。
● 1500多所使用过本书的学校名单,其中许多都附有在线课程材料和教学大纲的链接。
● 供学生和教师使用的补充材料及其链接。
● 书中可能存在的错误以及关于如何报告书中错误的说明。
图书封面
封面描绘了加里·卡斯帕罗夫(Garry Kasparov)与IBM的“深蓝”(Deep Blue)计算机在1997年国际象棋对抗赛中第六盘决胜局的最终局面。在这场比赛中,“深蓝”击败了卡斯帕罗夫(执黑棋),这是计算机首次在国际象棋比赛中战胜人类世界冠军。卡斯帕罗夫位于封面顶部,他的右边是前世界冠军李世石和DeepMind的AlphaGo进行历史性围棋比赛的第二局的关键局面。AlphaGo的第37手违背了几个世纪以来的围棋正统观念,人类专家认为这是一个令人尴尬的错误,但结果证明这一走法是正确的。封面上,左上角是由波士顿动力公司制造的Atlas人形机器人,埃达·洛芙莱斯(Ada Lovelace,世界上第一位计算机程序员)和艾伦·图灵(Alan Turing,他的基础工作定义了人工智能)之间的是自动驾驶汽车感知环境的画面,棋盘底部是火星探测漫游者机器人和逻辑学研究先驱亚里士多德的雕像,英文书名背后是亚里士多德的《论动物的运动》(De Motu Animalium)中的规划算法,棋盘面上的文字是联合国全面禁止核试验条约组织(UN Comprehensive Nuclear-Test-Ban Treaty Organization)使用的用于从地震信号中检测核爆炸的概率编程模型。
致谢
制作一本书需要无数人的帮助。600多人阅读了本书的部分内容,并提出了改进意见。我们感谢他们所有人。在这里,我们只列出几位特别重要的贡献者。首先是撰稿人:
● 朱迪亚·珀尔(Judea Pearl)(13.5节);
● 维卡什·曼辛卡(Vikash Mansinghka)(15.4节);
● 迈克尔·伍尔德里奇(Michael Wooldridge)(第18章);
● 伊恩·古德费洛(Ian Goodfellow)(第21章);
● 雅各布·德夫林(Jacob Devlin)和张明伟(Ming-Wei Chang)(第24章);
● 吉滕德拉·马利克(Jitendra Malik)和戴维·福赛思(David Forsyth)(第25章);
● 安卡·德拉甘(Anca Dragan)(第26章)。
然后是本书出版过程中的关键角色:
● 辛西娅·杨(Cynthia Yeung)和玛莉卡·坎托(Malika Cantor)(项目管理);
● 朱莉·萨斯曼(Julie Sussman)和汤姆·加洛韦(Tom Galloway)(文字加工和写作建议);
● 奥马里·斯蒂芬斯(Omari Stephens)(插图);
● 特蕾西·约翰逊(Tracy Johnson)(编辑);
● 埃琳·奥尔特(Erin Ault)和罗丝·克南(Rose Kernan)(封面设计和颜色转换);
● 纳林·奇伯(Nalin Chhibber)、萨姆·戈托(Sam Goto)、雷蒙·拉卡兹(Raymond de Lacaze)、拉维·莫汉(Ravi Mohan)、夏兰·奥赖利(Ciaran O’Reilly)、阿米特·帕特尔(Amit Patel)、德拉戈米尔·拉迪夫(Dragomir Radiv)和萨马格拉·夏尔马(Samagra Sharma)(在线代码开发和指导);
● Google Summer of Code students(在线代码开发)。
斯图尔特想要感谢他的妻子洛伊·谢弗洛特(Loy Sheflott),感谢她无尽的耐心和无限的智慧。他希望戈登(Gordon)、露西(Lucy)、乔治(George)和艾萨克(Isaac)能很快读到本书,并原谅他在本书上花了这么长时间。感谢RUGS(Russell’s Unusual Group of Students)一如既往地提供了非同寻常的帮助。
彼得想要感谢他的父母托尔斯滕(Torsten)和格尔达(Gerda)让他迈出第一步,感谢他的妻子克丽丝(Kris)、孩子伊莎贝拉(Isabella)和朱丽叶(Juliet)、同事、老板以及朋友在他漫长的写作和修改过程中鼓励和包容他。