我有一个基于网格的图,其中节点和边占据单元格。边缘可以交叉,但不能在同一方向上相互移动。
假设我想优化图形,以便边缘覆盖的距离最小化。 我目前正在使用A *搜索每个连接,但算法是贪婪的,不提前计划。请考虑下面的图表,其中连接的顺序发生了变化(请注意,对于任何给定的边缘,可以有多个最短路径,请参阅绿色和 紫色连接)。
我的直觉说这是NP-Complete,并且需要进行详尽的搜索,随着图形的大小增加,这将非常昂贵。但是,我无法显示这一点,并且与其他通常涉及最小化交叉的图形嵌入问题并不完全相同。
答案 0 :(得分:0)
你没有真正描述你的问题,你的图像已经消失,但你的问题听起来像是最小的T-join问题。
在图G上定义了最小T连接问题。你给出了一个偶数大小的集合T,并且你试图找到图的子图,其中T的顶点具有奇数度而另一个顶点具有均匀度。你的边缘有权重,你试图最小化子图中边缘权重的总和。
令人惊讶的是,由于与非双网匹配问题的非常紧密的联系,最小T连接问题可以在多项式时间内得到解决。也就是说,如果在T的顶点之间找到所有对最短路径,则通过T中顶点的最小权重完美匹配来获得最小T连接,其中在两个顶点之间存在边缘,其长度是最短路径的长度在G。
最小T-join将是路径的集合。如果两个不同的路径,例如a-> b和c-> d,使用相同的边缘uv,则它们可以被a-> u-> c和b-> v-> d替换。降低T-join的成本。所以它不会两次使用相同的边缘。