[农业专家系统和PROLOG语言]第六章Proglog语言.docVIP

[农业专家系统和PROLOG语言]第六章Proglog语言.doc

  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文档。上传文档
查看更多
[农业专家系统和PROLOG语言]第六章Proglog语言.doc

第八章 Prolog 语言 Prolog在英语中的意思就是Programming in logic(逻辑编程)。它是建立在逻辑学的理论基础之上的, 最初是运用于自然语言的研究领域。然而现在它被广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。同时它对一些通常的应用程序的编写也很有帮助。使用它能够比其他的语言更快速地开发程序,因为它的编程方法更象是使用逻辑的语言来描述程序。 从纯理论的角度来讲,Prolog是一种令人陶醉的编程语言,但是在这本书中还是着重介绍他的实际使用方法。 第一节 进入Prolog世界 和其他的语言一样,最好的学习方法是实践。这本书将使用Prolog的解释器来向大家介绍几个具体的应用程序的编写过程。 首先你应该拥有一个Prolog的解释器,你可以在 找到它。使用它的Editer编写程序,然后存盘,再选择Listener/start,这将打开Prolog的Listener(解释器),最后选择Listener/Consult..., 选择你刚才保存的文件,这样你就可以在Listener中调试你的程序了。 1. 逻辑编程 什么叫逻辑编程?也许你还没有一个整体的印象,还是让我们首先来研究一个简单的例子吧。运用经典的逻辑理论,我们可以说“所有的人(person)都属于人类(moral)”,如果用Prolog的语言来说就是“对于所有的X,只要X是一个人,它就属于人类。” moral(X):-person(X). 同样,我们还可以加入一些简单的事实,比如:苏格拉底(socrates)是一个人。 person(socrates). 有了这两条逻辑声明,Prolog就可以判断苏格拉底是不是属于人类。在Prolog的Listener中键入如下的命令: ?-mortal(socrates). (此句中的?-是Listener的提示符,本句表示询问苏格拉底是不是属于人类。) Linstener将给出答案: yes 我们还可以询问,“谁属于人类?” ?-mortal(X). 我们会得到如下的答案: X= socrates 这个简单的例子显示了Prolog的一些强大的功能。它能让程序代码更简洁、更容易编写。在多数情况下Prolog的程序员不需要关心程序的运行流程,这些都由Prolog自动地完成了。 当然,一个完整的程序不能只包括逻辑运算部分,还必须拥有输入输出,乃至用户界面部分。很遗憾,Prolog在这些方面做得不好,或者说很差。不过它还是提供了一些基本的方法的。下面是上述的程序一个完整的例子。 % This is the syntax for comments. % MORTAL - The first illustrative Prologprogram. mortal(X) :- person(X). person(socrates). person(plato). person(aristotle). mortal_report:- write(Known mortals are:),nl, mortal(X), write(X),nl, fail. 把这个程序调入Listener中,运行mortal_report.。 ?- mortal_report. Known mortals are: socrates plato aristotle no 以上程序中的一些函数以后还会详细的介绍的。最后的那个no表示没有其他的人了。 2. 何处获得Prolog 当然是在网络上面!我现在找到了两个比较好的Prolog版本: / 顾名思义,这是一个可以制作界面的Prolog,有试用版本下载,大概20M左右。 http// 在Amzi的网页上有两种prolog可以下载: Amzi! 16-bit Logic Explorer,1.xMB,只有Prolog的解释器,完全免费的,速度较慢。 Amzi! Logic Server, 5.xMB,除了有解释器外,还可以进行编译,其最大的功能是能够和其他的编程软件连接,它作为Logic Server,其他的程序(例如使用VB编写的)可以调用它的强大的逻辑推理功能。这样你所编写的程序会即漂亮又聪明。 90天试用,过期以后不能编译,不过你可以通过修改系统时间,来使用所有功能。而且作为服务器和其它程序连接,是没有时间限制的。 我更倾向是用Amzi的prolog,因为它的语法比visual-prolog更加简单,而且只要结合Visual Basic,同样可以制作出和visual-prolog相当的程序出来。 3. Amzi!Logic Server简介 amzi!logic server有集成开发环境IDE,你可以在其中编写、调试、运行、编译程序。它也提供命令行的

文档评论(0)

教学专家 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档