380 likes | 407 Views
Join Professor Surender Baswana as he discusses dynamic graph algorithms, covering topics such as connectivity, spanning trees, and reachability. Learn about incremental, decremental, and fully dynamic approaches to handling graph updates efficiently. Explore cutting-edge techniques and solutions for a variety of graph-related problems. No prior background knowledge needed.
E N D
Dynamic Graph Algorithms I SurenderBaswana Visiting Professor till 31st May 2020 Heinz Nixdorf Institute & Department of Computer Science(Algorithms and Complexity Group) sbaswana@campus.uni-paderborn.de sbaswana@gmail.com
dynamic trees Dynamic Sequences Queries and updates on paths Sleator-TarjanTree Euler-Tour Tree Queries and updates on entire tree
Graph Algorithms Static • Network of Roads/routers • Web graph • Facebook/Twitter Solution Algorithm
A Dynamic Graph Algorithm Online Processing Incremental Only insertion of edges Algorithm Decremental Only deletion of edges Fully Dynamic Insertion and deletion of edges Query specific problems Structure specific problems Reachability Maximal Matching Depth First Search Tree Connectivity Graph Spanners Shortest Paths
Objective of this series • A survey of the results • Solution of two fundamental problems • Connectivity • Depth First Search Tree • Possible Collaboration ? No background required
Objective of this talk • A gentle Introduction • Power of simple randomization
Problem 1 Incremental Connectivity Fully Dynamic
Incremental All-Pairs Connectivity Problem: Given an undirected graph on vertices Maintain a data structure so that We can answer any connectivity query under insertion of edges for any and. O() O() Trivial Easy O(log ) O() O(log* ) amortized O(log* ) amortized Algorithms course Hint: Union-Find Data structure for sets Maintain a spanning forest Union by size Union by rank Path compression
Fully dynamic connectivity Frederickson, SICOMP 83 O() O() O() O() Eppstein et al. J. ACM 91 expected amortized O() Henzinger and King, J.ACM99 O() randomized Holm, Litchenberg, Thorup, J.ACM 01 O() O() amortized
Problem 2 Graph Spanner Fully Dynamic
Problem : Graph Spanner Subgraph, • For any O() O() O() randomized , only Franciosa, Italiano, ESA06 O() expected amortized O() any Baswana, Sarkar SODA 08, TALG 2012
Problem 3 Incremental Transitive Closure Fully Dynamic (Reachability)
Incremental All-Pairs Reachability Problem: Given a graph on vertices Maintain a matrix s.t. []= if and only if under insertion of edges there is a path fromto . O() O() Trivial Italiano, 1983 O() amortized O() O() Total time Incremental Single-source Reachability O() amortized O() O() Total time
Incremental single-source Reachability Handling insertion of an edge () If ([] = true and []=false) Update_Reach(); Update_Reach() { [] = true; For each in Adj() If ([] = = false) Update_Reach() } Total computation: O() = O() • O() amortized time • per edge insertion
Fully dynamic transitive closure Problem: Given a graph on vertices Maintain a matrix s.t. []= if and only if under insertion and deletion of edges there is a path fromto . DAG O() O() Monte Carlo King andSagert, STOC 99 O() Monte Carlo O() O() O() King FOCS 99 &RodittyTALG 08
Randomization for Efficient Dynamic Graph Algorithms Maximal Matching Connectivity ………. Deterministic algo. Transitive Closure
Elementary Probability Picking an apple Union Theorem Let ,, …, be events A bag contains rotten apples An apple is picked uniformly randomly. and good apples. [ a rotten apple is picked] = ? defined over a probability space. [ ] = ?
Word RAM model of Computation Operations involving O()-bit numbers O() time only
Howmany primes less than ? Howmany prime factors of ?
Path(,) Path(,) Path(,) Will it be a path ? Path(,) Path(,)
Cycle Will it be a path ? Path(,) Path(,) May or may not be Always, if graph is a DAG
A trivial deterministic algorithm simple randomized Keep “thecount of all paths” Deterministic Algorithm For each , PathCount[,] … … PathCount[,] PathCount[,]PathCount[,] Time complexity: O() arithmetic operations
A trivial deterministic algorithm simple randomized O(log)-bits -bits a random prime number in the range [] Randomized Algorithm For each , PathCount[,] … … PathCount[,] PathCount[,]PathCount[,] mod
Analysis ? Less than prime factors around prime numbers
Analysis What is the probability that Theorem: Transitive Closure of a DAG on vertices can be maintained fully dynamically in O() time per edge insertion/deletion. Each query is answered correctly with probability ? with PathCount[,] but PathCount[,] mod Union Theorem
Problem 4 Incremental Minimum Spanning Tree Fully Dynamic
IncrementalMST Problem: Given a graph on vertices Maintain a minimum spanning tree of the graph. under insertion of edges O() Trivial Last lecture O(log )
IncrementalMST STtrees
Fully dynamic MST Frederickson, SICOMP 83 O() O() Eppstein et al. J. ACM 91 Holm, Litchenberg, Thorup, J.ACM 01 O() amortized
If you want to see the elegance and beauty of the dynamic graph algorithms, Please attend the next two talks. You are cordially invited