Prolog:在对象中找到最大值

时间:2015-10-18 23:26:43

标签: prolog

我的目标是为某些对象找到最大值或更多通常的算术表达式。

以下是一个例子:

card(one).
card(two).
card(three).

value(one,10).
value(two,20).
value(three,30).
很明显,"胜利者"是卡3.但我不知道如何构建一个能够将对象的每个值与其他对象进行比较的谓词。

编辑:我已尝试过这个

winner(X):- card(X), value(X, ValueX), card(Y), value(Y, ValueY), ValueX <   ValueY.

结果是&#34;获胜者&#34;,但我需要&#34;绝对赢家&#34;这只是一个。 在上面的示例中,我们有卡2和卡3,因为卡2赢得1和3赢2。所以我们有2个赢家,但绝对一个只有卡3。 有没有办法实现这个目标?

0 个答案:

没有答案