一条规则的意义可以解释为:当体部(前提部分)的各个条件都满 足时,则头部(结论)成立。
例:likes_to_eat(mary,X):-fruit(X),color(X,red). /*如果X是 水果,并且是红色的,则玛丽喜欢吃X*/
friend(X,tom):-likes(X,sports). /*如果X喜欢运动,则X是汤姆 的朋友*/
其中“:-”表示“如果”,“:-”前后各项便是我们上面所述的事 实。上面的语句用自然语言来表述如下:
如果Y是Z的父亲,并且Y是X的丈夫,那么X是乙的母亲。 如果Y是Z的父亲,并且X是Y的父亲,那么X是Z的祖父。 如果Y是Z的祖父,并且Y是X的丈夫,那么X是Z的祖母。 我们称此类语句为规则。 规则是知识的一种类型,用于表示对象之间的因果关系、蕴含关系 成对应关系。 一个规则由头和体两部分组成,头是“:-”符号的左部,体是“:-” 符号的右部,头和体由符号“:-”相连。“:-”的意思是“如果”,“,” 表示“并且”。 规则的一般形式为:<谓词名>(参数):-<谓词名>(参数),<谓词 名>(参数)……
THE END
询问(question)是询问某种关系是否成立的疑问句,是程序运行的 目标。
询问的一般形式为:?-<谓词名>(参数)……. 例:?-student(xe(mary,music). /*玛丽喜欢音乐吗?*/ ?-friend(john,X). /*约翰是X的朋友吗?*/
在描述事实时,要注意: (1)在Prolog中谓词名是以小写英文字母、数字、下划线等组成 的字符串;如father,color3均为合法的。而像Desk,pen$等是非法的。 (2)参数之间用“,”号隔开,如color(apple,red). (3)在Prolog中用句点“.”表示一条事实陈述语句的结束。如 father(xiaowang,xiaoming). 2.规则 观察描述小明家庭关系的程序,在四条事实的下面有这样一些语句 mother(X,Z):-father(Y,Z),husband(Y,X). grandfather(X,Z):-father(Y,Z),father(X,Y). grandmother(X,Z):-grandfather(Y,Z),husband(Y,X).