热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

人工智能--产生式表示法

人工智能---产生式表示法产生式表示法又称为产生规则表示法,“产生式”这一术语是由美国数学家波斯特在1

                                    人工智能---产生式表示法

        产生式表示法又称为产生规则表示法,“产生式”这一术语是由美国数学家波斯特在1943年首先提出来的,他根据串替代规则称为一个产生式。它可以描述形式语言的语法,表示人类心理活动的认知过程。

      一、产生式的基本形式

              产生式通常用于表示具有因果关系的知识,其基本形式是:

                      P->Q

               或者

                      IF  P  THEN  Q

                    其中,P是生产式的前提,用于指出该生产式是否可用的条件;

                       Q 是一组结论或操作,用于指出当前提P所指示的条件被满足时,应该得出的结论或应该执行的操作。

             整个产生式的含义是:如果前提P被满足,则可推出结论Q或执行Q所规定的操作。

               例如:r4 :   IF   动物会飞    AND     会下蛋     THEN    该动物是鸟

 

             谓词逻辑中的蕴含式与产生式的基本形式相同,其实蕴含式只是产生式的一种特殊情况,理由有二:

                   1. 蕴含式只能表示精确知识,其真值或者为真,或者为假,而产生式不仅可以表示精确的知识,而且还可以表示不精确的知识。

                   2. 用产生式表示知识的系统中,决定一条知识是否可用的方法是检查当前是否有已知事实可与前提中所规定的条件匹配。而去匹配可以是精确的,也可以是不精确的

 

              为了严格地描述产生式,下面用巴科期范式BNF(Backus Normal Form)给出它的形式描述及语义:

 

                   <产生式> ::=<前提> -> <结论>

                   <前提>::=<简单条件>|<复合条件>

                   <结论>::=<事实>|<操作>

                   <复合条件>::=<简单条件> AND <简单条件> | <简单条件> OR <简单条件>

                   <操作>::= <操作名>[(<变元>,...)]

                        产生式有称为规则或产生式规则,产生式的“前提”有时由称为“条件”、“前提条件”、“前件”、“左部”等;其“结论”部分有时称为“后件”或“右部”。

 

     二、产生式系统

            把一组产生式放在一起,让它们互相配合,协同作用,一个产生式生成的结论可以供另一个产生式作为已知事实使用,以求得问题的解决,这样的系统称为产生式系统。

            一个产生式系统由以下三个基本部分组成:

                   规则库

                   综合数据库

                   控制系统

            1. 规则库

                 用于描述相应领域内知识集合称为规则库。在建立规则库时应注意以下问题:

                      有效地表达领域内的过程知识。规则库中存放的主要是过程性知识,用于实现对问题的求解。

                      对知识进行合理的组织与管理,对规则库中的知识进行适当的组织,采用合理的结构形式,可使推理避免访问那些与当前问题求解无关的知识,从而提高求解问题效率。

 

            2. 综合数据库

                             综合数据库又称为事实库,上下文、黑板等。它是一个用于存放问题求解过程中各种当前信息的数据结构。当规则库中某条产生式的前提可与综合数据库中的某些已知事实匹配时,该产生式就被激活,并把它推出的结论放入综合数据库中,作为后面的推理的已知事实。显然,综合数据库的内容是不断变化的,是动态的。

            3. 控制系统

                   控制系统又称为推理机构,有一组程序组成,负责整个产生式系统的运行,实现对问题的求解。他要做一下几项主要工作:

                    (1)按一定的策略从规则库选择规则与综合数据库中的已知事实进行匹配,所谓匹配是指规则的前提条件与综合数据库中的已知事实进行比较,如果两者一致,或者近似一致且满足预先规定的条件,则称匹配成功,相应的规则可被使用;否则称为匹配不成功,相应规则不可用于当前的推理。

                    (2)匹配成功的规则可能不止一条,这称为发生了冲突。此时,推理机构必须调用相应的解决冲突策略进行消解,以便从中选出一条执行。

                    (3)在执行某一条规则时,如果该规则的右部室一个或多个结论,则把这些结论加入到综合数据库中;如果规则的右部是一个或多个操作,则执行这些操作。

                    (4)对于不确定性知识,在执行每一条规则还要按一定算法计算结论的不确定性。

                    (5)随时掌握结束产生式系统运行时机,以便在适当的时候停止系统的运行。


            产生式系统的求解问题的一般步骤是:

                    (1)初始化综合数据库,把问题的初始已知事实送入综合数据库中。

                    (2)若规则库中存在尚未使用过的规则,而且它的前提可与综合数据库中的已知事实匹配,则转第(3)步;若不存在这样的事实,则转第(5)步。

                    (3)执行当前选中的规则,并对该规则做上标记,把该规则执行后得到的结论送入综合数据库中,如果该规则的结论部分指出的是某些操作,则执行这些操作。

                    (4)检查综合数据库中是否已包含了问题的解,若已包含,则终止问题的求解过程;否则第(2)步

                    (5)要求用户提供进一步的关于问题的已知事实,若能提供,则转第(2)步,否则终止问题的求解过程。

                    (6)若规则库中不再有未使用过的规则,则终止问题的求解过程。

             在上述的第(4)步中,为了检查综合数据库中是否包含问题的解,可采用如下两种简单的处理方法:

                        (1)把问题的全部最终的结论,如动物识别中的虎,金钱豹等七种动物的名称全部列于一张表中,每当执行一条规则得到一个结论时,就检查该结论是否包含在表中,若包含在表中,说明它就是最终结论,求得了问题的解。

                        (2)对每条结论部分是最终结论的产生式规则,如动物识别系统中的规则r9至r15,分别做一标记,当执行到上述一般步骤中的第(3)步时,首先检查该选中的规则是否带有这个标记,若带有,则由该规则推出的结论就是最终结论,即求得了问题的解。


三、产生式系统的分类

            按推理方向划分可分为:前向、后向和双向产生式系统。

            按其所表示的知识是否具有确定性可分为:确定性及不确定性产生式系统。

            按规则库及综合数据库的性质及结构特征可分:可交换的、可分解、可恢复的产生系统。



 

         






  

 

            

 

 

 

 

 

 

 

 

 

 


推荐阅读
author-avatar
旧眸M_557
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有