Artificial Intelligence 人 工 智 能 Prof. Dong Hongye 董鸿晔 教授 donghy001@163.com
第2章 基于规则的知识系统 2.1 起源 2.2 基于规则的系统框架 2.3 规则表达 2.4 知识获取 2.5 推理机 2.6 不确定性推理
本章重要词汇(名词解释) 知识库 推理机 解释器 控制机 基元 谓词 命题 搜索策略 验证机制 概率决策 模糊推理 可信度
2.1 起源 从人工智能的诞生起,人工智能的研究者们就期待着研究一种全能的智能系统,能够像人类一样学习、推理和解决问题。 如H . Simon、A . Newell等于1956年研制的GPS系统,就称为通用问题求解器,这类系统为初步揭示人类智能活动及计算机模拟提供了很好的基础。
乐观地预言 但是,当时对人类智能模拟的艰难性预估明显不足,如一些研究者在20世纪50年代中后期乐观地预言:10年后,到20世纪60年代中后期,人类中秘书职业将消失,取而代之的电子秘书,能够像人类秘书一样帮助主人进行像一些日常事务处理这类的智能活动。 但几十年过去了,设计通用的智能问题求解的努力一直没有取得重大进展,人类的智能活动比人工智能的开创者们所想象的复杂程度要高得多。
感知机模型 另外像Rosenblatt发明的模拟人类低层神经元活动的感知机模型也面临重大缺陷,从微观角度逐步向上模拟人类智能能力的努力也受到一定的挫折。 这促使人工智能的研究者考虑两个问题: ① 人类智能活动的核心是什么? ② 是否存在一个解决方案,可以从宏观上模拟人类的智能活动。
DENTRAL 专家系统 首先的努力来自美国斯坦福大学,他们在1968 年左右研制了DENTRAL 专家系统,这是一个通过对矿石进行物理化学元素分析,从而帮助人类寻找矿山的辅助决策系统。 这个系统采用了产生式表达方式作为系统模拟智能活动的核心,同时通过概率理论对智能活动的不确定性进行评论。 这些工作为以后的智能活动模拟提供了良好的示范案例。
MYCIN 疾病诊断系统 另一个重要的研究来自以Short liff为首的一批科学家,他们以医学领域作为智能活动的模拟对象,研制了 MYCIN 疾病诊断系统。这个系统取得了巨大的成功,它第一次以专家系统的名称出现,提出了模拟人类专家在特定领域中智能活动的目标,它的设计框架是指导以后专家系统构造的基本参照,像推理机制、不确定性推理等概念都是由它培育成熟。
人工智能与专家系统 因为诊断类、智能决策类的系统在社会各阶层中有着广泛的用武之地,所以MYCIN等一批先驱系统的出现,在计算机科学中产生了重大的影响,标志着人工智能从实验室走向现实生活。 人工智能与专家系统被认为是计算机科学中一个最活跃的领域,到20世纪80年代初,在各个领域中研制的专家系统总数已经超过千个。
知识工程 1977 年,Stanford 大学计算机系著名教授Feigenbaum 根据培根 “知识就是力量” 这句名言,首先提出了“知识工程”的口号,试图利用人工智能的理论与技术来扩大人们智能活动的范围与能力,进一步推动社会的发展。 同时人们从大量的专家系统研制活动中抽象出一些专家系统设计工具,如OPSS、CLIPS 等等,通过提供一些知识表达方案、不同的推理机制与不确定性推理方案来帮助人们进行专家系统设计。
智能计算机 由于知识工程的初步成功,人们初步品尝到智能技术的甜头,这时正处在社会经济发展巅峰状态的日本提出了宏伟的“五代机计划”,试图利用知识工程技术一举超越欧美,成为高新技术的排头兵。 欧洲为了在这场竞赛中不至于被美国与日本落下,也提出了“尤里卡计划”。 在我国的高新技术“863计划”中,智能计算机也是一个重点专题。
2.2基于规则的系统框架 专家系统又称为规则库系统或基于规则的系统(Rule-based System),这是因为这样的系统与传统的信息管理系统、决策支持系统相比,它的核心是利用产生式规则表达的专家经验。
系统智能能力的关键 与其他计算机程序不同的是,计算机代码量并不是系统能力的唯一标准,甚至不是主要标准,而规则的多少才是系统智能能力的关键因素,系统问题求解的能力随着规则的增加而增加,规则不是通过计算机编程实现的,而是通过一个称之为知识获取接口来实现。
它由知识获取接口、知识库、推理机、控制机、工作区及解释器组成 。 这是一个常规的专家系统结构图。 它由知识获取接口、知识库、推理机、控制机、工作区及解释器组成 。 与其他计算机程序不同的是,计算机代码量并不是系统能力的唯一标准,甚至不是主要标准,而规则的多少才是系统智能能力的关键因素,系统问题求解的能力随着规则的增加而增加,规则不是通过计算机编程实现的,而是通过一个称之为知识获取接口来实现。
它的运行机理是: 在设计阶段,专家通过知识获取接口将经验知识转化为产生式规则,存储在知识库中; 在运行阶段,用户将问题输人工作区中,推理机根据目前的问题调用知识库中的知识进行推演,控制器根据推理机的进程决定问题求解是否完成,如果完成,解释器负责将推理结果解释成用户能够理解的方式输出。 下面就根据这个系统结构框架进行描述。
2.3规则表达 从认知心理学角度来看,产生式规则代表了人类在思考问题时注意力的转移过程,是人类智能活动的一种重要体现,它往往从一种前提条件的验证产生一种新的状态,从而进一步明确问题求解的方向。 正如上面所述,专家系统又称为规则库系统,核心是一个以规则为表达机制的知识库。那么什么是规则,它们又是以什么形式进行描述的呢?
“天下雨”- “带伞” 例如有一条规则“如果天下雨,则需要带伞”,一旦前提条件“天下雨”被验证,一种新的状态“带伞”就出现在思考者的头脑中。 如果还有一条规则“如果没有伞,则需要从同事处借一把”,则思考过程将进一步转移。 (有意思的是.这一段话是两条规则嵌套,从这儿就可看到规则在日常生活中应用的广泛。)
几个概念 基元表达事物的最小基本单位,如“人”、“细菌”等等。 谓词表达事物动作或状态的词汇,如“大于”、“取值”等等。 命题就是利用基元作为谓词的变量来组织的一个表达式,表明事物的动作或状态。 逻辑表达式就是利用逻辑谓词将一组命题组合起来形成一个命题。 逻辑运算符号有与(and)、或(or)、非(not) 逻辑表达式的值有两个:真(true)、假(false) 为了更好地描述产生式规则,先说明几个用到的概念。 如国民生产总值大于1万亿美元,在人工智能研究中一般写成:(大于国民生产总值1万亿美元),写成计算机内部表达:( > gdp 10000),其中GDP单位为亿美元。
产生式规则的具体形式 有了以上概念,规则就可以清楚地进行描述,产生式规则的具体形式是: 如果 前提条件 则 结论 如果 前提条件 则 结论 前提条件与结论都是命题,其中前提常采用逻辑表达式,结论一般是能够对系统状态产生变化的命题(组)。
举例 规则: 如果 体温超过38 ℃ 并且咳嗽 则 可能是感冒 写成计算机中的内部表达可能是: 如果 体温超过38 ℃ 并且咳嗽 则 可能是感冒 写成计算机中的内部表达可能是: if ( and ( > body-temp 38 ) ( check state cough ) ) then ( set state catch-cold )
2.4知识获取 知识获取是专家系统中最复杂的一项任务,也是一个专家系统是否成功的关键。 对专家系统的设计者而言,如果说系统的建造是设计一个智能工具的话,那么这个智能工具的能力大小即由从专家那儿获取的知识来决定。
专家知识——规则 专家系统采用规则作为知识表达的形式,那么知识获取就是怎样将专家知识转化为计算机中的规则。 由于专家知识存放在人类的大脑中,相对于计算机系统而言,它显得缺少条理,多少有点零乱,特别是非学者型经验丰富的专家,他们解决问题的方法很多,但往往不能符合规则的形式,并且时常有矛盾。
知识工程师 在知识获取过程中,有一类角色称为 他们—— 或者由专家系统的设计者担任, 或者由对专家系统原理比较熟悉的计算机程序员承担, 负责与人类专家进行沟通、协作,将他们的知识转化为计算机中的规则。
知识获取的方式有两大类: 评 价 方 式 一类是通过知识工程师手工编辑的方式将专家知识编入计算机; 另一类是通过计算机程序,用导航式图形界面进行知识获取。 前者效率较低,但知识的精确性较高; 后者效率较高,但如果没有知识工程师的介入,可能造成知识形式正确,但知识内容准确性较低的局面。 评 价
手工编辑的方式 知识工程师首先应制定一份知识获取方案,使专家明白知识获取的特点、意义、表达方式、过程、时间安排等等; 其次可以本领域的特点,提出需要求解的问题,如在医学疾病诊断儿科领域中,可以先列出所有的儿科疾病; 然后根据每一个问题,让专家提出解决方法,逐步向中间过程、基元发展,每发展一步可能会引出一系列的规则,将这些规则编制成计算机的表达形式输入系统。
导航式知识获取 根据规则表达的形式,采用导航式知识获取程序,自动提示专家将问题求解知识转化为规则输入系统,目前这种系统较为流行。 当前采用这样的系统,知识工程师一定要加强后期的调试过程,配合专家加强知识的完备性与一致性。
推理机的实现就是采用什么样的搜索策略和什么样的验证机制。 2.5推理机 所谓推理机就是根据目前的状态去搜索相应的知识,达到解决问题的目的。因此—— 推理机的原理就是搜索加验证。 推理机的实现就是采用什么样的搜索策略和什么样的验证机制。
搜索策略 三种搜索策略: 一次性搜索 重复搜索 循环搜索
一次性搜索 针对需要求解的问题,仅对规则库从头到尾进行一次搜索,不管系统状态是否改变。 这种策略对于简单的领域或问题求解过程十分清晰的系统非常有效。
重复搜索 在规则集中,从头到尾选择规则进行验证。 一旦某条规则被激活,由于激活规则有可能改变系统状态,故搜索指针回到规则集的开始重新进行搜索。 搜索终点是整个规则集都不能激活新的规则。
循环搜索 与重复搜索不同的是,当系统状态改变时,系统并不中止目前的推理搜索,而是继续从当前搜索点搜索下去,直到所有规则集中的规则都不能激活。 重复搜索与循环搜索选取规则可能不一样,它们之间没有优劣可分,主要看工作领域适合什么样的搜索方式。
验证机制 一条规则搜索到推理机后是否被激活,主要看规则的前提条件是否为真,由于前提条件一般是由命题组成,故对规则的验证就是对命题的验证过程。 命题的验证从原理上主要采用数理逻辑中归约原理及谓词运算来实现.即利用所有事实组成状态空间,将规则作用状态空间进行归约,最终得出真、假及无关。
在实际编程中更常用函数计算来实现命题的验证。一般而言,专家系统的设计者应设立公共函数库来实现验证的基本功能,另外针对本领域的特点设计一些特殊的函数库。 公共的函数有>、<、=等等,如命题:体温大于37℃ ,可写成(>体温37) ,而验证过程就是将目前事实表中的实际体温代替命题中的体温变量,再进行函数计算。 另外针对特定的领域可能需要设计特殊的函数。如针对宏观经济领域需要增加计算增长率的函数等等。
2.6不确定性推理 不确定性推理是指人类能从不完全确定的复杂环境中,利用现存的、不完备的知识,找出最好的解决问题的道路的能力。具体来说,不确定性推理的产生有以下几种因素: (1)知识不完备性 (2)检测手段的不完备性 (3)知识获取的不完备性
(1)知识不完备性 人类知识是逐步积累的过程,可以说知识的完备性对人类永远是一个追求的目标。以医学为例,人们不断地努力,使得大量的疾病特别是历史上对人类整体产生威胁的传染病(如天花、麻风病)得到有效的控制甚至消失,同时像癌症这样的疑难病症也逐步取得进展,但毕竟要彻底治愈所有的癌症还有相当长的路要走,而且像艾滋病这样的新型病毒也会出现,从而使得人们需要掌握新的知识才能解决问题。
(2)检测手段的不完备性 有时,虽然知识已经足够多了,但对环境的了解缺少有效的手段。如在医学诊断中,大、中、小医院配备的化验设备就不一样。 另外,即使同一种病,病人在对自己病情的自诉中也存在差异,有时不同的病,病人在自诉中却很相似,这就需要不确定性推理来进行甄别,采取最有效的措施解决问题。
(3)知识获取的不完备性 由于专家对知识掌握的局限,使得获取的知识带有一些可能性的条件。例如,如果病人发烧、咳嗽,则可能感冒了,也可能是其他病症。另外,专家知识的遗漏甚至不正确也是导致不确定性推理出现的必要。 另外,像计算能力的限制、多种解决方案的同存,也是产生不确定性推理的因素。
目前,不确定性推理的解决方案很多,下面重点介绍三个普遍采用的方法: 三个方法 目前,不确定性推理的解决方案很多,下面重点介绍三个普遍采用的方法: 概率决策方法 模糊推理方法 可 信 度 计 算
概率决策 概率理论中是以事件为基础的,如果我们将知识表达中的命题看作是基础事件,则规则的发生概率可以用如下基本的概率公式来计算。 设 P(E) 为事件 E 发生的概率,则 0 ≤ P(E) ≤ 1
如果事件E1与E2是互相独立的事件,则基本逻辑关系交(∩)、并(∪)和非(~)之间的概率计算可用如下公式计算 :
如果事件E1与E2是相互关联的,则需要利用条件概率计算,在这方面,通常利用Bayes定理进行。Bayes条件概率定理可表述为: 其中P(E1 | E2) 为E2事件为真时E1事件的先验概率。
由于我们更多时需要计算事件E1在事件E2为真时发生的概率,所以上式更多地被转化为下列公式: 概率推理方法理论比较完备,计算比较准确,但要取得先验概率是一件困难的工作,这是不确定性推理中的一个障碍。
如果用感冒来代表事件E1 ,用咳嗽来代表事件E2,我们希望得到咳嗽时感冒的概率:P(感冒 | 咳嗽)。我们通过统计方法可以得到(先验概率): 平时感冒的人为千分之五 P(E1), 咳嗽的人百分之一 P(E2), 医生在平时工作时感觉到感冒的人中有三成咳嗽P( E2 | E1 ), 则可以得到: P(感冒 | 咳嗽) = 0.3 · 0.005 / 0.01 = 0.15
模糊推理 在知识获取过程中,我们经常会碰到像“如果发高烧,则需要打退烧针”这样的规则,什么是高烧?不同的专家针对不同的病人有不同的解释,对这样的现象我们往往利用模糊数学中的一些方法进行不确定性推理,我们称为模糊推理。
模糊推理中一个重要概念就是隶属度和隶属度函数。隶属度就是事物t属于类S的可能性,隶属度函数f (x| s)就是事物在类S上隶属度的变化过程。在模糊推理中,隶属度函数应该满足:
在进行逻辑推理时,需要用到如下模糊逻辑: 模糊逻辑在模拟人类智能活动中有良好的效果,但由于发展时间比较短,整个理论体系不是特别成熟,特别是隶属度函数的选取,没有严格的理论支撑,使得我们在应用中很难说系统调到最优状态。
可信度计算 以Short liff为首的科学家在研制MYCIN专家系统时,没有采用传统的基于概率的计算方法,而是通过规则的可信度这个概念进行不确定性推理的。 规则的可信度表达了专家对规则确认的程度。
可信度实际上由信念增加值MB与信念下降值MD两个部分组成。 设假设为h, 证据为e,则 MB ( h | e ) 代表证据e为真时假设h 的信念增加值; MD ( h | e ) 代表证据e为真时假设h 的信念降低值, 相应的可信度为:
一般而言,一条规则的MB ( h | e )、MB ( h | e ) 是由专家根据经验得出的,对于逻辑推理,可以应用如下定理进行推广。
假设间逻辑“与”关系为: 假设间逻辑“或”关系为: 可信度计算是在Carnap证据理论上提出的一种计算方法,对专家的知识信念有很好的模拟作用,但理论基础与概率计算相比显得弱一些。
结论1 在实际实践中,每一个领域与每一个专家对知识的可靠度,信息获取的过程都有自己的观点与视角,这也决定了目前在不确定性推理上方法很多,它是人工智能研究的一个重要方向。 专家系统技术是人工智能理论与方法中比较成熟的一种体系,在工业、农业、教育、交通运输、军事等许多领域得到广泛应用。
结论2 但是在应用中要得到良好的效果,必须与其他计算机技术,如数据库技术、多媒体技术,乃至目前的互联网技术紧密结合,甚至专家系统技术在整个项目中仅作为一个核心部分,工作量并不是主要部分。 另外必须设计好知识获取接口,保持与人类专家的长期紧密关系,不断更新系统知识,从而达到延长系统的生命周期的目的。
Q & A
课堂讨论与习题(名词解释) 知识库 推理机 解释器 控制机 基元 谓词 命题 搜索策略 验证机制 概率决策 模糊推理 可信度
Prof. Dong Hongye 董鸿晔 教授 donghy001@163.com 谢谢 Prof. Dong Hongye 董鸿晔 教授 donghy001@163.com