Prolog是一门独特的编程语言。在这篇经验中,我将介绍关于它的一个重要的子句形式——规则及其用法。6Prolog的基本概念和语法规则
工具/原料
1
Prolog
2
编辑器
方法/步骤
1
让我们先从一个简单的规则开始讨论:eats(john, Y) :- food(Y), sweet(Y).这个规则告诉我们,如果Y是食物且甜,那么约翰会去吃它。规则由三个要素组成:规则头(此例中为eats(john,Y));符号“:-”(这个符号的意思可以理解为“如果”或“是”);规则体(此例中为food(Y), sweet(Y))。
2
以下是相应的整个代码。
4
由于Prolog的特性使得它特别适合用于地图上色、日程安排之类没有算法或难以用算法描述的问题。接下来,以地图上色的问题作为例子。地图上色时,需要让相邻的两片区域用不同的颜色表示。下图是美国东南部的地图,尝试用三种颜色将它们区别出来。
5
在下面这个规则中,告诉了Prolog各个州的的接壤关系:coloring(Alabama, Mississippi, Georgia, Tennessee, Florida) :- different(Mississippi, Tennessee), different(Mississippi, Alabama), ……下图是整个代码。
6
运行时,对Prolog用下列语句进行提问:?- coloring(Alabama, Mississippi, Georgia, Tennessee, Florida).这样就生成了需要的结果。在这些问题中,我们没有使用算法!Prolog不是通过编写算法来解决逻辑问题的,而是通过如实地描述真实世界,来呈现计算机可以设法解决的逻辑问题,让计算机做这些工作吧。
注意事项
1
笔者使用的是SWI-Prolog,如果读者使用其他的Prolog,语法可能略有差异。
2
写程序时注意大小写和符号。
上一篇:GRE考试词汇记忆的方法解读
下一篇:职场上要明白的几点规则