prolog:如何告诉global_cardinality列表至少有N个元素等于M(M,N是整数)

时间:2014-03-02 21:49:18

标签: prolog constraint-programming clpfd sicstus-prolog

例如:我有一些变量:A,B,C,D和条件:在[A,B,C,D]列表中必须有至少两倍于数字2 。 我只能使用global_cardinality/2组合约束。

1 个答案:

答案 0 :(得分:2)

好的,这是一个相当愚蠢的问题。解决方案是例如: global_cardinality(VarList,[1-i,2-M]),M> = 2。 所以我们对VarList有多少1个数字没有任何约束,但是我们给出数字2的数字,即M,并且让M大于2。