我有一个合乎逻辑的问题,我找到了一些我想要的表达,但是现在我过度紧张,我不知道如何放松它。
让我们假设我们有一个可以有周期的导向图。边缘没有重量。所以非常简单如下(不要打扰每个节点内部的内容,这一点并不重要):
一件重要的事情: w1 永远不会改变他的名字。
我正在用图形形式化逻辑问题。要告诉节点 wi 和节点 wj 之间存在边缘:我有一个名为 Rij <的命题变量(可以是真或假) / em>的。所以对于N个节点,我有N ^ 2个命题变量。
这些图表有isomorphism,我想将约束正式化 如果 i 和 j 之间没有边缘,则 i 和 k 之间没有边缘(对于< em> k &gt; j )。
用别人的话说,我想把约束用来形式化图中对称性的破坏。
我尝试了以下天真的事情:
forall i, forall j (>i), forall k (>j), ( not(Rij) --> not(Rik) )
这种约束很常见,不幸的是,这种约束过度约束。有时我们不能放置任何节点标签以尊重这些约束;
通过这个例子,不可能命名A,B,C,例如如果 wi 和 wj 之间没有边缘,那么 wi 和 wk (k> j)。
有一种方法可以按顺序调整这些逻辑约束(或制定全新的约束),而不管原始图形,只能以一种方式重命名A,B,C ......我的问题:如何制定这些约束?
提前感谢您的帮助!
最诚挚的问候。