资源简介 第 2 章 人工智能技术基本原理2.1 知识表示与专家系统教学设计教学背景信息科技是现代科学技术领域的重要部分,主要研究以数字形式表达的信息及其应用中的科学原理、思维方法、处理过程和工程实现。当代高速发展的信息科技对全球经济、社会和文化发展起着越来越重要的作用。义务教育信息科技课程具有基础性、实践性和综合性,为高中阶段信息技术课程的学习奠定基础。信息科技课程旨在培养科学精神和科技伦理,提升自主可控意识,培育社会主义核心价值观,树立总体国家安全观,提升数字素养与技能。教材分析本节课的教学内容选自人教/地图出版社选择性必修4 人工智能初步 第 2 章 人工智能技术基本原理 2.1 知识表示与专家系统。智能手机已成为人们生活的一部分,它到底隐藏着多少人工智能的神奇“魔术”?智能助理和智能聊天等手机应用,正颠覆着我们与手机的交互方式;新闻资讯、在线购物等热门应用总在推送着适合我们的内容;图像识别智能应用能够识别图像或现实中的人、风景、地点,可帮助我们快速组织和检索图像 ; 图像处理软件能对图像进行美化,打造个性化图像;当人们开车出行时,可以使用导航软件规划最佳路线......手机中的智能应用涉及许多人工智能技术,各类应用的智能表现离不开“机器学习”。机器学习与人类学习不同,它需要收集大量数据或积累大量经验。本章的核心是机器学习,涉及回归、分类和聚类等算法,以及神经网络、深度学习和强化学习等概念和理论。在本章的学习中,我们将以“智能技术初体验”为主题,开展项目活动,探索手机应用中的人工智能技术,领略技术背后人工智能算法的魅力,进而学习人工智能技术的基本原理。教学目标1.了解知识表示的方法以及知识表示对人工智能的重要性。2.了解常用的搜索算法,理解启发式搜索算法的过程,通过案例剖析掌握 A* 算法的使用方法。3.了解不确定性推理的概念,理解贝叶斯定理,掌握使用贝叶斯定理进行推理的方法。4.了解专家系统及构建专家系统的步骤。教学重点与难点教学重点:了解知识表示的方法以及知识表示对人工智能的重要性。教学难点:了解不确定性推理的概念,理解贝叶斯定理,掌握使用贝叶斯定理进行推理的方法。教学方法与教学手段案例分析法、讲授法、任务驱动法。教学过程问题导入体验探索认识人工智能的应用——搜索和推理阿尔法围棋战胜人类围棋高手后,人工智能又一次进入大众的视野。其实,在阿尔法围棋出现之前,我们可能就在手机上玩过人机博弈的游戏,如中国象棋、五子棋等。人类是凭借棋路和经验完成落子的。人工智能决策落子的思路与人类不同,是从所有可能的状态中搜索并推理出赢棋概率最高的下一步,然后落子,如图 2.1.1 (参见教材P25)所示。对人工智能而言,搜索是它进行推理的基础。通过搜索与推理,智能程序能够从大量的数据中快速找到人们想要的结果,诸多智能程序通过搜索与推理提供决策性的服务。思考:1. 购物类手机应用程序是如何为使用者推荐他可能想要的商品的?新闻类手机应用程序又是如何为他推送自己可能感兴趣的新闻的?2. 自己曾经用过哪些智能类应用程序辅助学习?在使用这些程序一段时间之后,这些应用程序是否会为自己推荐其他学习内容?知识表示人工智能在发展初期主要研究问题求解,主要的方法为搜索和推理。搜索一般指从给定的数据中寻找指定数据,问题求解中的搜索则指从众多中间状态中寻找到包含问题的解或最接近解的状态。推理则是根据多种已知的状态推测下一步的可能性。因此,当借助人工智能程序来完成搜索或者推理时,最重要的是让机器读懂状态,并根据当前状态作出下一步搜索动作的决策。要做到这一点,需要记录人的思考与判断过程,并用符号表示成机器能够读懂的“规则”。人工智能领域把这种转化过程称为“知识表示”,如图 2.1.2 (参见教材P26)所示。知识表示是人工智能领域最基础的一个概念,在人工智能中,知识通常属于特定领域。为了能让智能系统理解、处理特定领域的知识,并完成基于知识的任务,需要首先对知识构建模型,这就是知识的表示。基于知识的不同任务、不同类型,知识表示方法也不同。常用的知识表示方法包括状态空间法、谓词逻辑与规则、语义网络和本体技术等。早期人工智能在问题求解时常常采用穷举法或简单试探式的搜索方法,即根据某个规则遍历所有可能的状态,并从中寻找一个状态,这种求解方法称为状态空间法。实践活动使用“状态空间法”表示八数码问题在一个大小为 3×3 的九宫格中摆放 8 个棋子,并在棋子上分别标上 1 ~ 8这 8 个数字。九宫格中有一个格子是空的,空格周围的棋子可以移动到空格中。八数码问题就是给定一个初始状态和一个目标状态,求解如何移动棋子(即找到合适的移动序列),使各棋子的摆放从初始状态变为目标状态。假设棋子的初始状态和目标状态分别如图 2.1.3(参见教材P27) 和图 2.1.4 (参见教材P27)所示。如何找到一个合适的移动序列,将初始状态变为目标状态呢?这个序列可能是:“右移棋子 2,上移棋子 1......”解决这个问题的一般方法就是尝试各种可能的移动方法,直到某一步偶然得到目标状态。即从初始状态开始,按照可能的移动方式得到下一状态,然后再次通过尝试得到下一状态,这样依次向下进行,直到目标状态出现。从初始状态通过移动棋子可能出现的所有状态组成一个空间,将这个空间转化为一个由各种状态对应的节点组成的图,该图就称为状态空间图。图 2.1.5 (参见教材P27)所示的是八数码问题的状态空间图,图中的每个节点表示一个状态。通常使用有向图来表示状态空间(也可能是一个树结构)。有向图中的各个节点表示求解问题中可能出现的各个状态。各个状态之间存在关系,也就是状态空间中的算符可以用有向图的有向边来表示。一个当前状态只可能存在有限个可以通过问题中运算符操作达到的状态,转化为图的概念就是一个节点一般只有有限个后继节点。两人一组,每人写出一个八数码问题的初始状态和目标状态交给自己的同伴,让同伴画出深度界限为 4 的状态空间图。小组讨论如何能够快速找到一个到达目标状态的路径。启发式搜索传统人工智能问题的求解算法基本都包含两个方面的内容,即问题表示和答案搜索。一个待求解的问题经过知识表示后,就转变为机器能够理解的知识,下一步就可以对这个问题进行求解了。求解过程的实质就是在不同问题状态中搜索求解状态的过程,这个过程需要选用适当的搜索算法。常用的搜索算法包括盲目搜索算法和启发式搜索算法。盲目搜索又叫非启发式搜索,是一种无信息搜索算法,一般只适用于求解比较简单的问题。盲目搜索通常是按预定的搜索策略进行搜索,不会考虑问题本身的特性。常用的盲目搜索算法有宽度优先搜索算法和深度优先搜索算法。启发式搜索又称为有信息搜索,使用这种算法进行搜索时一般需要求解问题所属领域的特殊信息,这些信息称为启发信息。利用启发信息来引导搜索,可以缩小搜索范围、降低问题的复杂度,故能高效地对状态空间进行搜索,从而快速得到问题的解。利用启发信息搜索状态空间的算法就是启发式搜索算法。阅读拓展图搜索算法与启发式搜索算法的关系用状态空间法表示知识时,常用图结构来描述问题的所有可能的状态,其问题求解的过程就成为在状态空间图中寻找一条从初始节点到目标节点的路径。图搜索算法简单来说就是在图中寻找某个节点(代表初始状态的节点)到某个节点(代表目标状态的节点)之间的可达路径。图搜索算法的一般过程如下。1. 建立搜索图G,初始时只含有起始节点 S,搜索图 G 中每个子节点有一个指向其父节点的指针(指针即某个变量的地址,利用指针指向的地址可以读取存储器中这个位置存储的值)。建立一个 OPEN 表用于存放未扩展的节点,建立一个 CLOSED 表用于存放已扩展的节点,初始时 CLOSED 表为空。2. 将起始节点S 接入到OPEN表中,如果此节点是目标节点,则得到解。3. 如果OPEN 表为空,则输出无解,并退出(失败);否则继续执行第4步。4. 选择 OPEN 表中的第一个节点(记为节点 n),把它从 OPEN 表中移出,同时存入 CLOSED 表中。5. 如果 n 是目标节点,则输出解,并退出(成功)。此时的解是搜索图G 中沿着节点 n 指向父节点的指针方向,从 n 回溯到 S 得到的一条路径。6. 扩展节点 n 的所有节点,同时生成 n 的后继节点的集合 M(M 中不包含 n 的前驱节点),将集合 M 中的节点作为 n 的后继节点添加到搜索图 G 中。7. 对于那些在搜索图 G 中没有出现过,但是属于集合 M 的节点,设置一个通向 n 的指针,把集合 M 中的节点(以下简称 M 节点)放入 OPEN 表中;对于已经在 OPEN 表或者 CLOSED 表中的 M 节点,确定是否需要更改该节点到 n 的指针;对于已经在 CLOSED 表中的每个 M 节点,确认是否需要更改搜索图 G 中通向它的每个后继节点的指针。8. 按某个算法规则对 OPEN 表进行重排,转向第 3 步。图搜索算法的第 8 步(对 OPEN 表进行重排),目的是在下一次搜索时,能够选出一个最大可能为解的最优节点,为第 4 步节点扩展所使用。如果此时的排序是任意的或者没有进行过排序,那么这个算法就属于盲目搜索算法。此时也可以依据一个启发函数来排序,即使用启发式搜索算法,改善盲目搜索算法效率低的问题(搜索过程耗费较多的时间与空间)。如果能够找到一种对 OPEN 表进行重排的方法,那么就能够尽量保障每次扩展的节点是相对最优的。启发式搜索算法中有一个函数,称为估价函数,将这个函数作为标准对 OPEN 表进行重排。重新排列 OPEN 表的过程,需要估算每一个节点的可能性,衡量可能性的标准就是估价函数。通常使用符号 f 表示这个估价函数,节点 n 的估价函数值就记作 f (n)。f 就是起始节点通过节点 n 到达目标节点的最小代价路径上的一个估算代价。重排后,可以认为搜索是沿着某个最有希望的方向进行节点扩展的。A*算法是一种特殊的启发式搜索算法。将节点S到节点n的最小代价路径的代价定义为g(n),从节点n到某个目标节点的追加代价路径的代价定义为h(n)。定义f (n) = g (n) + h(n),f (n) 是节点 S 到节点 n 之间的一条最佳路径的实际代价加上节点 n 到某目标节点的一条最佳路径代价之和,所以 f (n) 是从节点 S 开始通过节点 n 的一条最佳路径的代价。采用估值函数f(n)=g(n)+h(n)的启发式搜索算法称为A*算法,A*算法的一般过程如下。1. 将起始节点 S 放到 OPEN 表中,记 f = h,令 CLOSED 表为空。2. 重复下列步骤,直到找到目标节点。若 OPEN 表为空,输出无解,退出。3. 从 OPEN 表中选取一个未设置过的且 f 值最小的节点 i 作为最佳节点,加入 CLOSED表中。4. 若 i 为目标节点,则成功得解;若 i 不是目标节点,则扩展 i,得到 i 的后继节点。5. 对于每一个 i 的后继节点 j,计算 g ( j ) = g ( i ) + g ( i, j ),若 j 既不在 OPEN 表中也不在 CLOSED 表中,则加入到 OPEN 表中;如果 j 在 OPEN 表中,则用刚刚计算的 g 值与之前该节点的 g 值比较,如果新的 g 值较小,则用新值代替旧值,指针从 j 指向 i ;如果 j 在CLOSED 表中,则将 j 移回 OPEN 表。6. 计算 f 值,并回到第 2 步。贝叶斯推理搜索算法进行搜索的过程属于确定性过程,它建立在经典逻辑的基础上,运用确定性的知识进行精确搜索或推理。而现实中的情境往往比较复杂,比如,人们普遍认为夜里下雨,第二天早晨草地一定会是湿的,而实际到了早上草地可能就干了,也许因为风的因素,草上的雨水很快就被吹干了。对于这样的不确定性问题,很难使用经典的精确推理方法来反映此类情境。解决这类问题往往需要根据人类已有的经验来计算某种状态出现的概率,这种推理方式叫做贝叶斯推理。贝叶斯推理根据贝叶斯定理进行概率计算及推理,属于不确定性推理方法。贝叶斯定理表述如下:符号P (A|B )表示事件B 发生的条件下事件A 发生的概率,P (A|B )等于事件A 发生的条件下事件B 发生的概率乘以事件A 发生的概率,再除以事件B 发生的概率。思考活动利用贝叶斯定理推断是否下雨周日一早天空多云,小王与同学小李相约去户外露营。小王对小李说:“60%下雨天的早上是多云的,我们真的要决定外出露营吗?”小李不甘心就此取消露营活动,作出如下分析:1. 多云不见得会下雨,咱们城市约有 30% 的早上是多云的;2. 咱们城市平均一个月才下 3 天雨,所以今天下雨的概率只有 10%。小王现在不知道该不该出行,于是询问自己的人工智能助手。人工智能助手根据小王提供的信息,利用贝叶斯定理开始推测:某天早上有云,当天会下雨的概率即P( 雨 | 云 ),由公式可知P( 雨 | 云 )=P( 雨 )P( 云 | 雨 )/P( 云 ) ;P( 雨 ) 就是某天下雨的概率,也就是小王与小李所在城市下雨的概率,为 10% ;P( 云 | 雨 ) 是在下雨天,且早上有云的概率,P( 云 | 雨 ) = 60% ;P( 云 ) 是早上多云的概率,为 30%。小王的人工智能助手很快就得出了结论。思考:1. 你觉得小王的人工智能助手推算的P( 雨 | 云 ) 是多少呢?据此帮助小王决定是否去露营。2. 根据该场景,解释求解P(A |B ) 时,为什么要使用P(B |A ) ?日常生活中也常使用贝叶斯定理进行决策。比如在河边钓鱼时看不清楚河里有没有鱼,似乎只能盲目选择,但实际上可以根据贝叶斯定理,利用以往积累的经验找一处回水湾区开始垂钓。这就是根据先验知识进行主观判断,在一处钓过鱼之后,对这个地方有了更多了解,然后再进行选择。所以,在对事物认识不全面的情况下,贝叶斯定理不失为一种理性且科学的推理方法。阅读拓展搜寻失踪的“天蝎号”1968年5月,美国海军“天蝎号”核潜艇在亚速海海域失踪。军方通过各种技术手段调查无果,最后不得不求助数学家约翰·克雷文(John Craven)。约翰·克雷文提出的方案使用了贝叶斯定理。他召集了数学、潜艇和海事搜救等各个领域的专家,通过贝叶斯定理一一排除小概率发生意外事故的搜索区域,具体计算情况如图 2.1.7 (参见教材P33)所示,图中不同的颜色代表某一时刻不同区域能搜救到潜艇的不同概率。贝叶斯定理已应用于诸多领域,从物理学到癌症研究,从生态学到心理学,从博弈论到教育学等。特别是在人工智能领域,很多模仿人脑思考和决策的过程,被设计成一个个贝叶斯推理的程序,让我们能够轻松感受到贝叶斯定理的魅力。专家系统专家系统是一个智能计算机程序系统,其内部包含有某个领域专家水平的大量知识和经验,能够利用人类专家的知识和解决问题的方法来处理该领域的问题。专家系统模拟人类专家的决策过程,以解决那些需要人类专家处理的复杂问题。在与用户进行交互时,专家系统进行决策的过程为:如果情况是 A,那么请☆☆☆,否则请△△△。其中专家系统作出决策时,依据某个领域的专业知识和经验,根据该领域专家水平的知识和经验来构建规则。专家系统根据规则来判断用户的需求属于哪一种情况,并按照规则进行判断和预测,场景如图 2.1.8 (参见教材P33)所示。专家系统的组成专家系统一般包括知识获取、知识库、综合数据库、推理机、解释器和人机交互界面(接口),如图 2.1.9 (参见教材P33)所示。知识获取是知识工程师把获取的专业知识进行加工整理并加入到知识库中的过程。知识库用于存储某领域专家系统的专业知识,包括事实、可行性操作与规则等。为了建立知识库,要解决知识获取和知识表示等问题。综合数据库也叫全局数据库,用于存储某领域或问题的初始数据和推理过程中得到的中间数据。推理机用于存储推理所采用的规则和控制策略的程序,使整个专家系统能够以合乎逻辑的方式协调地工作。推理机能够根据知识进行推理,得出结论,而不是简单地搜索现成答案。解释器能够向用户解释专家系统的行为,包括解释推理结论的正确性以及系统输出其他候选解的原因。人机交互界面是系统与用户、知识工程师的交互接口。通过该界面,用户可以输入基本信息,回答系统提出的相关问题,系统则输出推理结果及相关解释。构建专家系统的一般流程构建专家系统的一般流程如图 2.1.10 (参见教材P34)所示。设计初始知识库。问题知识化,辨别所研究问题的实质,梳理清楚要解决的任务是什么,是否还可以拆分成子任务或者子问题,包含哪些典型数据;知识概念化,概括知识表示所需要的关键概念和关系,比如数据类型、控制策略等;概念形式化,确定用来组织知识的数据结构形式,应用人工智能知识表示方法来表达关键概念、子问题及信息流特性;形式规则化,即编制规则,把形式化的知识转化为用编程语言表示的计算机可执行程序;规则合法化,检验知识的合理性、规则的有效性。原型机的开发与试验。建立整个系统所需要的实验子集,包括整个模型的典型知识,而且只涉及与试验相关的足够简单的任务和推理过程。知识库的改进与归纳。反复对知识库和规则进行试验,归纳出更完善的结果。阅读拓展中医诊断专家系统1979 年,我国第一个中医诊断专家系统——诊疗肝病计算机程序问世。到了 20 世纪 80 年代,国内相继出现了中医肾系统疾病计算机诊疗、教学、护理和咨询系统,妇科专家诊疗系统,医学智能通用编辑系统和乙型肝炎专家诊疗系统等。目前,中医专家系统的代表是数字名医服务系统和中医全科专家系统。某中医诊断专家系统根据症状自动生成的诊断数据如表 2.1.1 (参见教材P35)所示,该系统的工作流程如图 2.1.11 (参见教材P35)所示。医师通过对患者体征的观察,结合病人症状,将获取的相关数据输入专家系统,专家系统根据系统数据库中存储的中医诊断知识,反馈几种可能的证名,再由医师根据专家系统提供的结果完成诊断。项目实施分析手机中的智能应用,体会搜索与推理的魅力一、项目活动大家平时可使用智能手机应用程序辅助学习,比如记忆单词应用程序等。根据自己的学习生活,结合本节学习的关于搜索与推理的知识,从手机应用程序类型、所使用人工智能的技术原理、对应实现原理的算法等方面展开小组讨论,设计一个适合自己的、利用人工智能搜索与推理算法的智能学习类手机应用程序的方案,并用思维导图呈现。二、项目检查1. 各小组绘制手机应用程序设计方案的思维导图,并在班级内进行交流、分享。2. 根据思维导图,讨论是否存在只使用搜索与推理算法的人工智能,思考如何能够让设计的智能手机应用程序效率更高。课后作业1. 什么是不确定性推理?为什么需要不确定性推理?上网搜索最近一年足球赛事的对战数据,收集某两支球队的历史胜率,并计算其中一支球队获胜的概率。利用这些概率,根据贝叶斯定理建立一个预测球队胜负的专家系统核心功能的思维导图。2. 智能手机里的应用程序会根据人们的浏览偏好进行内容推送,思考智能应用程序是如何推测出人们的喜好,并在大量的知识数据中找到人们感兴趣的内容的。板书设计第 2 章 人工智能技术基本原理 2.1 知识表示与专家系统1.知识表示2.启发式搜索3.贝叶斯推理4.专家系统普通高中教科书信息技术 选择性必修 4 人工智能初步编著人民教育出版衬课程教材研究所信息技术课程教材研究开发中心中国地图出版社教材出版分社总 主 编 :祝智庭 樊 磊副总主编 :高淑印 郭 芳 李 锋本册主编:方海光 马 涛编写人员:袁中果 高永梅 王 岚 谭向华 吴劲松 展开更多...... 收起↑ 资源预览