Download presentation
Presentation is loading. Please wait.
Published byMyles Maxwell Modified over 9 years ago
1
Perfect Matching for Biconnected Cubic Graphs in O(nlog 2 n) Time Krzysztof Diks & Piotr Stańczyk
2
Petersen theorem (1891) Cubic graph without perfect matching contains at least three bridges Conclusion: every biconnected cubic graph has a perfect matching
3
Frink’s algorithm - O(n 2 ) time (1926) Observation: at least one of two local reductions of n+2-vertex biconnected graph leads to n- vertex biconnected graph Idea: keep reducing a graph (preserving biconnectivity) until it consists of 2 vertices.
4
Frink’s algorithm - O(n 2 ) time (1926) Reduce graph to 2-vertex (preserving biconnectivity) – O(n) phases, O(n) time each Construct arbitrary matching – O(1) Reverse all reductions (4 cases possible) – O(n) phases, O(n) time each (worst case)
5
Biedl’s et al. algorithm – O(nlog 4 n) time (SODA,1999) Valid reduction selection Instead of computing biconnected components from scratch use dynamic graph biconnectivity algorithm – O(log 4 n) per edge removal/addition/query Elimination of case (d) from the revertion process 1) Select an edge e which is excluded from the matching 2) Perform reductions against edges incident to e (edge e „travels” along the graph) 3) Construct initial matching excluding edge e 4) Reverse all reductions – case d) does not occur, as e is never matched Complexity: O(nlog 4 n)
6
New algorithm – O(nlog 2 n) time Replace dynamic graph biconnectivity algorithm with: Dynamic graph connectivity algorithm – O(log 2 n) deterministic / O(lognloglog 3 n) randomized time Tarjan’s dynamic trees – O(logn) (addition, removal of edges, change of tree’s root, LCA computation) How to perform reduction phase with a new approach?
7
New algorithm – O(nlog 2 n) time Remove reduction edge along with all incident vertices / edges. Two cases are possible: Resulting graph is not connected If so, graph has a structure presented in figure (a) One reduction leads to not connected graph (can be verified with dynamic connectivity algorithm) The other reduction leads to biconnected graph (Frink’s theorem)
8
New algorithm – O(nlog 2 n) time Resulting graph is connected Analyze changes in spanning tree maintained by dynamic connectivity data-structure, update Tarjan’s dynamic trees Analyze edges of a spanning tree T spanned by vertices A, B, E and F. Select reduction which covers all spanned edges with cycles (use LCA operation from Tarjan’s trees) Selected reduction maintains biconnectivity…
9
New algorithm – O(nlog 2 n) time Selected reduction maintains biconnectivity: Added edges and edges spanned by A, B, C and D are covered by a cycle Any other edge e → before reduction there was a cycle c covering e. If c is a cycle in reduced graph → OK Otherwise, c contains some removed edges E. Let f be a cycle in T+E containing all edges of E. Symmetric difference of f and c is a cycle in reduced graph Each edge belongs to some cycle → graph is biconnected Overall complexity: O(nlog 2 n) deterministic, O(nlognloglog 3 n) randomized
10
Possible improvement Replacement of dynamic connectivity algorithm with decremental counterpart – how to handle edge insertion? New vertex and edge representation: Allowed Not allowed
11
Possible improvement It is not allowed to perform reductions against not allowed edges – how to bypass it… Introduce support for reverse points in decremental connectivity data-structure In case of performing reduction against not allowed edge, it is required to execute reverse point first, three cases are possible…
12
Possible improvement Even cycle case:
13
Possible improvement Odd cycle case: not allowed – introduces bridge
14
Possible improvement No cycle case:
15
Thank you Any questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.