On the Enumeration of Bipartite Minimum Edge Colorings Yasuko Matsui (Tokai Univ. JAPAN) Takeaki Uno (National Institute of Informatics, JAPAN)
Graph Theory Contents next ・ 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 ・・
Graph Theory Problem Given: A bipartite graph G=(V(=V 1 ∪ V 2 ),E) with multiple edges. Find : All minimum edge colorings of G. next
Graph Theory Our Results We propose an algorithm for 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 Related Work Finding an edge coloring of a bipartite graph G ’82 Cole & Hopcroft O(m log d + n log n log 2 d) ’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 next
Graph Theory 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 next
Graph Theory Konig’s Theorem Theorem(Konig) 1 Any minimum edge coloring of a bipartite graph G uses d colors, where d is the maximum degree of G. next Corollary 2 Each matching of an edge coloring of a bipartite graph G covers all the maximum degree vertices of G. d(G)=4 max. degree
Graph Theory Covering Matching A covering matching M of G A matching of G, s.t. M covers all the maximum degree vertices of G. next def Enumerating minimum edge colorings of G by enumerating covering matchings of G
Graph Theory Framework of our algorithm Find a ll 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
Graph Theory How to enumerate covering matchings Construct a directed graph next s a covering matching M another covering matchings M 1 and M 2 Find a directed cycle on G’ by using the depth-first search
Graph Theory How to construct a directed graph Construct a directed graph G* In general, s : the max. degree vertex : the vertex which is covered by a covering matching : o.w. eiei next
Graph Theory How to find another covering matching Find a directed cycle on G* next eiei eiei eiei eiei
Graph Theory How to find another covering matching Modify an algorithm for enumerating bipartite matchings by Fukuda & T.Matsui next Given two matching M,M’(≠M) ∃ ? a matching M’’ (≠M,M’) All matchings includes e i and covers all the max.degree vetices. Find an edge f ∈ M ⊿ M’ (w.l.g. f ∈ M) ∃ ? a matching M’’ (≠M) s.t. f ∈ M’’ ∃ ? a matching M’’ (≠M’) s.t. f ∈ M’’ ◆ Construct two subproblems ◆ Repeat this procedure
Graph Theory 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) Construct a 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 next
Graph Theory Avoid Duplications To avoid duplications, we fix colors of edges which incident to a specified max. degree vertex r. Each covering matching M i satisfies the following two conditions. (i) M i includes an edge e i which incidents to r.. (ii) M i covers all the max.degree vertices. ∈ ∈ ∈ ∈ e1e1 e2e2 e4e4 e3e3 e 1 e 2 e 3 e 4 one of max.degree vertex M1M1 M2M2 M3M3 M4M4 r next
Graph Theory 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 ) next
Graph Theory 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) next
Graph Theory 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 next
Graph Theory 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.