- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[农业专家系统和PROLOG语言]Nyzzxt6.ppt
第十节 联合(合一) 匹配是prolog最基本最重要的机制之一, 也是prolog的智能特性之一。匹配是项(事实)的最重要的运算。匹配是在项与项之间进行的。 项(事实)的匹配机制一方面因问题求解(询问)由prolog系统内部产生, 另一方面也可以通过prolog所提供的相等比较进行。这种相等比较的实质就是按照匹配规则对两端的事实(项)进行对比并在必要时产生变量置换(具体化), 这种匹配操作又叫合一或一致化。又叫联合。 变量任何项目 变量可以与任何项目绑定,其中也包括变量 原始项目原始项目 两个原始项目(原子或整数)只有当它们相同时才能联合。 结构结构 如果两个结构的每个相应的参数能联合,那么这两个结构可以联合。 也就是说,prolog中两个项T1与T2之间进行匹配的一般规则如下: ①如果T1是一个自由变量, 则不论T2属于项中的哪种情况, 匹配均获成功, 且T1为T2具体化, 反之亦然; ②常量只能与本身匹配; ③如果T1和T2都是结构, 那未当且仅当: a. 它们有共同的主涵子(谓词名); 并且 b. 它们具有相同数量的成分; 并且 c. 它们所有对应的成分都匹配成功, 这两个结构才匹配。 例1. T1=date (D1 may Y1) T2=date(x X 1983) 匹配成功, 并且合一为: x=D1, X=may, Y1=1983) ?? 例2. T1=date(D M 1983) T2=date (D M 1944) 不匹配。因为1983与1944无法匹配。 例3. T1=date(X Y Z) T2=point(X Y Z) 不匹配。因为主函子(谓词名)不同, date1 point 例4. T1=R(X Y) T2=R (X Y Z) 不匹配。因为两个结构的成分个数不同。 Amzi Prolog使用的内部谓词’=/2’,此谓词当它的两个参数能够联合时成功,反之则失败。 它的语法如下:=(arg1, arg2) 为了方便阅读,也可以写成如下形式:arg1 = arg2 注意:此处的等号在Prolog中的意义与其他语言中的不同。它不是数学运算符或者赋值符。 使用=进行联合操作与Prolog使用目标与子句联合时相同。在回溯时,变量将被释放。 下面举了几个最简单的联合的例子。 ?- a = a. yes ??- a = b. no ??- location(apple, kitchen) = location(apple, kitchen). yes ??- location(apple, kitchen) = location(pear, kitchen). no ??- a(b,c(d,e(f,g))) = a(b,c(d,e(f,g))). yes ?- a(b,c(d,e(f,g))) = a(b,c(d,e(g,f))). no 在下面的例子中使用的变量,注意变量是如何绑定为某个值的。 ??- X = a. X = a ??- 4 = Y. Y = 4 ??- location(apple, kitchen) = location(apple, X). X = kitchen 当然也可以同时使用多个变量。 ??- location(X,Y) = location(apple, kitchen). X = apple Y = kitchen ??- location(apple, X) = location(Y, kitchen). X = kitchen Y = apple 变量之间也可以联合。每个变量都对应一个Prolog的内部值。当两个变量之间进行联合时,Prolog就把它们标记为相同的值。 在下面的例子中,我们假设Prolog使用‘_nn’,其中‘n’为数字,代表没有绑定的变量。 ??- X = Y. X = _01 Y = _01 ??- location(X, kitchen) = location(Y, kitchen). X = _01 Y = _01 Prolog记住了被绑定在一起的变量,这将在后面的绑定中反映出来,请看下面的例子。 ??- X = Y, Y = hello. X = hello Y = hello ??- X = Y, a(Z) = a(Y), X = hello. X = hello Y = hello Z = hello 最后的这个例子能够很好地说明Prolog的变量绑定与其他语言中的变量赋值的区别
您可能关注的文档
- 政治:2011届江苏省灌南二中高二下学期期末考试201007.doc
- 政治文:2011届浙江省衢州一中高二上学期期末考试2010-02.doc
- 政治:广东省澄海中学2008-2009学年高二第一学期期末考试200901.doc
- 政治理:2012届浙江省台州市高二上学期期末质量评估试题201101.doc
- 政治文:2012届浙江省东阳市南马高中高二下学期期中考试201104.doc
- 政治选修:2012届江苏省盱眙中学高二上学期期末考试201101.doc
- 政治:2011届江苏省江都中学09-10学年高二下学期期末考试2010-7.doc
- 政治理:2011届浙江省温州二中09-10学年高二下学期期中考试201005.doc
- 政治:08-09学年浙江省杭州十四中高二上学期阶段性检测200812.doc
- 政治:2012届广东省中山市桂山中学高二上学期期中考试201011.doc
- [农业专家系统和PROLOG语言]Nyzzxt7.ppt
- [农业专家系统和PROLOG语言]Nyzzxt8.ppt
- [农业专家系统和PROLOG语言]Nyzzxt9.ppt
- [农业专家系统和PROLOG语言]第2章人工智能的数学基础.doc
- [农业专家系统和PROLOG语言]第3章知识与知识表示.doc
- [农业专家系统和PROLOG语言]第六章Proglog语言.doc
- [农业专家系统和PROLOG语言]第七章专家系统.doc
- [农业专家系统和PROLOG语言]第四章搜索原理.doc
- [农业专家系统和PROLOG语言]第五章推理技术.doc
- [农业专家系统和PROLOG语言]第一章绪论.doc
最近下载
- 物理学科知识与教学能力高中.pdf VIP
- 储能电气安装项目划分(1).doc VIP
- 苏科版(2024)八年级物理上册教学课件:跨学科实践——乐器的调查与制作.pptx VIP
- 2025年全国招标采购专业技能大赛(地方组)经典试题及答案.docx
- 200MWh储能电站安全预评价报告.doc VIP
- 2024广播电视播音员主持人真题含答案详解【达标题】.docx VIP
- 2025年秋新人教版2年级上册数学全册教学课件.pptx
- 中国古代文学史2课件精讲9-10.pdf VIP
- 在新时代继承和弘扬伟大抗战精神PPT抗战胜利80周年党课课件.pptx VIP
- 城市电力网规划设计导则.pptx VIP
文档评论(0)