Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Batch Algorithm for Maintaining a Topological Order David J. Pearce and Paul H.J. Kelly Victoria University of Wellington, New Zealand & Imperial College,

Similar presentations


Presentation on theme: "A Batch Algorithm for Maintaining a Topological Order David J. Pearce and Paul H.J. Kelly Victoria University of Wellington, New Zealand & Imperial College,"— Presentation transcript:

1 A Batch Algorithm for Maintaining a Topological Order David J. Pearce and Paul H.J. Kelly Victoria University of Wellington, New Zealand & Imperial College, London

2 Topological Orders

3

4 Updating Topological Orders

5 Affected Region

6 Updating Topological Orders Affected Region

7 Updating Topological Orders Unit Change Problem : Pearce, et al. 1990: Alpern, et al. 1996: Marchetti-Spaccamela, et al. 2006: Ajwani, et al. 2009: Bender, et al. 2008: Haeupler, et al. 2005: Katriel, et al. 2007: Liu, et al.

8

9

10

11

12 Batch Problem Definition: Given a batch of edge insertions, update the topological order Q) Can we do better than by processing them one at a time?

13 Batch Problem Definition: Given a batch of edge insertions, update the topological order Q) Can we do better than by processing them one at a time? A) Yes!

14 Previous MNR Algorithm Discovery – DFS to identify nodes reachable from tail in affected region

15 Previous MNR Algorithm Discovery – DFS to identify nodes reachable from tail in affected region

16 Previous MNR Algorithm Discovery – DFS to identify nodes reachable from tail in affected region

17 Previous MNR Algorithm Discovery – DFS to identify nodes reachable from tail in affected region

18 Previous MNR Algorithm Discovery – DFS to identify nodes reachable from tail in affected region

19 Previous MNR Algorithm Shift – marked nodes up the order, unmarked nodes down the order (in affected region)

20 Previous MNR Algorithm Shift – marked nodes up the order, unmarked nodes down the order (in affected region)

21 Previous MNR Algorithm Shift – marked nodes up the order, unmarked nodes down the order (in affected region)

22 Previous MNR Algorithm Shift – marked nodes up the order, unmarked nodes down the order (in affected region)

23 Previous MNR Algorithm Shift – marked nodes up the order, unmarked nodes down the order (in affected region)

24 Previous MNR Algorithm Shift – marked nodes up the order, unmarked nodes down the order (in affected region)

25 MNR Algorithm Shift – marked nodes up the order, unmarked nodes down the order (in affected region)

26 Our Novel Batch Algorithm Observation – edge insertions which overlap can be processed independently of others

27 Our Novel Batch Algorithm Observation – edge insertions which overlap can be processed independently of others Affected Region

28 Our Novel Batch Algorithm Discovery – identify “target node” for each node reachable from an insertion in affected region

29 Our Novel Batch Algorithm Discovery – identify “root node” for each node reachable from an insertion in affected region

30 Our Novel Batch Algorithm Discovery – identify “root node” for each node reachable from an insertion in affected region

31 Our Novel Batch Algorithm Discovery – identify “root node” for each node reachable from an insertion in affected region

32 Our Novel Batch Algorithm Discovery – identify “root node” for each node reachable from an insertion in affected region

33 Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target

34 Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target

35 Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target

36 Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target

37 Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target

38 Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target

39 Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target

40 Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target

41 Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target

42 Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target

43 Results on Sparse Random Graphs

44

45 Results on Denser Random Graphs

46

47 Applications Extensions: –Incremental Cycle Detection Applications: –Pointer Analysis –Software Model Checking –Constraint-based Local Search Algorithms –Dead-lock Detection –Machine Learning –Multiple Sequence Alignment

48 Conclusion That’s all folks!


Download ppt "A Batch Algorithm for Maintaining a Topological Order David J. Pearce and Paul H.J. Kelly Victoria University of Wellington, New Zealand & Imperial College,"

Similar presentations


Ads by Google