我接到了一项任务,即找到一种算法,将图G(V,E)划分为相邻边对(将图形着色,使每对相邻边具有相同的颜色)。
我试图通过绘制一些随机图来解决这个问题并得出一些结论:
但是,我无法得出任何其他结论,所以我尝试了不同的方法。我想过使用DFS,找到关节点并将图形划分为具有偶数边数的子图,因为这些也应该可以通过这个规则来划分,依此类推,直到我最终只得到| E的子图(G' )| = 2。
我提出的另一件事是创建图G'其中E(G)= V(G')和V(G)= E(G')。这样我就可以得到一个图形,在那里我可以通过DFS移除顶点对(前边缘),或者总是从叶顶点开始连同它们的相邻顶点。
最后一种技术对我来说最吸引人,但它似乎是最慢的。任何关于哪种方法最好的反馈或提示都非常感谢。
编辑:换句话说,想象一下这个图作为一个城镇的布局。顶点是十字路口,边缘是道路。我们想要准确地装饰(扫掠,着色)每条道路一次,但我们只能同时装饰两条相连的道路。我希望这有助于澄清。
例如,如果图G具有E = {ab,bd,cd,ac,ae,be,bf,fd},则可能的对组合之一是P = {{ab,bf},{ac,cd} {AE,EB},{BD,DF}}
答案 0 :(得分:2)
一种方法是构建一个新的图G,其中:
然后,如果我已正确理解原始问题,G的目标是找到最大匹配,例如,可以使用Blossom algorithm来完成匹配。