我正在参加人工智能课程,我们正在使用答案集编程(Clingo)。我们目前主要讨论的是理论,我在区分模型和最少模型方面遇到了一些麻烦。我有以下定义:
满足规则,模型,最少模型和答案集 程序
- 如果程序的规则正文中没有“not”,则称该程序为明确。
- 据说集合S满足形式a的规则: - b1,...,bm,而不是c1,...,而不是cn。如果它的身体被S满足(即,b1 ... bm在S中 并且没有c1 ... cn在S)暗示其头部必须是 S满意(i..e,a在S中)。
- 如果满足该程序的所有规则,则称集合S满足程序。
- 如果(a)S满足P(也称为S是P的模型)和(b)否,则集合S被称为确定程序P的答案集合 严格的S子集满足P(即S是P的最小模型)。
醇>
提出问题(从演讲幻灯片中提取,而不是作业):
P is defined as:
a :- b,e.
b.
c :- d,b.
d.
Which of the following are models and least models?
{}, {b}, {b,d}, {b,d,c}, {b,d,c,e}, {b,d,c,e,a}
有谁能让我知道上述问题的答案是什么?我可以找出与那里的区别,尽管如果有人可以解释普通话的差异(而不是教科书定义),那将是美妙的。我不确定在哪个论坛发布此问题 - 请告诉我是否应将其发布到其他地方。
由于
答案 0 :(得分:2)
首先,请注意幻灯片的这一部分是关于积极计划的答案集 P (也称为明确计划),即使它提到不。积极的计划是一个简单的案例,正面计划 P 总是存在一个独特的最小模型 LM ( P ),这是它所有模型的交集。
在规则 body 中允许 not 规则会使事情变得更复杂。规则的正文是:-
的右侧。
问题的答案是,设置为:
b. d.
d.
c :- d,b.
而c不在S a :- b,e.
而a不在S 那么最少的模特是什么?它的S = {b,c,d},因为没有严格的S子集满足 P 。
我们可以通过两种方式获得正面计划 P 的最小模型:
b. d.
)并迭代地将隐含的原子(此处为c :- b,d.
)添加到S,重复直到S为模型并在此时停止。就像你的幻灯片说的那样,积极计划 P 的答案集的定义是:S是 P 如果S是 P 的最小型号。更严格的是,这实际上是当且仅当,因为最小模型 LM ( P )是唯一的。
作为最后一点,因此您不会对它们感到困惑,约束 :- a, b
实际上只是x :- not x, a, b
的简写。因此,包含约束的计划不是积极的计划;虽然它们可能看起来像起初,因为约束的主体似乎并不包含而不是。