prolog是Programming in logic的缩写,意思是使用逻辑进行编程的语言,在人工智能领域被广泛使用。
在学习prolog前我们需要一个解释器,我选择的是swi-prolog,可以从http://www.swi-prolog.org下载。
在这一章我们将通过例子展示prolog编程的基本思想,但是首先我们要先来学习下怎样使用prolog系统。
一个prolog程序是由许多过程组成(过程间的顺序无关紧要),每一个过程又是由一个或多个句子组成(句子间的顺
序非常重要)。句子有两种类型:事实和规则,你马上就会明白这两者间的区别。当启动prolog系统时你会看到一个提
示符,通常是:
?-
系统等待你输入问题或命令。首先程序需要被加载到prolog数据库,你可以通过consult命令加载程序,不要忘了在
最后加上".",例如:
?-consult(''name_of_the_file_with_the_program').
consult命令将文本文件中的事实和句子添加到prolog数据库中,你可以添加许多程序到数据库中,但需要注意不要使用
相同的过程名,否则的话由于不同过程句子间的作用可能会导致过程错误。我们可以通过listing命令显示出当前数据库
中的所有内容。
?-listing.
prolog程序通过调用相应的过程来执行:
?-procedure_name(parameters).
需要注意的是这个过程必须已经加载到数据库中,“调用过程”又被称为“提出问题”。
编辑prolog程序只需要有一个文本编辑器就行了,在swi-prolog下你可以调用emacs这个ide,它可以用不同颜色很清楚
的标识出句子、事实等。
?-emacs.
怎样停止一个prolog程序呢?你只需要用halt命令就行了,别忘了在最后添加上“.“。
?-halt.