7 PROLOG语言
- 格式:ppt
- 大小:68.50 KB
- 文档页数:15


人工智能语言——PROLOG作者:王春莲王海霞来源:《电脑知识与技术·学术交流》2008年第05期摘要:Prolog是人工智能语言的一个典型代表。
本文简要阐述了人工智能语言及其特点,并通过实例介绍了Prolog语言及其基本结构。
关键词:人工智能语言;Prolog;递归中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)05-10ppp-0cProlog的思想最早由R. Kowalski提出,1972年,第一个prolog语言在法国的马赛研制成功,最初设计思想是以FOL为背景,设计一个处理逻辑推理问题的会话式语言。
Prolog 目前是AI应用中重要的开发工具,也是开发知识库、ES、自然语言接口、智能信息管理系统的重要工具。
1 什么是人工智能语言人工智能(AI)语言是一类适应于人工智能和知识工程领域的、具有符号处理和逻辑推理能力的计算机程序设计语言。
能够用它来编写程序求解非数值计算、知识处理、推理、规划、决策等具有智能的各种复杂问题。
典型的人工智能语言主要有LISP、Prolog、Smalltalk、C++等。
一般来说,人工智能语言应具备如下特点:(1)具有符号处理能力;(2)适合于结构化程序设计,编程容易;(3)具有递归功能和回溯功能;(4)具有人机交互能力;(5)适合于推理。
人们可能会问,用人工智能语言解决问题与传统的方法有什么区别呢?传统方法通常把问题的全部知识以各种的模型表达在固定程序中,问题的求解完全在程序制导下按着预先安排好的步骤一步一步(逐条)执行。
解决问题的思路与冯.诺依曼式计算机结构相吻合。
当前大型数据库法、数学模型法、统计方法等都是严格结构化的方法。
对于人工智能技术要解决的问题,通常需要建立一个知识库,程序根据环境和所给的输入信息以及所要解决的问题来决定自己的行动,所以它是在环境模式的制导下的推理过程。
这种方法有极大的灵活性、对话能力、有自我解释能力和学习能力。
附录E Prolog语言与逻辑推理Prolog是PROgramming in LOGic的缩写,意思就是使用逻辑的语言编写程序。
它是一种逻辑编程语言。
Prolog语言最早由Aix-Marseille大学的Alain Colmerauer与Phillipe Roussel等人于上世纪60年代末研究开发。
一直在北美和欧洲被广泛使用。
日本政府曾经为了建造智能计算机而用Prolog来开发ICOT第五代计算机系统。
在早期的机器智能研究领域,Prolog曾经是主要的开发工具。
1995年确定了ISO Prolog标准。
Prolog建立在逻辑学的理论基础之上,最初被运用于自然语言等研究领域。
现在它已广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。
相比于其他编程语言,Prolog语言更容易理解,但是编程思路有极大差异。
它很适合于开发有关人工智能方面的程序,例如:专家系统、自然语言理解、定理证明以及许多智力游戏。
本节的示例都将使用基于Visual Prolog6.2的PIE(智能推理机)。
§E.1 Prolog基础此处只介绍与其他程序语言(如C语言)差异较大者。
Prolog区分大小写,一个原子是由一个小写字母开始的字符串(包括英文字母、数字),有些原子是常量,而其它的是谓词。
而一个变量是由一个大写字母或者下划线“_”开始的字符串。
在Prolog中,变量和常数不用事先声明。
除了原子及变量外,Prolog也可以处理数字。
原子、变量及数字可以置于方括号“[]”内并使用逗号“,”分割,形成一个列表。
Prolog的一段注释以“/*”开始以“*/”结尾,单行注释使用“%”。
一个Prolog程序包含数个短句,每个短句或者是事实或者是规则,每一个短句以英文句号“.”结尾。
(注意不是分号)事实就是前提或已知条件,由谓词和个体词构成,以英文句号结束,形式为谓词(个体词1, 个体词2, …).个体词可以是原子(在这情况下,这些原子被当成常数)、数字、变量或列表,个体词以逗号分隔。