多语言展示
当前在线:1172今日阅读:84今日分享:32

swi prolog 使用教程

Prolog主要用在人工智能和计算机语言的研究领域。Prolog和LISP是两个主要的研究人工智能算法的工具。下面我们来看看swi prolog的使用教程。
工具/原料

pc

方法/步骤
1

为了能够更好地表达一组数据,Prolog引入了列表这种数据结构。 列表是一组项目的集合,此项目可以是Prolog的任何数据类型,包括结构和列表。列表的元素由方括号括起来,项目中间使用逗号分割。例如下面的列表列出了厨房中的物品。

2

当某个列表中没有项目时我们称之为空表,使用“[]”表示。也可以使用nil来表示。下面的句子表示hall中没有东西。例如loc_list([], hall)

3

使用此列表可以与任意的列表匹配,匹配成功后,X绑定为列表的第一个项目的值,我们称之为表头(head)。而Y则绑定为剩下的列表,我们称之为表尾(tail)。输入?- [a|[b,c,d]] = [a,b,c,d]. yes

4

我们考虑边界条件,即最简单的情况。某项目是列表中的元素,如果此项目是列表的表头。写成Prolog语言就是:member(H,[H|T]).从这个子句我们可以看出含有变量的事实可以当作规则使用。

5

由于第一个参数是变量,所以询问的模板能够与第一个子句匹配,并且变量X将绑定为表头。回显出X的值后,用户使用分号引起回溯,Prolog继续寻找更多的答案,与第二个子句进行匹配,这样就形成了递归调用。以上为swi prolog语言使用教程。

注意事项

可以咨询专业人士

推荐信息