问题: 给定一个Q-正则无向图,我正在寻找一种算法,通过边删除来识别N-正则无向子图。 N< Q(显然),重要的是在算法中可以实现某种程度的随机性,因为我需要对N次正则子图的空间进行采样。
我尝试了什么: 到目前为止,我最好的方法是找到哈密顿循环,并删除循环中的每个其他边。这很好地创建了一个(Q-1) - 正规子图,原则上可以重复,直到达到所需的规律程度,或者我无意中创建了没有哈密顿循环的图。然而,这种方法很慢(这是我的主要问题)并且它有点问题,它依赖于哈密顿循环的完全不必要的限制。
我的问题: 任何人都可以建议替代汉密尔顿循环方法,或者只是简单地告诉我问题本来就很难,并且比汉密尔顿循环检测更快的解决方案是不可能的?我意识到我在这里调试一些图论理论,但我担心我没有专业知识来更正式地构建它。
感谢您的时间:)
修改 我忘了提到原始网络中的顶点数(= L)是偶数。我已经制定了这个限制,以确保可以创建一个常规图形,因为如果L和Q都是奇数,这是不可能的,并且我希望对Q的限制尽可能少。 其次,我确实希望保留所有顶点(因此我只提到边删除)。
答案 0 :(得分:3)
在this article中,作者提供了一种将特殊Q-regular
图表转换为Q-1 - regular
O(n^3)
图表的方法,这意味着您的问题可在{{1}中解决对于一些特殊情况。您可能需要查看该文章,看看它是否对您有任何帮助。
答案 1 :(得分:2)
另一种方法是构建最大匹配(例如使用Edmond's Blossom algorithm)。
这构造了一组边,使得每个顶点最多连接到一条边。
这可能比找到哈密尔顿路径更有效,并且更有可能工作(例如,对于断开连接的图形)。
当且仅当每个顶点连接到匹配中的恰好一个边时,删除最大匹配中的边将导致Q-1规则图。 (顶点不可能连接到多个边缘,但有些顶点可能连接到0边缘。但是,我相信只有在不可能有Q-1规则的情况下才会发生这种情况。子图。)
要使其随机化,您可以考虑使用weighted matching algorithm并使用随机权重。
答案 2 :(得分:0)
我认为Peter de Rivaz的答案的变化是从原始图中找到N个连续完全匹配,然后将网络构建为这些N个匹配的连接。如果N < Q-N,这比修剪创作更快,并且具有如果原始图形本身不是常规的,它也可以工作的优点。