数据记录 - 查找重复项

时间:2013-04-29 17:28:30

标签: datalog

我想创建一个约束来过滤nxn矩阵中的所有重复行,其中每个字段由0或1组成。矩阵最多可以包含10x10行和列。 例如。我们有以下4x4矩阵:

0 1 0 1

1 1 1 0

0 1 0 1

1 0 1 1

然后第1行和第3行是相同的,这是不可能的。我一直在想这个问题4个小时,但没有运气。

有人可以给我一个暗示吗?

1 个答案:

答案 0 :(得分:1)

正如您所注意到的,您不能只是"只是"得到行(1,0,1,1)在数据记录关系中出现两次。当然,问题是数据目录关系存储集而不是列表或元素的多集。处理此问题的最佳方法是添加额外数据,以跟踪行发生的频率,将矩阵视为从索引到值的映射。您可以尝试以下方法之一:

myUnorderedMultiset[x,y,z,w]=count -> int(x), int(y), int(z), int(w), int(count).

myMatrix[rowIndex, columnIndex] = value -> int(rowIndex), int(columnIndex), int(value).