Fast Algorithms for Pseudoarboricity

Similar documents
Notes on MapReduce Algorithms

Local Flow Partitioning for Faster Edge Connectivity

Standard Diraphs the (unique) digraph with no vertices or edges. (modulo n) for every 1 i n A digraph whose underlying graph is a complete graph.

4. How to prove a problem is NPC

Densest/Heaviest k-subgraph on Interval Graphs, Chordal Graphs and Planar Graphs

ABHELSINKI UNIVERSITY OF TECHNOLOGY

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

Overlapping Community Detection at Scale: A Nonnegative Matrix Factorization Approach

Fast algorithms for even/odd minimum cuts and generalizations

The Complexity of Maximum. Matroid-Greedoid Intersection and. Weighted Greedoid Maximization

Graphic sequences, adjacency matrix

Fundamental Theorem of Finite Abelian Groups

ON DOMINATING THE CARTESIAN PRODUCT OF A GRAPH AND K 2. Bert L. Hartnell

A necessary and sufficient condition for the existence of a spanning tree with specified vertices having large degrees

Arboricity and spanning-tree packing in random graphs with an application to load balancing

Trees. A tree is a graph which is. (a) Connected and. (b) has no cycles (acyclic).

Minimum cuts and sparsification in hypergraphs

ACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms

Myopic Models of Population Dynamics on Infinite Networks

Distributed Distance-Bounded Network Design Through Distributed Convex Programming

Cycle lengths in sparse graphs

Tools for Community Detection

d 2 -coloring of a Graph

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi

An Introduction to Matroids & Greedy in Approximation Algorithms

R(p, k) = the near regular complete k-partite graph of order p. Let p = sk+r, where s and r are positive integers such that 0 r < k.

Scribes: Po-Hsuan Wei, William Kuzmaul Editor: Kevin Wu Date: October 18, 2016

Cographs; chordal graphs and tree decompositions

On the Complexity of Budgeted Maximum Path Coverage on Trees

The Number of Spanning Trees in a Graph

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

CMPSCI611: The Matroid Theorem Lecture 5

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}

Bipartite Subgraphs of Integer Weighted Graphs

CSC 373: Algorithm Design and Analysis Lecture 12

Rigidity of Graphs and Frameworks

MAKING BIPARTITE GRAPHS DM-IRREDUCIBLE

The minimum G c cut problem

Graphs & Algorithms: Advanced Topics Nowhere-Zero Flows

Lecture Semidefinite Programming and Graph Partitioning

The Maximum Likelihood Threshold of a Graph

Monochromatic and Rainbow Colorings

On shredders and vertex connectivity augmentation

The Lovász Local Lemma: constructive aspects, stronger variants and the hard core model

Heat Kernel Based Community Detection

Counting Spanning Trees on Fractal Graphs

Approximation algorithms for cycle packing problems

The Chromatic Symmetric Function: Hypergraphs and Beyond

Paths and cycles in extended and decomposable digraphs

4 Packing T-joins and T-cuts

The Polymatroid Steiner Problems

A Separator Theorem for Graphs with an Excluded Minor and its Applications

Lecture 21 November 11, 2014

Quantum speedup of backtracking and Monte Carlo algorithms

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths

Coloring Simple Hypergraphs

7.4 DO (uniqueness of minimum-cost spanning tree) Prove: if all edge weights are distinct then the minimum-cost spanning tree is unique.

arxiv: v4 [math.co] 14 Apr 2017

ON SENSITIVITY OF k-uniform HYPERGRAPH PROPERTIES

Acyclic Digraphs arising from Complete Intersections

Paths, cycles, trees and sub(di)graphs in directed graphs

Scheduling on Unrelated Parallel Machines. Approximation Algorithms, V. V. Vazirani Book Chapter 17

Exact and superpolynomial approximation algorithms for the densest k-subgraph problem

Partial cubes: structures, characterizations, and constructions

MATCHINGS IN k-partite k-uniform HYPERGRAPHS

1 Maximizing a Submodular Function

NP-Completeness. NP-Completeness 1

Reachability-based matroid-restricted packing of arborescences

Nowhere zero flow. Definition: A flow on a graph G = (V, E) is a pair (D, f) such that. 1. D is an orientation of G. 2. f is a function on E.

RECAP: Extremal problems Examples

Quantum walk algorithms

CHAPTER 9 MOTION ALONG A STRAIGHT LINE FORM 5 PAPER 2

Approximation Algorithms for Channel Allocation Problems in. Broadcast Networks

Packing and decomposition of graphs with trees

Value-Ordering and Discrepancies. Ciaran McCreesh and Patrick Prosser

Matroids. Start with a set of objects, for example: E={ 1, 2, 3, 4, 5 }

Approximating minimum cost connectivity problems

Diskrete Mathematik und Optimierung

Zero forcing propagation time on oriented graphs

The Maximum Flow Problem with Disjunctive Constraints

Kernelization by matroids: Odd Cycle Transversal

Graph-Constrained Group Testing

Advanced Combinatorial Optimization Updated April 29, Lecture 20. Lecturer: Michel X. Goemans Scribe: Claudio Telha (Nov 17, 2009)

ACYCLIC DIGRAPHS GIVING RISE TO COMPLETE INTERSECTIONS

Fixed point of ϕ-contraction in metric spaces endowed with a graph

( ) ( ) ( ) ( ) Given that and its derivative are continuous when, find th values of and. ( ) ( )

Algorithms and Theory of Computation. Lecture 11: Network Flow

List Decomposition of Graphs

Minimization of Symmetric Submodular Functions under Hereditary Constraints

Induced subgraphs of prescribed size

Fractal property of the graph homomorphism order

The maximum agreement subtree problem

Ring Sums, Bridges and Fundamental Sets

Bin packing with colocations

An Introduction to Spectral Graph Theory

Packing of Rigid Spanning Subgraphs and Spanning Trees

Large Cliques and Stable Sets in Undirected Graphs

The application of probabilistic method in graph theory. Jiayi Li

Induced subgraphs of graphs with large chromatic number. III. Long holes

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Matroids and Greedy Algorithms Date: 10/31/16

Transcription:

Fast Algorithms for Pseudoarboricity Meeting on Algorithm Engineering and Experiments ALENEX 2016 Markus Blumenstock Institute of Computer Science, University of Mainz January 10th, 2016

Pseudotrees Orientations New Results Open Questions A tree... Markus Blumenstock University of Mainz January 10th, 2016 1/20

Pseudotrees Orientations New Results Open Questions...an unrooted tree... Markus Blumenstock University of Mainz January 10th, 2016 2/20

...a pseudotree! Markus Blumenstock University of Mainz January 10th, 2016 3/20

?! Markus Blumenstock University of Mainz January 10th, 2016 4/20

Pseudoarboricity Definition The pseudoarboricity p(g) of an undirected graph G is the minimum number of pseudoforests into which the graph can be decomposed. A B A B A B C D = C D C D E F E F E F Markus Blumenstock University of Mainz January 10th, 2016 5/20

Pseudoarboricity and Orientations Theorem (Frank Gyárfás 1976 + Picard Queyranne 1982) Let G be an orientation of G such that the maximum indegree is minimal. Then this indegree equals the pseudoarboricity p(g). A B C D E F Markus Blumenstock University of Mainz January 10th, 2016 6/20

Pseudoarboricity and Orientations Theorem (Frank Gyárfás 1976 + Picard Queyranne 1982) Let G be an orientation of G such that the maximum indegree is minimal. Then this indegree equals the pseudoarboricity p(g). A B A B A B C D = C D C D E F E F E F Markus Blumenstock University of Mainz January 10th, 2016 6/20

The Re-orientation Algorithm Determine the integer p in a binary search on a search interval; I = {0,..., V } always contains p Markus Blumenstock University of Mainz January 10th, 2016 7/20

The Re-orientation Algorithm Determine the integer p in a binary search on a search interval; I = {0,..., V } always contains p For a test value d in the interval, we test whether there is an orientation of the graph such that the maximum indegree is at most d. Markus Blumenstock University of Mainz January 10th, 2016 7/20

The Re-orientation Algorithm Determine the integer p in a binary search on a search interval; I = {0,..., V } always contains p For a test value d in the interval, we test whether there is an orientation of the graph such that the maximum indegree is at most d. The test can be performed with a maximum flow algorithm, which re-orients an arbitrary orientation to a d-orientation by reversing directed paths, if possible Markus Blumenstock University of Mainz January 10th, 2016 7/20

The Re-orientation Algorithm Determine the integer p in a binary search on a search interval; I = {0,..., V } always contains p For a test value d in the interval, we test whether there is an orientation of the graph such that the maximum indegree is at most d. The test can be performed with a maximum flow algorithm, which re-orients an arbitrary orientation to a d-orientation by reversing directed paths, if possible With Dinitz s algorithm, we need O( E 3/2 log I ) time on a search interval I that contains p Markus Blumenstock University of Mainz January 10th, 2016 7/20

Approximating p The algorithm can be turned into an approximation scheme which returns d satisfying p d (1 + ɛ)p in time ( log V O E ɛ ) log I for ɛ > 0 on a search interval I containing p The approximation is not achieved by stopping the binary search early, but by stopping Dinitz s algorithm after 2 + log 1+ɛ V phases (Kowalik 2006) Markus Blumenstock University of Mainz January 10th, 2016 8/20

Speeding up Exact Computation the Idea First compute a (1 + ɛ)-approximation, then the exact algorithm can be performed in O(log(ɛp)) tests Markus Blumenstock University of Mainz January 10th, 2016 9/20

Speeding up Exact Computation the Idea First compute a (1 + ɛ)-approximation, then the exact algorithm can be performed in O(log(ɛp)) tests We set ɛ to balance the runtimes of the approximation and the exact phase Markus Blumenstock University of Mainz January 10th, 2016 9/20

Speeding up Exact Computation the Idea First compute a (1 + ɛ)-approximation, then the exact algorithm can be performed in O(log(ɛp)) tests We set ɛ to balance the runtimes of the approximation and the exact phase We will use the fact that always p O( E ) holds Markus Blumenstock University of Mainz January 10th, 2016 9/20

A Selection of New Results Bound on p Runtime bound to compute p ( O E 3/2 ) log log p 5 Markus Blumenstock University of Mainz January 10th, 2016 10/20

A Selection of New Results Bound on p ( ) E O log V Runtime bound to compute p ( O E 3/2 ) log log p ( ) O E 3/2 log p 5 Markus Blumenstock University of Mainz January 10th, 2016 10/20

A Selection of New Results Bound on p ( ) E O log V ( ) E O log 2 V Runtime bound to compute p ( O E 3/2 ) log log p ( ) O E 3/2 log p O ( E 3/2) 5 Markus Blumenstock University of Mainz January 10th, 2016 10/20

A Selection of New Results Bound on p Runtime bound to compute p Ω( ( E ) O E 3/2) (later) ( O E 3/2 ) log log p ( ) E ( ) O log V O E 3/2 log p ( ) E O O ( E 3/2) log 2 V 5 Markus Blumenstock University of Mainz January 10th, 2016 10/20

A Selection of New Results Bound on p Runtime bound to compute p Ω( ( E ) O E 3/2) (later) ( O E 3/2 ) log log p ( ) E ( ) O log V O E 3/2 log p ( ) E O O ( E 3/2) log 2 V Comparison: matroid partitioning algorithm (Westermann 1988): ( O E 3/2 ) log p 5 Markus Blumenstock University of Mainz January 10th, 2016 10/20

How to obtain O ( E 3/2 log log V ) unconditionally Use a (1 + ɛ)-approximation to accelerate the exact algorithm! Set ɛ = (log V )2. p Markus Blumenstock University of Mainz January 10th, 2016 11/20

How to obtain O ( E 3/2 log log V ) unconditionally Use a (1 + ɛ)-approximation to accelerate the exact algorithm! Compute a 2-approximation p of p in O( E ). Set ɛ = (log V )2 p (log V )2. p Markus Blumenstock University of Mainz January 10th, 2016 11/20

How to obtain O ( E 3/2 log log V ) unconditionally Use a (1 + ɛ)-approximation to accelerate the exact algorithm! Compute a 2-approximation p of p in O( E ). Set ɛ = (log V )2 p (log V )2. p The approximation scheme runs in time ( ) p O E log V (log V ) 2 log V Markus Blumenstock University of Mainz January 10th, 2016 11/20

How to obtain O ( E 3/2 log log V ) unconditionally Use a (1 + ɛ)-approximation to accelerate the exact algorithm! Compute a 2-approximation p of p in O( E ). Set ɛ = (log V )2 p (log V )2. p The approximation scheme runs in time ( ) O E p log V (log V ) 2 log V O( E 3/2 ) Markus Blumenstock University of Mainz January 10th, 2016 11/20

How to obtain O ( E 3/2 log log V ) unconditionally Use a (1 + ɛ)-approximation to accelerate the exact algorithm! Compute a 2-approximation p of p in O( E ). Set ɛ = (log V )2 p (log V )2. p The approximation scheme runs in time ( ) O E p log V (log V ) 2 log V O( E 3/2 ) A binary search in an exact algorithm needs O(log(ɛp)) tests on the narrowed search interval the runtime is O( E 3/2 log log 2 V ). Markus Blumenstock University of Mainz January 10th, 2016 11/20

Sketch: Obtaining O ( E 3/2 log p ) if p O( E / log V ) Markus Blumenstock University of Mainz January 10th, 2016 12/20

Sketch: Obtaining O ( E 3/2 log p ) if p O( E / log V ) Compute a 2-approximation of p in O( E ). Run the approximation scheme i = 1,..., k times: ɛ 1 log p p, ɛ 2 log log p, ɛ 3 p log log log p,..., ɛ k log k p p p Markus Blumenstock University of Mainz January 10th, 2016 12/20

Sketch: Obtaining O ( E 3/2 log p ) if p O( E / log V ) Compute a 2-approximation of p in O( E ). Run the approximation scheme i = 1,..., k times: ɛ 1 log p p, ɛ 2 log log p, ɛ 3 p log log log p,..., ɛ k log k p p p The initial interval size is I 0 O(p) with the 2-approximation. Markus Blumenstock University of Mainz January 10th, 2016 12/20

Sketch: Obtaining O ( E 3/2 log p ) if p O( E / log V ) Compute a 2-approximation of p in O( E ). Run the approximation scheme i = 1,..., k times: ɛ 1 log p p, ɛ 2 log log p, ɛ 3 p log log log p,..., ɛ k log k p p p The initial interval size is I 0 O(p) with the 2-approximation. In every phase i = 1,..., k, we reduce the interval to size ( ) I i O log i p. Markus Blumenstock University of Mainz January 10th, 2016 12/20

Sketch: Obtaining O ( E 3/2 log p ) if p O ( E / log V ) The runtime of the i-th approximation phase with ɛ i = log i p is O ( E 3/2) p Markus Blumenstock University of Mainz January 10th, 2016 13/20

Sketch: Obtaining O ( E 3/2 log p ) if p O ( E / log V ) The runtime of the i-th approximation phase with ɛ i = log i p is O ( E 3/2) Run k = log (p) 1 approximation phases Run the exact( algorithm on the remaining constant-size interval in O E 3/2) time p Markus Blumenstock University of Mainz January 10th, 2016 13/20

Sketch: Obtaining O ( E 3/2 log p ) if p O ( E / log V ) The runtime of the i-th approximation phase with ɛ i = log i p is O ( E 3/2) Run k = log (p) 1 approximation phases Run the exact( algorithm on the remaining constant-size interval in O E 3/2) time ( ) The total runtime is O E 3/2 log p p Markus Blumenstock University of Mainz January 10th, 2016 13/20

What have we shown? Bound on p Runtime bound to compute p ( ) E O log V ( O E 3/2 ) log log p ( ) O E 3/2 log p ( ) ( Cmp. Westermann 1988: O E 3/2 ) log p Markus Blumenstock University of Mainz January 10th, 2016 14/20

What have we shown? Bound on p Runtime bound to compute p Ω( ( E ) O E 3/2) up next ( O E 3/2 ) log log p ( ) ( ) E ( ) O log V O E 3/2 log p ( Cmp. Westermann 1988: O E 3/2 ) log p Markus Blumenstock University of Mainz January 10th, 2016 14/20

The Densest Subgraph Problem A C E B D F Definition Let G = (V, E) be an undirected graph. The maximum density is defined as d E H (G) := max H G V H. Markus Blumenstock University of Mainz January 10th, 2016 15/20

The Densest Subgraph Problem A C E B D F Definition Let G = (V, E) be an undirected graph. The maximum density is defined as d E H (G) := max H G V H. Observation (Khuller and Saha 2009) A vertex v with deg(v) < d (G) cannot be in a densest subgraph. Markus Blumenstock University of Mainz January 10th, 2016 15/20

The Densest Subgraph Problem A C E B D F Definition Let G = (V, E) be an undirected graph. The maximum density is defined as d E H (G) := max H G V H. Observation (Khuller and Saha 2009) A vertex v with deg(v) < d (G) cannot be in a densest subgraph. Theorem (Picard Queyranne 1982) For any undirected graph G, we have d (G) = p. Markus Blumenstock University of Mainz January 10th, 2016 15/20

Preprocessing Observation (Khuller and Saha 2009) A vertex v with deg(v) < d (G) cannot be in a densest subgraph. Markus Blumenstock University of Mainz January 10th, 2016 16/20

Preprocessing Observation (Khuller and Saha 2009) A vertex v with deg(v) < d (G) cannot be in a densest subgraph. Compute a lower bound d d (G) Markus Blumenstock University of Mainz January 10th, 2016 16/20

Preprocessing Observation (Khuller and Saha 2009) A vertex v with deg(v) < d (G) cannot be in a densest subgraph. Compute a lower bound d d (G) Remove all vertices whose degree is less than d (repeatedly) Markus Blumenstock University of Mainz January 10th, 2016 16/20

Preprocessing Observation (Khuller and Saha 2009) A vertex v with deg(v) < d (G) cannot be in a densest subgraph. Compute a lower bound d d (G) Remove all vertices whose degree is less than d (repeatedly) For the resulting graph G = (V, E ), we have d (G ) = d (G) and thus p(g ) = p(g) by the Picard Queyranne theorem Markus Blumenstock University of Mainz January 10th, 2016 16/20

Preprocessing Observation (Khuller and Saha 2009) A vertex v with deg(v) < d (G) cannot be in a densest subgraph. Compute a lower bound d d (G) Remove all vertices whose degree is less than d (repeatedly) For the resulting graph G = (V, E ), we have d (G ) = d (G) and thus p(g ) = p(g) by the Picard Queyranne theorem G is possibly smaller (great!) and has a higher average density, i.e. E V E V. Markus Blumenstock University of Mainz January 10th, 2016 16/20

Preprocessing A Theoretical Guarantee Utilize Gabow s algorithm, which runs in O ( E 3/2 log time ) V 2 E Markus Blumenstock University of Mainz January 10th, 2016 17/20

Preprocessing A Theoretical Guarantee Utilize Gabow s algorithm, which runs in O ( E 3/2 log time ) V 2 E Markus Blumenstock University of Mainz January 10th, 2016 17/20

Preprocessing A Theoretical Guarantee Utilize Gabow s algorithm, which runs in O ( E 3/2 log time Proposition (B.) ) V 2 E If d (G) Ω( E ), then we can obtain a subgraph G = (V, E ) with E Θ( V 2 ) and d (G ) = d (G) in linear time. Markus Blumenstock University of Mainz January 10th, 2016 17/20

Preprocessing A Theoretical Guarantee Utilize Gabow s algorithm, which runs in O ( E 3/2 log time Proposition (B.) ) V 2 E If d (G) Ω( E ), then we can obtain a subgraph G = (V, E ) with E Θ( V 2 ) and d (G ) = d (G) in linear time. Corollary If d (G) Ω( E ), p can be determined in O( E 3/2 ). Markus Blumenstock University of Mainz January 10th, 2016 17/20

The Re-orientation Algorithm in Practice (Dinitz s algorithm) Without preprocessing With preprocessing Graph p E Runtime [s] E Runtime [s] Amazon 5 900K 23 800K 1 DBLP 57 1M 4 14K 0 YouTube 46 3M 4 417K 0 LiveJournal 194 35M 251 540K 0 Orkut 228 117M 1012 13M 33 Note: Push-relabel algorithms are slower by an order of magnitude Markus Blumenstock University of Mainz January 10th, 2016 18/20

Open Questions Do other problems exist where we can speed up computation with an approximation scheme? Markus Blumenstock University of Mainz January 10th, 2016 19/20

Open Questions Do other problems exist where we can speed up computation with an approximation scheme? How much are certain graph families, e.g. power-law graphs, reduced by preprocessing? Markus Blumenstock University of Mainz January 10th, 2016 19/20

Open Questions Do other problems exist where we can speed up computation with an approximation scheme? How much are certain graph families, e.g. power-law graphs, reduced by preprocessing? A 2-approximation of p (and d ) can be found in O( E ) time with a greedy algorithm. Is a factor smaller than 2 possible in linear time? (Any constant-factor approximation can be found in O( E log V log p) time) Markus Blumenstock University of Mainz January 10th, 2016 19/20

Thank you for your attention! Markus Blumenstock University of Mainz January 10th, 2016 20/20