Download presentation
Presentation is loading. Please wait.
Published byMagdalen Neal Modified over 9 years ago
1
On the Enumeration of Bipartite Minimum Edge Colorings Yasuko Matsui (Tokai Univ. JAPAN) Takeaki Uno (National Institute of Informatics, JAPAN)
2
Graph Theory 2004 2 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 ・・
3
Graph Theory 2004 3 Problem Given: A bipartite graph G=(V(=V 1 ∪ V 2 ),E) with multiple edges. Find : All minimum edge colorings of G. next
4
Graph Theory 2004 4 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
5
Graph Theory 2004 5 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
6
Graph Theory 2004 6 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
7
Graph Theory 2004 7 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
8
Graph Theory 2004 8 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
9
Graph Theory 2004 9 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
10
Graph Theory 2004 10 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
11
Graph Theory 2004 11 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
12
Graph Theory 2004 12 How to find another covering matching Find a directed cycle on G* next eiei eiei eiei eiei
13
Graph Theory 2004 13 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
14
Graph Theory 2004 14 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
15
Graph Theory 2004 15 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
16
Graph Theory 2004 16 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
17
Graph Theory 2004 17 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
18
Graph Theory 2004 18 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
19
Graph Theory 2004 19 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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.