【问题标题】:How to sum all rather than just distinct values in clingo?如何在 cligo 中总结所有而不是不同的值?
【发布时间】:2021-05-11 09:58:46
【问题描述】:

以下代码生成x(3) 而不是x(4),因为即使 1 出现两次,它也会将 1 和 2 相加。在 clgo 中获得 total 总和的正确方法是什么?

p(0,1;1,1;2,2).
x(X) :- X = #sum { Y: p(_,Y) }.

【问题讨论】:

    标签: logic-programming answer-set-programming clingo


    【解决方案1】:

    仍然不太清楚为什么会这样,但确实有效:

    x(X) :- X = #sum { Y, Z: p(Z,Y) }.
    

    因此,您似乎必须写出整个“唯一键”,但只对第一个值求和。我没有在文档中解释甚至提到这一点。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 2022-12-12
    • 1970-01-01
    • 2020-10-01
    相关资源
    最近更新 更多