0

我对答案集的定义有点困惑。

如果 S 是 P 的最小模型,则 S 是 P 的答案集。

当我有一个程序

b :- a
a.

然后我知道我的答案集必须是 {a,b},因为 a 是事实。

如果我有类似的东西会发生什么

a :- b

在我找到的幻灯片中,他们声明 a 是一个答案集。但是根据我的理解,当 b = true 意味着 a = true 时,规则是满足的。

因此,如果我设置 a = false 和 b = false 那么规则也会得到满足。

为什么空集不是答案集?(因为它是 {a} 的子集)

4

1 回答 1

2

空集的答案集a :- b.。尝试在线运行您的示例:https ://potassco.org/clingo/run/

clingo version 5.3.0
Reading from stdin
-:1:6-7: info: atom does not occur in any rule head:
  b

Solving...
Answer: 1

SATISFIABLE

Models       : 1

(注意“答案:1”和“满足”之间的空行 -> 空集)

于 2018-10-05T21:16:46.920 回答