Misra & Gries边着色算法
边着色问题:给图的每条边制定一种颜色,使得任意两条相邻的边的颜色均不相同
为了解决本次的问题首先需要引入:Misra & Gries边着色算法
Misra & Gries边着色算法是图论算法的一种,能够在多项式内找到任意图的一种边着色方案。这种着色算法最多使用 Δ + 1 \Delta+1 Δ+1种颜色, Δ \Delta Δ是该图节点的最大度数。这对于一些图而言是最优的,根据Vizing定理,最坏情况下,这种算法给出的结果比最优值多使用一种颜色
论文: “A constructive proof of Vizing’s theorem”
首先介绍几个概念:
扇
介绍扇之前需要先引入定义.对于一种颜色x,如果 c o l o r ( u , z ) ≠ x color(u,z)\ne x color(u,z)̸=x对所有的 ( u , z ) ∈ E ( G ) ( z ≠ v ) (u,z)\in E(G)(z\ne v) (u,z)∈E(G)(z̸=v)成立,则称这种颜色x对边(u,v)未使用
再来引入扇的定义.
对顶点u的一扇,是一个顶点序列,记为 F [ 1 : K ] F[1:K] F[1:K]该序列满足:
- F[1:k]为一个包含u的所有或者部分邻接节点的序列
- ( F [ 1 ] , u ) (F[1],u) (F[1]