Perfect Matching for Biconnected Cubic Graphs in O(nlog 2 n) Time Krzysztof Diks & Piotr Stańczyk.

Slides:



Advertisements
Similar presentations
The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Advertisements

Lecture 15. Graph Algorithms
Dynamic Graph Algorithms - I
Walks, Paths and Circuits Walks, Paths and Circuits Sanjay Jain, Lecturer, School of Computing.
Backtrack Algorithm for Listing Spanning Trees R. C. Read and R. E. Tarjan (1975) Presented by Levit Vadim.
Improved Approximation Algorithms for the Spanning Star Forest Problem Prasad Raghavendra Ning ChenC. Thach Nguyen Atri Rudra Gyanit Singh University of.
Minimum Spanning Trees Definition Two properties of MST’s Prim and Kruskal’s Algorithm –Proofs of correctness Boruvka’s algorithm Verifying an MST Randomized.
CSC401 – Analysis of Algorithms Lecture Notes 14 Graph Biconnectivity
1 Section 9.4 Spanning Trees. 2 Let G be a simple graph. A spanning subtree of G is a subgraph of G containing every vertex of G –must be connected; contains.
CMPS 2433 Discrete Structures Chapter 5 - Trees R. HALVERSON – MIDWESTERN STATE UNIVERSITY.
Combinatorial Algorithms
Zoo-Keeper’s Problem An O(nlogn) algorithm for the zoo-keeper’s problem Sergei Bespamyatnikh Computational Geometry 24 (2003), pp th CGC Workshop.
A Randomized Linear-Time Algorithm to Find Minimum Spanning Trees David R. Karger David R. Karger Philip N. Klein Philip N. Klein Robert E. Tarjan.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Data Structures & Algorithms Graph Search Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Discussion #36 Spanning Trees
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
An Euler Circuit is a cycle of an undirected graph, that traverses every edge of the graph exactly once, and ends at the same node from which it began.
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum.
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
1 Separator Theorems for Planar Graphs Presented by Shira Zucker.
New Algorithm DOM for Graph Coloring by Domination Covering
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
Approximate Distance Oracles for Geometric Spanner Networks Joachim Gudmundsson TUE, Netherlands Christos Levcopoulos Lund U., Sweden Giri Narasimhan Florida.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
External-Memory MST (Arge, Brodal, Toma). Minimum-Spanning Tree Given a weighted, undirected graph G=(V,E), the minimum-spanning tree (MST) problem is.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
 Jim has six children.  Chris fights with Bob,Faye, and Eve all the time; Eve fights (besides with Chris) with Al and Di all the time; and Al and Bob.
Algorithms for Enumerating All Spanning Trees of Undirected and Weighted Graphs Presented by R 李孟哲 R 陳翰霖 R 張仕明 Sanjiv Kapoor and.
A Fast Algorithm for Enumerating Bipartite Perfect Matchings Takeaki Uno (National Institute of Informatics, JAPAN)
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
5.2 Trees  A tree is a connected graph without any cycles.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Introduction to Graph Theory Lecture 17: Graph Searching Algorithms.
Graph Theory Trees. WHAT YOU WILL LEARN Trees, spanning trees, and minimum-cost spanning trees.
Minimum Bottleneck Spanning Trees (MBST)
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
1 22c:31 Algorithms Minimum-cost Spanning Tree (MST)
Exponential random graphs and dynamic graph algorithms David Eppstein Comp. Sci. Dept., UC Irvine.
Tree Diagrams A tree is a connected graph in which every edge is a bridge. There can NEVER be a circuit in a tree diagram!
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Proof of correctness of Dijkstra’s algorithm: Basically, we need to prove two claims. (1)Let S be the set of vertices for which the shortest path from.
Trees.
Incremental convex hulls BEN LEVY| DISCRETE ALGORITHMIC GEOMETRY
Minimum Spanning Tree Chapter 13.6.
The minimum cost flow problem
Graph theory Definitions Trees, cycles, directed graphs.
What is the next line of the proof?
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Minimum Spanning Trees
Biconnectivity SEA PVD ORD FCO SNA MIA 11/16/2018 2:31 AM
Minimum-Cost Spanning Tree
EMIS 8373: Integer Programming
Minimum-Cost Spanning Tree
4-4 Graph Theory Trees.
Outline This topic covers Prim’s algorithm:
Minimum-Cost Spanning Tree
Dynamic Graph Algorithms
Dynamic Graph Algorithms
Biconnectivity SEA PVD ORD FCO SNA MIA 5/6/2019 5:08 PM Biconnectivity
Biconnectivity SEA PVD ORD FCO SNA MIA 5/23/ :21 PM
Richard Anderson Lecture 5 Graph Theory
Minimum-Cost Spanning Tree
Lecture 24 Vertex Cover and Hamiltonian Cycle
Presentation transcript:

Perfect Matching for Biconnected Cubic Graphs in O(nlog 2 n) Time Krzysztof Diks & Piotr Stańczyk

Petersen theorem (1891) Cubic graph without perfect matching contains at least three bridges Conclusion: every biconnected cubic graph has a perfect matching

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.

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)

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)

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?

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)

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…

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

Possible improvement Replacement of dynamic connectivity algorithm with decremental counterpart – how to handle edge insertion? New vertex and edge representation: Allowed Not allowed

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…

Possible improvement Even cycle case:

Possible improvement Odd cycle case: not allowed – introduces bridge

Possible improvement No cycle case:

Thank you Any questions?