【问题标题】:Clingo Printing Duplicated Answers?Clingo 打印重复的答案?
【发布时间】:2018-08-11 03:28:37
【问题描述】:

我无法解释下面的 clingo v 5.2.2 输出:

为什么clingo 打印answer1 两次?我检查了两个answer1s 是完全一样的。

我在我的代码中使用optimization。会不会是这个问题?

我已经设置了test repo。可以通过在测试存储库中运行以下行来生成上述输出。

clingo --opt-mode=OptN examples/swap-shift.lp

【问题讨论】:

    标签: clingo


    【解决方案1】:

    这就是我现在所理解的:使用--opt-mode=OptN 选项,clingo 将尝试多个模型,直到找到所有最佳模型,它会打印它所见证的所有模型,然后是最佳模型。我认为这可以解释为什么 answer1 在我原来的问题中被打印了两次。

    在输出中,我认为Models 是证人总数(包括打印两次的第一个最优模型)。 Optimal 是找到的最优模型的数量。

    我通过观察this example的输出进行了观察

    clingo --opt-mode=OptN asp/_all.lp asp/examples/scatter.lp
    

    看看Optimization如何减少,最后打印出两个最优模型。

    【讨论】:

      【解决方案2】:

      在寻找最佳答案集时,cligo 会打印出比之前找到的答案集更好的每个答案集。 如果找不到更好的答案集,则说明最后一个答案集的最优性已经得到证明。 如果您使用了 optN 模式,则 cligo 会枚举所有具有最佳成本的答案集。这将再次找到找到的第一个最佳答案集。

      我个人不知道如何仅从命令行打印最佳答案集和每个答案集。可以使用 Python API 实现这样的行为。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-01
        • 2021-07-17
        • 2016-04-23
        • 1970-01-01
        相关资源
        最近更新 更多