第2章 基于规则的专家系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算智能与智能系统
第二章 基于规则的专家系统
专家系统(Expert System)概述
• “知识就是力量”
——培根
• “专家系统的力量是从它处理的知识中产生的,而 不是从某种形式主义及其使用的参考模式中产生”
——费根鲍姆
• “知识蕴涵着力量”
——费根鲍姆
• 专家系统是人工智能应用研究的一个最活跃最广泛 的课题。
External Program
Database Fact
Inference Engine
Explanation Facilities
User Interface
Developer Interface
User
Knowledge Engineer
Expert
13 13
举例:一个小型专家系统原型设计
• 该系统是基于产生式知识表示的专家系统原型设计, 结构比较简单。其模型的主要功能实现对桃树栽植密 度的决策。
Z
E
D
Rule 3: IF A is true
THEN X is true 24
24
Rule 1: IF Y is true
AND D is true
THEN Z is true
Rule 2: IF X is true A X
AND B is true
AND E is true
B
Y
THEN Y is true
16 16
17 17
18 18
一个小型专家系统原型设计
[推理设计] • 在筛选提炼的领域知识基础上,进一步构建知识
规则,以实现专家系统功能。 • 推理是从已知的知识推出蕴涵着的知识,或归纳
和发现新知识的重要方法。所有推理方法都要涉 及前提与结论之间的关系问题。 • 对于桃树栽植密度决策知识库规则,一般只分3~5 级,即推理3~5步后给出结论,如下页中图所示。
Z
E
D
Rule 3: IF A is true
THEN X is true
• 专家系统可以显示它的推理链来解释如何得到某个结 论。
• 在激发规则时,推理引擎必须作出决策。 • 执行规则有两个主要的途径:前向链接和后向链接。
25 25
基于规则的专家系统——推理控制策略
• 数据驱动的正(前)向链推理的实现
8 8
专家系统的开发方法
• 从宏观角度分析,专家系统开发常用方法主要有: 利用专家系统工具进行无编程开发和利用程序设计语言进 行编程开发。
• 前者省时、省力但缺乏灵活性 • 后者具有充分的灵活性,但需要花费一定的时间和精力用
于编写程序代码和调试。 • 目前用于专家系统编程开发的程序设计语言出现了许多种,
X&B&E Y AX CL
L&M N
Match
Fire
Knowledge Base Y&D Z
X&B&E Y AX CL
L&M N
Match
Fire
Knowledge Base Y&D Z
X&B&E Y AX CL
L&M N
Cycle 1
Cycle 2
Cycle 3
27 27
基于规则的专家系统——推理控制策略
• 工作存储器 ——建立人的短期存储器模型,存放问题事实和由 规则激发而推断出的新事实。
• 推理机 ——借助于把存放在工作存储器内的问题事实和存 放在知识库中的规则结合起来,建立人的推理模型,以推断出 新的信息。
推理机作为产生式系统模型的推理模块, 并把事实与规则的先决条件(前项)进 行比较,确定哪条规则能够被激活。通 过这些激活规则,推理机把结论加进工 作存储器,并进行处理,直到再没有其 他规则的先决条件能够与工作存储器内 的事实相匹配为止。
但是,专家系统和传统的计算机“应用程序”有着本 质的不同,专家系统所要解决的问题一般没有算法解, 并且经常要在不完全、不精确或不确定的信息基础上 做出结论。
迄今为止,关于专家系统(Expert System,简称ES)
尚无统一且精确的定义。。。。。。
3
3
• 专家系统的定义
专家系统的奠基人费根鲍姆 (E.A.Feigenbaum)认为—— “专家系统是一种智能的计算机程序,它运用知 识和推理步骤解决只有专家才能解决的复杂问 题”。
26 26
Database
A BC DE X
Database
A B C DE XL
Database
A BC DE XLY
Database
A BCDE XLYZ
Match
Fire
Knowledge Base Y&D Z
X&B&E Y AX CL
L&M N
Match
Fire
Knowledge Base Y&D Z
• 开发工具:VB(或Delphi或VC) + Access(或SQL Server)
• [问题描述]如下: 桃树栽植密度决策是运用精确知识表示专家系统的应 用实例。该专家系统要对输入的若干事实(如肥力大 小,有无灌溉等等)进行决策,得到桃树的栽植密度 为目标。
14 14
一个小型专家系统原型设计
15 15
一个小型专家系统原型设计
[知识表示] 事实和规则都属于知识的范畴。 知识的获取整理是构建专家系统的基础。 如何从零散、浩繁的文献资料中,撷取和提炼有 用知识,打造系统和知识链至关重要。
对于桃树栽植密度决策问题,适宜用产生式规则 的知识表示,将产生式知识用两个二维表表示, 一个为事实知识表,另一个为规则知识二维表, 分别如表1、表2所示。
• 目标驱动的反(后)向链推理的实现
• 基本思想:先假设一个目标;在知识库中找到那些后件部 分可能导致这个目标为真的规则集;然后再检查规则集中 每条规则的条件部分;若某条规则的实例中所含的各项均 通过用户的会话满足,或能通过用户已提供的当前数据所 匹配,则把规则的结论部分加入DB;否则把规则的条件 项作为目标,递归执行上述过程,直到子目标全部出现在 上下文中。
23 23
推理链接的例子
• 假设数据库最初包含A、B、C、D和E五种事实,知 识库中包含三个规则:
Rule 1: IF Y is true
AND D is true
THEN Z is true
Rule 2: IF X is true A X
AND B is true
AND E is true
B
Y
THEN Y is true
5
5
规则是一种知识表达技术
• 基本语法
IF
<前项>
THEN <后项>
• Biblioteka Baidu般情况下,可以有多个前项,它们之间用关键词
AND, OR或它们的组合连接。
IF <前项1> AND <前项2>
... AND <前项n>
THEN <后项>
IF <前项1> OR <前项2>
... OR <前项n> THEN <后项>
6 6
• 从专家系统的定义看其内涵,主要包括以下3方 面的内容:
(1)ES是一个或一组计算机程序,即专家系统本 身是一软件;
(2)ES具有人类专家的水平,含有以不同形式存 在的知识库;
(3)ES可以辅助解决某一特定领域中的困难问题, 特别是那些需要多年实际经验积累才能做出准 确判断的问题。
7 7
专家系统研发团队中的主要参与者
• 基于规则的专家系统是一个计算机程序,该程序使用一 套包含在知识库内的规则对工作存储器内的具体问题信 息(事实)进行处理,通过推理机推断出新的信息。 如图(基于规则的工作模型)
10 10
基于规则的专家系统——工作模型
• 由图可见,一个基于规则的专家系统采用下列模块来建立产生 式系统的模型:
• 知识库 ——以一套规则建立人的长期存储器模型。
Inference Engine
• 基于规则的专家系统的 基本结构---》
Explanation Facilities User Interface User
12 12
基于规则的专家系统的完整结构
External Database
Expert System Knowledge Base
Rule: IF-THEN
也就是说,专家系统是一个智能程序系统,具有 相关领域内大量的专家知识,能应用人工智能技 术模拟人类专家求解问题的思维过程进行推理, 解决相关领域内的困难问题,并且达到领域专家 的水平。
4 4
专家知识如何表示?
• 教人安全过马路
• 可以将基本知识表示成如下形式的“规则”:
IF
the ‘traffic light’ is green
Goal: Z
Pass 4 Database
AB
CD
E
X
Y Knowledge Base Y&D Z
早期以DOS为平台的主要有LISP、Turbo Prolog、Quick Basic、C等; 后期以Windows为平台、具有多媒体设计功能的主要有 Visual Basic、Visual C++、JAVA、Prolog for Windows等。
9 9
基于规则的专家系统——工作模型
• 产生式系统的思想比较简单,然而却十分有效。产生式 系统是专家系统的基础,专家系统就是从产生式系统发 展而成的。
19 19
20 20
运行参考界面
21 21
一个在使用环境中的专家系统的基本结构如图所示
在实际应用中,这5个部分构成了 一个系统.在一个专家系统结构 中,一个"知识工程师"(经常是一 个训练过的AI计算机科学家)与 应用领域的一个专家(或几个专 家)共同工作以便把专家的相关 知识表示成一种形式,以使它能 被输入到知识库.这个过程经常 由一个知识采集子系统协助。和 其他情况一样,这个子系统检查 正在增长的知识库的可能不一致 和不完备信息,然后将它们表示 给专家以做出决定。
• 特点:不用使用那些与假设目标无关的信息和知识,推理 方向性强,适用于空间较小的问题;初始目标选择带有盲 目性,且推理效率往往取决其选择。
28 28
Pass 1 Database
A BC
DE
Pass 2 Database
AB
CD
E
?
Pass 3 Database
AB
CD
E
?
Z Knowledge Base Y&D Z X&B&E Y AX CL L&M N
11 11
基于规则的专家系统的结构
Long-term Memory Production Rule
Short-term Memory Fact
REASONING
Conclusion
• 生产系统模型 Newell & Simon
Knowledge Base Rule: IF-THEN
Database Fact
THEN
the action is go
IF
the ‘traffic light’ is red
THEN
the action is stop
• 用IF-THEN形式表示的语句称为产生式规则或判断 规则。
• 规则是人工智能中知识表达最常用的形式,if部分 包含给定的信息或因素,then部分为相应的行为。
• 基本思想:当规则的左边已有事实匹配时,该规则为可用 规则;从问题已有的信息开始,建立初始上下文,正向使 用规则;运用冲突消解,选一条启用规则;将启用规则的 右边事实加入到上下文中;循环,直到达到问题目标事实, 或推理失败。
• 特点:用户的初始信息可初始批量提供,但知识的启用和 执行无目的性;系统求解要执行许多和解无关的匹配,导 致推理效率很低。
22
22
一个在使用环境中的专家系统的基本结构如图所示
系统的主要部分是知识库和推理 引擎。知识库由谓词演算事实和 有关讨论主题的规则构成。推理 引擎由所有操纵知识库来演绎用 户要求的信息的过程构成-如消 解、前向链或反向链。用户接口 可能包括某种自然语言处理系统, 它允许用户用一个有限的自然语 言形式与系统交互。也可是用带 有菜单的图形接口界面。解释子 系统分析被系统执行的推理结构, 并把它解释给用户。
• 领域专家、知识工程师、程序员、项目经理和最终用户 • “专家系统框架”——去掉知识的专家系统
Expert System Development Team
Project Manager
Domain Expert
Knowledge Engineer
Programmer
Expert System End-user
• 第一个专家系统是1965年在斯坦福大学
E.A.Feigenbaum(费根鲍姆)等人对DENDRAL的
开发,那是一个化学元素识别专家系统。现在,各
种专家系统已遍布各个专业领域,取得了很大的成
功!
2 2
• 什么是专家系统?
例如,在医学界有许多医术高明的医生,他们治病救 人的医疗实践经验丰富、有妙手回春的绝招。若把某 一具体领域的医疗经验集中起来,并以某种模式存储 到计算机中形成知识库,然后再把专家们运用这些知 识诊断治疗疾病的思维过程编成程序构成推理机,使 得计算机能像人类专家那样诊断疾病,则此程序系统 就是一个专家系统。
第二章 基于规则的专家系统
专家系统(Expert System)概述
• “知识就是力量”
——培根
• “专家系统的力量是从它处理的知识中产生的,而 不是从某种形式主义及其使用的参考模式中产生”
——费根鲍姆
• “知识蕴涵着力量”
——费根鲍姆
• 专家系统是人工智能应用研究的一个最活跃最广泛 的课题。
External Program
Database Fact
Inference Engine
Explanation Facilities
User Interface
Developer Interface
User
Knowledge Engineer
Expert
13 13
举例:一个小型专家系统原型设计
• 该系统是基于产生式知识表示的专家系统原型设计, 结构比较简单。其模型的主要功能实现对桃树栽植密 度的决策。
Z
E
D
Rule 3: IF A is true
THEN X is true 24
24
Rule 1: IF Y is true
AND D is true
THEN Z is true
Rule 2: IF X is true A X
AND B is true
AND E is true
B
Y
THEN Y is true
16 16
17 17
18 18
一个小型专家系统原型设计
[推理设计] • 在筛选提炼的领域知识基础上,进一步构建知识
规则,以实现专家系统功能。 • 推理是从已知的知识推出蕴涵着的知识,或归纳
和发现新知识的重要方法。所有推理方法都要涉 及前提与结论之间的关系问题。 • 对于桃树栽植密度决策知识库规则,一般只分3~5 级,即推理3~5步后给出结论,如下页中图所示。
Z
E
D
Rule 3: IF A is true
THEN X is true
• 专家系统可以显示它的推理链来解释如何得到某个结 论。
• 在激发规则时,推理引擎必须作出决策。 • 执行规则有两个主要的途径:前向链接和后向链接。
25 25
基于规则的专家系统——推理控制策略
• 数据驱动的正(前)向链推理的实现
8 8
专家系统的开发方法
• 从宏观角度分析,专家系统开发常用方法主要有: 利用专家系统工具进行无编程开发和利用程序设计语言进 行编程开发。
• 前者省时、省力但缺乏灵活性 • 后者具有充分的灵活性,但需要花费一定的时间和精力用
于编写程序代码和调试。 • 目前用于专家系统编程开发的程序设计语言出现了许多种,
X&B&E Y AX CL
L&M N
Match
Fire
Knowledge Base Y&D Z
X&B&E Y AX CL
L&M N
Match
Fire
Knowledge Base Y&D Z
X&B&E Y AX CL
L&M N
Cycle 1
Cycle 2
Cycle 3
27 27
基于规则的专家系统——推理控制策略
• 工作存储器 ——建立人的短期存储器模型,存放问题事实和由 规则激发而推断出的新事实。
• 推理机 ——借助于把存放在工作存储器内的问题事实和存 放在知识库中的规则结合起来,建立人的推理模型,以推断出 新的信息。
推理机作为产生式系统模型的推理模块, 并把事实与规则的先决条件(前项)进 行比较,确定哪条规则能够被激活。通 过这些激活规则,推理机把结论加进工 作存储器,并进行处理,直到再没有其 他规则的先决条件能够与工作存储器内 的事实相匹配为止。
但是,专家系统和传统的计算机“应用程序”有着本 质的不同,专家系统所要解决的问题一般没有算法解, 并且经常要在不完全、不精确或不确定的信息基础上 做出结论。
迄今为止,关于专家系统(Expert System,简称ES)
尚无统一且精确的定义。。。。。。
3
3
• 专家系统的定义
专家系统的奠基人费根鲍姆 (E.A.Feigenbaum)认为—— “专家系统是一种智能的计算机程序,它运用知 识和推理步骤解决只有专家才能解决的复杂问 题”。
26 26
Database
A BC DE X
Database
A B C DE XL
Database
A BC DE XLY
Database
A BCDE XLYZ
Match
Fire
Knowledge Base Y&D Z
X&B&E Y AX CL
L&M N
Match
Fire
Knowledge Base Y&D Z
• 开发工具:VB(或Delphi或VC) + Access(或SQL Server)
• [问题描述]如下: 桃树栽植密度决策是运用精确知识表示专家系统的应 用实例。该专家系统要对输入的若干事实(如肥力大 小,有无灌溉等等)进行决策,得到桃树的栽植密度 为目标。
14 14
一个小型专家系统原型设计
15 15
一个小型专家系统原型设计
[知识表示] 事实和规则都属于知识的范畴。 知识的获取整理是构建专家系统的基础。 如何从零散、浩繁的文献资料中,撷取和提炼有 用知识,打造系统和知识链至关重要。
对于桃树栽植密度决策问题,适宜用产生式规则 的知识表示,将产生式知识用两个二维表表示, 一个为事实知识表,另一个为规则知识二维表, 分别如表1、表2所示。
• 目标驱动的反(后)向链推理的实现
• 基本思想:先假设一个目标;在知识库中找到那些后件部 分可能导致这个目标为真的规则集;然后再检查规则集中 每条规则的条件部分;若某条规则的实例中所含的各项均 通过用户的会话满足,或能通过用户已提供的当前数据所 匹配,则把规则的结论部分加入DB;否则把规则的条件 项作为目标,递归执行上述过程,直到子目标全部出现在 上下文中。
23 23
推理链接的例子
• 假设数据库最初包含A、B、C、D和E五种事实,知 识库中包含三个规则:
Rule 1: IF Y is true
AND D is true
THEN Z is true
Rule 2: IF X is true A X
AND B is true
AND E is true
B
Y
THEN Y is true
5
5
规则是一种知识表达技术
• 基本语法
IF
<前项>
THEN <后项>
• Biblioteka Baidu般情况下,可以有多个前项,它们之间用关键词
AND, OR或它们的组合连接。
IF <前项1> AND <前项2>
... AND <前项n>
THEN <后项>
IF <前项1> OR <前项2>
... OR <前项n> THEN <后项>
6 6
• 从专家系统的定义看其内涵,主要包括以下3方 面的内容:
(1)ES是一个或一组计算机程序,即专家系统本 身是一软件;
(2)ES具有人类专家的水平,含有以不同形式存 在的知识库;
(3)ES可以辅助解决某一特定领域中的困难问题, 特别是那些需要多年实际经验积累才能做出准 确判断的问题。
7 7
专家系统研发团队中的主要参与者
• 基于规则的专家系统是一个计算机程序,该程序使用一 套包含在知识库内的规则对工作存储器内的具体问题信 息(事实)进行处理,通过推理机推断出新的信息。 如图(基于规则的工作模型)
10 10
基于规则的专家系统——工作模型
• 由图可见,一个基于规则的专家系统采用下列模块来建立产生 式系统的模型:
• 知识库 ——以一套规则建立人的长期存储器模型。
Inference Engine
• 基于规则的专家系统的 基本结构---》
Explanation Facilities User Interface User
12 12
基于规则的专家系统的完整结构
External Database
Expert System Knowledge Base
Rule: IF-THEN
也就是说,专家系统是一个智能程序系统,具有 相关领域内大量的专家知识,能应用人工智能技 术模拟人类专家求解问题的思维过程进行推理, 解决相关领域内的困难问题,并且达到领域专家 的水平。
4 4
专家知识如何表示?
• 教人安全过马路
• 可以将基本知识表示成如下形式的“规则”:
IF
the ‘traffic light’ is green
Goal: Z
Pass 4 Database
AB
CD
E
X
Y Knowledge Base Y&D Z
早期以DOS为平台的主要有LISP、Turbo Prolog、Quick Basic、C等; 后期以Windows为平台、具有多媒体设计功能的主要有 Visual Basic、Visual C++、JAVA、Prolog for Windows等。
9 9
基于规则的专家系统——工作模型
• 产生式系统的思想比较简单,然而却十分有效。产生式 系统是专家系统的基础,专家系统就是从产生式系统发 展而成的。
19 19
20 20
运行参考界面
21 21
一个在使用环境中的专家系统的基本结构如图所示
在实际应用中,这5个部分构成了 一个系统.在一个专家系统结构 中,一个"知识工程师"(经常是一 个训练过的AI计算机科学家)与 应用领域的一个专家(或几个专 家)共同工作以便把专家的相关 知识表示成一种形式,以使它能 被输入到知识库.这个过程经常 由一个知识采集子系统协助。和 其他情况一样,这个子系统检查 正在增长的知识库的可能不一致 和不完备信息,然后将它们表示 给专家以做出决定。
• 特点:不用使用那些与假设目标无关的信息和知识,推理 方向性强,适用于空间较小的问题;初始目标选择带有盲 目性,且推理效率往往取决其选择。
28 28
Pass 1 Database
A BC
DE
Pass 2 Database
AB
CD
E
?
Pass 3 Database
AB
CD
E
?
Z Knowledge Base Y&D Z X&B&E Y AX CL L&M N
11 11
基于规则的专家系统的结构
Long-term Memory Production Rule
Short-term Memory Fact
REASONING
Conclusion
• 生产系统模型 Newell & Simon
Knowledge Base Rule: IF-THEN
Database Fact
THEN
the action is go
IF
the ‘traffic light’ is red
THEN
the action is stop
• 用IF-THEN形式表示的语句称为产生式规则或判断 规则。
• 规则是人工智能中知识表达最常用的形式,if部分 包含给定的信息或因素,then部分为相应的行为。
• 基本思想:当规则的左边已有事实匹配时,该规则为可用 规则;从问题已有的信息开始,建立初始上下文,正向使 用规则;运用冲突消解,选一条启用规则;将启用规则的 右边事实加入到上下文中;循环,直到达到问题目标事实, 或推理失败。
• 特点:用户的初始信息可初始批量提供,但知识的启用和 执行无目的性;系统求解要执行许多和解无关的匹配,导 致推理效率很低。
22
22
一个在使用环境中的专家系统的基本结构如图所示
系统的主要部分是知识库和推理 引擎。知识库由谓词演算事实和 有关讨论主题的规则构成。推理 引擎由所有操纵知识库来演绎用 户要求的信息的过程构成-如消 解、前向链或反向链。用户接口 可能包括某种自然语言处理系统, 它允许用户用一个有限的自然语 言形式与系统交互。也可是用带 有菜单的图形接口界面。解释子 系统分析被系统执行的推理结构, 并把它解释给用户。
• 领域专家、知识工程师、程序员、项目经理和最终用户 • “专家系统框架”——去掉知识的专家系统
Expert System Development Team
Project Manager
Domain Expert
Knowledge Engineer
Programmer
Expert System End-user
• 第一个专家系统是1965年在斯坦福大学
E.A.Feigenbaum(费根鲍姆)等人对DENDRAL的
开发,那是一个化学元素识别专家系统。现在,各
种专家系统已遍布各个专业领域,取得了很大的成
功!
2 2
• 什么是专家系统?
例如,在医学界有许多医术高明的医生,他们治病救 人的医疗实践经验丰富、有妙手回春的绝招。若把某 一具体领域的医疗经验集中起来,并以某种模式存储 到计算机中形成知识库,然后再把专家们运用这些知 识诊断治疗疾病的思维过程编成程序构成推理机,使 得计算机能像人类专家那样诊断疾病,则此程序系统 就是一个专家系统。