预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共76页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、Prolog语言的产生和发展 Prolog(PROgramminginLOGic) 法国的柯尔迈伦和他在马塞大学的助手发明的一种高效的逻辑性语言。 是一种逻辑推理机,具有表处理的功能,通过合一、置换、消解、回溯和匹配等机制来求解问题。 已应用于许多符号运算研究领域。 是人工智能与专家系统领域最著名的逻辑程序设计语言。Prolog是当代最有影响的人工智能语言之一,由于该语言很适合表达人的思维和推理规则,在自然语言理解、机器定理证明、专家系统等方面得到了广泛的应用,已经成为人工智能应用领域的强有力的开发语言。 VisualProlog意指可视化逻辑程序设计语言,是基于Prolog语言的可视化集成开发环境,其语言符合相应的国际标准ISO/IEC13211-1:1995. 现在的Prolog语言有许多版本,但它们的核心部分都是一样的。Prolog的基本语句仅有三种,即事实、规则和目标三种类型的语句,且都用谓词表示,因而程序逻辑性强,文法简捷,清晰易懂。 另一方面,Prolog是陈述性语言,一旦给它提交必要的事实和规则之后,Prolog就使用内部的演绎推理机制自动求解程序给定的目标,而不需要在程序中列出详细的求解步骤。 预计短时期内 在国际上已经十分流行的最新版本可视化逻辑程序设计语言VisualProlog语言将在我国流行开来,并将迅速成为我国研究和开发智能化应用的重要工具。 功能 模式匹配、递归、回溯、对象机制、事实数据库和谓词库。 图形开发环境、编辑器、连接器和调试器,支持模块化和面向对象编程技术,支持系统级编程、文件操作、字符串处理、位级运算、算术和逻辑运算,和其它编程语言的接口。 环境支持 Windows3.x/95/98/Me/NT/2000/XP、OS/2和文本方式下的DOS、Linux和SCOUNIX。 适合的领域 专家系统、规划和其他AI相关问题的求解,是智能程序设计语言中具有代表性且应用较多的一种语言。 自然语言理解、机器定理证明等方面。 和其它语言一样,可以轻松地开发出各种应用,包括数据库和WEB应用。二、VisualProlog的使用 VisualProlog的使用环境 运行和测试一个程序 GOAL 从磁盘中载入例子 处理错误 example01.pro三、Prolog基本原理 3.1逻辑设计 在PROLOG中,可以从已经知道的事情出发通过逻辑判断来获得解决方案。 一个PROLOG程序不是一个顺序的行动,是说明性语言。 通过对比问题的答案来取回存储的信息。三、Prolog基本原理(2)1、事实:众所周知的 事实用来说明一个问题中已知的对象和它们之间的关系。在Prolog程序中,事实由谓词名及用括号括起来的一个或几个对象组成。谓词和对象可由用户自己定义。 例如,谓词likes(bill,book). 是一个名为like的关系,表示对象bill和book之间有喜欢的关系。 travels(zhangming,beijing). 张明到北京旅行。 2、规则:从给出的事件推断出的凭据 规则由几个互相有依赖性的简单句(谓词)组成,用来描述事实之间的依赖关系。从形式上看,规则由左边表示结论的后件谓词和右边表示条件的前提谓词组成。 例如,规则 bird(X):-animal(X),has(X,feather). 表示凡是动物并且有羽毛,那么它就是鸟。 travels(liying,X):-travels(zhangming,X). 表示张明到哪里旅行,李英就到那里旅行。 3、目标(问题) 把事实和规则写进Prolog程序中后,就可以向Prolog询问有关问题的答案,询问的问题就是程序运行的目标。目标的结构与事实或规则相同,可以是一个简单的谓词,也可以是多个谓词的组合。目标分内、外两种,内部目标写在程序中,外部目标在程序运行时由用户手工键入。 例如问题?-student(john). 表示“john是学生吗?” Goal travels(liying,X). 表示“李英到哪里去旅行” PROLOG程序的组成: (1)/**/之间的部分,为注释,可写程序的标题等喜欢的内容。 (2)domains(领域):定义开始在Predicates(谓词)中所使用的变量。 (3)Predicates(谓词):定义关系。 (4)clauses (5)goal PROLOG程序的组成: (1)子句部分(CLAUSES) 可以放置所有的构成程序的事实和规则。 一个已知断言的子句必须被一起放在子句部分,一定次序的子句定义了一个谓词,这被称为程序。 当试着去实现一个目标时,VisualProlog将从子句部分的顶步开始,它搜索时查看每一个事实和规则。 当VisualProlog顺着子句部分执行时,它把内部的指针放在匹配当前的子目标的每个子句上。 如