人工智能(第3版)

978-7-115-62343-0
作者: [美]史蒂芬·卢奇(Stephen Lucci)萨尔汗·M.穆萨(Sarhan M. Musa)丹尼·科佩克(Danny Kopec)
译者: 王斌王鹏鸣王书鑫
编辑: 李瑾

图书目录:

详情

作为计算机科学的一个分支,人工智能主要研究、开发用于模拟、延伸和扩展人类智能的理论、方法、技术及应用系统,涉及机器人、语音识别、图像识别、自然语言处理和专家系统等方向。 本书包括引言、基础知识、基于知识的系统、人工智能高级专题、人工智能的现在和未来以及安全与编程六部分内容。第一部分从人工智能的定义讲起,对人工智能的早期历史、思维和智能的内涵、图灵测试、启发式方法、新千年人工智能的发展进行了简要论述。第二部分详细讲述了人工智能中的盲目搜索、知情搜索、博弈中的搜索、人工智能中的逻辑、知识表示和产生式系统等基础知识。第三部分介绍并探究了人工智能领域的成功案例,如DENDRAL、MYCIN、EMYCIN 等经典的专家系统,振动故障诊断、自动牙科识别等新的专家系统,也介绍了机器学习、深度学习以及受到自然启发的搜索算法等。第四部分介绍了自然语言处理和自动规划等高级专题。第五部分对人工智能的历史和现状进行了梳理,回顾了几十年来人工智能所取得的诸多成就,并对其未来进行了展望。第六部分主要介绍人工智能的安全以及编程问题。 本书系统、全面地讲解了人工智能的相关知识,既简明扼要地介绍了这一学科的基础知识,也对自然语言处理、自动规划、神经网络等内容进行了拓展,更辅以实例,可以帮助读者扎扎实实打好基础。本书内容易读易学,适合人工智能相关领域和对该领域感兴趣的读者阅读,也适合高校计算机专业的教师和学生参考。

图书摘要

版权信息

书名:人工智能(第3版)

ISBN:978-7-115-62343-0

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

版  权

著    [美] 史蒂芬·卢奇(Stephen Lucci)
       [美] 萨尔汗·M.穆萨(Sarhan M. Musa)
       [美] 丹尼·科佩克(Danny Kopec)

译    王 斌 王鹏鸣 王书鑫

责任编辑 李 瑾

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

内容提要

作为计算机科学的一个分支,人工智能主要研究、开发用于模拟、延伸和扩展人类智能的理论、方法、技术及应用系统,涉及机器人、语音识别、图像识别、自然语言处理和专家系统等方向。

本书包括引言、基础知识、基于知识的系统、人工智能高级专题、人工智能的现在和未来以及安全与编程六部分内容。第一部分从人工智能的定义讲起,对人工智能的早期历史、思维和智能的内涵、图灵测试、启发式方法、新千年人工智能的发展进行了简要论述。第二部分详细讲述了人工智能中的盲目搜索、知情搜索、博弈中的搜索、人工智能中的逻辑、知识表示和产生式系统等基础知识。第三部分介绍并探究了人工智能领域的成功案例,如DENDRAL、MYCIN、EMYCIN等经典的专家系统,振动故障诊断、自动牙科识别等新的专家系统,也介绍了机器学习、深度学习以及受到自然启发的搜索算法等。第四部分介绍了自然语言处理和自动规划等高级专题。第五部分对人工智能的历史和现状进行了梳理,回顾了几十年来人工智能所取得的诸多成就,并对其未来进行了展望。第六部分主要介绍人工智能的安全以及编程问题。

本书系统、全面地讲解了人工智能的相关知识,既简明扼要地介绍了这一学科的基础知识,也对自然语言处理、自动规划、神经网络等内容进行了拓展,更辅以实例,可以帮助读者扎扎实实打好基础。本书内容易读易学,适合人工智能相关领域和对该领域感兴趣的读者阅读,也适合高校计算机专业的教师和学生参考。

献  词

献给我的父母路易斯和康尼·卢奇,他们一直鼓励我接受教育。

——史蒂芬·卢奇(Stephen Lucci)

献给我的父母穆罕默德·穆萨和法特梅·侯赛因,他们永远在我心中。

——萨尔汗·M.穆萨(Sarhan M.Musa)

译者序

近年来人工智能的发展可谓日新月异:2016年3月,谷歌的AlphaGo战胜围棋世界冠军李世石,从此深度学习的威力深入人心。2022年11月,OpenAI的ChatGPT横空出世,掀起了一场大模型革命,也让大家看到了通用人工智能的曙光。随着技术的快速发展,人工智能已经深刻地改变着我们的工作和生活,人们理解和掌握人工智能的需求越来越高。人工智能已经不再只是一门专业学科,而是成为了一门基础学科。

然而,对于初学者而言,人工智能的概念、流派、技术纷繁复杂,理解和掌握人工智能是一件极具挑战性的事情,需要一本基础教材来帮忙。本书就是一本非常经典的人工智能教材,由三位资深的人工智能学者共同编写。本书从第1版到第3版历时10余年,经历了时间的考验和反复的修改,也受到读者的广泛欢迎。

本书的特点之一是它的全面性。它涵盖了人工智能的各个方面,包括人工智能的历史、思维和智能之辩、图灵测试、搜索、博弈、知识表示、产生式系统、专家系统、机器学习、深度学习、自然语言处理、自动规划、遗传算法、模糊控制、安全等。此外,它还介绍了一些新技术和应用,如机器人、高级计算机博弈等。

本书的另一个特点是它的实用性。本书不仅是一本理论教材,还包含了大量习题和案例,帮助读者将理论知识应用到实际问题之中。这些案例涵盖了各种各样的应用场景,如计算机博弈游戏、医疗诊断等。

本书还具有很好的可读性和趣味性。书中介绍了很多与人工智能相关的杰出人物,介绍了他们的经历和对人工智能领域的贡献,这些材料很难在其他教材中见到,但是对于了解人工智能是非常有益的补充。本书使用了简单明了的语言和图表,可以使读者轻松地理解复杂的概念和算法。此外,本书还提供了大量的教辅材料、参考文献和扩展阅读材料,一方面可以帮助授课教师教学,另一方面还可以帮助读者深入了解人工智能领域的新进展。

总之,如果你想了解人工智能的基本概念和技术,那么这本经典教材值得推荐。它不仅适合于大学人工智能课程的教学,也适合于自学者和业界从业者学习参考。无论你是初学者还是专业人士,本书都值得一读。

本书第3版中文版由三位人工智能从业者共同翻译而成。王斌博士翻译了第1~7章、第19章,王书鑫博士翻译了第8~12章,王鹏鸣博士翻译了第13~18章,最后由王斌博士统稿。第3版的翻译大量借鉴了第2版中文版的内容,感谢第2版译者林赐提供的良好基础。

在翻译本书第3版的过程中,译者也就原文中的疑问及问题和原作者进行了沟通,澄清了对原文的一些理解并体现在译文中,同时也修正了部分原文中的错误。特别是原书第19章的程序代码中存在部分错误,译者进行了订正并在编程环境中一一调通。

感谢人民邮电出版社信息技术出版分社社长陈冀康、责任编辑李瑾在整个翻译过程中的支持和帮助。感谢我的同事Daniel Povey博士、我的同学刘俊东教授对部分疑难翻译的支持。为了准确翻译一张图,我们讨论交互了十余次,对于我的骚扰,他们不厌其烦。感谢崔宝秋、屈恒、许多、王扉、王旭、王刚等同事对我翻译本书的鼓励。我们三位译者都特别感谢我们的家人一直以来的理解和支持。

在翻译本书的过程中,ChatGPT横空出世,我也尝试用ChatGPT对几十句原文进行翻译,在没有精心对提示语(prompt)进行调优的情况下,总体结果超过预期。虽然说目前在专业领域ChatGPT的翻译还没有超过高水平的人类专家级选手,但是基于大模型的人机结合的翻译势必成为这一行业的未来,翻译的效率和效果会大幅度提高和改善。

需要指出的是,本书是一本基础教材,涵盖的知识面非常广,可以让读者快速入门。但是,人工智能的发展日新月异,读者要想深入了解更多更新的人工智能进展,还需要结合其他的一些图书进行补充阅读。比如,如果读者想要深入了解深度学习的进展,可以参考近年来出版的有关深度学习的图书;读者要深入了解大模型的进展,可以参考新近出版的有关大模型的图书。

虽然我从事人工智能这一行业已经20余年,翻译的相关图书也不下10本,但是每次翻译时我仍然充满敬畏之心。虽然我们三位译者非常努力,但是限于能力,现有译稿肯定多有不足,希望读者不吝指正。读者可以在异步社区提交勘误信息,也可以直接将反馈信息发送到邮箱wbxjj2008@gmail.com,同以前一样,对本书的翻译质量我们会负责到底。

在写这篇译者序时,我已经从学术界投身到工业界5年。这5年,我不仅有幸经历了AI技术的巨大进步,更令我激动的是,我几乎每天都能见到可以应用AI技术的诸多场景。不论是提升产品体验,还是提高业务运营效率,都有大量有趣的事情可以做。将AI技术和场景有机结合,可能的空间以前真是无法想象。拥抱AI,改变未来。希望更多的人能加入这个行列!

王 斌

2023年10月7日于北京小米科技园

第3版 前言

观点和需求

我们的观点是,人工智能是由人(people)、想法(idea)、方法(method)、机器(machine)和结果(outcome)等对象组成的。首先,组成人工智能的是人。人有想法,并把这些想法变成了方法。这些想法可以用算法、启发式方法、程序或作为计算骨干的系统来表达。最后,我们得到了这些机器(程序)的产物,我们称之为“结果”。每个结果都可以根据其价值、效果、效率等进行衡量。

我们发现,现有的人工智能图书往往漏掉了上述对象中的一个或多个。没有人,就没有人工智能。因此,我们决定通过在本书中添加“人物轶事”专栏,介绍对人工智能的发展做出贡献的人。从人到想法再到方法,这些内容贯穿于本书的全部章节。与数学、物理、化学和生物学等其他科学相比,人工智能和计算机科学相对年轻。但是,人工智能是一门真正跨领域的学科,它结合了其他领域的许多元素。

机器/计算机是人工智能研究人员的工具,它们允许研究人员进行实验、学习和改进求解问题的方法,这些方法可以应用于可能对人类有益的许多有趣的领域。很重要的一点是,由于将人工智能应用到各种各样的问题和学科,我们也得到了可测量的结果,这提醒我们人工智能也必须是可计算的。在本书的许多地方,你会发现关于“表现”(performance)和“能力”(competence)之间区别的讨论。随着人工智能的成熟和进步,这两者都是必需的。

此外,学生需要亲自实践,求解问题,也就是说,学生需要用第2~4章中详细介绍的搜索技术基础知识、第5章中的逻辑方法以及第6章中知识表示在人工智能中的作用等内容,动手求解问题。第7章为学习模糊逻辑(第8章)和专家系统(第9章)做了铺垫。

第10~12章详细介绍了神经网络、深度学习和遗传算法等先进方法。第13~16章分别介绍了自然语言处理、规划、机器人和高级计算机博弈等主题。第17章是大事记,总结了我们一起学习人工智能的历程,并对未来进行了展望。第18章介绍了人工智能在网络安全领域的应用和前景,而第19章则介绍了三种常见的人工智能编程语言:Prolog、Python和MATLAB。

教师资源

本书提供了丰富的教师资源,包括教学PPT、教学指导和教学大纲、练习题解决方案、参考试题等。

此外,本书配套资源还提供了书中的全部图片、示例源代码及与AI相关的其他材料。

共同愿景

本书的编写并非一蹴而就。我们对材料编写和开发的方法纵然有所不同,但在许多方面仍是互补的。

我们相信,这本综合性的教材可以为任何对人工智能感兴趣的人员提供坚实的基础,并使他们能够有充分的机会,来积累这个领域的知识、经验和方法。很幸运的是,作者和出版商Mercury Learning and Information的总裁兼创始人David Pallai对本书有着共同的目标和愿景。大家一致同意编写本书的基本原则,那就是本书应该做到:理论和应用相平衡,内容准确,方便教学,定价合理。

我们希望您能从我们的努力中受益。

纽约市立大学
史蒂芬·卢奇

普雷里维尤农工大学
萨尔汗·M.穆萨

纽约市立大学 布鲁克林学院
丹尼·科佩克(已故)

第3版 致谢

编写这样一本书不仅仅是一份工作,在某种意义上足以代表人工智能本身,它就像是用诸多小块拼凑出一幅复杂而巨大的拼图。

2010年春夏,Debra Luca女士为我们准备和完成手稿提供了许多帮助。2011年,Sharon Vanek女士帮助我们获得了图片的使用权。2011 年夏,布鲁克林学院计算机科学系的研究生Shawn Hall和Sajida Noreen也为我们提供了帮助。

在许多关键时刻,David Kopec成功、高效地为我们解决了软件问题。

感谢以各种方式为本书的编写做出贡献的学生,他们是(按我们感知的贡献大小排序):Dennis Kozobov、Daniil Agashiyev、Julio Heredia、Olesya Yefimzhanova、Oleg Yefimzhanov、Pjotr Vasilyev、Paul Wong、Georgina Oniha、Marc King、Uladzimir Aksionchykau和Maxim Titley。

感谢布鲁克林学院计算机科学系的行政人员Camille Martin、Natasha Dutton、Audrey Williams、Lividea Jones以及计算机系统管理员Lawrence Goetz先生为我们提供了帮助。

非常感谢Graciela Elizalde-Utnick教授允许我们继续在教学中心工作。感谢信息技术副总裁Mark Gold为我们提供了计算机设备。

此外,还要感谢与我们合作的所有人工智能研究人员,让我们有权在本书中使用他们的图片。如在致谢中有所遗漏,敬请谅解,谢谢大家的帮助!

丹尼·科佩克要感谢他的妻子Sylvia和儿子David对这个很大的写作项目的支持和理解。“感谢达特茅斯学院的Larry Harris教授,是他于1973年将人工智能(AI)作为计算机科学学科介绍给了我。我因此而遇见了Donald Michie教授,他让作为博士生和研究员的我度过了令人难忘的6年岁月(1976—1982),并教会我许多生活经验。”

“感谢密歇根大学电气工程与计算机科学系的Dragomir Radev教授,他就第13章应包含的主题提出了建议。”

“同时感谢以下人员的协助:编写了第13章中几小节的Harun Iftikhar;编写和编辑了第14章的圣约翰大学的Christina Schweikert博士;编写了3.7.3节的布鲁克林学院的Erdal Kose;提供第6章关于Baecker的工作(见6.11.3节)中材料的Edgar Troudt。”

“感谢布鲁克林学院为本书的编写提供了极大支持的其他同事,包括Keith Harrow教授、James Cox、Neng-Fa Zhou、Gavriel Yarmish、Noson Yanofsky、David Arnow、Ronald Eckhardt和Myra Kogen。布鲁克林学院图书馆的Jill Cirasella教授在我们编写和研究计算机博弈历史的过程中提供了帮助。”

丹尼·科佩克还要感谢以下给予他帮助的人:“感谢布鲁克林学院计算机科学系原主任Aaron Tenenbaum多年来为我提供工作机会,鼓励我编写本书,并给出了一些重要的建议。感谢布鲁克林学院计算机科学系主任Yedidyah Langsam教授为我提供了教学和工作条件,使本书得以完成。感谢James Davis教授和Paula Whitlock教授,是他们鼓励我在2008—2010年担任布鲁克林学院教学中心主任,从而有助于本书的完成。”

史蒂芬·卢奇要感谢纽约市立大学以及该校的研究生院和大学中心,因为他在那里获得了优秀的教育经历:“许多年前,我的学术导师Michael Anshel教授在指导我的论文研究中非常耐心。他教会了我‘从盒子外部进行思考’,即在计算机科学中,看似无关的话题之间往往存在着关系。Gideon Lidor教授也是我的导师,在我早期的职业生涯中,他教会了我在课堂上表现卓越的价值所在。Valentin Turchin教授始终尊重我的能力。我将George Ross教授视为我的行政导师。在我获得博士学位之前,他帮助我在学术界找到了一份教师的工作。在他的坚持下,我在纽约市立大学计算机科学系担任副主任多年,这份工作经验让我在后来的6年中担任了系主任。在我的职业发展中,他总是尽力支持我。我也要感谢Izidor Gertner教授,他非常欣赏我的写作水平。我还要感谢Gordon Bassen博士和Dipak Basu博士,从博士生时代起我们就一直是亲密的朋友和同事。我也要衷心地感谢班上的许多学生,在过去几年里是他们给了我启发。”

“编写教科书非常富有挑战性。一路走来,许多人都提供了让我感激万分的协助。谢谢他们!”

“在工作的早期,Tayfun Pay贡献了技术专长。他绘制了第2章中的国际象棋棋盘以及第2章和第4章中的许多搜索树,第5章中三位智者的图片的选用也得益于他的艺术眼光。”

“Jordan Tadeusz为本书后面一些章节的编写倾注了大量的心血。他负责了第10章和第11章的许多图片。第10章中的向量方程也来自他奇迹般的工作。”

“Junjie Yao、Rajesh Kamalanathan和Young Joo Lee帮助我们尽早完成了任务。Nadine Bennett对第4章和第5章中的内容进行了最后的润色。Ashwini Harikrishnan(Ashu)在本书的后期给予了技术协助。Ashu还在编辑过程中‘优化’了一些图片。以下学生也为本书贡献了他们的时间和才华:Anuthida Intamon、Shilpi Pandey、Moni Aryal、Ning Xu和Ahmet Yuksel。最后,我要感谢我的姐妹Rosemary。”

在本书第2版中,我们感谢Daniil Agashiyev对第13章和第14章中隐喻和SCIBox小节的贡献。感谢Sona Brambhatt允许我们使用她硕士论文的语音理解部分,这部分由Mimi-Lin Gao进行了修订和精简。她还为机器人应用(ASIMO)和Lovelace项目贡献了部分内容。Peter Tan帮助编写了有关机器人应用的小节,包括Big Dog、Cog和Google Car等内容。他还获得了许多出现在新版本中的图像的使用权。Oleg Tosic准备了有关CISCO语音系统的应用之窗。Chris Pileggi间接提供了一些新的练习题。

在本书第3版中,萨尔汗·M.穆萨(Sarhan M.Musa)要感谢很多人:“向我的家庭、我的妻子Lama以及我的孩子Mahmoud、Ibrahim和Khalid表达最深切的感谢,感谢他们一直以来对我的支持、爱和耐心。”

此外,我们非常高兴Mercury Learning公司的创始人兼总裁David Pallai先生鼓励和支持我们努力完成这本教材的又一次修订。我们还很幸运被许多教师和学生包围,他们帮助我们发现了本书第2版中的错误并编写了新内容。

如何使用本书

本书内容繁多,如果时间有限,第六部分“安全和编程”可以以学生阅读的方式进行,教师不再讲授。其余内容,建议按照如下学时来讲述(不含第六部分,共计51学时,本科生课程可适当缩减,或者本科生课程和研究生课程在课程讲授深度和习题难度上做区分)。

第一部分 引言,介绍人工智能的基本概念和历史。建议3学时

第1章人工智能概述,介绍人工智能的定义、处理的问题领域和发展历史。建议3学时。

第二部分 基础知识,介绍人工智能的基础技术,包括搜索、逻辑、知识表示和产生式系统,建议18学时

第 2 章盲目搜索,介绍人工智能中的盲目搜索算法,包括深度优先和广度优先等算法。建议2学时。

第 3 章知情搜索,介绍人工智能中的知情搜索算法,包括爬山法、分支定界、约束满足、与或树等。建议4学时。

第 4 章博弈中的搜索,介绍计算机博弈游戏中的搜索方法,包括博弈树、极小化极大评估、α-β剪枝、机会博弈等。建议4学时。

第 5 章人工智能中的逻辑,介绍人工智能中的逻辑系统,包括命题逻辑、谓词逻辑和其他形式的逻辑等。建议2学时。

第 6 章知识表示,介绍人工智能中的知识表示方法,包含图、产生式系统、框架、脚本、语义网络、关联及概念图,并介绍智能体的概念。建议4学时。

第 7 章产生式系统,介绍人工智能中的产生式系统及冲突消解、前向链接、后向链接等推理方法。建议2学时。

第三部分 基于知识的系统,介绍基于知识的人工智能系统,包括知识的不确定性表示和推理、专家系统与知识工程、传统的机器学习和深度学习方法,以及受大自然界启发的搜索方法。建议15学时

第 8 章人工智能中的不确定性,介绍人工智能的不确定性知识的表示和推理,包括模糊逻辑、模糊推理和概率论等。建议2学时。

第 9章专家系统,介绍专家系统及历史上多个著名的专家系统案例。建议4学时。

第10章机器学习第一部分:神经网络,介绍机器学习的基本概念、决策树及其不同变种、神经网络的基本概念和训练方法等。建议4学时。

第11章机器学习第二部分:深度学习,介绍基本的深度学习模型,包括卷积神经网络、循环神经网络、递归神经网络、长短期记忆网络等。建议4学时。

第12章受大自然启发的搜索,介绍一些受大自然启发的搜索算法,包括模拟退火、遗传算法及规划、禁忌搜索等。建议1学时。

第四部分 高级专题,介绍人工智能的一些高级专题,包括自然语言理解、自动规划等。建议9学时

第13章自然语言理解,介绍自然语言处理(NLP),包括NLP的历史及流派、句法分析、统计方法、数据集合、信息提取、问答和语音理解等。建议6学时。

第14章自动规划,介绍自动规划,包括规划的基本概念、方法及一些有代表性的规划系统。建议3学时。

第五部分 现在和未来,介绍人工智能现在和未来发展的一些方向和技术,包括机器人、高级计算机博弈等。建议6学时

第 15 章机器人技术,介绍机器人技术的历史、技术及应用。建议1学时。

第 16 章高级计算机博弈,介绍一些更高级的计算机博弈技术,包括跳棋、国际象棋和其他一些博弈游戏。建议4学时。

第17章AI大事记,对本书内容进行回顾和总结,介绍IBM沃森智能问答系统,并对未来的人工智能进行展望。建议1学时。

第六部分 安全和编程(选读),主要介绍网络安全问题和人工智能编程工具。建议3学时

第18章网络安全中的人工智能,介绍网络安全的基本概念,包括不同协议、安全策略、入侵检测、可信系统等。建议1学时。

第 19 章人工智能编程工具,介绍三种用于人工智能的编程语言,包括Prolog、Python和MATLAB。建议2学时。

资源与支持

资源获取

本书提供如下资源:

本书附录;

教学指导及教学大纲;

教学PPT;

练习题解决方案;

参考试题;

示例源代码;

本书图片;

本书思维导图;

异步社区7天VIP会员。

要获得以上资源,您可以扫描下方二维码,根据指引领取。

提交勘误信息

作者、译者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区(https://www.epubit.com),按书名搜索,进入本书页面,单击“发表勘误”,输入勘误信息,单击“提交勘误”按钮即可(见下图)。本书的作者、译者和编辑会对您提交的勘误信息进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

与我们联系

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们。

如果您所在的学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

异步社区”(www.epubit.com)是由人民邮电出版社创办的IT专业图书社区,于2015年8月上线运营,致力于优质内容的出版和分享,为读者提供高品质的学习内容,为作译者提供专业的出版服务,实现作者与读者在线交流互动,以及传统出版与数字出版的融合发展。

异步图书”是异步社区策划出版的精品IT图书的品牌,依托于人民邮电出版社在计算机图书领域30余年的发展与积淀。异步图书面向IT行业以及各行业使用IT的用户。

第一部分 引言

本部分只包含第1章,它为后续各章奠定了基础。第1章首先介绍了人工智能的历史及其背后的最初动机,这个动机源自1956年的达特茅斯会议(Dartmouth Conference)。

思维和智能的概念引发了人们对图灵测试的讨论,以及围绕着图灵测试的各种争论和批评,这为区分强人工智能(Strong AI)和弱人工智能(Weak AI)埋下了伏笔。本章介绍了人工智能的不同学科和方法,如搜索、神经计算、模糊逻辑、自动推理和知识表示等等。这种讨论逐渐过渡到对人工智能的历史的概述,并过渡到最近的发展领域、问题以及我们对所面临的问题的思考。

第1章 人工智能概述

早期的人类必须通过轮子、火之类的工具和武器与自然做斗争。15世纪,约翰内斯·谷登堡[1]发明的印刷机使人们的生活发生了广泛的变化。19世纪,工业革命利用自然资源开发能源,这促进了制造、交通和通信的发展。20世纪,人类通过对天空以及太空的探索,通过计算机的发明及其微型化所诞生的个人计算机、互联网、万维网和智能手机,持续不断地取得进步。过去的60年已经见证了一个世界的诞生,这个世界拥有海量的必须转换为知识的数据、事实和信息(其中一个例子是包含在人类基因编码中的数据,如图1.0所示)。本章将介绍人工智能(Artificial Intelligence,AI)这门学科的基本概念,并阐述其成功应用的领域和方法、近期的历史和未来的前景。

[1] 约翰内斯·谷登堡(Johannes Gutenberg,1397—1468),德国人,欧洲地区第一位发明活字印刷术的人,他的发明引发了一场媒介革命,并被广泛认为是现代史上最为重要的事件之一。——译者注

艾伦·图灵(Alan Turing)

图1.0 包含在人类基因编码中的数据

1.0 引言

对人工智能的理解因人而异。一些人认为,人工智能等同于任何由非生命系统实现的智能。他们坚持认为,即使这类智能行为的实现与人类智能的依赖机制不同也无关紧要。而另一些人则认为,人工智能系统必须能够模仿人类智能。当然,没有人会反对这样一个前提,即研究人工智能或实现人工智能系统,首先应理解人类如何获得智能行为,这对我们大有裨益。也就是说,我们必须从智力、科学、心理和技术意义上理解被视为智能的活动。例如,如果我们想要开发一个能够像人类一样行走的机器人,那么首先必须从上述每个角度来了解行走的过程。然而,人们并不通过不断陈述和遵循一套预先设定的用于解释行走的形式化规则来完成运动。事实上,人类专家越被要求解释他们为何在学科或事业中获得如此成就,他们就越可能失败。例如,当人们要求某些战斗机飞行员解释他们的飞行能力时,他们的表现实际上会变差[1]。专家的表现并不来自于不断地、有意识地分析,而是来自于大脑的潜意识层面。你能想象高峰时段在高速公路上开车时,你会有意识地权衡控制车辆的每个决策吗?

想象一下力学教授和独轮脚踏车手的故事[2]。当力学教授试图骑独轮车并将其成功驾驭独轮车归功于有人要求他应用的力学原理时,那么他注定要失败。同样,如果独轮脚踏车手试图学习这些力学知识,并在他展现车技时应用这些知识,那么他注定也要失败,也许还会发生悲剧性的事故。许多学科的技能和专业知识是在人类的潜意识中发展和存储的,而不是通过对记忆或第一性原理[2]的显式要求而变得可用。

[2] 第一性原理(first principle),哲学与逻辑名词,它是一个最基本的命题或假设,不能被省略或删除,也不能被违反。第一性原理相当于数学中的公理,最早由亚里士多德提出。——译者注

1.0.1 人工智能的定义

人工智能中的“人工”一词是英文单词“artificial”的中文翻译结果。而在日常用语中,“artificial”一词的意思是合成的(即人造的),这通常具有负面含义,即“人造物体只是真实物体的次要形式”。然而,人造物体通常优于真实或自然物体。例如,人造花是用丝和线制成的类似花蕾或花簇的物体,不需要以阳光或水分作为养料,却可以为家庭或企业提供实用的装饰功能。虽然人造花给人的手感及香味可能不如天然的花朵,但它们看起来和真实的花朵如出一辙。

另一个例子是由蜡烛、煤油灯或电灯泡产生的人造光。显然,只有当太阳出现在天空时,阳光才会出现,但我们可以很容易地获得人造光。就这一点来讲,人造光优于自然光。

最后,考虑一下人工交通工具(如汽车、火车、飞机和自行车),它们与跑步、步行和其他自然形式的交通(如骑马)相比,在速度和耐久性方面有很多优势。当然,人工形式的交通也有一些显著的缺点——高速公路在地球上无处不在,整个大气环境中充满了汽车尾气,人们内心的宁静(以及睡眠)常常被飞机的轰鸣声打断等等[3]

和人造光、人造花、交通工具一样,人工智能不是自然的,而是人造的。要确定人工智能的优缺点,就必须首先理解和定义智能。

1.0.2 思维与智能

智能(intelligence)的定义可能比人工的定义更加让人难以捉摸。R.斯腾伯格(R. Sternberg)在一篇有关人类意识的文章中给出了如下有用的定义:

智能是个体从经验中学习、正确推理、记忆重要信息,以及应对日常生活需求的认知能力[4]

我们都很熟悉标准化测试(standardized test,也称标准化考试或标准化测验)的问题。比如,给定如下数列:1,3,6,10,15,21。要求给出下一个数字是什么。

有人也许会注意到,上述连续数字之间的差值的间隔均为1。例如,从1到3差值为2,从3到6差值为3,以此类推,可以得到问题的正确答案是28。这个问题的设计目的在于衡量你在模式识别中对显著性特征的熟练程度。我们可以通过从经验中学习来发现模式。

不妨用下面的数列来试试运气:

a.1, 2, 2, 3, 3, 3, 4, 4, 4, 4, …

b.2, 3, 3, 5, 5, 5, 7, 7, 7, 7, …

既然上面已经给出了智能的一个定义,那么接下来大家可能会有以下疑问:

(1)如何判定某个人或物是否有智能?

(2)动物是否有智能?

(3)如果动物有智能,那么如何评估它们的智能?

大多数人可以很容易地回答第一个问题。我们可以通过与其他人交流(如发表意见或提出问题)来观察他们的反应,每天多次重复这一过程,以此评估他们的智能。虽然我们没有直接进入他们的大脑,但是相信通过问答这种间接的方式,就可以为我们提供内部大脑活动的准确评估。

当然,如果坚持使用问答的方式来评估智能,那么如何评估动物的智能呢?如果你养过宠物,那么你可能已经有了答案。小狗似乎记得隔了一两个月没见的人,并且可以在迷路后自行回家。小猫在晚餐时间听到开罐头的声音时常常表现得很兴奋。这只是简单的巴甫洛夫条件反射的问题,还是小猫有意识地将开罐头的声音与晚餐的快乐联系了起来?

关于动物智能,还有一则有趣的轶事:在1900年前后,德国柏林有一匹人称“聪明的汉斯”(Clever Hans)的马,据说这匹马精通数学(见图1.1)。

图1.1 “聪明的汉斯”(Clever Hans)—— 
一匹能做运算的马?

当汉斯做加法或计算平方根时,观众们都惊呆了。后来,人们观察到,如果没有观众,汉斯的表现就不会那么出色。事实上,汉斯的天赋在于它能够识别人类的情绪,而非精通数学。马一般具有敏锐的听觉,当汉斯接近正确的答案时,观众们都变得相对兴奋,心跳加速。也许,汉斯有一种出奇的能力,它能够感受到观众的这些变化,从而获得正确的答案[5]。虽然大家可能不愿意把汉斯的这种行为归于智能,但在得出结论之前,应该参考一下R.斯腾伯格早期对智能的定义。

有些生物只在群体中才表现出智能。例如,蚂蚁是一种简单的昆虫,它们的孤立行为很难归类到人工智能的主题中。但是,蚁群对复杂的问题展现出了非凡的解决能力,比如从蚁巢到食物源之间找到一条最佳路径、携带重物以及搭建桥梁等。集体智慧(Collective Intelligence,也称集体智能)源于个体昆虫之间的有效沟通。第12章在对高级搜索方法进行讨论时,将更多地探讨涌现智能(Emergent Intelligence)和群体智能(Swarm Intelligence)。

脑的质量大小以及脑与身体的质量比通常被视为动物智能的指标。海豚在这两个指标上都与人类相当。海豚的呼吸是自主控制的,这除了说明其脑的质量过大之外,还说明一个有趣的事实,即海豚的两个半脑交替休眠。在动物自我意识测试(如镜子测试)中,海豚得到了很高的分数,它们可以意识到镜子中的图像实际上是它们自己的像。海洋世界等公园的游客还可以看到,海豚可以玩十分复杂的戏法。这说明海豚具有记住序列和执行复杂身体运动的能力。工具的使用是智能的另一个“试金石”,并且这常常用于将直立人与更早的人类祖先区别开来。海豚与人类都具备这个能力。例如,在觅食时,海豚使用深海海绵(一种多细胞动物)来保护它们的嘴。显而易见,智能不是人类独有的特性。在某种程度上,许多生命也都具有智能。到这里,大家应该问一下自己:“有生命是拥有智能的必要先决条件吗?”或者“无生命物体,如计算机,可能拥有智能吗?”人工智能宣称的目标是创建可以与人类思维媲美的计算机软件和/或硬件系统,换句话说,即表现出与人类智能相关的特性。于是,这里引出一个关键的问题,“机器能思考吗?”这个问题的更一般形式是,“人类、动物或机器拥有智能吗?”

此时此刻,强调思维和智能的区别是十分明智的。思维是推理、分析、评估、形成思想和概念的工具。并不是所有能够思维的物体都有智能。智能也许就是高效以及有效的思维。许多人对这个问题怀有偏见,他们说:“计算机是由硅和电源组成的,因此不能思考。”或者走向另一个极端:“计算机运行起来比人快很多,因此比人更智能。”真相很可能介于上述两个极端之间。

正如我们所讨论的,不同的动物物种具有不同程度的智能。我们将详细介绍人工智能社区开发出的软件和硬件系统,它们也具有不同程度的智能。我们对评价动物的智能以发展出标准化的动物智商测试不太关注,但是对确定机器智能是否存在的测试非常感兴趣。

也许拉斐尔(Raphael)[6]的说法最贴切:“人工智能是一门科学,这门科学让机器做人类需要智能才能完成的事。”

1.1 图灵测试

“如何确定智能?”以及“动物有智能吗?”这两个问题已经得到了解决。而第二个问题的答案不一定是简单的“有”或“没有”,因为一些人比另一些人聪明,一些动物也会比另一些动物聪明。机器智能存在同样的问题。

艾伦·图灵(Alan Turing)寻求可操作的方式来回答智能的问题,他想把功能(functionality,即智能能做的事情)与实现(implementation,即如何实现智能)分离开来。

补充资料

抽象

抽象(abstraction)是一种忽略对象或概念的实现(例如内部的运行情况)的策略,这样就可以获得更清晰的对象及其与外部世界关系的描述。换句话说,可以将对象当作一个黑盒(black box),只关注对象的输入和输出(见图1.2)。

图1.2 黑盒的输入和输出

抽象通常是一种有用且必要的工具。例如,如果想学习开车,把车当作一个黑盒可能是一个好主意。不必一开始就努力学习自动变速器和动力传动系统,而应该把注意力集中在系统的输入(如油门踏板、刹车、转向信号灯)和输出(如前进、停车、左转和右转)上。

数据结构的课程也使用了抽象,因此如果想了解堆栈的行为,则可以专注于基本的堆栈操作,比如pop(出栈)和push(压栈),而不必陷入如何构造一个表结构的细节(例如,使用线性链表还是循环链表,使用链接存储还是连续分配空间)中。

1.1.1 图灵测试的定义

艾伦·图灵[7]提出了两个模拟游戏(imitation game)。在模拟游戏中,一个人或实体会表现得仿佛是另一个人或实体。在图灵提出的第一个模拟游戏中,有一个中央装有隔帘的房间,帘子的两侧各有一人,其中一侧的人称为询问者,他必须确定另一侧的人是男还是女。询问者(其性别无关紧要)通过询问一系列的问题来完成这个任务。该游戏假定男性可能会在回答中撒谎,而女性则总是诚实的。为了使询问者无法从语音中确定被询问者的性别,要求其通过计算机而不是说话的方式同被询问者进行交流,如图1.3所示。如果帘子的另一侧是男人,并且他成功地欺骗了询问者,那么这个男人就赢了。图灵测试的原始形式是,一个男人和一个女人坐在帘子的后面,询问者必须同时正确地识别出两人的性别(可能受到那个时代流行游戏的启发,图灵发明了这个测试,这个测试成为他的机器智能测试背后的推动力)。

埃里希·弗罗姆(Erich Fromm)写道[8]:男女平等,但不一定表现都一样。例如,不同性别的人对于颜色和花朵的了解可能不同,花在购物上的时间也不同。

那么,区分男女与智能问题又有什么关系呢?图灵认为,可能存在不同类型的思考方式,了解并容忍这些差异是非常重要的。图1.4给出了图灵测试(Turing test)的第二个版本,即第二个模拟游戏。

图1.3 第一个模拟游戏

图1.4 第二个模拟游戏

第二个模拟游戏更适合人工智能的研究。在该游戏中,询问者仍然在有帘子的房间里。但这一次,帘子的后面可能是一台计算机或一个人。这里的机器扮演男性的角色,偶尔会撒谎,但人一直是诚实的。询问者提问,然后对返回的回答进行评估,以确定与其交流的到底是人还是机器。如果计算机成功地欺骗了询问者,那么它就通过了图灵测试,因此也就被认为是有智能的。

众所周知,在执行算术运算时,机器比人快很多倍。如果帘子后面的“人”可以在几微秒内得到三角函数的泰勒级数近似的结果,那么就可以不费吹灰之力辨别出帘子后面的是计算机而不是人。自然地,在任意的图灵测试中,计算机能够成功欺骗询问者的机会微乎其微。为了得到有效的反映智能的指标,这个测试要执行许多次。同样,在原始版本的图灵测试中,人和计算机都在帘子后面,询问者必须同时正确地辨别它们。

补充资料

图灵测试

到目前为止,还没有计算机系统被正式认可通过了图灵测试。然而在1990年,慈善家Hugh Gene Loebner举办了一项旨在实现图灵测试的比赛。第一台通过图灵测试的计算机将被授予金牌以及100 000美元的Loebner奖。同时,每年在这项比赛中表现最好的计算机将被授予铜牌以及大约2000美元的奖金。

在图灵测试中,如果你是询问者的话,你会提出什么问题?考虑下面的例子。

1 000 017的平方根是多少?像这样的计算型问题可能并不好。记住,计算机也会试图欺骗询问者。对于这类问题,计算机可能不会在一微秒内做出响应并给出正确答案,它可能会有意地花费更长的时间,也许还会犯点错误,因为它“知道”人类并不擅长这些计算。

当前的天气怎样?假设计算机不可能看到窗外,因此询问者可能会试着问一下天气。但是,计算机通常连着万维网,因此在回答之前,它可能已经连接到了天气网站。

你害怕死亡吗?因为计算机难以伪装人的情绪,所以询问者可能会提出这个或其他类似的问题:“黑暗给你的感觉如何?”或者“坠入爱河的感觉如何?”但是请记住,现在的目标是试图判定智能,而人类的情绪也许不是反映智能的有效指标。

图灵早在他的最初论文中就预料到会有许多人反对他提出的“机器智能”的想法[7]。其中一个就是所谓的“鸵鸟式”异议(指有点自欺欺人)。有人相信思维能力使人成为天地万物的主宰,而承认计算机能够思考,可能挑战了这个仅由人类享有的崇高地位。图灵认为对于存有这种顾虑的人要更多地安慰,而不是反驳。图灵预期的另一类反对的声音来自神学。许多人认为,正是人的灵魂让人们可以思考,如果我们创造出拥有这种能力的机器,那么将会篡夺“上帝”的权威。图灵反驳了这个观点,他提出我们只是准备等待灵魂注入的容器以执行“上帝”的旨意而已。最后,我们提一下洛夫莱斯伯爵夫人(Lady Lovelace)的反对意见(她通常在文献中被称为第一位计算机程序员)。在评论分析引擎时,她认为“单单这台机器不可能给我们带来惊喜”。她重申了许多人的信念:一台计算机不能执行任何未预编程的行为。图灵反驳说,机器一直都让他很惊喜。他坚持认为,这种反对意见的支持者信奉的是,人类的头脑可以瞬间推断出给定事实或行动的所有后果。感兴趣的读者可以参考图灵的最初论文[7],该论文收集了上述异议以及其他的反对意见。1.1.2节将介绍一些值得注意的有关图灵测试的批评意见。

1.1.2 图灵测试的争议和批评

布洛克对图灵测试的批评

内德·布洛克(Ned Block)认为,英语文本是以ASCII编码的,换句话说,英语文本在计算机中是由一系列的0和1表示的[9]。因此,一个特定的图灵测试,也就是一系列的问题和回答,可以存储为一个非常大的数。例如,假设图灵测试的长度有一个上限,在图灵测试中,将“Are you afraid of dying?”(你害怕死亡吗?)中开始的前三个字符作为二进制数存储,如图1.5所示。

假设典型的图灵测试持续一小时,在此期间,测试者大约会提出50个问题,得到50个回答,那么对应于图灵测试的二进制数应该非常长。现在,假设有一个很大的数据库,其中存储了所有的图灵测试,这些图灵测试包含50个或更少的已有合理回答的问题。然后,计算机可以用查表的方法来通过图灵测试。当然我们必须承认,一个能够处理这么大量数据的计算机目前还不存在。但是,如果存在这样的计算机通过了图灵测试,布洛克问:“你会觉得这样的机器有智能吗?”换句话说,布洛克的批评意见是,可以用机械的查表方法而不是智能来通过图灵测试。

塞尔的批评:中文房间问题

约翰·塞尔(John Searle)对图灵测试的批评更为根本[10]。想象一下,询问者仍然像人们预期的那样询问问题,只不过这次用的是中文。而另一个房间里的那个人不懂中文,但是拥有一本详细的中文规则手册。虽然这本手册里的中文问题以潦草的笔迹呈现,但是房间里的人会参考其中的规则,根据规则来处理中文字符,并使用中文写出回答,如图1.6所示。

图1.5 使用ASCII代码存储图灵测试的开始字符

图1.6 中文房间问题

如果询问者获得语法上正确、语义上合理的问题的回答,那么这意味着房间里的人懂中文吗?如果回答是“不懂”,那么房间里的人有了中文规则手册就算懂中文吗?答案依然是“不懂”——房间里的人并不是在学习或理解中文,而仅仅是在处理符号而已。同样,运行程序的计算机只需要接收、处理以及使用符号来回答问题,而不必学习或理解符号本身的真正含义。

除了上述单人加规则手册这种场景之外,塞尔还假想出很多人在一个体育馆里相互传递便条的场景。当某个人接到这样的一张便条时,规则手册将确定这个人应该生成一个输出,还是仅仅将信息传递给体育馆里的另一个人。该场景如图1.7所示。

在这个场景中,中文的知识到底存在于何处?存在于这群人之中,还是存在于体育馆中?

考虑最后一个例子。想象一个真正通晓中文的人的大脑,如图1.8所示。这个人可以接收用中文提出的问题,并准确地用中文进行解释和回答。

图1.7 中文房间问题的一个变体

图1.8 中文说话者用中文接收和回答问题

同样,中文的知识存在于何处?存在于单个神经元中,还是存在于这些神经元的集合中?但无论如何,它们必须存在于某处!

布洛克和塞尔对图灵测试进行批评的关键点在于,图灵测试仅从外部观察,不能洞察某个实体的内部状态。也就是说,我们不应该指望通过将拥有智能的对象(人或机器)视为黑盒来学习到一些关于智能的新东西。但是,这种想法并不总是正确的。在19世纪,物理学家欧内斯特·卢瑟福(Ernest Rutherford)通过用α粒子轰击金箔,正确地推断出物质的内部状态——主要由空白空间组成。卢瑟福预测,这些高能粒子要么穿过金箔,要么稍微偏转。这个结果与他的原子轨道理论一致:原子由轨道电子和它们包围着的一个致密核组成。这就是现在的原子模型,我们许多人在高中学习化学时对此非常熟悉。卢瑟福通过外部观察就成功地了解了原子的内部状态。

总而言之,定义智能很难。正是由于定义智能以及判定某个对象是否拥有这一特性很困难,因此图灵开发了图灵测试。在论文中,他含蓄地指出,任何能够通过图灵测试的智能体必然拥有“脑能力”来应对任何合理的、在普遍认可的意义上相当于人类水平的智力挑战[11]

人物轶事

艾伦·图灵(Alan Turing)

 艾伦·图灵(1912—1954)是一位英国数学家,也是计算机科学史上的杰出人物。学习过人工智能、计算机科学和密码学课程的学生应该熟悉他所做出的贡献。他对人工智能的贡献在于著名的为测试人工智能开发的图灵测试。他试图解决人工智能中有争议的问题,如“计算机是否有智能?”,由此提出了这一测试方法。在理论计算机科学中,有一门课程就是研究图灵机的计算模型。图灵机是一个捕捉计算本质的数学模型,它的设计旨在回答如下问题:“函数可计算意味着什么?”[12]让人钦佩的是,早在第一台数字计算机出现的七八年前,图灵就在本质上讨论了使用算法来解决特定问题的概念。

大家可能已经看过有关第二次世界大战期间英国之战的电影。1940—1944年间,德国飞机在英国丢下了近20万吨炸弹。在伦敦郊外的布莱奇利公园,图灵带领一队数学家执行着一项密码破译任务,破译的目标是被人称为“恩尼格玛密码” (Enigma Code)的德军密码。他们最终用恩尼格玛密码机破解了这一德军密码。该设备破译了发送到德军船只和飞机的所有军事命令。图灵小组的成功对盟军的胜利可能发挥了十分关键的作用。

艾伦·图灵和人工智能

图灵被认为是存储程序概念(stored program concept)的发明者,这一概念是所有现代计算机的基础。早在1935年之前,图灵就已经描述了一台具有无限存储空间的抽象计算机器——它具有一个读取头(扫描器),会在存储空间中来回移动,同时读取和写入同样存储于存储空间中的程序所规定的符号。这一概念被称为通用图灵机(Universal Turing Machine)。

图灵很早就对神经系统可以通过组织促进大脑功能提出了自己的见解。Craig Webster在其文章中阐释了图灵的论文“Computing Machinery and Intelligence”(“计算机器与智能”,这篇论文最终于1950年发表在Mind上),他将图灵B型网络作为无组织的机器做了介绍,这个B型网络在人类婴儿的大脑皮层中可以发现。这种有远见的观察会让我们想起基于智能体来看世界这一视角,读者将在第6章中阅读到这部分内容。

图灵论述了两种类型的无组织机器,它们被称为类型A机器和类型B机器。类型A机器由与非门(NAND gate)组成,其中每个节点都有两个状态,分别用0和1表示。每个节点有两个输入,输出则可以有任意个。每个A型网络都以特定的方式与另外3个A型节点相交,产生组成B型节点的二进制脉冲。图灵已经认识到训练的可能性以及自我刺激反馈循环的需要(见第11章中的相关内容)。图灵还认为需要用“遗传搜索”来训练B型网络,这样就可以发现令人满意的值(或模式)。这是对本书将在第12章中解释的遗传算法的深刻理解。

在布莱奇利公园,图灵经常与唐纳德·米基(Donald Michie,图灵的同事和追随者)讨论机器如何从经验中学习和解决新问题的概念。后来,这被称为基于启发式方法的问题求解(见第3章、第6章和第9章)和机器学习(见第10章和第11章)。

图灵很早就对用国际象棋游戏作为人工智能测试平台的问题求解方法有了深刻的认识。虽然那个时代的计算机器还不足以开发出强大的国际象棋程序,但是图灵意识到了国际象棋程序面临的挑战(具有10120 种可能的合法棋局)。前面曾提到,图灵发表于1950年的论文“计算机器与智能”为此后所有的国际象棋程序奠定了基础,人们在20世纪90年代发展出了可以与世界冠军竞争的大师级机器(见第16章)。

参考资料

Turing A M. Computing Machinery and Intelligence[J]. Mind, New Series, 59(236): 433-460, 1959.

Webster C. Unorganized Machines and the Brain—Description of Turing’s Ideas.

Hodges A. Alan Turing: The Enigma. London: Vintage, Random House(这本书是于2014年在美国上映的获奖电影《模仿游戏》的原著)。

1.2 强人工智能与弱人工智能

多年来,人工智能的研究发展出两种截然不同但又普遍存在的学派。一个学派与麻省理工学院(MIT)相关,它将任何表现出智能行为的系统都视为人工智能的范例。这个学派认为,人造物是否使用与人类相同的方式执行任务无关紧要,唯一的标准就是程序能够正确执行。在电子工程、机器人及相关领域,人工智能项目主要关注的是得到令人满意的执行结果。这种方法被称为弱人工智能(Weak AI)。

另一学派以卡内基·梅隆大学(CMU)研究人工智能的方法为代表,他们主要关注生物可行性。也就是说,当人造物展现出智能行为时,它的表现应该基于与人类相同的方法。例如,考虑一个具有听觉的系统。弱人工智能的支持者仅仅关注系统的表现,而强人工智能(Strong AI)的支持者的目标在于,通过模拟人类听觉系统,使用相当于人类耳蜗、耳道、鼓膜和耳朵其他部分的部件(每个部件都可以在系统中执行其所需执行的任务)来成功地获得听觉。弱人工智能的支持者仅仅基于系统的表现来衡量系统是否成功,而强人工智能的支持者关注他们所构建系统的结构。有关这种区别的进一步讨论参见第16章。

弱人工智能的支持者认为,人工智能研究的存在理由是解决困难问题,而不必理会实际解决问题的方式。然而,强人工智能的支持者则坚持认为,完全依靠人工智能程序的启发式方法、算法和知识,计算机就可以获得意识和智能。好莱坞属于后者的阵营,一些电影,如《机械公敌》(IRobot)、《人工智能》(AI)和《银翼杀手》(Blade Runner),马上就会在我们的脑海中出现。

1.3 启发式方法

人工智能应用经常依赖于启发式方法的应用。启发式方法是解决问题的经验法则。换句话说,启发式方法是一组常常用于解决问题的指导法则。这里将启发式方法与算法做个比较,算法是预先设定的用于解决问题的一组规则,其输出是完全可预测的。毫无疑问,读者熟悉计算机程序中使用的许多算法,如排序算法(包括冒泡排序和快速排序)以及搜索算法(包括顺序查找和二分查找)。而使用启发式方法,则可以但不能保证得到一个不错的结果。在人工智能研究的早期,包括20世纪50年代和60年代,启发式方法大受欢迎。

在日常生活中,大家可能会采用启发式方法。例如,许多人在开车时很讨厌问路,然而在夜间离开高速公路后,有时很难驶回主路。一种已被证明有效的策略是,每当碰到道路岔口时,就朝着有更多路灯的方向前进。大家可能会用自己最喜欢的方法来找回丢失的隐形眼镜,或在拥挤的购物中心找到停车位,这两个都是运用启发式方法的例子。

1.3.1 长方体的对角线:解决一个相对简单但相关的问题

关于启发式方法的一部优秀文献是乔治·波利亚(George Polya)的经典著作《How to Solve It》[13]。他所描述的启发式方法是,当面对一个困难的问题时,首先尝试解决一个相对更简单但与原始问题相关的问题。这通常会为原始问题的求解提供有用的思路。

例如,长方体对角线的长度是多少?对于那些最近没有修完立体几何课程的人而言,也许会发现这是一个很困难的问题。按照波利亚的启发式方法,应首先解决一个相对简单但相关的问题,这时大家可能会想到计算矩形的对角线,如图1.9所示。

使用勾股定理,可以计算出矩形的对角线d = Sqrt (h2 + w2)。有了上述认识之后,就可以重新回到原来的问题,如图1.10所示。

现在,可以观察到长方体的对角线长度等于:

对角线 = Sqrt (d2 + depth2) = Sqrt (h2 + l2 + depth2)

图1.9 找到矩形的对角线

图1.10 找到长方体的对角线

从上面的例子可以看出,解决相对简单的问题(计算矩形的对角线)有助于解决相对困难的问题(计算长方体的对角线)。

1.3.2 水壶问题:反向倒推

波利亚的第二个例子是水壶问题(Water Jug Problem)。假设现有容量分别为mn的两个水壶,要求通过这两个水壶量出体积为r的水,其中mnr各不相等。参考图1.11,当只有两个容量分别为8L和18L的水壶时,如何从水龙头处或水井里准确量出12L的水?

图1.11 水壶问题
(a)初始状态(b)最终状态

一种问题求解方法是不断试错,希望能得到最好的结果。然而,波利亚给出的建议却是使用从目标状态开始并反向倒推的启发式方法,如图1.12所示。

在图1.12(a)中,我们观察到18L的水壶已经倒满,而在8L的水壶里,却只有2L的水。这个状态离目标状态只有一步之遥。此时,只需要从大壶将6L的水倒入8L的水壶中,大壶中就刚好剩余12L的水。图 1.12(b)~图 1.12(d)则描述了到达图 1.12(a)所示的倒数第二个状态的必要步骤。这时应该将注意力转移到图1.12(d),寻找出回到图1.12(b)所示状态的方法,这样就可以看到图1.12(a)对应状态之前的所有状态。

图1.12 从目标状态开始反向倒推

上面展示了如何利用倒推法解决用容量分别为18L和8L的两个水壶量出12L水的水壶问题,图1.12(a)~图1.12(d)则给出了如何从期望的目标状态回到初始状态这一过程。当然,要实际解决这个问题,就需要颠倒上面所有状态的顺序。也就是说,首先倒满18L的水壶(状态d),然后将18L水壶中的水分两次倒入8L的水壶并及时清空,这样18L的水壶中就只剩下2L的水(状态c)。将最后的2L水倒入8L的水壶中(状态b),使用水龙头或井里的水将18L的水壶再次倒满,然后将18L水壶中的水再次倒满8L的水壶,这就使得18L的水被倒掉6L,剩下12L的水则在大壶中(状态a)。

如前所述,启发式方法在人工智能的早期研究中特别流行(20世纪50年代至60年代)。在这一时期,一个里程碑式的研究项目是通用问题求解器(General Problem Solver,GPS)[14]。GPS使用人类的问题求解方法解决问题。研究人员让问题求解人员在解决各种问题时说出问题的解决方法,然后收集解决问题所必需的启发式方法。

1.4 识别适用人工智能来求解的问题

随着我们对人工智能了解的深入,以及理解人工智能与传统的计算机科学如何截然不同,我们必须回答这样一个问题:什么样的问题适合用人工智能来解决?大部分人工智能问题有3个主要的特征。

(1)人工智能问题往往是大型的问题。

(2)它们在计算上非常复杂,并且不能通过简单直接的算法来解决。

(3)人工智能问题及其领域倾向于收录大量的人类专门知识,特别是在用强人工智能方法解决问题的情况下,更是如此。强人工智能方法指的是拥有大量领域知识并能够解释其推理过程的系统。

采用人工智能的方法,某些类型的问题得到了更好的解决;而另一些类型的问题则适合用传统计算机科学的方法来解决,这些方法涉及简单决策或精确计算。考虑下面的几个例子:

医疗诊断;

使用带条码扫描功能收银机的购物场景;

自动柜员机;

二人博弈游戏,比如象棋和跳棋。

多年来,医疗诊断这个科学领域一直在采用人工智能的方法,并对来自于人工智能的贡献,特别是利用专家系统(expert system)的发展乐见其成。专家系统通常会内置于领域,其中包含大量人类专家的知识以及大量的规则[这些规则的形式为“IF(条件),THEN动作”。例如,如果你头痛,那么可以服用两片阿司匹林,并在早晨给我打电话]。这些规则比任何人类大脑能够记忆或希望记忆的规则都多。专家系统算得上最为成功的人工智能技术之一,它可以生成全面而有效的结果。

有人可能会问:“为什么对专家系统而言,医疗诊断是个好的候选领域?”首先,医疗诊断是一个复杂的过程,有许多可能有效的方法。诊断包括基于患者的症状和病史以及前期病例,确定患者的疾病或治疗问题。在大多数情况下,不存在可以识别潜在疾病或病症的确定性算法。例如,MYCIN是最著名的基于规则的专家系统(见1.7.2节),用于帮助诊断血液细菌感染。MYCIN主要用作培训学生的工具,其规则超过400条[15]。MYCIN并不提供确定的诊断结果,而是提供最可能存在的疾病的概率,以及诊断正确的程度。人们将开发这些规则的过程称为知识工程(knowledge engineering)。知识工程师会与领域专家见面,在这个例子中,领域专家是指医生或者其他专业医疗人士,知识工程师在与领域专家的密集访谈过程中收集专家知识,使其变成离散规则的形式。专家系统的另一个特征是,它们有时得到的结论甚至让设计它们的领域专家也会大吃一惊。这是由于专家规则可能的排列数量比任何人在他们大脑中记住的都多。适用于构建专家系统的候选领域具有以下特征。

包含大量领域相关的知识(可以是有关特定问题领域的知识,如医疗诊断;也可以是人类努力开拓领域的相关知识,如确保核电站安全操作的控制机制)。

允许领域知识分层。

可以发展成为存储了若干专家知识的知识库。

因此,专家系统不仅仅是构建该系统的专家的知识的总和。第 9 章将专门介绍和讨论专家系统。在超市购物时,通过扫描条形码将产品扫描到收银机,这一行为通常不被视为属于人工智能领域。然而,想象一下杂货店的购物体验发展到与智能机器交互的阶段。机器可能会提醒顾客要购买什么产品:“你不需要一盒洗衣粉吗?”(因为机器已经知道顾客从某一天开始还没购买过这些产品)。系统还可以提示顾客购买一些与已购食物很相配的食物。这个系统可以作为平衡营养饮食的食物顾问,并且可以针对个人的年龄、体重、疾病和营养目标进行调整。由于包含了关于饮食、营养、健康和各种产品的诸多知识,因此它就是一种智能系统。此外,它还可以做出智能决策,并以建议的方式提供给顾客。

人类在过去30年里使用的自动柜员机(ATM)并不是人工智能系统。但是,假定这台机器可以作为一名财务总顾问来使用,它追踪了一个人的支出,以及所购买物品的类别和频率。这台机器可以用于说明一个人在娱乐、必需品购置、旅游和其他类型消费上的支出,并且可以提供建议来更合理地改变消费模式(比如,“你真的需要花那么多钱在高档餐馆吗?”)。如果是这样的话,我们就认为这里所描述的自动柜员机是一种智能系统。

智能系统的另一个例子是下国际象棋。虽然国际象棋的规则很容易学习,但是想要下国际象棋达到专家级别并非易事。关于国际象棋的图书比所有其他游戏的图书的总和还多。人们普遍接受的是,国际象棋有1042种可能合理的棋局(“合理”棋局的数目与之前给出的 “可能”棋局的数目10120不同)。

这是一个非常大的数字,即使动用全世界最快的计算机一起来解决国际象棋游戏(即开发一个程序来下完美的国际象棋,这个完美程序的每步棋子移动总是最优的),这些计算机也无法在50年内完成这盘棋局。具有讽刺意味的是,尽管国际象棋是一个零和博弈(zero-sum game,意味着双方一开始都没有优势),并且是一个具有完美信息(perfect information)的二人博弈游戏(既不涉及概率,也不存在对任何一方有利的未知因素),但其依然存在以下问题。

完美博弈的结果如何?白方胜,黑方胜,还是双方打平?大部分人认为这会是一个平局。

对于白方而言,最好的第一步是什么?大多数人相信是1.e4或1.d4,这是国际象棋中的概念,指的是将白方国王前面的兵向前移动两个方格(1.e4),或将白方皇后前面的兵向前移动两个方格(1.d4)。统计数据支持这种观点,但是没有确凿的证据证明这种观点是正确的。

任何强大的国际象棋程序(大师级水平以上)的编写目前都基于一个假设,即大师级水平的国际象棋程序需要并展示出智能。

2007年7月,跳棋游戏获得一个较弱的解决方案,相关讨论参见16.1.5节。

在过去的几十年间,所开发的计算机国际象棋程序,可以击败包括顶尖棋手在内的所有棋手。但是,没有一款计算机程序是官方认可的世界国际象棋冠军。到目前为止,所有人机比赛都相对较短,并且计算机程序利用了人的弱点(人会疲劳、焦虑等)。在人工智能领域,许多人强烈认为,程序还没有比所有人都下得好。此外,尽管最近国际象棋程序获得成功,但是这些程序不一定使用了“强人工智能的方法”。

一个真正智能的计算机国际象棋程序不仅会以世界冠军级的水准下棋,还能够解释行棋背后的推理过程。这需要大量关于国际象棋的知识(特定领域知识),并且要求程序能够将其作为决策过程的一部分,共享和呈现这些知识。

1.5 应用和方法

一个系统要展示智能,就必须与现实世界交互。为了做到这一点,它必须有一个可以用来表示外部现实世界的形式化框架(如逻辑)。与世界交互也蕴含一定程度的不确定性。例如,造成患者发烧可能有细菌感染、病毒攻击或一些内脏器官发炎等几种可能的因素,医疗诊断系统必然要极力应对这些因素。

无论是医疗状况还是汽车事故,识别事件的原因通常需要大量的知识。从症状到最终原因的推理也涉及合理的推理规则。因此,在设计专家系统和自动推理系统方面,人工智能研究者们付出了相当大的努力。

在下棋中表现出的实力,通常被视为智力的标志。人工智能研究的第一个50年见证了人们为设计更好的跳棋和国际象棋程序而付出的努力。下棋的专家知识往往取决于一些搜索算法,这些搜索算法可以预见到某个落子对后续棋局产生的长期后果。因此,有很多研究都聚焦于高效搜索算法的发现和发展。

大家可能听说过这样一个笑话:“我如何去卡内基音乐厅?”回答是“练习,练习,练习”[3]。这个笑话体现的关键点是,学习是任何可行人工智能系统的一个必要组成部分。人们已经证明,基于动物神经系统(神经计算)和人类进化(进化计算)的人工智能方法是非常有价值的学习范式。

[3] 这个笑话的一个版本是,有人在去纽约的卡内基音乐厅看演出时迷路,问到一位路人,这位路人给出的回答是“练习,练习,练习”。原来这位路人是一位音乐家。这是一个故意答非所问而又一语双关的笑话。——译者注

构建智能系统是一项艰巨的任务。一些研究人员致力于让系统在几条简单规则的控制下,从一些“种子”中“涌现”或“成长”。细胞自动机(CA)就是这样的一个理论系统,它可以展示如何从简单的规则生成复杂的模式。细胞自动机给我们带来了希望,也许有一天,我们真有能力创造出人类级别的人工智能系统。下面列出了上述人工智能研究领域的一些应用。

搜索算法和拼图问题。

二人博弈[4]

[4] 英文单词game在博弈论中常常被翻译成“博弈”,本书根据上下文环境将其分别翻译成“博弈”“游戏”或“博弈游戏”。——译者注

自动推理。

产生式系统和专家系统。

细胞自动机。

神经计算。

遗传算法。

知识表示。

不确定性推理。

下面分别介绍这些应用。当然,这里的介绍仅仅是概述,后续章节将会对这些应用进行更完整的阐述。

1.5.1 搜索算法和拼图问题

下面将15拼图(15-puzzle)及相关的搜索拼图(如8拼图3拼图)问题作为搜索算法、问题求解技术和启发式方法的应用示例。在15拼图问题中,数字1~15被写在小塑料方块中,这些小塑料方块则被排列放置在更大的塑料方块中。其中一个位置留空,以便小塑料方块可以从4个方向滑入这个空位,如图1.13所示。

你可以注意到,方块3可以自由向下移动,而方块12可以自由向右移动。这种拼图问题的较小实例更便于处理,包括8拼图和3拼图问题。例如,考虑一下图1.14所示的3拼图问题,处理就变得简单起来。显然,在这些拼图中,我们很自然地会去考虑那些可以滑动的带编号方块,但是考虑那个空白方块的移动更便于进行处理。

图1.13 使用15拼图

图1.14 使用3拼图

空白方块可以沿下列4个方向之一移动:

上(↑);

下(↓);

右(→);

左(←)。

当试图依次移动空白方块时,我们应该遵循上述优先顺序。在 3 拼图中,任何时刻最多只有两种可能的移动方式。

为解决拼图问题,我们需要定义初始状态和目标状态,就像在水壶问题中所做的那样。首先,初始状态可以是任意的。其次,目标状态也可以是任意的。这些方块通常是按照数字大小顺序排列的,如图1.15所示。

这个拼图问题的目的是从初始状态(start state)通过移动到达目标状态(goal state)。在有些情况下,人们希望得到移动次数最少的解决方案。对应于给定问题的所有可能状态的结构被称为状态空间图(state-space graph)。状态空间图可以被认为是问题的论域(universe of discourse),因为其描述了拼图可能的每一种配置。状态空间图包括了该问题所有可能的状态,这些状态由节点表示,并用弧表示状态之间的所有合法转换(即拼图中的合法移动)。空间树(space tree)通常是状态空间图的真子集,它的根节点是初始状态,它的一个或多个叶子节点是目标状态。

一种可用于遍历状态空间图的搜索方法名为盲目搜索(blind search)。这种方法假设对问题的搜索空间一无所知。我们在数据结构和算法的课程中经常探讨两种经典的盲目搜索算法:深度优先搜索(Depth First Search,DFS)和广度优先搜索(Breadth First Search,BFS)。在深度优先搜索中,要尽可能地深入搜索树。也就是说,当有一个移动需要选择时,通常(但不一直)向左子树移动。而在使用广度优先搜索时,首先访问所有靠近根节点的节点,通常从左向右移动,逐级搜索。

如图1.16所示,树的DFS遍历将会按照ABDECFG的顺序访问节点。同时,树的BFS遍历将按照ABDECFG的顺序访问节点。第2章将应用这两种搜索算法来解决3拼图问题。

图1.15 解决3拼图问题所用的状态
(a)初始状态 (b)目标状态

图1.16 对比某状态空间图的DFS遍历和BFS遍历

组合爆炸(combinatorial explosion)是人工智能领域的一个被反复研究的问题。这意味着拼图的可能状态数目过大而使得上述方法不太实用。在求解一个大小合理的问题时,由于其搜索空间增长太快,以至于盲目搜索方法无法成功(不管未来计算机的计算速度有多快,这依然会是事实)。例如,15拼图的状态空间图可能包含超过16!(2.09228×1013)种状态。由于组合爆炸问题的存在,人工智能问题的成功更多地取决于启发式方法的成功应用,而不是设计更快的计算机。

有一类启发式搜索算法会向前观察状态空间图。每当出现两条或更多条备选路径时,这些算法就会选择最接近目标的一条或多条路径。精明的读者当然会问:“在到达目标的移动序列无法事先知道的情况下,这些算法如何能够知道沿着任何一条能感知的路径到达目标状态的距离?”答案是,它们不可能知道。但是,这些算法可以使用启发式方法来估计到达目标状态的剩余距离。

在这种“向前看”的搜索方法中,其中3种是爬山法(hill climbing)、集束搜索(beam search)和最佳优先搜索(best first search)。我们将在第3章中深入探讨这些搜索方法。

还有一类启发式搜索算法通过连续地测量它们到根的距离来向目标前进。这种“向后看”的搜索方法被称为分支定界(branch-and-bound)法,又称分支定界算法或分支定界搜索算法。这些搜索方法也将在第3章中讨论。例如,A *算法就是一种众所周知的分支定界法,它用估计的总路径成本来确定寻找答案的顺序。

然而,A *算法也会同时“向前看”,我们将在后续章节中加以讨论。

1.5.2 二人博弈

二人博弈包括Nim取物游戏[5]、井字游戏和国际象棋等。它们与拼图游戏有一个本质的区别:在玩二人博弈时,不能只专注于自己目标的达成,还必须保持警惕,监视和阻止对手的行进。在人工智能研究的前半个世纪,这些对抗性游戏一直是研究的主流。这些游戏会遵循一些包含许多现实世界场景属性的规则,尽管这些场景做了简化处理。

[5] 这个游戏涉及几堆石头,两个玩家交替地从其中一堆石头里移除一些石头。在这个游戏的一个版本中,移除最后一块石头的人算输。

虽然博弈常常具有现实世界场景的属性,但是其不会在真实世界中产生后果,因此是良好的人工智能方法的测试平台。

在二人博弈问题中,有一个名为迭代的囚徒困境(Iterated Prisoner’s Dilemma)的游戏,这个游戏充满了紧张气氛。警察逮捕了两个犯罪嫌疑人,马上将他们带到不同的牢房,并向每个嫌疑人承诺,如果他供出同伙,就可以缩短刑期,否则就可能被判处更长的刑期。在这种情况下,每个嫌疑人应该怎么做?自然地,如果嫌疑人打算在这个事件后“改邪归正”,那么供出同伙无疑是最好的选择。

然而,如果嫌疑人打算继续犯罪,那么供出同伙将会带来沉重的代价。如果他再次被捕,那么其同伙就会记得他的背叛行为,从而对他进行报复。计算机博弈是第4章和第16章的重点。

1.5.3 自动推理

自动推理(automated reasoning)系统中,我们将一系列事实输送给软件进行处理。演绎推理(deduction)是推理的一种,在推理过程中,给定的信息用于派生出新的、希望有用的事实。假设有一道如下的智力题:有两个人分别是迈克尔(Michael)和路易斯(Louis),他们各有一份工作,这两份工作分别是邮局职员(post office clerk)和法语教授(French professor)。其中,迈克尔只说英语,而路易斯拥有法语博士学位。那么,这两人的工作分别是什么?

首先,为了在自动推理程序中表示这些信息,就必须使用合适的表示语言。比如,如下语句就可以用于表示上述问题:

Works_As (clerk, Michael) | Works_As( clerk, Louis)

这样的逻辑语句被称为子句。第一个竖杠可解释为“或”(or)。这个语句的意思是:要么Michael是职员,要么Louis是职员。

即使将这个题目翻译成适合输入程序的语句,也仍然没有足够的信息来解决它。这是因为软件缺少常识(common sense)或世界知识(world knowledge)。比如,如果拥有一辆汽车,则意味着拥有它的方向盘,这就是常识。再比如,根据世界知识可以推理出,当温度为0℃或更低时,降水将以雪的形式存在。在上面这道智力题中,常识告诉我们,法语教授必须能说法语。但是,大家可以考虑一下,除非给推理程序提供了这样的知识,否则它又怎么会知道这一点呢?

试想一下,我们可能还会使用其他的附加知识来解决上述问题,比如Michael只说英语这一事实,就使得他不可能是法语教授。虽然不需要任何帮助就可以轻松解决上述问题,但是当问题相对较大且更加复杂难懂时,使用自动推理程序来协助解决问题将会大有裨益。

1.5.4 产生式规则和专家系统

在人工智能中,产生式规则(production rule)是一种知识表示的方法,它的一般形式如下:

IF(条件),THEN动作

或者

IF(条件),THEN事实

人物轶事

约翰·麦卡锡(John McCarthy)

 约翰·麦卡锡(1927—2011)在1956年的达特茅斯会议上创造了“人工智能”这个词,如果不对故去的他致以敬意,则任何一本人工智能教科书都不是完整的。

麦卡锡教授曾在麻省理工学院、达特茅斯学院、普林斯顿大学和斯坦福大学工作过。他职业生涯的大部分时间在斯坦福大学度过,是斯坦福大学的荣誉退休教授。

对于LISP编程语言的发明,他功不可没。多年来,特别是在美国,LISP已经成为开发人工智能程序的标准语言。麦卡锡极具数学天分,他在1948年获得加州理工学院数学学士学位。1951 年,他在所罗门·莱夫谢茨(Solomon Lefschetz)的指导下,获得普林斯顿大学数学博士学位。

麦卡锡教授兴趣广泛,其贡献涵盖人工智能的许多领域。例如,他在多个领域都有学术论文或者著作,包括逻辑与自然语言处理、计算机国际象棋、认知、反设事实、常识等,他还站在人工智能立场提出了一些哲学问题。

作为人工智能的奠基人或者说“人工智能之父”,麦卡锡经常在他的论文[如“Some Expert Systems Need Common Sense”(1984)和“Free Will Even for Robots”]中发表观点,指出人工智能系统需要什么才能真正实用有效。

由于对人工智能做出了巨大贡献,麦卡锡于1971年获得图灵奖。他所获得的其他奖项包括在数学、统计和计算科学方面的美国国家科学奖,在计算机和认知科学方面的本杰明·富兰克林奖等等。

下面给出了一些常见示例。

IF(头痛),THEN服用两片阿司匹林,并在早上打电话给我。

IF((A> B)并且(B> C)),THEN A> C

产生式系统的一个应用领域是专家系统的设计,我们在1.4节中已经做过介绍。专家系统是一个软件,该软件拥有某个有限问题领域的详尽知识。用于汽车诊断的专家系统的某处可能包含了以下规则:

IF(汽车不启动),THEN检查车头灯;

IF(车头灯工作),THEN检查油量表;

IF(油箱空),THEN向油箱中添加汽油;

IF(车头灯不工作),THEN检查电池。

只要提供了一套广泛的产生式规则,即使对机械不太敏锐的人,也可以正确诊断出车辆故障。20世纪70年代初,人们开发出了最初的专家系统(MYCIN、DENDRAL和PROSPECTOR),该领域直到20世纪80年代后期才逐渐成熟。本书将在第6章、第7章和第9章中探讨产生式系统和专家系统的架构。

1.5.5 细胞自动机

胞自动机(Cellular Automata,CA)可以视为n维空间中细胞的集合。每个细胞都可以处于少量几个状态中的任何一种状态,其中典型的状态数目为2。例如,一个细胞可以为黑色或白色。系统中每个细胞的邻域都有若干相邻细胞。CA还可以使用如下两个额外的性质进行表征。

(1)物理拓扑,指CA的形状,如矩形或六边形。

(2)更新规则,根据细胞当前状态及其邻域内若干细胞的状态决定该细胞的下一个状态。细胞自动机是同步系统,这个系统会在固定的时间间隔进行更新。

图1.17显示了具有矩形拓扑的CA。通常假定在每个维度上,CA是无界的。每个细胞可以处于两种状态中的一种,分别表示为“0”和“1”。

有时候,我们将状态为1的细胞称为“活细胞”,而将状态为0的细胞称为“死细胞”。活细胞通常有阴影(见图1.18),死细胞通常不出现阴影。在许多例子中,一个细胞通常有8个邻居细胞,它们分别位于与这个细胞直接相连的上方、下方、左侧、右侧以及对角线的上方和下方。如图1.18所示,中央细胞的邻居细胞用阴影表示。

细胞自动机的不凡之处在于:通过应用几个简单的规则,就可以创建出非常复杂的模式。

     图1.17 一维CA的一部分

图1.18 二维矩形细胞自动机中的邻域
(a)诺伊曼邻域 (b)摩尔邻域

1.5.6 神经计算

在人工智能的探索过程中,研究人员经常基于地球上最佳智能范例的架构来设计系统。经网络(neural network)试图捕捉人类神经系统的并行分布式结构。神经计算(neural computing)的早期工作开始于20世纪40年代麦卡洛克(McCulloch)和皮茨(Pitts)所做的研究[17]。这种系统的基本构件是人工神经元,而人工神经元又可以通过阈值逻辑单元(Threshold Logic Unit,TLU)进行建模,如图1.19所示。

图1.19 阈值逻辑单元

在图1.19所示的例子中,假设人工神经元的输入X1X2都是二值变量。这些输入经过实值权重W1W2进行加权求和,而TLU的最终输出也假定为0或1。当输入向量和权重向量的内积(又称点积)大于或等于某个阈值(该阈值也是一个实数)时,TLU的输出为1,否则为0。

两个向量的内积可表示为,具体则等于这两个向量对应分量的乘积之和。

例如,图1.20所示的TLU实现了基于双输入的布尔与(AND)函数。

只有当两个输入都等于1时,这两个输入与两个权重的加权求和值才大于或等于阈值。

如图1.21所示,当两个输入都等于1时,输入向量与权重向量的内积才大于或等于1.5。那么,这些权重是怎么得到的呢?详见第 11 章,它们是迭代学习算法(iterative learning algorithm)[也就是感知器学习规则(perceptron learning rule)]的结果。基于这个规则,只要系统输出的结果不正确,权重就会发生变化。这种算法是迭代进行的,也就是说,输入每通过系统一次,系统的输出结果就会朝着所需的权重方向收敛。一旦系统只产生正确的输出结果,学习的过程就得以完成。

补充资料

生命游戏

 英国数学家约翰·霍顿·康威(John Horton Conway)于1970年设计了“生命游戏”(Game of Life)。从它的规则出现在Scientific American(《科学美国人》)中马丁·加德纳(Martin Gardner)的“数学游戏”栏目中的那一刻起,它就变得十分有名[16]。本书将在第7章中与细胞自动机一同详细描述“生命游戏”,并探讨它们与人工智能的关系。

的内积大于或等于阈值T时,TLU的输出应该等于1;否则,TLU的输出应该等于0。假定的内积正好等于阈值T,这时对于权重W1W2,假设都用1代入,然后使用一些代数知识,就可以得到X2 = —X1+1.5。这是一条直线的方程,其斜率为—1,并且在X2所在坐标轴上的截距为1.5。这条直线被称为判别式(discriminant),如图1.21所示,旨在将产生输出0的输入[(0, 0), (0,1), (1,0)]与产生输出1的输入(1,1)区分开来。

图1.20 模拟与(AND)函数的TLU

图1.21 模拟双输入与(AND)函数的TLU的判别式

自然而然地,具备实用价值的模式识别任务需要多个阈值单元。由几百个甚至数千个上述简单TLU组成的神经网络可用于执行有实用价值的数据处理任务,如读取手写文本,或基于最近的历史活动预测股票的未来价格。第11章将描述适合这些更复杂网络的学习规则(learning rule)。人们相信大脑就是由大量如此简单的处理元件组成的互联网络。

1.5.7 遗传算法

作为试图模拟人类神经系统的软件系统,神经网络为人工智能研究提供了多姿多彩的舞台。另一个前途无量的范式是达尔文的进化论。在自然界中,自然选择以几千年或数百万年的速度发生。而在计算机内部,进化(或迭代过程,通过应用小增量变化来改进问题的拟解决方案)的速度则有点快。这可以与动植物世界中的进化过程进行对比和对照——在动植物世界中,物种通过自然选择、繁殖、突变和重组等遗传操作来适应环境。遗传算法(Genetic Algorithm,GA)是来自一个名为进化计算(evolutionary computation)的一般领域的具体方法。进化计算是人工智能的一个分支。在进化计算中,问题的拟解决方案可以适应环境,就像在真实世界中动物适应环境一样。在GA中,问题被编码为串。回想一下,在3拼图问题中,空白方块的一系列移动可以被编码成0和1组成的序列。GA开始于随机选择的大量二进制串。然后,系统对这些串系统性地应用遗传算子,并且使用适应度函数(fitness function)来收集相对更优的串。在3拼图问题中,适应度函数将给那些让拼图状态更接近目标状态的移动序列串赋予更高的值。回到图1.14所示的3拼图问题。我们用00表示(空白方块的)向上移动,用01表示向下移动,用10表示向右移动,最后用11表示向左移动。接下来参考图1.15所示的拼图示例,每个长度为8的二进制串都可以解释为拼图中的4步移动。这里比较一下11100010和00110110这两个串,为什么后一个串可以分配到更高的值呢?第12章将给出遗传算法更详细的例子。

1.5.8 知识表示

只要提到人工智能问题,就不能不提表示问题。为了处理知识、产生智能结果,人工智能系统需要获取和存储知识,从而也就需要能够识别和表示知识。选择何种表示方法与解决、理解问题的内在本质紧密相关。正如波利亚[13]所点评的那样,选择一种好的表示方法与为特定问题设计算法或解决方案一样重要。良好而自然的表示方法有利于快速得到可理解的解决方案,而差的表示方法则可能导致问题重重。例如,考虑一下那个大家都熟悉的传教士与野人问题(Missionaries and Cannibals Problem)。这个问题的目标是,用一条小船将三个传教士和三个野人从一条河的西岸运到这条河的东岸。在从西岸到东岸运送过程中的任何时刻,通过选择合适的表示,可以很快地发现和理解解决方案的路径。约束条件也可以被高效地表示出来,例如在任何时刻,小船只能容纳两个人,并且任一河岸的野人人数都不能超过同岸的传教士人数。解决上述问题的一种表示方法是用W:3M3CB(三个传教士和三个野人与小船在河的西岸)表示初始状态。目标状态是E:3M3CB。用小船传送一个传教士和一个野人可以表示为E:1M1CB。小船正在离开可以表示为W:2M2C ~~~~~~~~ E:1M1CB。该问题的另一种表示方法是通过绘画,用简笔人物画表示传教士和野人,当每一次运送过程发生时,用草图表示每个岸边的小船。

自从AI诞生以来,人工智能研究者就用逻辑(logic)来进行知识表示和问题求解,这开始于纽厄尔(Newell)和西蒙(Simon)的逻辑理论家(Logic Theorist)程序[18]以及基于拉塞尔(Russell)和怀特黑德(Whitehead)的Principia Mathematica开发[19]的通用问题求解(GPS)系统[14]。逻辑理论家程序和GPS系统使用逻辑规则来进行问题求解。使用逻辑进行知识表示和语言理解的一个开创性的例子是威诺格拉德(Winograd)的积木世界(Blocks World)(1972)[20]。在这个积木世界中,一条机器人手臂与桌面上的积木进行交互。这个程序包括了语言理解、场景分析以及人工智能其他方面的问题。许多人工智能研究者基于逻辑的方法开启他们的研究,其中包括尼尔斯·尼尔森(Nils Nilsson)(Principles of Artificial Intelligence[21]、杰娜西雷斯(Genesereth)和尼尔森(Nilsson)[22]、艾伦·邦迪(Alan Bundy)(The Computer Modeling of Mathematical Reasoning[23]等等。

回顾1.5.4节,许多成功的专家系统是用产生式规则和产生式系统构建的。产生式规则和专家系统的吸引力在于可以非常清晰、简明地表示启发式方法的可行性。数千种已经构建好的专家系统都结合了上述做法。

然而,作为知识表示的可替代方案之一,基于图的方法在感官上更有吸引力,包括视觉感、空间感和运动感。最早的基于图的方法可能是状态空间表示法,这种方法给出了系统所有可能的状态(回想一下1.5.1节中对15拼图的讨论)。语义网络(semantic network)是另一种基于图的知识表示方法,尽管它很复杂。关于语义网络,我们可以追溯到奎利恩(Quillian)所做的工作[24]

语义网络是面向对象编程语言的前身。面向对象使用了继承(其中来自某个特定类的对象继承了超类的许多属性)的思想。有关语义网络的许多工作都集中于关注语言知识和结构的表示,例如斯图尔特·夏皮罗(Stuart Shapiro)的SNePS[25](语义网络处理系统)和罗杰·尚克(Roger Schank)在自然语言处理方面所做的工作[26]

人工智能研究的奠基人和思想家马文·明斯基(Marvin Minsky)[27]引入了框架(frame),这是另一种主要的基于图的知识表示方法。框架可以系统性、层次化且十分简洁地描述对象。一般来说,它们通常通过表格(表格可以与类似的二维平面进行关联)中的槽和槽填充值(slot and filler)进行组织,或用三维方式对某些概念(三维方式应用了现实世界中结构的典型本质)进行表示。它们也采用了继承的思想,以方便复用、可预测并以不同的形式定义现实世界中的对象,比如包括建筑物、教师、行政人员和学生这些元素在内的大学。虽然这些元素的细节因大学而异,但是框架可以很容易地捕捉到这种多样性。

在第6章中,我们将通过例子对框架进行详细介绍。

(script)[28]是对框架的扩展,它进一步利用了人类交互中固有的预期能力。通过一系列工作,尚克(Schank)和阿贝尔松(Abelson)已经能够构建许多系统,这些系统看起来能够理解良好设定下的描述。索瓦(Sowa)[29]、诺瓦克(Novak)和高文(Gowin)[30]概念图(conceptual graph)是一种简化但具有普适性的启发式技术,常常用于表示学科中的知识。

主流计算机科学“吸收”了许多人工智能领域早期的研究贡献。这样的例子有很多,例如,推动面向对象范式发展的编程语言Smalltalk、层次化方法和框架等等。

1985年,马文·明斯基出版了Society of Mind(《心智社会》)[31],提出了一套理论来解释人类心智的组织。他认为整个智能世界可以通过智能体来运行。这些智能体本身没有智能,但它们可以通过精妙的方式组合形成一个可以展示出智能行为的社会。通过智能体模型,明斯基给出了一些概念,如多层次结构、尺度(scale)、学习、记忆、感知相似性、情绪和框架等等。

1.5.9 不确定性推理

传统数学通常处理确定性问题。集合A要么是集合B的子集,要么不是。而人工智能系统则与生活本身类似,也会受到不确定性(uncertainty)的困扰。概率是我们日常生活中不可避免的一部分。例如,当你早上乘公交或地铁上班时,如果坐在你旁边的乘客咳嗽或打喷嚏,那么你有可能感冒,当然也可能不会。考虑一下这样的两个集合:对工作满意的人的集合和对工作不满意的人的集合。有些人可能同时属于上述两个集合,这是非常正常的。一些人可能喜欢他们的工作,但同时又觉得薪酬太低。这时可以考虑将对工作满意的人的集合视为模糊集[32],因为它会随着条件的变化而变化。通常而言,一个人可以对工作本身满意,但同时对薪酬不太满意。也就是说,一个人可以在一定程度上对工作感到满意。对于这个集合,某个具体成员的隶属度可以从1.0(一些人完全热爱工作)一直变化到0.0。当然,隶属度为0.0的人应该认真考虑一下是否需要转行。

许多领域都存在模糊集:相机根据太阳光量改变快门速度,洗衣机根据衣物的脏污程度来控制洗涤周期,恒温器通过确保温度实际上落在可接受的范围内而不是通过精确的值来调节室温,汽车根据天气情况调节制动压力。在这些设备上,都可以找到模糊逻辑控制器。第8章将更全面地讨论不确定性在人工智能中所扮演的角色。

1.6 人工智能的早期历史

一直以来,构建智能机器就是人类的梦想。为此,古埃及人走了一条“捷径”——他们建造了雕像,让牧师藏在其中,看上去是雕像,实际上却是这些牧师为民众提供“明智的建议”。遗憾的是,这种类型的骗局在整个人工智能的历史中都曾经出现过。这个领域在试图成为公认的科学学科——人工知识界(artificial intelligentsia)的同时,也因此类骗局的出现而备受玷污。

最强大的人工智能基础来自于亚里士多德(公元前350年)建立的逻辑前提论。亚里士多德建立了科学思维和严密思考的模式,这成了当今科学方法的标准。他对物质和形式的区分是当今计算机科学中最重要的概念­——数据抽象的先驱性工作。数据抽象旨在将方法(形式)与封装方法的壳体(shell)区别开来,或将概念的形式与其实际的表示区分开来(回顾1.1节中的补充资料部分对抽象所做的讨论)。

亚里士多德也强调了人类推理的能力,他坚持认为,正是这种能力将人类与所有其他生物区分开来。建立人工智能机器的任何尝试都需要这种推理能力。这就是19世纪英国逻辑学家乔治·布尔(George Boole)的工作如此重要的原因——他所建立的表达逻辑关系的系统后来被称为布尔代数。

13世纪的西班牙隐士和学者雷蒙德·卢尔(Raymond Llull)可能是第一个尝试将人类思维过程机械化的人。他的工作早于布尔 5 个多世纪。卢尔是一名虔诚的基督徒,为了证明基督教的教义是真的,他建立了一套基于逻辑的系统。

在《伟大的艺术》(Ars Magna)一书中,卢尔用几何图和原始逻辑装置来实现这个目标。卢尔的著作启发了后来的先驱者,其中就包括威廉·莱布尼茨(Wilhelm Leibniz)(1646—1716)。莱布尼茨凭借自身的努力成为伟大的数学家和哲学家,他将卢尔的想法推进了一步。他认为可以建立一种“逻辑演算”或“通用代数”,从而解决所有的逻辑论证,并推理出几乎任何东西。他还认为,所有的推理只是字符的连接和替换运算,无论这些字符是字、符号还是图片。

人物轶事

乔治·布尔(Georage Boole)

 对于一段能够显示任何类型的智能的计算机程序来说,必须事先决定它能够进行推理。英国数学家乔冶·布尔(1815—1864)建立了一套表示人类逻辑法则的数学框架。他的著作包括约50篇个人论文,其主要成就在于著名的发表于1859年的“差分方程论”。随后于1860年,他发表了“有限差分运算论”,后一篇著作是前一篇著作的续篇。布尔在《思维的规律》(Laws of Thought)一书中给出了符号推理的一般性方法,这或许是他最大的成就。给定具有任意项的逻辑命题,布尔用纯粹的符号处理这些前提,展示如何进行合理的逻辑推断。

在《思维的规律》一书的第二部分,布尔试图发明一种通用的方法,旨在通过对事件系统的先验概率进行转换,来确定任何与给定事件有逻辑关联的其他事件的后验概率。

布尔建立的代数语言(或符号)允许变量基于仅仅两个状态(真和假)进行交互(或建立关系)。他建立了目前为人熟知的布尔代数,其中包含and、or和not三个逻辑运算符。布尔代数和逻辑规则的组合使得自动证明成为可能。因此,能够做到这一点的机器在某种意义上是能够推理的[33]

一个布尔逻辑的例子如下所示:

IF AB and BC,THEN AC

这就是传递性定律——IF A蕴含B and B蕴含C,THEN A蕴含C。

两个多世纪后,库尔特·戈德尔(Kurt Gödel,1931)[34]证明了莱布尼茨的目标过度乐观。戈德尔证明了任何一个自完备的数学分支,只使用本数学分支的规则和公理,就总是有一些命题不能被证明为真或假。伟大的法国哲学家雷内·笛卡儿(Rene Descartes)[35]Meditations一书中,通过认知内省解决了物理现实的问题。他通过思想的现实来证明自己的存在,最终提出了著名的“Cogito ergo sum”——“我思故我在”。就这样,笛卡儿和追随他的哲学家建立了独立的心灵世界和物质世界。最终,这促使了当代身心在本质上是相同的这一观点的提出。

逻辑学家与逻辑机器

世界上第一台真正的逻辑机器是由英国第三代斯坦诺普伯爵查尔斯·斯坦诺普(Charles Stanhope,1753—1816)建造的。众所周知,斯坦诺普演示器(Stanhope Demonstrator)大约在1775年建成,它是由两片透明玻璃制成的彩色幻灯片,一片为红色,另一片为灰色,用户可以将幻灯片推入盒子侧面的插槽,如图1.22所示。

图1.22 斯坦诺普演示器

借助操作演示器,用户可以验证简单演绎论证的有效性,这个简单的演绎论证涉及两个假设和一个结论[33]。尽管这台机器有其局限性,但斯坦诺普演示器是机械化思维过程的第一步。1800年,斯坦诺普刊印了一本书的前几章,并在其中解释了自己的机器,但是直到他逝世(1879年)后60年,罗伯特·哈莱牧师(Reverend Robert Harley)才发表了关于斯坦诺普演示器的第一篇文章。

最著名的也是第一台原型的现代计算机,是查尔斯·巴贝奇(Charles Babbage)的差分机。巴贝奇是一位非常有才华的多产发明家,他建造了第一台通用的可编程计算机,但是没有获得足够的资金(仅有来自英国财政大臣的1500英镑)来完成该项目。巴贝奇用自己的资源继续资助该项目,直到再被资助3000英镑。然而,他的计划变得更加野心勃勃(例如,计算到20位小数而不是原来的6位小数),由于资金供应停止,他未能完成这个差分机。

巴贝奇也从没实现他建造分析机(分析机是差分机的下一代产品)的计划,如图 1.23所示。他想让分析机执行不同的任务,这些任务需要人类的思维,如博弈的技能,这些技能与跳棋、井字游戏和国际象棋等类似。巴贝奇与他的合作者洛夫莱斯伯爵夫人一起,设想分析机既可以使用抽象的概念,也可以使用数字进行推理。人们认为洛夫莱斯伯爵夫人是世界上的第一位程序员。她是拜伦勋爵(Lord Byron)的女儿,并且编程语言Ada就是以她的名字来命名的[33]

图1.23 巴贝奇的分析机

巴贝奇的思想至少比编写第一个国际象棋程序的时间早100年,他肯定意识到了建立一台机械下棋设备在逻辑和计算方面的复杂程度。

我们先前介绍过,乔治·布尔的工作对人工智能的基础以及逻辑定律的数学形式化非常重要——逻辑定律的数学形式化提供了计算机科学的基础。布尔代数为逻辑电路的设计提供了大量的信息。布尔建立系统的目标,与现代人工智能的研究者非常接近。他在An Investigation of Logic and Probabilities一书中指出:“人们运用思维进行推理,是为了研究思维运行的基本定律;同时,为了使用演算的符号语言来表示这些基本定律,在这个基础上,建立逻辑科学,构建其方法;最终,在探究过程中,从这些进入人类视野真理中那些不同的元素,收集一些关注人类思想的组成和本质的可能暗示[38]。”

布尔系统非常简单和形式化,它发挥了逻辑的全部作用,是其后所有系统的基础。

补充资料

《人月神话》

巴贝奇试图资助差分机的故事是一个长篇传奇故事的序章,这个长篇故事是弗雷德里克·布鲁克斯(Frederick Brooks)的标志性著作《人月神话》[37]的基础。给项目增加更多的软件工程师并不能保证最终结果的连贯性。在开始实际实现之前,最好把更多的时间用于规划。

时至今日,人工智能领域的质疑声不断,人们更多地认为人工智能的进步是基于炒作,而不是实质上的进步。

克劳德·香农(Claude Shannon,1916—2001)是公认的“信息学之父”。他关于符号逻辑在继电器电路上的应用[39]的开创性论文,是以他在麻省理工学院的硕士论文为基础完成的。他的开创性工作对电话和计算机的运行都很重要。香农有关计算机学习和博弈的研究,在人工智能领域也做出了贡献。关于计算机国际象棋程序,他所写的突破性论文对这个领域影响深远,并延续至今[40]

Nimotron建造于1938年,是第一台可以发挥完整游戏技能的机器。它由爱德华·康登(Edward Condon)、杰拉德·特沃尼(Gerald Twoney)和威拉德·德尔(Willard Derr)设计,并且申请了专利,可以进行Nim取物游戏。他们开发了一个算法,在棋局的任何一步,都可以得到最好的下一步移动(有关Nim取物游戏和其他游戏的详细讨论,见第4章)。这是机器人技术的前奏(见第15章)。

在发展思维机器的过程中,最著名的尝试是“The Turk”,它是由维也纳王室的力学顾问Baron von Kempelen于1790年开发的。这台机器在欧洲巡回展览多年,欺骗了很多人,使他们认为自己正在与机器博弈。事实上,盒子里隐藏着一位大师级的人类棋手。

托雷斯·克韦多(Torresy Quevedo)(1852—1936)是一位多产的西班牙发明家,可能是他建立了第一个专家系统。为了进行KRK(King and Rook vs. King)残局游戏,他创建了第一个基于规则的系统。规则是以这3枚棋子的相对棋局位置为基础的,如图1.24所示。

图1.24 托雷斯·克韦多的机器

康拉德·楚泽(Konrad Zuse)(1910—1995)是德国人,他发明了第一台使用电的数字计算机。楚泽独立工作,最初致力于纯数字运算。楚泽认识到工程和数学逻辑之间的联系,并且明白了布尔代数中的计算与数学中的命题演算是等价的。他开发了一个系统,对应于继电器条件命题的布尔代数。由于在人工智能中,许多工作都基于能够处理条件命题(即IF-THEN命题)而开展,因此我们可以看到楚泽所做工作的重要性。他在逻辑电路方面的工作比香农的论文早了几年。楚泽认识到需要一种高效和庞大的存储器,并基于真空管和机电存储器改进了计算机,他将这些计算机命名为Z1、Z2和Z3。人们普遍认可Z3(1941年5月12日)是世界上第一台基于浮点数的、可靠的、可自由编程的计算机。这台机器在第二次世界大战中被炸毁了,但是它的仿制品目前展示在慕尼黑的德意志博物馆。

1.7 人工智能的近期历史到现在

自第二次世界大战及计算机问世以来,通过让计算机不断挑战并掌握复杂广泛的棋类游戏,计算机科学取得了巨大的进步,编程技术也日臻成熟。一些人机博弈的例子,包括国际象棋、跳棋、围棋和奥赛罗等游戏,均受益于对人工智能的深度理解及其方法的应用。

1.7.1 计算机博弈

计算机博弈激起了人们对人工智能的兴趣,促进了人工智能的发展。1959年,亚瑟·塞缪尔(Arthur Samuel)在西洋跳棋博弈方面的著作是早期的一个亮点[41]。他的程序基于50个启发式策略组成的策略表,与自身的多个不同版本进行博弈。在一系列比赛中失败的程序将采用获胜程序的启发式策略。这一程序虽然下西洋跳棋很厉害,却从未达到精通的地步。第16章将详细讨论塞缪尔对西洋跳棋博弈程序做出的贡献。

几个世纪以来,人们一直试图让机器下出厉害的国际象棋。人类对国际象棋机器的迷恋可能源于一个普遍接受的观点,即只有足够聪明,才能下好国际象棋。1959年,纽厄尔(Newell)、西蒙(Simon)和肖恩(Shawn)开发了第一个真正的国际象棋博弈程序,这个程序遵循香农-图灵(Shannon-Turing)模式[40,42]。理查德· 格林布拉特(Richard Greenblatt)编写了第一个俱乐部级别的国际象棋博弈程序。

20世纪70年代,计算机国际象棋程序的水平稳步提高,到了70年代末,已达到专家级别(相当于国际象棋锦标赛棋手的前1%)。1983年,肯尼思·莱恩·汤普森(Ken Thompson)的Belle是第一个正式达到大师级水平的程序。随后,来自卡内基·梅隆大学的Hitech也获得了成功[44];同时,作为第一个特级大师级(超过2400分)程序,Hitech也成了一个重要的里程碑。不久之后,程序Deep Thought(也来自卡内基·梅隆大学)也被开发出来,并且成了第一个能够稳定击败国际特级大师(Grandmasters)的程序[45]。20世纪90年代,当IBM接手这个项目时,Deep Thought进化成了“深蓝”(Deep Blue)。在1996年的费城,世界冠军加里·卡斯帕罗夫(Garry Kasparov)“拯救了人类”,在6场比赛中,他以4 : 2击败了深蓝。然而1997年,在对抗“深蓝”的后继者Deeper Blue的比赛中,卡斯帕罗夫却以2.5 : 3.5败北,当时的国际象棋界为之震动。在随后的6场比赛中,在对抗卡斯帕罗夫、克拉姆尼克(Kramnik)和其他世界冠军级别棋手的过程中,程序表现得也很出色,但这些不是世界冠军比赛。虽然人们普遍认同这些程序可能依然略逊于最好的人类棋手,但是大多数人也不得不承认,顶级国际象棋程序与最强大的人类棋手之间的水平可以说不分伯仲(说到这,大家可能会想起图灵测试),并且毫无疑问,在未来10到15年的某个时间,程序很有可能夺走国际象棋的世界冠军。

1989年,埃德蒙顿阿尔伯塔大学的乔纳森·舍弗尔(Jonathan Schaeffer)[47]开始实施他的长期目标,即利用程序Chinook征服跳棋游戏。1992年,在与长期占据跳棋世界冠军宝座的马里昂·廷斯利(Marion Tinsley)的一场40局的比赛中,Chinook以34平2胜4负输掉了比赛。1994年,双方在前6局打平之后,廷斯利由于健康原因主动放弃了比赛。从那时起,舍弗尔及其团队努力求解如何博弈残局(只有8枚棋子或更少棋子的残局)以及从开局就开始的博弈。

AlphaGo一开始是通过对围棋高手的棋谱进行简单的卷积神经网络训练来进行的,它也是Deep Mind使用游戏作为真实世界的微观模拟战略的一部分,这有助于我们研究人工智能并训练出能够解决世界上最复杂问题的学习智能体。在AlphaGo中,“慢思考模式”由蒙特卡洛树搜索(Monte Carlo Tree Search)执行,从给定棋局出发,通过扩展可表示未来己方下法和对方下法的游戏树来进行规划。AlphaGo高效地使用了树搜索、神经网络、深度学习和强化学习方法。

使用人工智能技术的其他人机博弈游戏(见第16章)还包括西洋双陆棋、扑克、桥牌、奥赛罗和围棋(通常被称为“人工智能的新果蝇”[6])。

[6] 由于与果蝇类似,国际象棋是一种易于进行且相对简单的游戏,但是通过对这种游戏进行探索,可以产生更复杂问题的重要知识。因此,麦卡锡将国际象棋称为“人工智能的果蝇”。围棋由于越来越引起大家的兴趣,因此被称为“人工智能的新果蝇”。——译者注

1.7.2 专家系统

某些领域的研究几乎与人工智能本身的历史一样长,专家系统就是其中之一。这是在人工智能领域可以宣称获得巨大成功的一个领域。专家系统具有许多特性,这使得其十分适合于人工智能的研究和开发。这些特性包括知识库与推理机的分离、系统的知识超过任何专家或所有专家的知识的总和、知识与搜索技术的关系、推理以及不确定性等等。

最早也是最常提及的一个系统是使用启发式方法的DENDRAL。人们建立这个系统的目的是基于质谱图鉴定未知的化合物[48]。DENDRAL由斯坦福大学开发,目的是对火星的土壤进行化学分析。这是最早的能够展示使用特定领域专家知识进行编码的可行性的系统之一。MYCIN也许称得上最著名的专家系统,这个系统也来自斯坦福大学(1984年)。MYCIN是为了方便传染性血液疾病的研究而开发的。然而更重要的是,MYCIN为所有未来基于知识的系统设计树立了一个典范。MYCIN有超过400条的规则,这些规则最终被用于对斯坦福医院实习医生的培训对话中。20世纪70年代,斯坦福大学开发了PROSPECTOR用于矿物勘探[49]。PROSPECTOR也是早期较有价值的使用推理网络的例子。

20世纪70年代之后,其他的取得成功的著名系统如下:大约有10 000条规则的XCON,它用于帮助配置VAX计算机上的电路板[50];辅导系统GUIDON[51],它是MYCIN的一个分支;TEIRESIAS,它是MYCIN的一个知识获取工具[52];HEARSAY I和HEARSAY II,它们是使用黑板(Blackboard)架构进行语音理解的最早的例子[53]。道格·莱纳特(Doug Lenat)的AM(人工数学家)系统[54]是20世纪70年代另一个重要的研发成果。此外,还有用于在不确定性条件下进行推理的Dempster-Schafer理论(简称DS证据理论),以及扎德(Zadeh)在模糊逻辑方面所做的工作[32]

自20世纪80年代以来,人们在配置、诊断、教学、监测、规划、预判病情、治疗和控制等领域已经开发了数千个专家系统。如今,除了独立运行的专家系统之外,出于控制的目的,还有许多专家系统被嵌入其他软件系统中,包括那些安装在医疗设备和汽车上的软件系统(例如,当我们需要对汽车进行牵引力控制的时候)。

此外,许多专家系统的壳层(shell),例如Emycin[55]、OPS[56]、EXSYS和CLIPS[57],已经成为工业标准。人们也开发出了众多知识表示语言。现在,许多专家系统都在幕后工作,增强了日常体验,如在线购物车。第9章将讨论一些主要的专家系统,包括它们的方法、设计、目的和主要特点。

1.7.3 神经计算

1.5.6节提到了麦卡洛克和皮茨在神经计算方面进行的早期研究[17]。他们试图理解动物神经系统的行为,但他们的人工神经网络(ANN)模型有一个严重的缺点,即不包括学习机制。

弗兰克·罗森布拉特(Frank Rosenblatt)[58]开发了一种名为感知器学习规则(Perceptron Learning Rule)的迭代算法,以便在单层网络(网络中的所有神经元直接连接到输入)中找到适当的权重。在这个新兴学科领域,由于明斯基和帕普特[59]宣称某些问题(如异或XOR函数)不能通过单层感知器解决,因此研究遭遇了重重障碍。支持神经网络研究的美国联邦基金马上被大大削减。

20世纪80年代初,由于霍普菲尔德(Hopfield)的工作,这个领域迎来了第二次爆发[60]。霍普菲尔德的异步网络模型(即Hopfield网络)使用能量函数找到了NP完全问题的近似解[61]。20世纪80年代中期,人工智能领域出现了反向传播(backpropagation)算法,这是一种适合于多层网络的学习算法。人们一般采用基于反向传播的网络来预测道琼斯(Dow Jones)指数的平均值,以及在光学字符识别系统中读取印刷材料(详细信息见第11章)。神经网络也可以用于控制系统。ALVINN是卡内基·梅隆大学的项目[62,63],在这个项目中,反向传播网络能够感知高速公路并协助Navlab车辆转向。这项研究的一个直接应用是,无论何时,当车辆偏离车道时,系统都会提醒由于睡眠不足或其他因素而使判断力受到削弱的司机。

1.7.4 进化计算

在1.5.7节中,我们讨论了遗传算法。人们笼统地将这些算法归类为进化计算。回想一下,遗传算法使用概率和并行性来解决组合问题(也称为优化问题)。这种搜索方法是由约翰·霍兰德(John Holland)开发的[64]

然而,进化计算不仅仅涉及优化问题。麻省理工学院计算机科学和人工智能实验室的前主任罗德尼·布鲁克斯(Rodney Brooks)放弃了基于符号的方法,转用自己的方法成功地创造了一个人类水平的人工智能,在论文中[65],他巧妙地将这个人类水平的人工智能称为“人工智能研究的圣杯”。基于符号的方法依赖于启发式方法(见1.3节)和表示范式(见1.5.3节和1.5.4节)。在他的包容体系架构方法(subsumption architectural approach)中(可以将智能系统设计为层次结构,其中的高层级依赖于其下面的层级。例如,如果要建立避障机器人,那么避障这个例程就必须建立在较低的层级,而这个较低层级可能仅仅负责机器人的运动),布鲁克斯主张世界本身就应该作为我们的表示。布鲁克斯坚持认为,智能体正是通过与环境交互才出现智能。他最著名的成就可能就是在实验室里建立的类似昆虫的机器人,其中,一群自主机器人既与环境交互,也彼此交互,这体现了他的智能哲学。第12章将探讨进化计算领域。

补充资料

NETtalk[63]是一个学习英语文本正确发音的反向传播应用。程序员宣称这个软件的英语发音具有95%的准确性。显然,由于英语单词发音中固有的不一致性,如rough(粗糙)和through(通过),以及不同外来词的发音,如pizza(比萨)和fizzy(泡沫),因此软件也会出现问题。第11章将探讨神经计算对智能系统设计的贡献。

1.7.5 自然语言处理

如果希望建立一个智能系统,那么要求该智能系统拥有语言理解能力看起来是非常自然的事情。对于许多早期从业者而言,这个道理不言自明。两个非常著名的早期应用分别是约瑟夫·魏岑鲍姆(Joseph Weizenbaum)的Eliza和特里·威诺格拉德(Terry Winograd)的SHRDLU[20]

在莱诺铸排机(Linotype)上,英语中最为常用的两组字母是ETAOIN和SHRDLU。威诺格拉德的程序就是以上面的第二组字母命名的。

约瑟夫·魏岑鲍姆是麻省理工学院的计算机科学家,他与来自斯坦福大学的精神科医生肯尼思·科尔比(Kenneth Colby)一起工作并开发了Eliza[66]。Eliza旨在模仿卡尔·罗杰斯(Carl Rogers)学派的精神病学家所担任的角色。例如,如果用户键入“我感到疲劳”,Eliza可能会回答:“你说你觉得累了。请告诉我更多内容。”这种“谈话”将会以这种方式继续。就对话的原创性而言,机器几乎没有或者只有很少的贡献。真正的精神分析师可能就是以这种方式工作的,他们希望患者能从中发现自己真实的(也许是隐藏的)感受和挫败感。同时,Eliza仅仅使用模式匹配的方式来伪装成类似于人类的交互。

当人与机器(例如人形机器人)之间的界限变得不太清楚时,会发生什么?也许在大约50年后,这些机器人将不那么像浊骨凡胎,而更像是永生不朽者。

令人好奇的是,魏岑鲍姆的学生及普通公众对于和Eliza互动充满了兴趣,即使他们完全意识到Eliza只是一个程序,这让魏岑鲍姆感到非常不安。同时,精神科医生科尔比仍然致力于该项目,他写出了一个成功的程序(名为DOCTOR)。尽管Eliza对自然语言处理(NLP)的贡献不大,但是这种软件假装拥有了我们残留的最后一点“特殊”能力,即感知情绪的能力。

NLP领域的下一个里程碑式的工作不会引起任何争议。特里·威诺格拉德[20]开发了SHRDLU,这是他在攻读麻省理工学院博士学位时所发表论文中的项目。SHRDLU使用意义、语法、演绎推理来理解和响应英文命令,它的会话世界是一个桌面,上面放着各种形状、大小和颜色的积木(1.5.8节介绍了威诺格拉德的积木世界)。

人物轶事

谢里·特克尔(Sherry Turkle)

 对许多人来说,他们认为一些人沉迷于类似Eliza的程序似乎有点令人遗憾,他们认为这体现出一些人对生活感到沮丧的迹象。2006年夏,在达特茅斯学院校园举行的人工智能@ 50研讨会(“达特茅斯人工智能研讨会:下一个五十年”)上,与会者在闲聊中表达了他们对Eliza的这种关注。这场讨论中的一名参与者是谢里·特克尔,她是一名进行分析型训练的心理学家,在麻省理工学院的科学、技术和社会的项目中工作。自然地,特克尔很有同情心。

特克尔[67]对她所谓的“关系型人造物”(relational artifact)进行了大量的研究。这些设备(包括玩具和机器人)所定义的属性并非它们的智能,而是它们能够唤起与之交互者的关爱行为的能力。1997年,美国的第一个关系型人造物Tamagotchis诞生,它们是液晶显示屏上的虚拟动物。为了让这些生物“成长”为健康的“成年动物”,许多孩子(及其父母)不得不不断地“喂养”“清洁”和“培养”它们。最近,研究者开发了一些MIT机器人(包括Cog、Kismet和Paro),使它们具有伪装人类情感的神奇能力,并能够唤起与之交互的人的情绪反应。特克尔研究了疗养院中儿童和老年人与这些机器人形成的关系,这些关系涉及真正的情感和关怀。特克尔谈到,或许需要重新定义“关系”一词,使之包括人们与这些所谓的“关系型人造物”的相遇。但是,她仍然相信,这样的关系永远不会取代那种只能发生在必须每天面对死亡的人与人之间的联系。

机器人手臂可以与这个桌面互动,实现各种目标。例如,如果要求SHRDLU举起一个上面有一个小绿色积木的红色积木,那么它知道在举起红色积木之前,必须先移除绿色积木。与Eliza不同,SHRDLU能够理解英文命令并做出适当的回应。

HEARSAY[68]是一个雄心勃勃的语音识别程序(见 1.7.2 节),该程序采用了黑板架构(blackboard architecture)。在黑板架构中,组成语言的各种成分(如语音和短语)对应的独立知识源(智能体)之间可以自由通信。该程序使用语法和语义信息来去除不太可能的单词组合。

HWIM(发音为“whim”,是Hear What I Mean的缩略形式)项目[69]使用增强的转移网络来理解口语。它有一张由1000个单词组成的词汇表,用于旅行预算的管理。也许由于这个项目的目标范围过大,因此它的表现不如HEARSAY II。

在这些成功的自然语言程序中,语法分析都发挥了不可或缺的作用。SHRDLU采用上下文无关的语法来分析英文命令。上下文无关语法提供了所处理符号串的句法结构。然而,为了有效地处理自然语言,还必须考虑语义。

补充资料

语法分析树提供了构成句子的单词之间的关系。例如,许多句子可以分解为主语和谓语。而主语又可以分解为一个名词短语,后面跟着一个介词短语,等等。本质上,通过分析树可以给出句子的语义,即句子的含义。

前面提到的每个早期的语言处理系统,在某种程度上采用的都是世界知识(比如,北京是中国的首都)。然而,20 世纪80年代后期,NLP进步的最大障碍是常识问题(比如,北京是中国的首都,因此北京必须是一座城市,而且不可能是其他国家的首都)。尽管在NLP和人工智能的特定领域有很多成功的应用,但它们经常被批评只是微观世界(microworld),意思是程序并没有一般的现实世界的知识或者说常识。

例如,虽然程序可能知道很多关于特定场景(比如在餐馆点餐)的知识,但是其没有男女服务员是否活跃或者他们是否穿着通常的衣服这些知识。在过去的25年里,得克萨斯州奥斯汀MCC的道格拉斯·莱纳特(Douglas Lenat)[70]已经建立了最大的常识知识库来解决这个问题。

近年来,NLP领域出现了一个非常重大的范式转变。在这种相对较新的范式中,统计方法而不是世界知识被用于生成句子的语法分析树。

查尼阿克(Charniak)[71]介绍了如何增强上下文无关的语法,以赋予每条规则相关的概率。例如,这些相关概率可以从宾州树库(Penn Treebank)中获取[72]。宾州树库包含了手动分析的超过100万个单词的英文文本,这些文本大部分来自《华尔街日报》。查尼阿克展示了这种统计方法如何成功地分析《纽约时报》头版中的一个句子(即使对大多数人而言,这种分析也并非雕虫小技)。

第13章将进一步描述NLP的统计方法和机器翻译最近取得的成功。

1.7.6 生物信息学

生物信息学是将计算机科学的算法和技术应用于分子生物学的一门新兴学科,主要关注生物数据的管理和分析。在结构基因组学中,人们尝试为每个观察到的蛋白质指定一个结构。自动发现和数据挖掘可以帮助人们实现这种目标[73]。胡里斯卡(Juristica)和格拉斯哥(Glasgow)展示了基于案例的推理能够协助发现每个蛋白质的代表性结构。在关于人工智能和生物信息学的2004年度AAAI特刊中,胡里斯卡、格拉斯哥和罗斯特在他们所写的综述性文章中指出:“在生物信息学近期的活动中,发展最快的领域可能是微阵列数据的分析。”[74]

对于可获得的数据,不论在种类上还是在数量上,都对微生物学家造成了重负——这要求他们完全基于庞大的数据库来理解分子序列、结构和数据。许多研究人员相信,来自知识表示和机器学习的人工智能技术也将会被证明大有用处。

1.8 新千年人工智能的发展

人工智能是一门独特的学科,它允许我们探索未来生活的诸多可能性。在人工智能短暂的历史中,它的方法论已经被吸纳到计算机科学的标准技术中。比如,在人工智能研究中产生的搜索技术和专家系统现在都已经被嵌入许多控制系统、金融系统和基于Web的应用中。

ALVINN是一个基于神经网络的系统,用于控制车辆,它曾被用来控制车辆围绕卡内基·梅隆校区行驶。

目前,许多人工智能系统被用于控制财务决策,如买卖股票。这些系统使用了各种人工智能技术,如神经网络、遗传算法和专家系统。

基于互联网的智能体被用于搜索万维网,寻找用户感兴趣的新闻文章。

科技进步显著地影响了我们的生活,这种趋势无疑将会继续。最终,作为人类的意义何在?这个问题很可能会成为一个讨论的焦点。

如今,有人活到八九十岁并不罕见,人的寿命将继续延长。医疗加上药物、营养以及关于人类健康的知识将继续取得显著进步,从而能够击败疾病和死亡的各种成因。此外,先进的义肢装置将帮助残疾人在较少身体限制的状态下生活。最终,小型、不显眼的嵌入式智能系统将能够维护和增强人们的思维能力。在某个时间点,我们将会面临这样的问题:“人类在哪里结束是否意味着机器就从哪里开始?反之成立吗?”

最初,这样的系统非常昂贵,并非普通消费者所能承受,而且会产生一些其他问题,比如人们会担心谁应该秘密参与这些先进的技术。随着时间的推移,标准规范将会出现。平均寿命超过100年的人组成的社会,其结果将会是什么呢?如果接受嵌入式混合材料(如硅电路)可使生命得以延续100年以上,谁不愿意接受呢?如果地球上的老年人口过多,生活会有什么不同呢?谁将解决人们的居住问题?生命的定义又是什么?也许更重要的是,生命在何时结束?这些确实是道德和伦理难题。

科幻小说改编的经典电影《超世纪谍杀案》(Soylent Green)从一个有趣的视角探讨了人工智能的未来。

在生活中,哪种AI方法将在未来为人类的最大进步铺平道路时脱颖而出?人工智能会在逻辑、搜索或知识表示方面取得进展吗?或者说,我们可否从由看起来简单的系统组织成具有非常多可能性的复杂系统的方式中学习(例如,从细胞自动机、遗传算法和智能体中学习)?专家系统将会为我们做些什么?对人工智能而言,模糊逻辑是否会成为迄今为止未被发掘的展示平台?在自然语言处理、视觉、机器人技术方面有什么进步?神经网络和机器学习提供了什么可能性?虽然这些问题的答案很难获得,但可以肯定的是,随着影响生活的人工智能技术的持续涌现,大量的科技将会使我们的生活更加方便。

任何技术的进步都会带来各种奇妙的可能性,同时也会带来新的危险。这些危险可能与组件和环境的意外交互有关,这些交互可能导致事故甚至灾难。同样危险的是,与人工智能结合的先进技术也可能落入坏人之手。想象一下,如果具备作战能力的机器人被恐怖分子挟持,将会造成多大的破坏和混乱!当然,这可能不会阻碍技术的进步。人们可能会明确或默认接受这些带来惊人可能性的技术所带来的风险,以及它们可能产生的不良后果。

机器人的概念甚至在人工智能之前就已经存在了。目前,机器人在机器装配中起着重要工具的作用,如图1.25所示。此外,机器人显然能够帮助人类做一些常规的体力活,如吸尘和购物,并且在更具挑战性的领域(如搜索、救援以及远程医疗)也有帮助人类的潜力。随着时间的推移,机器人还会展示情感、感觉和爱(考虑一下Paro和Cog机器人)[67],以及我们通常认为只有人类才有的一些行为。机器人将能够在生活的各个方面帮助我们,其中许多方面人类目前无法预见。然而,有人认为机器人也许会模糊“在线生活”和“现实世界生活”之间的区别,这也并非不着边际。我们何时将“人”定义为“人形机器人”?如果机器人的智能超过人类(何时?),会发生什么事情?在试图预测人工智能的未来时,我们希望能够充分思考这些问题,以便在未来的变幻莫测前做出更充分的准备。

图1.25 新千年的机器人汽车装配

1.9 本章小结

本章设定了思考人工智能的基调,解决了一些基本问题,例如“人工智能的定义是什么?”“思维是什么?”“智能是什么?”读者应该思考人类智能与其他智能的区别是什么,以及动物智能是如何衡量的。

本章介绍了图灵测试的定义,以及围绕图灵测试的争议和批评,如塞尔的中文房间问题等等。

本章还介绍了强人工智能方法和弱人工智能方法的区别,并讨论了典型的人工智能问题以及它们的解决方案。在强人工智能方法和解决方案中,启发式方法的重要性得到了强调。

考虑哪些类型的问题适合使用人工智能来解决而哪些问题不适合是非常合理的做法。例如,医疗领域的挑战以及类似的积累了大量人类专业知识(如国际象棋游戏)的领域特别适合使用人工智能来解决。另一些只要用简单和单纯的计算就可以获得解决方案或答案的领域则不适合使用人工智能来解决。

本章就人工智能的应用及其方法进行了探讨,包括搜索算法、拼图问题和二人博弈问题。本章的内容也表明,自动推理与许多人工智能解决方案密切相关,这通常是人工智能解决方案基础的一部分。本章在产生式系统和专家系统领域,从早期人工智能的棋手和机器的独特历史视角呈现了大量的实际应用。本章也从计算机博弈、专家系统、神经计算、进化计算和自然语言处理方面,回顾了人工智能最近的发展史。虽然细胞自动机和神经计算等相当复杂的领域并非完全基于知识,但仍产生了良好的结果。

我们讨论了一个具有伟大前景的新的人工智能领域——进化计算,并且探讨了知识表示,提供了多种可能的表示方法,供人工智能研究者设计解决方案。很明显,采用统计和概率决策的不确定性推理已成为应对许多人工智能挑战的流行且卓有成效的方法。本章也回答了一些重要的问题,比如“谁做了这些工作,是谁将我们带领到现在的位置?”以及“这些工作是如何实现的?”等等。

1.你如何定义人工智能?

2.区分强人工智能和弱人工智能。

3.ALICE是最近几次赢得Loebner奖的软件。请从线上找到该软件的一个版本并介绍一些关于ALICE的情况。

4.艾伦·图灵对人工智能的重要贡献是什么?

5.约翰·麦卡锡对人工智能的贡献是什么?

6.为什么ATM及其编程不是人工智能编程的一个好例子?

7.为什么对于人工智能研究而言,医疗诊断是一个非常典型且适合的领域?

8.为什么对于人工智能而言,二人博弈是一个非常适合研究的领域?

9.解释计算机国际象棋对人工智能研究起到的作用。

10.简述专家系统的定义。

11.给出3种形式的知识表示方法。

1.图灵测试的一种变体是逆图灵测试(inverted Turing test);在这个测试中,计算机必须确定它是在与人打交道还是在与另一台计算机打交道。请想象一下这种版本的图灵测试可能的任何实际应用。(提示:近年来,大家试过在线购买热门体育或娱乐活动的门票吗?)

2.图灵测试的另一种变体是个人图灵测试(personal Turing test)。想象一下,你试图确定与你交流的是你朋友还是一台假装是你朋友的计算机。如果计算机通过了这个测试,试想可能会产生什么法律或道德问题。

3.许多人认为语言的使用是智能的必要属性。Koko是一只大猩猩,她经过斯坦福大学的弗朗西斯·帕特森博士培训后会使用美国手语。Koko能够表达她不知道的单词组合。例如,她用已知的“手镯”和“手指”这样的词来表示戒指。这只“具备一定知识”的大猩猩是否改变了你对动物智能这个主题的思考?如果是,请回答在什么方面改变了?你能够想象给Koko来一次智力测试吗?

4.假定通过如下测试的城市被认定为大城市。

它应该可能在凌晨3:00提供牛排餐。

每个夜晚,在城市范围内的某个地方都应该安排一场古典音乐会。

每个夜晚都应该安排一场重要的体育赛事。

假设美国的某个小镇上的居民想通过这个测试,他们为此开了一家24小时营业的牛排店,聘请了一支交响乐团并获得了大型体育特许经营权。那么大家觉得这个小镇能够通过上述大城市认定的测试吗?请将这个讨论与通过原始图灵测试和拥有智能的标准相关联(Dennett,2004)。

5.假设要设计一个阈值逻辑单元(TLU)来模拟双输入的或(OR)函数,你能否确定一个阈值和所有权重来完成这一任务?

6.考虑迭代囚徒困境游戏的一种策略:对于某个未知数n,游戏重复n次。从长远来看,如何衡量该策略是否成功?

7.采用遗传算法来解决本章中提供的3拼图问题,建议使用字符串来表达可能的解。这里大家会建议使用什么适应度函数?

8.给出一个启发式方法,使你能够在高峰时段出租车稀缺时,乘坐出租车访问纽约市(或任何其他主要城市)。

9.狮子在追击猎物时,可能会使用什么启发式方法?

10.假设要设计一个专家系统,用于帮助家庭选择合适的狗,请建议一些可能的规则。

11.在哥白尼之前,地球被认为是宇宙的中心。在哥白尼之后,人类明白了地球只是绕着太阳旋转的众多行星之一。在达尔文之前,人类认为自己是与这个行星中的其他生命有机体分离开来的物种(并且高于其他物种?)。在达尔文之后,人类明白了自己只是从单细胞生物演化而来的另一种动物。假设人类级别的人工智能在50年后已经实现,并且进一步假设机器人Cog、Paro和Kismet的继承者实际上体验到了情绪,而不是假装有这样的情绪。在人类历史上的这样一个时刻,作为形成人类“特殊性”的核心,人类应该坚持什么主张?这些主张是不是必要的?抑或甚至是大家想要的吗?

12.假设在将来的某一天,美国宇航局计划在木星的卫星Europa上进行一次无人任务。假设在启动任务时,我们对Europa卫星的表面了解甚少。相对于发送一两台相对重要的机器,发送“一群”罗德尼·布鲁克斯昆虫型机器人有什么优势?

13.Eliza应该被视为一种关系型人造物吗?请给出是或不是的理由。

14.请听The Killers乐团的歌曲Human,其中的歌词“Are We Human or Are We Dancer”是什么含义?它们与我们学习的课程有什么相关性?关于这一点,大家可以参与在线的热烈讨论(这首歌曲可以在YouTube上找到)。

15.人工智能问题与其他类型的问题有什么不同?列举常用的 5 种用于人工智能的问题解决技巧。

16.请为人工智能设计一个新的适用于今天的图灵测试方法。

17.研究一下Lovelace 2机器人测试。大家觉得这个图灵机器人的新测试标准是否可以接受?如何对其与习题2的解答进行比较?

15拼图问题      判别式         神经网络

3拼图问题      领域知识         Nim取物游戏

8拼图问题      进化计算         分析树

A*算法        专家系统        通过图灵测试

抽象         适应度函数       感知机学习规则

对抗性游戏      框架          完美信息

智能体        功能          产生式规则

算法         生命游戏        脚本

人工智能(AI)    通用问题求解器(GPS) 语义网络

自动推理       遗传算法        槽和槽填充值

反向传播       目标状态        空间树

集束搜索       启发式方法       初始状态

最佳优先搜索     爬山法         状态空间图

黑盒         模拟游戏        存储程序概念

黑板架构       实现          强人工智能

盲目搜索       智能          图灵测试

积木世界       迭代囚徒困境      阈值逻辑单元(TLU)

分支定界       迭代学习算法      通用图灵机

宽度优先搜索     知识工程师       不确定性

细胞自动机(CA)   学习规则        论域

组合爆炸       逻辑          水壶问题

常识         逻辑理论家       弱人工智能

概念图        微观世界        世界知识

上下文无关语法    传教士与野人问题    零和游戏

深度优先搜索     神经计算

[1] Dreyfus H L, Dreyfus S E. Mind Over Machine. New York, NY: TheFree Press, 1986.

[2] Michie D L. On Machine Intelligence, 2nd edition. Chichester, England: Ellis Horwood, 1986.

[3] Sokolowksi R. Natural and Artificial Intelligence. In The Artificial Intelligence Debate, ed. S. R. Graubard. Cambridge, MA: The MIT Press, 1989.

[4] Sternberg R J. In Search of the Human Mind. 395-396. New York, NY: Harcourt-Brace, 1994.

[5] Reader’s Digest. Intelligence in Animals. London, England: Toucan Books Limited, 1994.

[6] Raphael B. The Thinking Computer. San Francisco, CA: W.H. Freeman, 1976.

[7] Turing A M. Computing Machinery and Intelligence. Mind L I X 236: 433-460, 1950.

[8] Fromm E. The art of loving. (Paperback ed). Harper Perennial, 1956.

[9] Block N. Psychoanalysis and behaviorism. Reprinted in The Turing Test. Ed. S. Shieber. Cambridge, MA: The MIT Press, 2004.

[10] Searle J R. Minds, brains, and programs. Reprinted in The Turing Test. Ed. S. Shieber. Cambridge, MA: The MIT Press, 2004.

[11] Dennett D C. Can machines think? Reprinted in The Turing Test. Ed. S. Shieber. Cambridge, MA: The MIT Press, 2004.

[12] Turing A M. On computable numbers, with an application to the entscheidongs problem. In Proceedings of the London Mathematical Society 2: 230-265, 1936.

[13] Polya G. How to solve it, 2nd ed, Princeton, NJ: Princeton University Press, 1957.

[14] Newell A, Simon H A. GPS: a program that simulates human thought. In Computers and thought, ed. Feigenbaum and Feldman. New York, NY: McGraw Hill, 1963.

[15] Shortliffe E H. Computer-based medical consultation: MYCIN. Amsterdam, London, New York, NY: Elsevier-North-Holland, 1976.

[16] Gardner M. Mathematical games: The fantastic combinations of John Conway’s new solitaire game “life”. Scientific American 223 (October): 120-123, 1970.

[17] McCulloch W S, Pitts W. A logical calculus of the ideas imminent in nervous activity. Bulletin of Mathematical Biophysics 5: 115-133, 1943.

[18] Newell A, Simon H A. Empirical explorations with the logic theory machine: A case study in heuristics. In Computers and thought, ed. Feigenbaum and Feldman., New York, NY: McGraw Hill, 1963.

[19] Whitehead A N, Russell B. Principia Mathematica, 2nd ed. London, England: Cambridge University Press, 1950.

[20] Winograd T. Understanding natural language. New York, NY: Academic Press, 1972.

[21] Nilsson N. Principles of Artificial Intelligence. Palo Alto, CA: Tioga, 1980.

[22] Genesereth M, Nilsson, N. Logical foundations of Artificial Intelligence. Los Altos, CA: Morgan Kaufmann, 1987.

[23] Bundy A. The computer modeling of mathematical reasoning. Academic Press, San Diego, CA, 1983.

[24] Quillian M R. World concepts: A theory and simulation of some basic semantic capabilities. In Readings in Knowledge Representation, ed, 1967 R. Brachman and H. Levesque. Los Altos, CA: Morgan Kaufmann, 1985.

[25] Shapiro S C. The SNePS semantic network processing system. In Associative networks: Representation and use of knowledge by computers, ed. N.V. Findler, 179-203. New York, NY: Academic Press, 1979.

[26] Schank R C, Rieger, C. J. Inference and the computer understanding of natural language. Artificial Intelligence, 5(4): 373-412, 1974.

[27] Minsky M. A framework for representing knowledge. In Readings in Knowledge Representation, ed, 1975 R. Brachman and H. Levesque. Los Altos, CA: Morgan Kaufmann, 1985.

[28] Schank R C, Abelson R Scripts, plans, goals, and understanding. Hillsdale, NJ: Erlbaum, 1977.

[29] Sowa J F. Conceptual structures: Information processing in mind and machine. Reading, MA: Addison-Wesley, 1984.

[30] Nowak J D, Gowin R B. Learning how to learn. Cambridge, England: Cambridge University Press, 1985.

[31] Minsky M. A society of mind. New York, NY: Simon and Schuster. 1985.

[32] Zadeh L. Commonsense knowledge representation based on fuzzy logic. Computer, 16: 61-64, 1983.

[33] Levy D N L. Robots unlimited: Life in the virtual age. Wellesley, MA: AK Peters, LTD, 2006.

[34] Godel K. On formally undecideable propositions of ‘principia mathematica’ and related systems (Paperback). New York, NY: Dover Publications, 1931.

[35] Descartes R. Six metaphysical meditations. Wherein it is proved that there is a God and the man’s mind is really distinct from his body. Translated by W. Moltneux. London: Printed for B. Tooke, 1680.

[36] Luger G F. Artificial Intelligence: Structures and strategies for complex problem solving. Reading, MA: Addison-Wesley, 2002.

[37] Brooks F P. The mythical man-month: Essays on software engineering paperback. Reading, MA: Addison-Wesley, 1975/1995 2nd ed.

[38] Boole G. An investigation of the laws of thought. London, England: Walton & Maberly, 1854.

[39] Shannon C E. A symbolic analysis of relay and switching circuits. Transactions American Institute of Electrical Engineers 57: 713-723, 1938.

[40] Shannon C E. Programming a computer for playing chess. Philosophical Magazine 7th Ser., 41: 256-275, 1950.

[41] Samuel A L. Some studies in machine learning using the game of checkers. IBM Journal of Research and DevelopmenM t 3(3), 1959.

[42] Turing A M. Digital computers applied to games. In Faster than thought, ed. B. V. Bowden, 286-310. London, England: Pitman, 1953.

[43] Greenblatt R. D, Eastlake III D E, Crocker S D. The Greenblatt chess program. In Proceedings of the Fall Joint Computing Conference 31: 801-810. San Francisco, New York, NY: ACM, 1976.

[44] Berliner H J Ebeling C. Pattern knowledge and search: The SUPREM architecture. Artificial Intelligence 38: 161-196, 1989.

[45] Hsu F H, Anantharaman T, Campbell M, Nowatzyk A. A grandmaster chess machine. Scientific American 2634, 1990.

[46] Kopec D. Kasparov vs. Deep Blue: Mankind is safe-for now. Chess Life May: 42-51, 1996.

[47] Schaeffer J. One jump ahead. New York, NY: Springer-Verlag, 1997.

[48] Buchanan B G, Feigenbaum E A. Dendral and meta-dendral: Their applications dimensions. Intelligence Artificial 11, 1978.

[49] Duda R O Gaschnig J, Hart P E. Model design in the PROSPECTOR consultant for mineral exploration. In Expert systems in the microelectronic age, ed. D. Michie. Edinburgh, Scotland: Edinburgh University Press, 1979.

[50] McDermott J. R1: A rule-based configurer of computer systems. Artificial Intelligence 19(1), 1982.

[51] Clancey W J, Shortliffe E H, eds. Readings in medical Artificial Intelligence: The first decade. Reading, MA: Addison-Wesley, 1984.

[52] Davis R, Lenat D B. Knowledge-based systems in artificial intelligence. New York, NY: McGraw-Hill, 1982.

[53] Erman L D, Hayes-Roth F Lesser V et al. The HEARSAY II speech understanding system: Integrating knowledge to resolve uncertainty. Computing Surveys 12(2): 213-253, 1980.

[54] Lenat D B. On automated scientific theory formation: A case study using the AM program. Machine Intelligence 9: 251-256, 1977.

[55] Van Melle W Shortliffe E H. Buchanan B G. EMYCIN: A domainindependent system that aids in constructing knowledge-based consultation programs. Machine Intelligence. Infotech State of the Art Report 9, no. 3, 1981.

[56] Forgy C L. On the efficient implementation of production systems. PhD thesis, Carnegie- Mellon University, 1979.

[57] Giarratano J. CLIPS user’s guide. NASA, Version 6.2 of CLIPS, 1993.

[58] Rosenblatt F. The perceptron: A probabilistic model for information storage and organization in the brain. Psychological Review 65: 386-408, 1958.

[59] Minsky M. and Papert S. Perceptrons: An introduction to computational geometry. Cambridge, MA: The MIT Press, 1969.

[60] Hopfield J J. Neural networks and physical systems with emergent collective computational abilities. In Proceedings of the National Academy of Sciences 79: 2554-2558, 1982.

[61] Hopfield J J, Tank D. Neural computation of decisions in optimization problems. Biological Cybernetics 52: 141-152, 1985.

[62] Sejnowski T J, Rosenberg C R. Parallel networks that learn to pronounce English text. Complex Systems 1: 145-168, 1987.

[63] Pomerleau D A. ALVINN: An autonomous land vehicle in a neural network. In Advances in neural information processing systems 1. Palo Alto, CA: Morgan Kaufman, 1989.

[64] Holland J H. Adaptation in natural and artificial systems. Ann Arbor, Michigan: University of Michigan Press, 1975.

[65] Brooks R A. The cog project. Journal of the Robotics Society of Japan, Special Issue (Mini) on Humanoid, ed. T. Matsui. 15(7), 1996.

[66] Weizenbaum J. Eliza-A computer program for the study of natural language communication between man and machine. Communications of the ACM 9: 36-45, 1966.

[67] Turkle S. Artificial Intelligence at 50: From building intelligence to nurturing sociabilities. In Proceedings of ai @ 50, Dartmouth College, Hanover, New Hampshire, 2006.

[68] Fennell R D, Lesser V R. Parallelism in Artificial Intelligence Problem-Solving: A case study of Hearsay-II. Tutorial on parallel processing 185-198. New York, NY: IEEE Computer Society, 1986.

[69] Wolf J J, Woods W A. The Journal of the Acoustical Society of America 60(S1): 811, 1976.

[70] Lenat D B. Cyc: A large-scale investment in knowledge infrastructure. Communications of the ACM 38(11), 1995.

[71] Charniak E. Why natural language processing is now statistical natural language processing. In Proceedings of AI @50, Dartmouth College, Hanover, New Hampshire, 2006.

[72] Marcus M P, Santorini B, and Marcinkiewicz M A. Building a large annotated corpus of English: The Penn Treebank. Computational Linguistics 19(2): 313-330, 1993.

[73] Livingston G R. Rosenberg J M Buchanan B J. Closing the loop: Heuristics for autonomous discovery. In Proceedings of the 2001 IEEE International Conference on Data Mining 393-400. San Jose, CA: IEEE Computer Society Press, 2001.

[74] Glasgow J Jurisica I. Rost B AI and Bioinformatics (Editorial). AI Magazine Spring: 7-8, 2004.

[1] Boole G. The Mathematical Analysis of Logic: Being an Essay Towards a Calculus of Deductive Reasoning. Cambridge: Macmillan Barclay and MacMillan, 1847.

[2] Brachman R J, Levesque J. Readings in Knowledge Representation. Los Altos, CA: Morgan Kaufmann, 1985.

[3] Brooks R A, “Elephants Don’t Play Chess.” Robotics and Autonomous Systems 6 (1990): 3-15.

[4] Buchanan B G, Feigenbaum E A. Rule-Based Expert Programs: The MYCIN Experiments of the Stanford University Heuristic Programming Project. Reading, Massachusetts: Addison-Wesley, 1984.

[5] Glasgow J, Jurisica I, Burkhard R. “AI and Bioinformatics.” AI Magazine 25, 1 (Spring 2004): 7-8.

[6] Kopec D. Advances in Man-Machine Play. In Computers, Chess and Cognition, Edited by T.A. Marsland and J. Schaeffer, 9-33. New York: Springer-Verlag, 1990.

[7] Kopec D, Shamkovich L, Schwartzman G. Kasparov-Deep Blue. Chess Life Special Summer Issue (July 1997): 45-55.

[8] Levy David N L. Chess and Computers. Rockville, Maryland: Computer Science Press, 1976.

[9] Michie D. “King and Rook against King: Historical Background and a Problem for the Infinite Board.” In Advances in Computer Chess I. Edited by M. R. B. Clarke. Edinburgh, Scotland: Edinburgh University Press, 1977.

[10] Michie D.“Chess with Computers”. Interdisciplinary Science Reviews 5, 3(1980): 215-227.

[11] Michie D. (with R. Johnston). The Creative Computer. Harmondsworth, England: Viking, 1984.

[12] Molla M, Waddell M, Page D, Shavlik J. “Using Machine Learning to Design and Interpret Gene- Expression Microarrays”. AI Magazine 25 (2004): 23-44.

[13] Nair R, Rost B. “Annotating Protein Function Through Lexical Analysis”. AI Magazine 25, 1 (Spring 2004): 44-56.

[14] Newborn M. Deep Blue: An Artificial Intelligence Milestone. New York: Springer-Verlag, 2002.

[15] Rich E. Artificial Intelligence. New York: McGraw-Hill, 1983.

[16] SAT: Aptitude and subject exams administered several times annually by the College Board.

[17] Standage T. The Turk. New York: Walker Publishing Company, 2002.

相关图书

GPT图解 大模型是怎样构建的
GPT图解 大模型是怎样构建的
大语言模型:基础与前沿
大语言模型:基础与前沿
扩散模型从原理到实战
扩散模型从原理到实战
ChatGPT原理与应用开发
ChatGPT原理与应用开发
ChatGPT写作超简单
ChatGPT写作超简单
ChatGPT与AIGC生产力工具实践 智慧共生
ChatGPT与AIGC生产力工具实践 智慧共生

相关文章

相关课程