【发布时间】:2014-07-15 07:18:36
【问题描述】:
问题: 给定一个 Q 正则无向图,我正在寻找一种算法来通过边缘删除来识别一个 N 正则无向子图。 N
我尝试过的: 到目前为止,我最好的方法是找到一个哈密顿循环,并删除循环上的所有其他边。这很好地创建了一个 (Q-1)-regular 子图,并且原则上可以重复直到达到所需的规律性程度,或者我无意中创建了一个没有哈密顿循环的图。然而,这种方法很慢(这是我的主要问题),而且它依赖于哈密顿循环的其他完全不必要的限制,这有点问题。
我的问题: 任何人都可以提出哈密顿循环方法的替代方案,或者可能只是告诉我这个问题本质上是困难的,并且比哈密顿循环检测更快的解决方案是不可能的?我意识到我在这里与一些图论概念调情,但我担心我没有专业知识来更正式地构建它。
感谢您的宝贵时间:)
编辑: 我忘了说原始网络中的顶点数(= L)是偶数。我做了这个限制以确保可以创建一个规则图,因为如果 L 和 Q 都是奇数,这是不可能的,并且我希望对 Q 的限制尽可能少。 其次,我确实希望保留所有顶点(因此我只提到了边缘删除)。
【问题讨论】:
-
通过哈密顿循环的方法不一定是一个好的方法,因为 a) 可能没有跨越所有原始顶点的 Q-1 正则子图,而可能存在其他 Q-1 - 正则子图和 b) 即使对于 Q 正则图 with Q ≥ 3,找到哈密顿循环也是 NP-hard。
-
另外,哈密顿循环方法要求顶点数是偶数。
-
您能否澄清一下您是否希望子图包含所有原始顶点?我现在才意识到你可能是那个意思。
-
您反复尝试找到一个 1 因子并将其删除。这通常不起作用;参见,例如,math.stackexchange.com/questions/520203/…。如果您可以通过某种方式找到一个并希望将其随机化,那么我在上一个问题中建议的马尔可夫链方法仍然适用(尽管我不知道收敛速度会是什么样子)。
-
@G.Bach:我知道哈密顿循环方法可能不是最理想的,这就是我来这里的原因:) 我对图论不是很有经验,所以我不能想出更好的东西。但是感谢您的 cmets :)