190 likes | 403 Views
On the Enumeration of Bipartite Minimum Edge Colorings. Yasuko Matsui (Tokai Univ. JAPAN) Takeaki Uno (National Institute of Informatics, JAPAN). Contents.
E N D
On the Enumeration of Bipartite Minimum Edge Colorings Yasuko Matsui (Tokai Univ. JAPAN) Takeaki Uno (National Institute of Informatics, JAPAN)
Contents ・ Problem・ Our Results・ Related Work・ Previous Results・ Konig’s Theorem・ Covering Matching・ Framework of our algorithm・ How to enumerate covering matchings・ How to find another covering matching・ Algorithm & Complexity・ Avoid Duplications・ Analysis of Time Complexity・ Analysis of Space Complexity・ Main Theorem ・・ next Graph Theory 2004
Problem • Given: A bipartite graph G=(V(=V1∪V2),E) with multiple edges. • Find : All minimum edge colorings of G. next Graph Theory 2004
Our Results • We propose an algorithmfor finding all minimum edge colorings of a bipartite graph. • A simple polynomial delay algorithm. • Amortized Time Complexity: O(n) per output • Space Complexity: O(m+n) next Graph Theory 2004
next Related Work • Finding an edge coloring of a bipartite graph G ’82 Cole & Hopcroft O(m log d + n log n log2d) ’82 Cole O(m log d + n log n log d) 2-3tree ’99 Rizzi O(m log d + n log n log d) ’99 Schrijver O(m d) ’01 Cole, Ost & Schirra O(m log d)splay tree ’01 Makino, Fujishige & Takabatake O(m log d + n log n log d) ’03 Takabatake O(m log d + n log n) n:|V|, m:|E|, d:max. degree of G Graph Theory 2004
next Previous Results • Enumerating edge colorings of a bipartite graph G ’94 Y.Matsui & T.Matsui O(m log d + md N) ’96 Y.Matsui & T.Matsui O(m log d + m log d N) Y.Matsui & Uno O(m log d + n N) Our algorithm can obtain an additional minimum edge coloring in O(n). n:|V|, m:|E|, d:max. degree of G, N:# of minimum edge colorings of G Graph Theory 2004
next Konig’s Theorem • Theorem(Konig) 1 Any minimum edge coloring of a bipartite graph G uses d colors, where dis the maximum degree of G. d(G)=4 • Corollary 2 Each matching of an edge coloring of a bipartite graph G covers all the maximum degree vertices of G. max. degree Graph Theory 2004
def next Covering Matching • A covering matching M of G A matching of G, s.t. M covers all the maximum degree vertices of G. • Enumerating minimum edge colorings of G by enumerating covering matchings of G Graph Theory 2004
Find all covering matching M, For each obtained matching M, Set G(:=G\M). Enumerate edge colorings in G. Do these operations recursively unless G has no edge. next Framework of our algorithm Graph Theory 2004
next How to enumerate covering matchings • Construct a directed graph s a covering matching M another covering matchings M1and M2 Find a directed cycle on G’ by using the depth-first search Graph Theory 2004
next How to construct a directed graph • Construct a directed graph G* In general, s ei : the max. degree vertex: the vertex which is covered by a covering matching: o.w. Graph Theory 2004
next How to find another covering matching • Find a directed cycle on G* ei ei ei ei Graph Theory 2004
next How to find another covering matching • Modify an algorithm for enumerating bipartite matchings by Fukuda & T.Matsui Given two matching M,M’(≠M) All matchings includes ei and covers all the max.degree vetices. ∃? a matching M’’ (≠M,M’) Find an edge f ∈ M ⊿ M’ (w.l.g. f ∈ M) ◆Construct two subproblems ◆Repeat this procedure ∃? a matching M’’ (≠M) s.t. f ∈ M’’ ∃? a matching M’’ (≠M’) s.t. f ∈ M’’ Graph Theory 2004
next Algorithm & Complexity • Given:a bipartite graph G • Find an edge coloring C of G O(m log d) • Choose a covering matching M from C O(m) • Constructa directed graph G* O(m) • Find another covering matching M’,if exists O(m) • Solve two subproblems recursively O(m) • Find an edge coloring of C\M’’ , if exists another covering matching M’’ O(m log d) O(m log d + m log d N) time We can reduce the time complexity. O(m log d + nN) time n:|V|, m:|E|, d:max. degree of G, N:# of minimum edge colorings of G Graph Theory 2004
one of max.degree vertex e1 e2 e3 e4 next Avoid Duplications r • To avoid duplications, we fix colors of edges which incident to a specified max. degree vertex r. • Each covering matching Misatisfies the following two conditions. (i) Miincludes an edgeei which incidents to r.. (ii) Micovers all the max.degree vertices. e1 ∈ M1 e2 ∈ M2 e3 ∈ M3 e4 ∈ M4 Graph Theory 2004
next Analysis of Time Complexity • Lemma 3 Suppose that a given bipartite graph G is not a star andΔ(G)>2. For any covering matching M of G, there are 2Δ-1 n edge colorings C which include M. ⇒ The computational time for finding an edge coloring C ≦T(Δ(G) n log n / 2Δn ) Graph Theory 2004
next Analysis of Time Complexity • Lemma 4 The amortized computational time for finding all covering matchings which were included in an edge coloring = T( 1n log n/n + 2n log n / 2n + ・・・ + 2Δ-1 n log n / 2Δ-1 n ) = O(n) Graph Theory 2004
next Analysis of Space Complexity • Idea 1 Use a loop instead of generating a recursive call with respect to G*\e. The depth of the recursive call is at most m+n. • Idea 2 Use the minimum possible index edge e to partition the problem. O(m+n) memory Graph Theory 2004
Main Theorem • Theorem 5 Our Algorithm enumerates all minimum edge colorings of a bipartite graph G=(V,E) with multiple edges in O(|V|N)time and O(|E|+|V|) space, where N is the number of minimum edge colorings of G. Graph Theory 2004