let $ g=(v,e)$ 是一个未加权,无向和连接的图形。给定两个开始顶点 $ s_1 $ $ s_2 $ 和两个端顶点 $ t_1 $ $ t_2 $ 是否有来自 $ s_1 $ 的路径到 $ t_1 $ $ s_2 $ to $ t_2 $ 使得两个路径之间最近的边缘数至少 $ k $ ?两个路径是 $ k $ 如果在第二路径上的任何顶点上的任何顶点上的任何顶点之间的最短距离的最小距离是 $ k $

我正在考虑从3SAT减少并让第一路径代表变量,第二条路径代表条款,但我不确定从那里去哪里。

有帮助吗?

解决方案

可以从3sat减少。

图形有两个部分。一个部分是“变量”部分。对于每个变量 $ v_1,\ ldots,v_n $ 有两个三个顶点 $ v_i ^ +,v_i ^ - ,V_I $ ,此部分由以下边缘组成,对于 $ i \ In [n] $

$$(v_ {i-1},v_i ^ +),(v_ {i-1},v_i ^ - ),(v_i ^ +,v_i),( v_i ^ - ,v_i)$$

此处 $ v_0 $ 是一个新顶点,用 $ s_1 $ ,以及 $ v_n $ 用 $ t_1 $

第二部分是“子句”部分。对于每个条款 $ c_1,\ ldots,c_m $ 有四个顶点 $ w_j ^ 1,w_j ^ 2,w_j ^ 3,w_j $ ,如前所述,带 $ s_2 $ $ t_2 $

我们连接 $ v_i ^ $ with $ w_j ^ r $ 通过长度的路径<跨越类=“math-container”> $ k $ (对于一些足够大的常量 $ k $ )如果文字 $ v_i ^ $ $ v_i $ $ \ overline {v_i} $ < / span>,根据 $ b $ )是相对 $ j $ $ c_j $ 中的文字。

此外,我们采取了这些路径的所有思维方式,并将所有态度连接(使它们变成一个Clique)。

我们可以考虑 $(s_1,t_1)$ -path作为真实分配,以及 $ (s_2,t_2)$ -Path,因为标识每个子句的满意文字。最小的距离是 $ k $ 如果这确实如此,并且只有 $ k $ 否则。

您还需要验证是否没有点在部件之间交叉的路径。如果只有一个路径十字架,那么两条路径将靠近(在某些恒定距离处,这足够大的 $ k $ 将小于 $ k $ )。如果两个交叉,那么中点Clique将确保它们最多处于距离1。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top