Algorithm 通过删除边创建规则子图

Algorithm 通过删除边创建规则子图,algorithm,graph,subgraph,Algorithm,Graph,Subgraph,问题: 给定一个Q-正则无向图,我正在寻找一个通过边删除识别N-正则无向子图的算法。N我发现,Peter de Rivaz的答案的一个变种是从原始图中找到n个连续的完全匹配,然后将网络构建为这些n个匹配的连接。如果N

问题: 给定一个Q-正则无向图,我正在寻找一个通过边删除识别N-正则无向子图的算法。N 我所尝试的: 到目前为止,我最好的方法是找到一个哈密顿循环,并删除循环上的每一条边。这很好地创建了一个(Q-1)-正则子图,原则上可以重复,直到达到所需的正则度,或者我无意中创建了一个没有哈密顿循环的图。然而,这种方法很慢(这是我的主要问题),而且它依赖于哈密顿循环的完全不必要的限制,这有点问题

我的问题: 有人能提出哈密顿循环方法的替代方案吗,或者干脆告诉我,这个问题本质上是困难的,不可能有比哈密顿循环检测更快的解决方案?我意识到我在这里是在玩弄一些图论概念,但我恐怕我没有更正式地构建它的专业知识

感谢您抽出时间:)

编辑: 我忘了提到原始网络中的顶点数(=L)是偶数。我做这个限制是为了确保可以创建一个正则图,因为如果L和Q都是奇数,这是不可能的,我希望对Q有尽可能少的限制。
其次,我确实希望保留所有顶点(因此我只提到了边删除)

在中,作者提供了一种将特殊的
Q-正则
图转换为
Q-1-正则
O(n^3)中的一个的方法,这意味着对于某些特殊情况,您的问题可以在
O(n^4)
中解决。您可能想看看这篇文章,看看它是否对您有帮助。

另一种方法是构造最大匹配(例如使用)

这将构造一组边,使每个顶点最多连接到一条边

这可能比寻找哈密顿路径更有效,也更有可能起作用(例如,对于断开连接的图)

当且仅当每个顶点在匹配中恰好连接到一条边时,删除最大匹配中的边将产生Q-1正则图。(一个顶点不可能连接到多条边,但某些顶点可能连接到0条边。但是,我相信只有在不可能有Q-1正则子图的情况下才会发生这种情况。)


为了让它随机化,你可以考虑使用A和使用随机权值。

< P>我发现,Peter de Rivaz的答案的一个变种是从原始图中找到n个连续的完全匹配,然后将网络构建为这些n个匹配的连接。如果N注意,论文摘要说,该算法仅适用于特定的Q正则图族,并且在不属于该族的图中,还有一类Q-正则图,其中不存在Q-1-正则子图。谢谢,你说得对,我误解了摘要。我已经更新了答案。通过哈密顿圈的方法不一定是好的,因为a)可能没有跨越所有原始顶点的Q-1正则子图,而可能有其他Q-1正则子图,b)即使对于Q正则图,找到哈密顿圈也是NP难的。而且,哈密顿圈方法要求顶点数为偶数。您能否澄清一下,您是否希望子图包含所有原始顶点?我刚刚意识到你可能是那个意思。你反复尝试寻找一个1-因子并将其移除。这在一般情况下是行不通的;参见,例如。如果你能通过某种方式找到一个,并想将其随机化,那么我在你之前的问题上建议的马尔可夫链方法仍然适用(尽管我不知道收敛速度会是什么样子)。@G.Bach:我知道哈密顿循环方法可能是次优的,这就是我来这里的原因:)我只是对图论不是很有经验,所以我没能想出更好的方法。但是谢谢你的评论:)我不确定Kaare是否想要一个只适用于婚姻图(即满足Hall条件的图)的算法。当然,您可以迭代所有的诱导子图,并检查其中哪一个是婚姻图,但显然这需要指数时间。Agrred,尽管它应该适用于他当前方法处理的每种情况,以及一些其他情况(并且更快,这是他主要关心的)。我相信,只有当从原始图中根本不可能生成任何Q-1正则图时,它才会失败。它的工作速度会比他提到的哈密顿圈方法快,并且会给出更多的情况,真的。我刚刚意识到Kaare没有明确指定子图是否应该包含所有原始顶点,因此,如果保留所有顶点是他想要的,那么这种方法实际上是正确的。@G.Bach很好-我没有考虑到他可能想要省略一些顶点的子图,我想我们必须等待卡雷的澄清。