0

我有以下生成搜索空间的 cligo 代码,然后是约束。

{in(I,1..4)}=1 :- I=1..n.
:- [constraint1]
:- [constraint2]

此代码有效。但是我需要 cligo 来找到存在稳定模型的 n 的最大值。最好的方法是什么?

4

2 回答 2

1

性能更高一点的变体应该是:

value(I) :- in(I,_).
value(I-1) :- value(I), I > 0.
#maximize {1,I : value(I)}.
于 2021-09-28T17:47:15.340 回答
0

您可以使用#min 聚合来查找 min n。

value(I) :- I = #min {I:in(I,X) }.

并使用#maximize 指令找到聚合经验值较大的稳定模型。

#maximize {I: value(I)}.
于 2021-02-14T10:22:16.333 回答