我对答案集的定义有些困惑。
如果S是P的最小模型,则S是P的答案集。
当我有一个程序
b :- a
a.
然后我知道我的答案集必须为{a,b},因为a是事实。
如果我有类似的东西会发生什么
a :- b
在我发现的幻灯片中,他们指出a是答案集。但是据我了解,当b = true表示a = true时,满足该规则。
因此,如果我设置a = false和b = false,那么规则也将得到满足。
为什么空集不是答案集? (因为它是{a}的子集)
答案 0 :(得分: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”和“满意”->空集之间的空行)