如何在prolog语句中表示一个句子

时间:2015-12-30 11:32:02

标签: prolog

问题如下:

在Prolog中代表以下内容:

1.Butch是一个杀手。

2 Mia和Marsellus结婚了。

3 Zed死了。

4 Marsellus杀死了给Mia带来足部按摩的每个人。

5米娅喜欢每个好舞者。

6 Jules吃任何有营养或美味的食物。

我的答案是这样的,请帮我检查一下我是对还是错。

  1. 杀伤(布奇)。
  2. 2结婚(mia,marsellus)。

    3死(zed)。

    4次杀戮(marsellus,X): - 给予脚部按摩(mia,X)。

    5爱(mia,X): - gooddancer(X)。

    6吃(jules,X): - 营养丰富(X);美味(X)。

    非常感谢:)

1 个答案:

答案 0 :(得分:2)

您已将句子正确翻译为Prolog。

但是你的命名约定使得代码很难阅读!

一个好的Prolog命名约定清楚每个参数的含义

例如,让我们来看你的最后一句:

eats(jules, X) :- nutritious(X) ; tasty(X).

从上下文来看,很明显第一个论点是一个人,第二个论点是食物。一个好的谓词名称使这一点明确。

与此对比:

person_eats_food(jules, Food) :- nutritious(Food) ; tasty(Food)

我建议您再次浏览每个翻译,并尽可能找到更好的名称。