《《产生式系统》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《产生式系统》PPT课件.ppt(76页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章第五章 产生式系统产生式系统产生式表示方法产生式表示方法产生式系统基本原理产生式系统基本原理产生式系统与图搜索产生式系统与图搜索产生式系统应用产生式系统应用1/29/20231第五章第五章 产生式系统产生式系统 产生式系统的体系结构是产生式系统的体系结构是 实现图搜索实现图搜索的理想程序结构,产生式已是人工智能系的理想程序结构,产生式已是人工智能系统的一种最典型最普遍的结构形式。统的一种最典型最普遍的结构形式。许多专家系统和机器学习系统都是用许多专家系统和机器学习系统都是用产生式系统实现的。从结构形式上看很多产生式系统实现的。从结构形式上看很多人工智能系统都是产生式系统。人工智能系统都是
2、产生式系统。1/29/20232第五章第五章 产生式系统产生式系统产生式表示方法产生式表示方法产生式系统基本原理产生式系统基本原理产生式系统与图搜索产生式系统与图搜索产生式系统应用产生式系统应用1/29/20233产生式表示法产生式表示法产生式产生式产生式一词是从波斯特机中借用来的。波斯产生式一词是从波斯特机中借用来的。波斯特机是一种自动机,它是根据串替换规则提特机是一种自动机,它是根据串替换规则提出的一种计算模型。其中的每一条规则就叫出的一种计算模型。其中的每一条规则就叫一个一个产生式产生式。也称。也称产生式规则产生式规则,简称,简称规则规则。这里产生式就是前面讨论过的操作、逻辑蕴这里产生式
3、就是前面讨论过的操作、逻辑蕴含式、推理规则以及各种关系(包含经验性含式、推理规则以及各种关系(包含经验性联想)的一种逻辑抽象。联想)的一种逻辑抽象。1/29/20234产生式表示法产生式表示法产生式的产生式的一般形式一般形式为:为:前件前件后件(情况后件(情况行为)行为)前件是前提,规则的执行条件。前件是前提,规则的执行条件。后件是结论或动作,规则体。后件是结论或动作,规则体。产生式规则的产生式规则的语义语义:如果前提满足,则可得结论或:如果前提满足,则可得结论或者执行相应的者执行相应的动作动作,即后件由前件触发。,即后件由前件触发。从基本事实到结论之间的复杂推理可以借助中从基本事实到结论之间
4、的复杂推理可以借助中间结论形成小型简单产生式。间结论形成小型简单产生式。1/29/20235产生式表示法产生式表示法例:一条知识的原始形态是例:一条知识的原始形态是 R:(A R:(A B)B)(C(C D)D)(E (E F)F)G)=S G)=S 引入中间结论引入中间结论S1S1,S2S2,形成一些小型的产生式,形成一些小型的产生式:R1 R1:A A B=S1 B=S1 R2 R2:C C D=S1 D=S1 R3 R3:E E F=S2 F=S2 R4 R4:S1 S1 G G=S=S R5:S1 R5:S1 S2 S2=S=S1/29/20236产生式表示法产生式表示法给定一组事实之
5、后可用给定一组事实之后可用匹配技术匹配技术寻找可用产生寻找可用产生式,其基本思想是将已知事实代入产生式的前式,其基本思想是将已知事实代入产生式的前件,若前件为真,则该件,若前件为真,则该产生式是可用产生式是可用的。的。提高提高匹配效率匹配效率的方法的方法索引匹配。为状态建立可用产生式索引表,减少可索引匹配。为状态建立可用产生式索引表,减少可用产生式搜索范围。用产生式搜索范围。分层匹配。将产生式分成若干层或组,按一定特征分层匹配。将产生式分成若干层或组,按一定特征进行分层搜索。进行分层搜索。过滤匹配。边匹配边过滤匹配。边匹配边 按某些附加特征或参数对可按某些附加特征或参数对可用产生式进行精选。用
6、产生式进行精选。1/29/20237产生式表示法产生式表示法如果一组事实可以同时使几个产生式前提为真,如果一组事实可以同时使几个产生式前提为真,常用以下方法进行选择(常用以下方法进行选择(冲突消解策略冲突消解策略):):将所有产生式排序,选最早匹配成功的一个,不管将所有产生式排序,选最早匹配成功的一个,不管其余的产生式;其余的产生式;在所有匹配成功的产生式中取最强的,即前提条件在所有匹配成功的产生式中取最强的,即前提条件最多或情况元素最多者;最多或情况元素最多者;最近用过的产生式优先(或反之);最近用过的产生式优先(或反之);给情况元素以不同的优先权;给情况元素以不同的优先权;使用估计函数使用
7、估计函数f(x)f(x)排序;排序;利用上下文限制。利用上下文限制。1/29/20238产生式表示法产生式表示法在产生式系统中,从前提到结论通常也是一棵在产生式系统中,从前提到结论通常也是一棵与或树。与或树。合取,与节点合取,与节点:一个产生式的前提包含了几个事实,:一个产生式的前提包含了几个事实,那么它的结论对应这些事实的合取。那么它的结论对应这些事实的合取。析取,或节点析取,或节点:一个结论可以由多个产生式得到,:一个结论可以由多个产生式得到,则这个结论对应这些产生式的析取。则这个结论对应这些产生式的析取。每个产生式系统每个产生式系统都隐含着许多这样的与或树。都隐含着许多这样的与或树。1/
8、29/20239产生式表示法产生式表示法F1P1F3F4F5F6BCDAP2P3P4P5F2事实事实中介事实中介事实B、C、D产生式规则产生式规则P1、P2、P3、P4、P5结论结论1/29/202310产生式表示法产生式表示法(例)(例)例例 三个聪明人问题。古代有个国王想知道他三个聪明人问题。古代有个国王想知道他的三个大王中谁最聪明,就在他们每个人前额的三个大王中谁最聪明,就在他们每个人前额上都画了一个点,他们都能看到别人点的颜色,上都画了一个点,他们都能看到别人点的颜色,但看不到别人点的颜色。国王说,你们中间至但看不到别人点的颜色。国王说,你们中间至少有一个人的点式白色的。于是重复地问他
9、们:少有一个人的点式白色的。于是重复地问他们:“谁知道自己点地颜色?谁知道自己点地颜色?”三位大臣们三位大臣们头两次头两次都回答说不知道都回答说不知道。题目。题目要求证明下一次他们全要求证明下一次他们全都会说都会说“知道知道”,并且所有的点都是白色。,并且所有的点都是白色。1/29/202311产生式表示法产生式表示法(例)(例)分析分析:这类问题的这类问题的特点特点是有有限个受试者,每个是有有限个受试者,每个人对问题都只有部分了解,无法直接求解。但人对问题都只有部分了解,无法直接求解。但在推理过程中每个人又可以从别人那里获得新在推理过程中每个人又可以从别人那里获得新的知识,重新进行推理。可以
10、的知识,重新进行推理。可以用产生式来表达用产生式来表达推理过程中所用到的各种知识推理过程中所用到的各种知识。1/29/202312产生式表示法产生式表示法(例)(例)状态集合表示:状态集合表示:用用x x1 1,x,x2 2,x,x3 3表示三个人点的颜色,表示三个人点的颜色,1 1表示白色,表示白色,0 0表示非白色。表示非白色。X X(x(x1 1,x,x2 2,x,x3 3)表示颜色分布状态。表示颜色分布状态。全部可能的状态集合全部可能的状态集合(可能界可能界PWPW0 0):(0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(0,0,0),
11、(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1)(1,1,0),(1,1,1)实际给定的状态为实际给定的状态为现实界现实界X X0 0(x(x1010,x,x2020,x,x3030)用排除法找到用排除法找到X X0 0。1/29/202313产生式表示法产生式表示法(例)(例)排除过程:排除过程:第一次,大臣只知道至少有一个人是白点,排除第一次,大臣只知道至少有一个人是白点,排除X X0 0(0,0,0)(0,0,0)状态。状态。这时如果有人看到两个非白点,根据排除的这时如果有人看到两个非白点,根据排除的状态可推知自己是白点。状态
12、可推知自己是白点。第二次大臣根据没有一个人知道自己点颜色的事实推知至少第二次大臣根据没有一个人知道自己点颜色的事实推知至少两人为白点。排除两人为白点。排除(0,0,1)(0,1,0)(1,0,0)(0,0,1)(0,1,0)(1,0,0)状态。状态。这时如果这时如果有人看到一个非白点,根据排除后得到的状态可推知自己的有人看到一个非白点,根据排除后得到的状态可推知自己的点是白的。点是白的。第三次,大臣们根据仍无人知道自己点颜色的新事实推知没第三次,大臣们根据仍无人知道自己点颜色的新事实推知没有一个非白点出现,即有一个非白点出现,即X0X0(1,1,1)(1,1,1)。于是三人都知道自己。于是三人
13、都知道自己点的颜色是白的。点的颜色是白的。1/29/202314产生式表示法产生式表示法(例)(例)引入中介状态并定义下述符号:引入中介状态并定义下述符号:S Si i i i大臣看到的非白点数;大臣看到的非白点数;W Wi i i i大臣猜出自己点的颜色否。如果他宣布已大臣猜出自己点的颜色否。如果他宣布已知道自己点的颜色,为知道自己点的颜色,为1 1,否则为,否则为0 0;nX nX0 0中白点的个数。中白点的个数。1/29/202315产生式表示法产生式表示法(例)(例)(1)(1)(已知已知)(n=1)X(n=1)X0 0 (0,0,1),(0,1,0),(0,1,1),(1,0,0),
14、(1,0,1),(1,1,0),(1,1,1)(0,0,1),(0,1,0),(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1);(2)(2)(有人看见两个非白点有人看见两个非白点)(n=1)(n=1)(S(Si i=2)=2)=(W=(Wi i=1),(i=1,2,3,=1),(i=1,2,3,下同下同);(3)(3)(i)i)(W(Wi i=1)=1)(n=1)=(n=1)(n=1)=(n=1);(4)(n=1)=(4)(n=1)=(i)i)(W(Wi i=1)=1);(5)(5)(i)i)(W(Wi i=0)=0)(n=1)=(n=2);(n=1)=(n=2)
15、;(6)(n=2)X(6)(n=2)X0 0 (0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1)(0,1,1),(1,0,0),(1,0,1),(1,1,0),(1,1,1);(7)(7)(有人看见一个非白点有人看见一个非白点)(n=2)(n=2)(S(Si i=1)=1)=(W=(Wi i=1);=1);(8)(8)(i)i)(W(Wi i=1)=1)(n=2)=(n=2);(n=2)=(n=2);(9)(n=2)=(9)(n=2)=(i)i)(W(Wi i=1);=1);(10)(10)(i)i)(W(Wi i=0)=0)(n=2)=(n=3);(n=2)=(n
16、=3);(11)(n=3)X(11)(n=3)X0 0 (1,1,1)(1,1,1);(12)(n=3)=(12)(n=3)=(i)i)(W(Wi i=1).=1).1/29/202316产生式表示法产生式表示法(例)(例)上述结果可以推广到上述结果可以推广到更一般的情况更一般的情况:设有设有m m个个大臣,国王说至少有大臣,国王说至少有l l个人的点是白色的个人的点是白色的,则有,则有下述产生式:下述产生式:(1)(1)(n=l)X(n=l)X0 0 x|x x|x中的白点数中的白点数=l=l;(2)(2)(n=l)(n=l)(S(Si i=2)=2)=(W=(Wi i=1),(i=1,2,
17、m,=1),(i=1,2,m,下同下同);(3)(3)(i)i)(W(Wi i=1)=1)(n=l)=(n=l)(n=l)=(n=l);(4)(4)(n=l)=(n=l)=(i)i)(W(Wi i=l)=l);(5)(5)(i)i)(W(Wi i=0)=0)(n=l)(n=l)(l(n=l(l(n=l1);1);(6)(6)(i)i)(W(Wi i=0)=0)(n=l)(n=l)(l(lm-1)=(nm-1)=(nm)m)。1/29/202317第五章第五章 产生式系统产生式系统产生式表示方法产生式表示方法产生式系统基本原理产生式系统基本原理产生式系统与图搜索产生式系统与图搜索产生式系统应用产
18、生式系统应用1/29/202318产生式系统基本原理产生式系统基本原理组成和分类组成和分类运行过程运行过程常用算法常用算法1/29/202319产生式系统基本原理产生式系统基本原理(组成和分类)(组成和分类)产生式系统结构产生式系统结构产生式规则库产生式规则库(知识库知识库)推理机(控制)推理机(控制)全局数据库全局数据库1/29/202320产生式系统基本原理产生式系统基本原理(组成和分类)(组成和分类)组成组成全局数据库全局数据库人工智能系统的数据结构中心。是人工智能系统的数据结构中心。是一个动态数据结构,用来存放初始事实数据、中间一个动态数据结构,用来存放初始事实数据、中间结构和最后结果
19、。对应叙述性知识。结构和最后结果。对应叙述性知识。产生式规则库产生式规则库作用在全局数据库上的一些规则作用在全局数据库上的一些规则的集合。每条规则都有一定的条件,若全局数据库的集合。每条规则都有一定的条件,若全局数据库中内容满足这些条件可调用这条规则。对应过程性中内容满足这些条件可调用这条规则。对应过程性知识。知识。推理机推理机负责产生式规则的前提条件测试或匹配,负责产生式规则的前提条件测试或匹配,规则的调度和选取,规则体的解释和执行。对应控规则的调度和选取,规则体的解释和执行。对应控制性知识。制性知识。1/29/202321产生式系统基本原理产生式系统基本原理(组成和分类)(组成和分类)例例
20、 旅行推销员问题。求从旅行推销员问题。求从A A城出发,经过其他城市一次城出发,经过其他城市一次且仅一次,最后回到且仅一次,最后回到A A城的最小费用路线。城市之间的城的最小费用路线。城市之间的交通费用标在相应的联线上。建立产生式系统。交通费用标在相应的联线上。建立产生式系统。BCADE713109656710101/29/202322产生式系统基本原理产生式系统基本原理(组成和分类)(组成和分类)(1 1)全局数据库全局数据库(已访问过的城镇名称序列)。(已访问过的城镇名称序列)。约约束条件是除城镇束条件是除城镇A A之外其他名称不得在序列中重复出现;之外其他名称不得在序列中重复出现;只有所
21、有的名称都在序列中出现后,城镇只有所有的名称都在序列中出现后,城镇A A才能重复出才能重复出现。现。(2 2)规则集规则集如下表所示如下表所示。(3 3)推理推理:(A A)(ABAB)(ABEABE)(4 4)终止条件终止条件序列始于序列始于A A,终止于,终止于A A,其中包含其,其中包含其他所有城镇一次,且费用最少。他所有城镇一次,且费用最少。(5 5)各种各种搜索策略搜索策略选择规则,如广度优先搜索,最好优选择规则,如广度优先搜索,最好优先搜索等。先搜索等。R2R51/29/202323产生式系统基本原理产生式系统基本原理(组成和分类)(组成和分类)规则集规则集 规则规则动作动作条件条
22、件R R1 1下一步到下一步到A A系列中包含所有城镇时可用系列中包含所有城镇时可用R R2 2下一步到下一步到B B每条规则只能使用一次,即每条规则只能使用一次,即序列中已有某城镇时,不能序列中已有某城镇时,不能再使用相应规则再使用相应规则R R3 3下一步到下一步到C CR R4 4下一步到下一步到D DR R5 5下一步到下一步到E E1/29/202324产生式系统基本原理产生式系统基本原理(组成和分类)(组成和分类)与一般分级组织的计算机软件相比具有特点:与一般分级组织的计算机软件相比具有特点:全局数据库的内容可以为所有规则所访问,没有任何全局数据库的内容可以为所有规则所访问,没有任
23、何部分是专为某一规则建立的,这种特性便于模仿智能行部分是专为某一规则建立的,这种特性便于模仿智能行为中的强数据驱动。为中的强数据驱动。规则本身不调用其他规则。规则之间的联系必须通过规则本身不调用其他规则。规则之间的联系必须通过全部数据库联系。全部数据库联系。全局数据库、规则和推理机之间相对独立,这种积木全局数据库、规则和推理机之间相对独立,这种积木式结构便于整个系统增加和修改知识。式结构便于整个系统增加和修改知识。1/29/202325产生式系统基本原理产生式系统基本原理(组成和分类)(组成和分类)分类体系(尼尔逊)分类体系(尼尔逊)按搜索策略分按搜索策略分不可挽回(不可挽回(irrevers
24、ibleirreversible)的产生式系统)的产生式系统试探性的(试探性的(TentativeTentative)产生式系统)产生式系统回溯式(回溯式(BackingBacking)产生式系统)产生式系统图搜索式(图搜索式(Graph SearchGraph Search)产生式系统)产生式系统按搜索方向分按搜索方向分向前产生式系统(向前产生式系统(Forward Production SystemForward Production System)向后产生式系统(向后产生式系统(Backward Production SystemBackward Production System)双向
25、产生式系统(双向产生式系统(BiBidirectional Production Systemdirectional Production System)两种特殊的产生式系统两种特殊的产生式系统可交换的(可交换的(CommutativeCommutative)产生式系统)产生式系统可分解的(可分解的(DecomposableDecomposable)产生式系统)产生式系统1/29/202326产生式系统基本原理产生式系统基本原理组成和分类组成和分类运行过程运行过程控制策略与常用算法控制策略与常用算法1/29/202327产生式系统基本原理产生式系统基本原理(运行过程)(运行过程)推理机一次运行
26、过程推理机一次运行过程从规则库中取出一条规则,将其前提同从规则库中取出一条规则,将其前提同当前动态数据库中的事实进行模式匹配当前动态数据库中的事实进行模式匹配匹配成功否?匹配成功否?把该规则的结论放入当前动态数据库;把该规则的结论放入当前动态数据库;或执行规则所规定的动作或执行规则所规定的动作Y YNN1/29/202328产生式系统基本原理产生式系统基本原理(运行过程)(运行过程)产生式系统运行过程产生式系统运行过程实际的产生式系统,目标条件往往要经过多步推理实际的产生式系统,目标条件往往要经过多步推理才能满足或者证明问题无解。才能满足或者证明问题无解。产生式系统的运行过产生式系统的运行过程
27、就是推理机不断的运用规则库中的规则,作用于程就是推理机不断的运用规则库中的规则,作用于动态数据库,不断进行推理并不断检测目标条件是动态数据库,不断进行推理并不断检测目标条件是否被满足的过程否被满足的过程。产生式系统运行过程是从初始事实出发,寻求到达产生式系统运行过程是从初始事实出发,寻求到达目标条件的通路的过程。所以目标条件的通路的过程。所以也是一个搜索的过程也是一个搜索的过程。1/29/202329产生式系统基本原理产生式系统基本原理组成和分类组成和分类运行过程运行过程常用算法常用算法1/29/202330产生式系统基本原理产生式系统基本原理(常用算法)(常用算法)推理方式推理方式正向推理正
28、向推理 从初始事实数据出发,正向从初始事实数据出发,正向使用规则进行推理,朝目标方向前进。又称使用规则进行推理,朝目标方向前进。又称为前向推理、正向链、数据驱动的推理。为前向推理、正向链、数据驱动的推理。反向推理反向推理 从目标出发,反向使用规则从目标出发,反向使用规则进行推理,朝初始事实或数据方向前进。又进行推理,朝初始事实或数据方向前进。又称反向推理、反向链、目标驱动的推理。称反向推理、反向链、目标驱动的推理。1/29/202331产生式系统基本原理产生式系统基本原理(常用算法)(常用算法)正向推理算法正向推理算法步步1 1 将初始事实将初始事实/数据置入动态数据库;数据置入动态数据库;步
29、步2 2 用动态数据库中的事实匹配目标条件,若目标条件用动态数据库中的事实匹配目标条件,若目标条件满足,推理成功,结束。满足,推理成功,结束。步步3 3 用规则库中各规则的前提匹配动态数据库中的事实,用规则库中各规则的前提匹配动态数据库中的事实,将匹配成功的规则组成待用规则集。将匹配成功的规则组成待用规则集。步步4 4 若待用规则集为空,则运行失败,退出。若待用规则集为空,则运行失败,退出。步步5 5 将待用规则集中各规则的结论加入动态数据库,或将待用规则集中各规则的结论加入动态数据库,或者执行其动作,转步者执行其动作,转步2 2。1/29/202332产生式系统基本原理产生式系统基本原理(常
30、用算法)(常用算法)反向推理算法反向推理算法步步1 1 将初始事实将初始事实/数据置入动态数据库,数据置入动态数据库,将目标条件置入将目标条件置入目标链;目标链;步步2 2 若目标链为空,则推理成功,结束。若目标链为空,则推理成功,结束。步步3 3 取出目标链中第一个目标,用动态数据库中的事实同取出目标链中第一个目标,用动态数据库中的事实同其匹配,若匹配成功,转步其匹配,若匹配成功,转步2 2。步步4 4 用规则集中的各规则的结论同该目标匹配,若匹配成用规则集中的各规则的结论同该目标匹配,若匹配成功,则功,则3333将第一个匹配成功且未用过的规则的前提作为将第一个匹配成功且未用过的规则的前提作
31、为新的目标,并取代原来的父目标加入目标链,转步新的目标,并取代原来的父目标加入目标链,转步3 3。步步5 5 若该目标是初始目标,则推理失败,退出。若该目标是初始目标,则推理失败,退出。步步6 6 将该目标的父目标移回目标链,取代该目标及其兄弟将该目标的父目标移回目标链,取代该目标及其兄弟目标,转步目标,转步3 3。1/29/202333产生式系统基本原理产生式系统基本原理(常用算法)(常用算法)例:动物识别系统的产生是系统描述及求解。例:动物识别系统的产生是系统描述及求解。规则规则:r1r1:IF IF 该动物有毛发该动物有毛发 THEN THEN 该动物是哺乳动物该动物是哺乳动物r2r2:
32、IF IF 该动物有奶该动物有奶 THEN THEN 该动物是哺乳动物该动物是哺乳动物r3r3:IF IF 该动物有羽毛该动物有羽毛 THEN THEN 该动物是鸟该动物是鸟r4r4:IF IF 该动物会飞该动物会飞 AND AND 会下蛋会下蛋 THEN THEN 该动物是鸟该动物是鸟r5r5:IF IF 该动物吃肉该动物吃肉 THEN THEN 该动物是食肉动物该动物是食肉动物r6r6:IF IF 该动物有犬齿该动物有犬齿 AND AND 有爪有爪 AND AND 眼盯前方眼盯前方 THEN THEN 该动物是食肉动物动物该动物是食肉动物动物1/29/202334产生式系统基本原理产生式系
33、统基本原理(常用算法)(常用算法)r7r7:IF IF 该动物是哺乳动物该动物是哺乳动物 AND AND 有蹄有蹄 THEN THEN 该动物是有蹄类动物该动物是有蹄类动物r8r8:IF IF 该动物是哺乳动物该动物是哺乳动物 AND AND 是嚼反刍动物是嚼反刍动物 THEN THEN 该动物是有蹄动物该动物是有蹄动物r9r9:IF IF 该动物是哺乳动物该动物是哺乳动物 AND AND 是食肉动物是食肉动物 AND AND 是黄褐色是黄褐色 AND AND 身上有暗斑点身上有暗斑点 THEN THEN 该动物是金钱豹该动物是金钱豹 r10r10:IF IF 该动物是哺乳动物该动物是哺乳动物
34、 AND AND 是食肉动物是食肉动物 AND AND 是黄褐色是黄褐色 AND AND 身上有黑色条纹身上有黑色条纹 THEN THEN 该动物是虎该动物是虎r11r11:IF IF 该动物是有蹄类动物该动物是有蹄类动物 AND AND 有长脖子有长脖子 AND AND 有长腿有长腿 AND AND 身上有暗斑点身上有暗斑点 THEN THEN 该动物是长颈鹿该动物是长颈鹿 r12r12:IF IF 该动物有蹄类动物该动物有蹄类动物 AND AND 身上有黑色条纹身上有黑色条纹 THEN THEN 该动物是斑马该动物是斑马1/29/202335产生式系统基本原理产生式系统基本原理(常用算法)
35、(常用算法)r13r13:IF IF 该动物是鸟该动物是鸟 AND AND 有长脖子有长脖子 AND AND 有长腿有长腿 AND AND 不会飞不会飞 AND AND 有黑白二色有黑白二色 THEN THEN 该动物是鸵鸟该动物是鸵鸟r14r14:IF IF 该动物是鸟该动物是鸟 AND AND 会游泳会游泳 AND AND 不会飞不会飞 AND AND 有黑白二色有黑白二色 THEN THEN 该动物是企鹅该动物是企鹅r15r15:IF IF 该动物是鸟该动物是鸟 AND AND 善飞善飞 THEN THEN 该动物是信天翁该动物是信天翁1/29/202336产生式系统基本原理产生式系统基
36、本原理(常用算法)(常用算法)初始事实:初始事实:f1f1:某动物有毛发。:某动物有毛发。f2 f2:吃肉。:吃肉。f3 f3:黄褐色。:黄褐色。f4 f4:有黑色条纹:有黑色条纹目标条件为:该动物为什么?目标条件为:该动物为什么?1/29/202337产生式系统基本原理产生式系统基本原理(常用算法)(常用算法)1/29/202338产生式系统基本原理产生式系统基本原理(常用算法)(常用算法)1/29/202339第五章第五章 产生式系统产生式系统产生式表示方法产生式表示方法产生式系统基本原理产生式系统基本原理产生式系统与图搜索产生式系统与图搜索产生式系统应用产生式系统应用1/29/20234
37、0产生式系统与图搜索产生式系统与图搜索产生式系统产生式系统图搜索图搜索初始事实数据初始事实数据初始节点初始节点目标条件目标条件目标节点目标节点产生式规则产生式规则状态转换规则、问题变换规则状态转换规则、问题变换规则规则库规则库操作集操作集动态数据库动态数据库节点(状态节点(状态/问题)问题)控制策略控制策略搜索策略搜索策略产生式系统与图搜索对比1/29/202341第五章第五章 产生式系统产生式系统产生式表示方法产生式表示方法产生式系统基本原理产生式系统基本原理产生式系统与图搜索产生式系统与图搜索产生式系统应用产生式系统应用1/29/202342产生式系统的应用实例产生式系统的应用实例基于消解
38、原理的产生式系统基于消解原理的产生式系统基于自然演绎法的产生式系统基于自然演绎法的产生式系统基于专用知识的产生式系统基于专用知识的产生式系统1/29/202343基于消解原理的产生式系统基于消解原理的产生式系统消解原理的产生式系统消解原理的产生式系统全局数据库:子句集合全局数据库:子句集合S S产生式规则集:一般形式是消解产生式规则集:一般形式是消解控制系统控制系统终止条件:终止条件:NIL SNIL S搜索策略:是个可交换的系统,使用各个具体的消解与先搜索策略:是个可交换的系统,使用各个具体的消解与先后顺序无关,采用不可挽回的控制策略。后顺序无关,采用不可挽回的控制策略。1/29/20234
39、4基于消解原理的产生式系统基于消解原理的产生式系统过程过程RESOLUTIONRESOLUTION步步1 CLAUSES S1 CLAUSES S;步步2 until NIL2 until NIL是是CLAUSESCLAUSES中的元素为止,中的元素为止,dodo;步步3 begin3 begin步步4 4 在在CLAUSESCLAUSES中选取两个可消解的子句中选取两个可消解的子句C Ci i和和C Cj j;步步5 5 计算计算C Ci i和和C Cj j的消解式的消解式R Rijij;步步6 6 把把R Rijij并入到并入到CLAUSESCLAUSES中;中;步步7 end7 end。
40、1/29/202345基于消解原理的产生式系统基于消解原理的产生式系统控制策略控制策略广度优先搜索策略广度优先搜索策略 相当于水平浸透法。完备的但相当于水平浸透法。完备的但效率低。效率低。支持集消解策略支持集消解策略 反向产生式系统。完备的,但不反向产生式系统。完备的,但不一定得到最优解。一定得到最优解。启发式搜索策略启发式搜索策略 利用消解原理求解问题的经验,利用消解原理求解问题的经验,设计启发函数。设计启发函数。1/29/202346补充:解树代换的一致性(一)补充:解树代换的一致性(一)设有一个代换集设有一个代换集uu1 1,u,u2 2,,u un n,其中每个,其中每个u ui i都
41、是一个都是一个代换代换tti1i1/v/vi1i1,t,ti2i2/v/vi2i2,,t tim(i)im(i)/v/vim(i)im(i)又设又设U1U1vv1111,v,vim(1)im(1),,v vn1n1,v,vnm(n)nm(n)(所(所有下边的变量)有下边的变量)U2U2tt1111,t,tim(1)im(1),,t tn1n1,t,tnm(n)nm(n)(所有上边的项)(所有上边的项)定义:定义:代换集代换集uu1 1,u,u2 2,,u un n 是一致的,当且仅当是一致的,当且仅当U1U1和和U2U2是可合一的。是可合一的。定义:定义:uu1 1,u,u2 2,,u un
42、n 的的合一复合合一复合U U是是U1U1和和U2U2的最一般合的最一般合一。一。解树上所有代换是一致的,则该问题有解,最后的代换解树上所有代换是一致的,则该问题有解,最后的代换是合一复合是合一复合U U。1/29/202347补充:解树代换的一致性(二)补充:解树代换的一致性(二)例设有一个代换集例设有一个代换集uu1 1,u,u2 2,其中,其中 u u1 1f(g(xf(g(x1 1)/x)/x3 3,f(x,f(x2 2)/x)/x4 4 U1U1和和U2U2是可合一的,其最一般合一是:是可合一的,其最一般合一是:U Uf(g(xf(g(x1 1)/x)/x3 3,f(g(x,f(g(
43、x1 1)/x)/x4 4,g(xg(x1 1)/x)/x2 2 u2x4/x3,g(x1)/x2U1=x3,x4,x3,x2U2=f(g(x1)f(x2),x4,g(x1)1/29/202348产生式系统的应用实例产生式系统的应用实例基于消解原理的产生式系统基于消解原理的产生式系统基于自然演绎法的产生式系统基于自然演绎法的产生式系统基于专用知识的产生式系统基于专用知识的产生式系统1/29/202349基于自然演绎法的产生式系统基于自然演绎法的产生式系统消解原理产生式系统特点消解原理产生式系统特点优点:形式单一,处理规则简单。优点:形式单一,处理规则简单。缺点:太一般化,丢失了原公式重要语义信
44、息,对缺点:太一般化,丢失了原公式重要语义信息,对应用启发搜索系统和人机交互带来了困难;组合应用启发搜索系统和人机交互带来了困难;组合爆炸,难以直接使用。爆炸,难以直接使用。自然演绎法自然演绎法保持专家知识原始的逻辑形态,保留了控制信息。保持专家知识原始的逻辑形态,保留了控制信息。推理规则复杂,但便于设计启发函数。推理规则复杂,但便于设计启发函数。推理过程直观,便于理解。推理过程直观,便于理解。1/29/202350基于自然演绎法的产生式系统基于自然演绎法的产生式系统规则基产生式系统规则基产生式系统事实事实 用非蕴含形式谓词公式表示,用非蕴含形式谓词公式表示,规则规则 用蕴含形式表示用蕴含形式
45、表示F F规则规则 前向推理系统中应用前向推理系统中应用B B规则规则 后向推理系统中应用后向推理系统中应用 1/29/2023511 1、基于规则的向前推理系统(一)、基于规则的向前推理系统(一)基本原理基本原理 从代表初始事实的谓词公式从代表初始事实的谓词公式F F0 0出发通过一组出发通过一组F F规则规则FF1 1,F F2 2 来证明目标公式来证明目标公式G G成立。成立。初始事实初始事实F F0 0任意谓词公式任意谓词公式前束范式表示;运用前束范式表示;运用SkolemSkolem函数消去存在量词;省函数消去存在量词;省去全称量词;得到任意与或型事实表达式,改名,去全称量词;得到任
46、意与或型事实表达式,改名,使各主要合取项的变量应不相同。使各主要合取项的变量应不相同。与或图表示:析取部分用与节点表示合取部分用或与或图表示:析取部分用与节点表示合取部分用或节点表示节点表示1/29/2023521 1、基于规则的向前推理系统(二)、基于规则的向前推理系统(二)F F规则规则形如形如 L=W L=WL L为单一文字为单一文字W W为任意与或型谓词公式;为任意与或型谓词公式;W W中用中用SkolemSkolem消去存在量消去存在量词,变元只受全称量词约束;改名,使不同规则具词,变元只受全称量词约束;改名,使不同规则具有不同变元,规则变元与事实变元也不同。有不同变元,规则变元与事
47、实变元也不同。复杂规则化为简单规则。复杂规则化为简单规则。1/29/2023531 1、基于规则的向前推理系统(三)、基于规则的向前推理系统(三)终止条件终止条件用目标谓词用目标谓词G G表示表示G G为文字的析取式(文字都为目标文字);用为文字的析取式(文字都为目标文字);用SkolemSkolem函数消去函数消去全称量词;消去存在量词;全称量词;消去存在量词;改名,改名,使同一变元在各目标文字、规则、事实中最多出现使同一变元在各目标文字、规则、事实中最多出现一次。一次。推理基本过程推理基本过程不断将规则不断将规则L=WL=W利用匹配弧连接在与或图的利用匹配弧连接在与或图的L L叶结叶结点上
48、;目标文字点上;目标文字G G本身可看作本身可看作G=GG=G作用在与或图上;作用在与或图上;一致解树各个叶结点都终止在目标节点,成功终止。一致解树各个叶结点都终止在目标节点,成功终止。1/29/2023541 1、基于规则的向前推理系统(四)、基于规则的向前推理系统(四)例例:命题逻辑中一个定理证明问题命题逻辑中一个定理证明问题构造一个向前的规则基推理系统来求解。构造一个向前的规则基推理系统来求解。事实事实 F F0 0:规则规则 F F1 1:F F2 2:F F3 3:目标目标 G G:1/29/2023551 1、基于规则的向前推理系统(五)、基于规则的向前推理系统(五)1/29/20
49、23561 1、基于规则的向前推理系统(六)、基于规则的向前推理系统(六)例例:谓词逻辑中一个定理证明问题谓词逻辑中一个定理证明问题 自然数都是大于自然数都是大于0 0的整数的整数 所有整数不是偶数就是奇数所有整数不是偶数就是奇数 偶数的一半是整数偶数的一半是整数 所有自然数不是奇数就是一半为整数的数。所有自然数不是奇数就是一半为整数的数。构造一个向前的规则基推理系统来求解构造一个向前的规则基推理系统来求解1/29/2023571 1、基于规则的向前推理系统(六)、基于规则的向前推理系统(六)一、预处理一、预处理F F0 0为事实表达式方法:为事实表达式方法:(1 1)将公式化称任意与或型前束
50、范式,每个否定词仅管)将公式化称任意与或型前束范式,每个否定词仅管 辖一个谓词;辖一个谓词;(2 2)用)用SkolemSkolem函数去掉存在量词并改名使主合取项之间函数去掉存在量词并改名使主合取项之间无相同变量;无相同变量;(3 3)隐去全称量词。)隐去全称量词。1/29/2023581 1、基于规则的向前推理系统(七)、基于规则的向前推理系统(七)二、预处理二、预处理F F1 1 F F2 2为为F F规则方法:规则方法:(1 1)暂时消去)暂时消去;(2 2)将公式化为前束范式,一个否定词管辖一个谓词;)将公式化为前束范式,一个否定词管辖一个谓词;(3 3)用)用SkolemSkole