云轩阁

手机浏览器扫描二维码访问

附录B 理解PROLOG(第1页)

附录B理解PROLOG

banner"

>

假设我们想要一个解释家庭关系的系统,我们将了解一个简单的PROLOG程序如何捕获有关家庭关系的知识。

假设我们用“female(X)”

来表示X是女性,我们用“parents(X,M,F)”

表示X的双亲为M和F,其中M为父亲,F为母亲。

然后你就可以编写如下PROLOG规则:

sister_of(X,Y):-female(X),parents(X,M,F),parents(Y,M,F).

以上规则表述的是“X是Y的姐妹”

,如果以下规则成立:

1.X是女性。

2.X的父亲是M,母亲是F。

3.Y的父亲是M,母亲是F。

如果你不熟悉逻辑推理,这听起来似乎是用相当复杂的方式在表述某人是某人的姐妹。

但基本上,它表述的意思是,如果X是女性,X和Y有相同的父母,则X是Y的姐妹。

我们可以给PROLOG程序增加一些新的事实:

female(janine).

&s(janine,wayne,yvonne).

&s(david,wayne,yvonne).

鉴于这些事实,如果我们让PROLOG去证明Janine是David的姐妹,证明成立。

本例中的相关目标是:

sister_of(david,janine)

当提出这个目标时,PROLOG就会回答“是”

,表示它能够证明Janine是David的姐妹。

请关闭浏览器阅读模式后查看本章节,否则将出现无法翻页或章节内容丢失等现象。

热门小说推荐
每日热搜小说推荐