反单调性和单调性约束意味着什么?

时间:2017-03-31 18:00:01

标签: database data-structures data-mining

我已经通过网络查看了这个答案,我得到的是两者的类似定义。这是我发现的:

  

单调约束具有以下属性。如果项集S违反单调约束C,则其任何子集也违反C.等价地,满足单调约束C的项集的所有超集也满足C(即,C向上关闭)。 Monotone

     

反单调约束具有以下不错的属性。如果项集S满足反单调约束C,则其所有子集也满足C(即,C向下关闭)。同样,违反反单调约束C的项集的任何超集也违反C. Anti-monotone

引用链接中的定义:

  

当且仅当对于所有项集S和S'时,约束C是单调的:   如果S S'和S违反C,那么S'违反C。

     

当且仅当对于所有项集S和S'时,约束C是反单调的:   如果S⊇S'和S满足C,那么S'满足C。

任何人都可以向我解释一下它们之间的区别是什么?优选地以一个例子。

2 个答案:

答案 0 :(得分:1)

使用第一个定义,如果S违反C,它的超集可能也可能违反C但是的子集必须 ...如果S满足C,则超集其中必须也满足C,但子集可能不

第二个定义是另一种方式......如果S违反C,它的超集必须也违反C但是子集可能不会 ......如果S满足C,它的超集可能也不满足C但是子集必须

答案 1 :(得分:0)

我必须将示例(第一段)格式化为代码块,以便我可以发布。给您带来的不便深表歉意。

这两个陈述相同。

说明

根据第一个定义,让我们将“如果 S 违反 C,则 S' 违反 C”写为 (A -> B),这自动暗示了 (not B -> not A) 这是语句的另一种形式。

如果你仔细看第二个定义,它说明(not A -> not B)这自动暗示(B -> A)(这又是定义的另一种形式)。

(A -> B) 不一定意味着 (B -> A) 所以这两个陈述是不同的。


示例

For an example. Consider-  
C1 = Sum of elements is greater than 5  
C2 = Sum of elements is at most 5  
U(universe) = Set of non-negative real numbers

如果是 C1,
如果S违反C1,那么S'显然也违反C1(S是S'的超集)
例如。 S = {1, 2}, S' = {2}
因此 C1 是单调的。

如果是 C2,
如果S满足C2,那么S'显然也满足C2(S是S'的超集)
例如。 S = {1, 2}, S' = {2}
因此C2是反单调的。