- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PROLOG语言及程序设计
人工智能语言简介
人工智能(AI)语言是一类适应于人工智能和知识工程领域的、具有符号处理和逻辑推理能力的计算机程序设计语言。能够用它来编写程序求解非数值计算、知识处理、推理、规划、决策等具有智能的各种复杂问题。
典型的人工智能语言主要有LISP、Prolog、Smalltalk、C++等。
一般来说,人工智能语言应具备如下特点:
具有符号处理能力(即非数值处理能力);
适合于结构化程序设计,编程容易;
具有递归功能和回溯功能;
具有人机交互能力;
适合于推理;
既有把过程与说明式数据结构混合起来的能力,又有辨别数据、确定控制的模式匹配机制。
PROLOG语言简介
PROLOG(Programming in Logic)是当代最有影响的人工智能语言之一,它是一种以逻辑推理为基础的逻辑型程序设计语言。由于该语言很适合表达人的思维和推理规则,在自然语言理解、机器定理证明、专家系统等方面得到了广泛的应用,已经成为人工智能应用领域的强有力的开发语言。
PROLOG开发环境
1、Turbo Prolog
开发与turbo C类似,集成了简单的编辑、编译、调试功能。可以很快的上手,但是在MS-DOS环境下运行。
2、PDC Prolog
速度快。编译及运行速度都很快,产生的代码非常紧凑。
用户界面友好。提供了图形化的集成开发环境。
提供了与其他语言(如C、Pascal、Fortran等)的接口。Prolog和其他语言可以相互调用对方的子程序。
3、Visual Prolog
Visual Prolog是基于Prolog语言的智能可视化集成开发环境。
Visual Prolog包含一个全部使用Visual Prolog语言写成的有效的开发环境,包含对话框、菜单、工具栏等编辑功能。
Visual Prolog与SQL数据库系统、C++开发系统、以及Visual Basic、Delphi或Visual Age等编程语言一样,也可以用来轻松地开发各种应用。
4、Amzi! Prolog
amzi-prolog,这是到目前为止使用的prolog最好用的开发环境。其实就是在Eclipse中集成了prolog的模块。熟悉Eclipse的人使用起来应该会很亲切。所有的编辑、编译、调试都是界面化操作,非常方便。
PROLOG基本语句
Prolog的基本语句仅有三种,即事实、规则和目标三种类型的语句,且都用谓词表示。
1、事实
事实用来说明一个问题中已知的对象和它们之间的关系。在Prolog程序中,事实由谓词名及用括号括起来的一个或几个对象组成。谓词和对象可由用户自己定义。
例如,likes(bill,book).
表示一个名为like的关系,对象bill和book之间有喜欢的关系。
2、规则
规则由几个互相有依赖性的简单句(谓词)组成,用来描述事实之间的依赖关系。从形式上看,规则由左边表示结论的后件谓词和右边表示条件的前提谓词组成。
例如,bird(X):-animal(X),has(X,feather).
表示凡是动物并且有羽毛,那么它就是鸟。
3、目标(问题)
把事实和规则写进Prolog程序中后,就可以向Prolog询问有关问题的答案,询问的问题就是程序运行的目标。目标的结构与事实或规则相同,可以是一个简单的谓词,也可以是多个谓词的组合。
例如, ?-student(john).
表示“john是学生吗?”
事实
事实(facts)是prolog中最简单的谓词(predicate)。
谓词: Prolog语言的基本组成元素,可以是一段程序、一个数据类型或者是一种关系。它由谓词名和参数组成。两个名称相同而参数的数目不同的谓词是不同的谓词。
事实的语法结构如下:
pred(arg1, arg2, ... argN).
其中pred为谓词的名称。arg1,...为参数,共有N个。
参数构成规则如下:
由大写字母,A-Z;小写字母,a-z;数字,0-9;+-/\^,.~:.?#$等构成。
原子通常是字母、数字和下划线组成,开头的字符必须是小写字母,下划线不能放在最前面。使用单引号扩起来的字符集都是合法的原子。
变量和原子相似, 但是开头字符是大写字母或是下划线,下划线开头的都是变量。
事实
例:door(kitchen, office).
?-door(X, office).
X = kitchen;
X = no.
prolog不允许使用除了基本字符以外字符,不允许使用汉字。
最末尾的“.”一定不能掉,它表示
文档评论(0)