1 / 38

Dynamic Graph Algorithms

Dynamic Graph Algorithms. I. Surender Baswana Visiting Professor till 31 st 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.

hdewitt
Télécharger la présentation

Dynamic Graph Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. dynamic trees Dynamic Sequences Queries and updates on paths Sleator-TarjanTree Euler-Tour Tree Queries and updates on entire tree

  3. Graph Algorithms Static • Network of Roads/routers • Web graph • Facebook/Twitter Solution Algorithm

  4. 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

  5. Objective of this series • A survey of the results • Solution of two fundamental problems • Connectivity • Depth First Search Tree • Possible Collaboration ? No background required

  6. Objective of this talk • A gentle Introduction • Power of simple randomization

  7. Problem 1 Incremental Connectivity Fully Dynamic

  8. 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

  9. Fully dynamic connectivity u v

  10. 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

  11. Problem 2 Graph Spanner Fully Dynamic

  12. 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

  13. Problem 3 Incremental Transitive Closure Fully Dynamic (Reachability)

  14. 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

  15. Incremental single-source Reachability []

  16. Incremental single-source Reachability []

  17. Incremental single-source Reachability []

  18. Incremental single-source Reachability []

  19. Incremental single-source Reachability []

  20. 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

  21. 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

  22. Randomization for Efficient Dynamic Graph Algorithms Maximal Matching Connectivity ………. Deterministic algo. Transitive Closure

  23. 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. [ ] = ?

  24. Word RAM model of Computation Operations involving O()-bit numbers O() time only

  25. Howmany primes less than ? Howmany prime factors of ?

  26. Path(,) Path(,) Path(,) Will it be a path ? Path(,) Path(,)

  27. Cycle Will it be a path ? Path(,) Path(,) May or may not be  Always, if graph is a DAG 

  28. A trivial deterministic algorithm simple randomized Keep “thecount of all paths” Deterministic Algorithm For each , PathCount[,] … … PathCount[,] PathCount[,]PathCount[,] Time complexity: O() arithmetic operations

  29. 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

  30. Analysis ? Less than prime factors around prime numbers

  31. 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

  32. Problem 4 Incremental Minimum Spanning Tree Fully Dynamic

  33. 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 )

  34. IncrementalMST

  35. IncrementalMST STtrees

  36. Fully dynamic MST Frederickson, SICOMP 83 O() O() Eppstein et al. J. ACM 91 Holm, Litchenberg, Thorup, J.ACM 01 O() amortized

  37. If you want to see the elegance and beauty of the dynamic graph algorithms, Please attend the next two talks. You are cordially invited 

More Related