Prolog开发专家系统入门.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Prolog开发专家系统入门

Prolog开发专家系统入门 什么是专家系统,以及它的基本设计方法和技术,详细介绍了使用prolog设计专家系统的技术。 什么是专家系统 专家系统是人工智能最重要的应用之一,它的目的是让电脑在某种程度上帮助或者替代某个领域的专家解决问题。例如医疗诊断系统、投资风险分析系统、家居设计系统等等。 一个典型的专家系统的构成方式如下图所示: Domain Expert就是某个领域的专家,他提供原始的知识。Knowledge Engineer是把专家的知识翻译成电脑所能够识别的知识的工程师。某领域的专家把他所知道的知识告诉knowlegde engineer以后,由knowlegde engineer对这些知识进行处理,最后做成知识库knowledge base。System Engineer是设计专家系统的程序员,他的主要任务是编写专家系统的推理机构inferface engine,和用户界面user interface。用户使用用户界面和专家系统打交道,他和专家系统之间的交流的一些信息由工作空间working storage储存。推理机构根据用户信息和知识库中的信息为用户提供服务。 在设计专家系统时候有目标驱动和数据驱动两种方式。下面我们通过实例来说明一下如何使用prolog编写目标驱动的专家系统。? 一个可以识别鸟类的专家系统 这个系统的目的是通过用户对某种鸟类的描述,推断出用户描述的是何种鸟。由于prolog的规则就是一种非常好的表达知识的方法,而其内建的回溯功能和模式匹配功能则是很好的推理机构,所以使用prolog来编写这样的专家系统是再容易不过的了。 首先让我们来看看如何是使用prolog的规则来表达知识吧。我们可以从鸟类专家那里得到如下的知识: 如果某种鸟是属于信天翁科,并且其颜色是白色的,那么这种叫就是laysan信天翁。(我是翻译的外文教材,所以这里关于鸟类的知识翻译的并不是太准确) 当然我们要用英语来表这个规则: IF family is albatross and color is white THEN bird is laysan_albatross 如果使用prolog的规则来表达就是: bird(laysan_albatross) :- family(albatross), color(white). 同样我们还可以加入下面的规则: bird(laysan_albatross):- family(albatross), color(white). bird(black_footed_albatross):- family(albatross), color(dark). bird(whistling_swan) :- family(swan), voice(muffled_musical_whistle). bird(trumpeter_swan) :- family(swan), voice(loud_trumpeting). 为了能够让这些规则能够分辨不同的鸟类,我们必须储存关于某种鸟的特定的信息。例如,如果我们加入下面两个事实的话: family(albatross). color(dark). 然后在解释器中进行如下的询问: ?- bird(X). X = black_footed_albatross 很自然的我们就得到了答案。 现在我们看到了一个再简单不过的专家系统了。他具备了前面所说的专家系统的几个构造部分。 四条关于识别鸟的规则就是知识库knowledge base。 两条关于某种鸟的特性的事实就是工作空间working storage中存储的信息。 prolog的内建的模式匹配和回溯功能就是推理机构。 prolog的解释器就是用户界面。 当然,上面的这四个部分都还只是雏形,下面我们就要分解介绍如何慢慢的添加功能。? 增加层次关系 仅仅使用上面的四条知识构成专家系统的知识结构是远远不够的。下面我们就来添加一些新的知识。动物界为动物分了科、目、属、种、类等几个层次,这些层次构成一个树状结构,下面的几条规则就描述了其中的一些层次结构。 order(tubenose) :- nostrils(external_tubular), live(at_sea), bill(hooked). order(waterfowl) :- feet(webbed), bill(flat). family(albatross) :- order(tubenose), size(large), wings(long_narrow). family(swan) :- order(waterfowl), neck(long

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档