平面3 -SAT
平面3 -SAT
一些基本的小工具
Planar-3-SAT
4X3小工具
这个小工具有两个有效的最小平方分区状态:

左一个4X3小工具。中右:两个可能的最小二乘状态。
5X4小工具
这个小工具与4X3小工具完全一样,只是尺寸更大。

左一个5X4小工具。中右:两个可能的最小二乘状态。
端点小工具
TF

左:端点小工具的线框。中心:真值端点。右:假值端点。
i-wire小工具
一个I-线的小工具是短期的暗示线。
规则:
例:

72
使用方法如下:

图8,9,左:跨两个端点的线框i-wire。右:联盟。
现在,如果一个端点处于正确的状态,它将迫使另一个端点处于推入位置。例:

左:方形分区图;左开关按下,将所有方块“推”到i-wire上,最后按下另一个开关(端点)。右:方形分区图;左侧端点已满,将i-wire向下推动所有正方形,并迫使左侧端点 “向上”。
A⟹¬BA⟹B
但是,这使情况不受限制:

如果我们将两条i-wire组合在一起,则可以得到双向含义,本质上是布尔(不等式)相等:

因此,两条i-wire可以具有完全相等的关系,就像一条电路一样-实际上,它是一条电路。我们将使用这些对来构建可用的导线。
l−12+2
可以根据需要确定i-wire的方向。
线
一条线由一对i 线组成,它们在每个端点处连接到相同的门。
- 在I-线是红色和绿色。
- 3
- 每个栅极引脚将具有绿色和红色触点。电线必须正确连接。
- 不变规则:将一根 i-wire沿另一根 i-wire的相反方向推动,每个浇口都假定并确定了这一点(除非另有说明)。
- 由于每条导线都包含双向含义,因此像电路中的导线一样,它在栅极之间传递值。
- 每条线的两端都必须连接到门。。否则,可能会破坏我描述的某些门的假设以及上面的不变规则。但是,在导线两端具有端点的 栅极是安全的-您可以将散线连接到这些端点,而不必担心会损坏栅极。
- 电线必须为奇长,包括与之相连的任何电路的引线;但是,我将在下面描述一个奇数跳闸门,该跳闸门可使偶数长度的导线变为奇数长度。
图片:

上图:一根电线。

左,右:有两种可能的最小平方分区状态一的线。请注意,如果电线只有此长度,则将无法向右或向左移动,并且必须将一个正方形分成较小的部分。
电线可以根据需要定向。
弯闸:弯曲导线

左:线框视图。右:联合视图。
注意4X3-gadget的使用。用于将红色导线固定为奇数长度。
以下是折弯的两种可能的最小二乘状态:

左和右:弯曲线的两个可能的最小二乘方分区状态。
门可以根据需要定向。显然,此门可以镜像为另一个方向。
倾斜电线
很容易将电线移过来。线框图:

命名值门
甲命名值门基本上是一个端点与一个金属丝接触的栅极:

奇跳门:奇数跳线
有时仅使用奇长线是不方便的。例如:

如您所见,一点点扩展有点烦人。这是使用4X3门的相应解决方案:

因此,将其变成门,我们得到奇跳门(在线框中):

门可以根据需要定向。
扭闸:扭线
有时,您会在错误的一面看到红色和黑色的i线,以用于门。在这种情况下,提供了一个扭曲门,将红色和黑色的i线扭曲到相对的两侧。
线框图:

说服自己,它的工作原理:

A
门可以根据需要定向。
分割门:分割线
分割线,线框:

说服自己,它的工作原理:

A

A
注意:每根进出分离器的电线必须绝对连接到某处的端点,以保持不变。或者,您可以将端点添加到拆分器的每对引线中。
门可以根据需要定向。
非门
非门接一条线并输出一条具有相反含义的线。它基本上是一个扭曲门,只是它重新标记了电线的颜色。在没有门看起来像这样:

并查看两种可能的状态:

门可以根据需要定向。
子句门
对于子句门,我们首先介绍子句小工具:

3
这是门的样子:

3



说明:
- 从子句小工具开始,然后遵循箭头。
- 非箭头线表示它是电路的一部分,但不会被门强制进入某种状态。
- 子句小工具的状态会强制将其中一个端点的值设置为true。
3-CNF
门可以根据需要定向。
减少
Φ(x)Planar-3-SAT
Φ(x)=∧niCi,C={(xj∨xk∨xl)}
视觉辅助工具(原始资料:Terrain Guarding是NP-Hard(PDF),以tikz复制):

然后:
- xi∈xxi¬xi
- 使用非门将闸门彼此连接,以使它们在逻辑上抵消对方的值。
- 将变量的门的多边形放置在平面嵌入中的位置。
- 对于每个子句,将子句门放置在平面嵌入中该子句的位置。
- 使用上述门,将所有变量连接到其子句。
- 对所有门的多边形(整个电路)的结果并集运行最小二乘方分配算法。
- 如果该算法返回所有门的最小平方分区状态大小的总和(减去共享角),则可以满足要求。如果不能满足要求,它将迫使受约束的小工具分裂成较小的正方形,从而增加了划分电路所需的正方形数量。
为什么有效
- 每个小工具都有最小的正方形分区状态大小;也就是说,该小工具的最小平方分区为一定大小。
- 某些小工具具有此大小的多个状态。这些状态中的每一个都是有效的最小平方分区。
- 当小工具仅在角落组合时,小工具的最小平方划分状态的和仍为* 它们并集的最小平方划分状态;您可以直观地看到这一点:在角落连接不会给正方形提供足够的空间来扩展/连接来自另一个小工具的正方形。
- 虽然在拐角处组合小工具不会减小总的最小平方分区大小,但确实会相互关联并约束小工具。
- 使用上面显示的门,您可以约束足够的状态,因此,如果逻辑公式无法满足要求,则一个或多个小组件将不得不分成更小的正方形,并增加最小正方形分区的大小。
图源
您也可以删除imgur网址的后缀“ s”,“ m”,“ l”来查看较大的图像。例如,通过转到
http://i.stack.imgur.com/6CKlG.jpg,您可以看到一个更大的图像:http : //i.stack.imgur.com/6CKlGs.jpg。请注意之前缺少的“ s” .jpg
。