用于人工智能的Prolog语言.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1页/共31页4.1 归结原理与Prolog语言 Prolog 是一种逻辑程序设计语言,基于一阶谓词逻辑,是典型的叙述型语言(Declaration Language)。 Prolog语言的特点:(1) 建立在一阶谓词逻辑和归结原理基础上,有自动推理功能。(2) 用Prolog设计应用程序时,仅需指明领域中各对象间的关系和决策规 则,而应用这些知识的推理由Prolog 完成。(3) Prolog应用程序,由数据库和规则库组成。(4) Prolog程序设计要做三件事,即说明事实、定义规则、提出问题。第一页,共32页。第2页/共31页Prolog 有三种形式的语句:1. B:- A1,A2,…,An . 含义是 A1 ?A2?... ?An ? B ,相当于~A1?~A2?… ?~An ?B。可视作人工智能系统中的推理规则。也可将该句看作一个过程,B为过程头,是过程名,而{A1,A2,…,An }为过程体。2. A1,A2,…,An . 含义是 A1 ?A2 ?... ?An ? F ,相当于~A1?~A2?… ?~An,可视作推理的目标,或称目标子句。3. B. 含义是公式B无条件地为真。可视作已知的事实。如三段论:Prolog语句:?x(M(x) ?R(x))M(“张三”)R(“张三”)推理规则: R(X):- M(X).事实: M(张三).目标: R(张三).第二页,共32页。第3页/共31页证明公式:( (M(X) ? R(X) ) ? M(张三) )? R(张三) 恒真即证明公式:?( ( (M(X) ? R(X) ) ? M(张三) )? R(张三) ) 恒假化成公式集: {( (M(X) ? R(X) ) ? M(张三) ) , ? R(张三) }子句集:{? M(X) ? R(X) ,M(张三) ) , ? R(张三) }事实目标推理规则子句 B:- A1,A2,…,An .和子句B.都是仅有一个正文字的子句。称作定子句。目标子句 A1,A2,…,An .是没有正文字出现的子句。定子句和目标子句统成为Horn子句。Prolog 子句都是Horn子句。第三页,共32页。第4页/共31页用Prolog证明三段论:目标: R(张三).推理规则:R(X):- M(X). M(张三).事实: M(张三).predicates M(symbol) R(symbol)clauses R(X):- M(X). M(zhsan).goal R(zhsan).?完整的Prolog程序:运行第四页,共32页。第5页/共31页PamTomBobLizAnnPatJim4.2 家庭关系程序示例用Prolog 语句表示为:下图是一个表示家庭关系的实例: parent(pam,bob). parent(tom,bob). parent(tom,liz). parent(bob,ann). parent(bob,pat). parent(pat,jim).第五页,共32页。第6页/共31页此程序可以回答的问题:完整的Prolog程序:1.bob是pat的父母吗?parent(bob,pat).predicates parent(symbol, symbol)clauses parent(pam,bob). parent(tom,bob). parent(tom,liz). parent(bob,ann). parent(bob,pat). parent(pat,jim).1.系统回答2.liz是pat的父母吗?parent(liz,pat).2.系统回答3.谁是liz的父母?parent(X,liz).3.系统回答4.谁是谁的父母?parent(X,Y).4.系统回答第六页,共32页。第7页/共31页5.谁是jim的祖父母?Prolog目标语句:5.系统回答分析:程序中并没有直接的祖父母关系。此问题可分两步:parent(Y,jim),parent(X,Y).(1)谁是jim 的父母?假设是Y,(2)谁是Y 的父母?假设是X,6.类似的问题可以是:X“谁是tom的孙子?”clausesprolog目标语句:parentparent(pam,bob).parent(tom,bob).parent(tom,liz).parent(bob,ann).parent(bob,pat).parent(pat,jim).parent(tom,X),grandparentparent(X,Y).Yparent6.系统回答jim第七页,共32页。第8页/共31页以上程序说明的几个重要观点:(1)在Prolog中定义一个关系是容易的,可以通过满足关系的n个对象来表达。(2)对程序中已定义的关系,用户可以轻而易举地询问Prolog 系统

文档评论(0)

kuailelaifenxian + 关注
官方认证
文档贡献者

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

认证主体太仓市沙溪镇牛文库商务信息咨询服务部
IP属地上海
统一社会信用代码/组织机构代码
92320585MA1WRHUU8N

1亿VIP精品文档

相关文档