- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于逻辑的专家系统
基于逻辑的专家系统 在基于逻辑的专家系统中,知识库是由说明事实的谓词逻辑的子句构成,这些子句合起来组成Turbo Prolog的数据库。这些规则既可以描述数据,又可以控制Turbo Prolog的内部合一过程。和基于规则的系统一样,基于逻辑的系统也有一个可以由输入数据流激活的规则集。该系统有一个解释程序,它可以选择和激活在该系统操作中用到的模块。这种模式下,解释程序在系统中的作用是: (1)系统有启发搜索和模式匹配的知识库子句。解释程序将这些子句与数据库中的数据元素匹配。 (2)如果同时激活的规则多于1个,则系统使用Turbo Prolog的冲突消解功能,因此,用户/程序员不必担心这些可能产生的冲突。 (3)系统可以自动地得到一个处理结果,结果可以直接送到希望的输出设备,基于逻辑系统的优点和功效在于它反映了Turbo Prolog本身的结构。这在操作中是很有效的。在任何基于逻辑的系统中,最重要的是知识库设计,即知识库子句及其结构的设计。知识库必须有一个清晰的逻辑组织,冗余数据最少。在基于逻辑的系统中,用子句为小猎兔狗和丹麦大狗构造的知识库呈如下的形式: rule(1, dog , Beagle ,[1,2,3,4]) rule(2, dog , Great Dane ,[1,5,3,4,6]) cond(1, short_haired ) cond(2, height under 22 inches ) cond(3, long ears”) cond(4, good natured personality ) cond(5, low_set tail ) cond(6, weight over 100lb ) 其中rule子句中的第一个对象代表规则的序号,第二个对象代表对象类型,第三个对象代表狗的品种,第四个对象整数表,它给出了cond子句中所代表的各种条件编号。oond子句中给出了关于知识库中给出了关于各种狗的所有特性。这些条件编号是程序员为跟踪规则子句的选择编写的。解释程序用这些条件编号进行适当的选择 建造专家系统需要考虑结构并注意有关细节。这些与建造的专家系统的规模和复杂程度有关。 如果要建立的专家系统最终包含几百乃至上千条规则,那麽,加入其它规则后的影响是很难预料的。在Turbo Prolog中,产生式规则是放在程序中的。因此程序的规模将会随着规则的增加而增长。 最终可用存储区的大小将限制规则数。在这种情况下,基于规则的系统是有问题的。 由于基于逻辑的专家系统把知识库存放在磁盘文件中,无需考虑知识库大小的限制,因此选择基于逻辑的专家系统更合适。 如果要建立的专家系统最终不超过几百条规则,那麽使用基于规则的专家系统更合适。因为产生式规则彼此几乎独立,因而专家系统的建立和测试比较方便,也易于改变规则以观察其不同的影响。在基于逻辑的专家系统中,改变知识库中的参数必须加倍小心,因为这种修改很不明显,并能产生难以修复的破坏性影响。 当决定了建立基于规则的专家系统还是基于逻辑的专家系统,并仔细检查了用来构成知识库的数据,就可动手设计带有所需的或者指定特性和功能的知识库。 下一步是为专家系统设计数据流图和 结构图。通过这些工具可以构筑专家系统的逐模块。然后根据数据流图和结构图来编写代码。 当程序运行之后,应当始终由参加项目设计的领域专家来证实结果。 下面我们用开发设计狗分类的程序来说明基于规则的和基于逻辑的专家系统的结构。通过这个例子,我们可以对同样数据的不同处理作一比较。 下面给出基于逻辑的狗分类专家系统的程序清单,目的在于让读者对于相同数据的不同处理方式作一比较。 /* Purpose:To show the working of an expert system.It is a logic_based system. */ /* This is a dog identification expert. */ domans CONDITIONS=BNO* HISTORY=BNO* RND,BND,FND=INTEGER CATEGORY=SYMBOL database /* Database Predictes */ rule(RNO,CATEGORY,CATEGORY,CONDITIONS) cond(BNO,STRING) yes(BNO) no(BNO) topic(string) predicates /* User Interface Predicates */ do_expert_job show_menu do_consulting process(integer) info(CATEGORY) goes(CATEGORY) listopt
文档评论(0)