- 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语言]Nyzzxt5.PPT
第五章 PROLOG Prolog在英语中的意思就是Programming in logic(逻辑编程)。它是建立在逻辑学的理论基础之上的, 最初是运用于自然语言的研究领域。 然而现在它被广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。 同时它对一些通常的应用程序的编写也很有帮助。使用它能够比其他的语言更快速地开发程序,因为它的编程方法更象是使用逻辑的语言来描述程序。 所以prolog不是很高深的语言,相反,比较起其他的一些程序语言,例如c、basic等等语言, prolog是更加容易理解的语言。如果你从来没有接触过计算机编程,那么你将很容易的进入prolog世界。如果你已经是其他语言的高手,你就需要完全丢弃你原来的编程思路,否则是很难掌握prolog的。 第一节 进入prolog 一、特点 1. prolog程序没有特定的运行顺序,其运行顺序是由电脑决定的,而不是编程序的人。从这个意义上来说,prolog程序不是真正意义上的程序。 所谓程序就是按照一定的步骤运行的计算机指令,而prolog程序的运行步骤不由人来决定。它更像一种描述型的语言,用特定的方法描述一个问题,然后由电脑自动找到这个问题的答案。举个极端的例子,你只需要把某个数学题目告诉它,它就会自动的找到答案,而不像使用其他的语言一样,必须人工的编制出某种算法。 2. prolog程序中没有if、when、case、for这样的控制流程语句 前面已经说了,程序的运行方式有电脑自己决定,当然就用不到这些控制流程的语句了。 通常情况下,程序员不需要了解程序的运行过程,只需要注重程序的描述是否全面,不过prolog也提供了一些控制流程的方法,这些方法和其他语言中的方法有很大的区别,希望你在以后的学习当中能够融会贯通。 3. prolog程序和数据高度统一 在prolog程序中,是很难分清楚哪些是程序,哪些是数据的。事实上,prolog中的所有东西都有相同的形式,也就是说数据就是程序,程序就是数据。 举一个其他语言的例子:如果想用c语言编写一个计算某个数学表达式的程序很简单(比如:a=2+5*4),因为这是一段程序。 但是如果想编写一个计算用户输入的表达式的值的程序就很困难了。因为用户输入的是一段数据(字符串),如果想让c语言处理这个字符串,就需要很多方面的技术。则正是因为在c语言中,程序和数据是分开的。 而在prolog就不存在这个问题,你甚至可以很轻松的编写处理其它prolog程序的程序。 4. prolog程序实际上是一个智能数据库 prolog的原理就是关系数据库,它是建立在关系数据库的基础上的。 在以后的学习中你会发现它和SQL数据库查询语言有很多相似之处。使用prolog可以很方便的处理数据。 5. 强大的递归功能 在其它的语言中,你也许已经接触过递归程序了。递归是一种非常简洁的方式,它能够有效的解决许多难题。而在prolog中,递归的功能得到了充分的体现,你甚至都会感到惊奇,递归居然又如此巨大的能力。 二、 进入prolog步骤 1、首先你应该拥有一个Prolog的解释器。使用它的Editer编写程序,然后存盘。 2、再选择Listener/start,这将打开Prolog的Listener(解释器)。 3、最后选择Listener/Consult..., 选择你刚才保存的文件,这样你就可以在Listener中调试你的程序了。 三、 逻辑编程 什么叫逻辑编程?也许你还没有一个整体的印象,还是让我们首先来研究一个简单的例子吧。 运用经典的逻辑理论,我们可以说“所有的人(person)都属于人类(mortal)”,如果用Prolog的语言来说就是“对于所有的X,只要X是一个人,它就属于人类。” moral(X):-person(X). 同样,我们还可以加入一些简单的事实,比如:苏格拉底(socrates)是一个人。 person(socrates). 有了这两条逻辑声明,Prolog就可以判断苏格拉底是不是属于人类。在Prolog的Listener中键入如下的命令: ?-mortal(socrates). (此句中的?-是Listener的提示符,本句表示询问苏格拉底是不是属于人类。) yes Listener将给出的答案 ?-mortal(X). 我们还可以询问,“谁属于人类?” X= socrates 这是我们得到如下的答案 ?% This is the syntax for comments. % MORTAL - The first illustrative Prologprogram. mortal(X) :- person(X). person(so
您可能关注的文档
- 政治: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语言]Nyzzxt6.ppt
- [农业专家系统和PROLOG语言]Nyzzxt7.ppt
- [农业专家系统和PROLOG语言]Nyzzxt8.ppt
- [农业专家系统和PROLOG语言]Nyzzxt9.ppt
- [农业专家系统和PROLOG语言]第2章人工智能的数学基础.doc
- [农业专家系统和PROLOG语言]第3章知识与知识表示.doc
- [农业专家系统和PROLOG语言]第六章Proglog语言.doc
- [农业专家系统和PROLOG语言]第七章专家系统.doc
- [农业专家系统和PROLOG语言]第四章搜索原理.doc
- [农业专家系统和PROLOG语言]第五章推理技术.doc
文档评论(0)