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

Slides:



Advertisements
Similar presentations
Introduction to Algorithms Graph Algorithms
Advertisements

Algorithms (and Datastructures) Lecture 3 MAS 714 part 2 Hartmut Klauck.
Simple Graph Warmup. Cycles in Simple Graphs A cycle in a simple graph is a sequence of vertices v 0, …, v n for some n>0, where v 0, ….v n-1 are distinct,
Enabling Speculative Parallelization via Merge Semantics in STMs Kaushik Ravichandran Santosh Pande College.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Online Topological Ordering Siddhartha Sen, COS /20/2007.
Theory of Computing Lecture 6 MAS 714 Hartmut Klauck.
1 Depth First Search dfs(0, 0) open site blocked site reachable from top via open sites.
Garbage Collection  records not reachable  reclaim to allow reuse  performed by runtime system (support programs linked with the compiled code) (support.
Discussion #34 1/17 Discussion #34 Warshall’s and Floyd’s Algorithms.
Jeffrey D. Ullman Stanford University Flow Graph Theory.
7.5 Deadlock Avoidance The algorithm is simply to ensure that the system will always remain in safe state. Therefore, if a process requests a resource.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 6 Deadlocks Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All.
Implementation of Graph Decomposition and Recursive Closures Graph Decomposition and Recursive Closures was published in 2003 by Professor Chen. The project.
Data Structures & Algorithms Graph Search Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Incremental topological ordering with Bernhard Haeupler, Sid Sen Two problems on digraphs: Cycle detection Topological ordering: a total order O such that.
Efficient Techniques for Searching the Temporal CSP Lin Xu and Berthe Y. Choueiry Constraint Systems Laboratory Department of Computer Science and Engineering.
1 Intrusion Monitoring of Link-State Routing Protocols Akshay Aggarwal Poornima Balasubramanyam Karl Levitt Computer Security Laboratory Department of.
Deadlock Detection with One Resource of Each Type (1)
Applications of Depth-First Search
Graphs & Graph Algorithms Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
CISC220 Fall 2009 James Atlas Nov 13: Graphs, Line Intersections.
Presented by Liu Qi An introduction to Bioinformatics Algorithms Qi Liu
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
GrIDS -- A Graph Based Intrusion Detection System For Large Networks Paper by S. Staniford-Chen et. al.
Visualising the Tutte Polynomial Computation Bennett Thompson, David J. Pearce Victoria University of Wellington, New Zealand Gary Haggard Bucknell, USA.
1 Optimal Cycle Vida Movahedi Elder Lab, January 2008.
Discussion #32 1/13 Discussion #32 Properties and Applications of Depth-First Search Trees.
Introduction to Bioinformatics Biological Networks Department of Computing Imperial College London March 18, 2010 Lecture hour 18 Nataša Pržulj
Methodological Problems in Cognitive Psychology David Danks Institute for Human & Machine Cognition January 10, 2003.
Abdullah Mueen Eamonn Keogh University of California, Riverside.
The Power of Tokens: Rendezvous and Symmetry Detection for two Mobile Agents in a Ring J. Czyzovicz, Stefan Dobrev, E. Kranakis, D. Krizanc.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
© 2004 Goodrich, Tamasia Recall: Digraphs A digraph is a graph whose edges are all directed Short for “directed graph” Applications one-way streets flights.
Algorithm for obtaining the connected components of a graph Samia Qader 252a-az HW # 6 all examples obtained from LEDA software in directory: 252a/handout/demo/graphwin/graphwin.
Topological Sort (an application of DFS) CSC263 Tutorial 9.
© 2014 Goodrich, Tamassia, Goldwasser Singly Linked Lists1 Presentation for use with the textbook Data Structures and Algorithms in Java, 6 th edition,
Runtime O(VE), for +/- edges, Detects existence of neg. loops
Pipelining and Retiming
Algorithms 2005 Ramesh Hariharan. Divide and Conquer+Recursion Compact and Precise Algorithm Description.
CS 61B Data Structures and Programming Methodology Aug 5, 2008 David Sun.
Graphs A graphs is an abstract representation of a set of objects, called vertices or nodes, where some pairs of the objects are connected by links, called.
1 Directed Graphs Chapter 8. 2 Objectives You will be able to: Say what a directed graph is. Describe two ways to represent a directed graph: Adjacency.
A dynamic algorithm for topologically sorting directed acyclic graphs David J. Pearce and Paul H.J. Kelly Imperial College, London, UK
Properties and Applications of Depth-First Search Trees and Forests
Exponential random graphs and dynamic graph algorithms David Eppstein Comp. Sci. Dept., UC Irvine.
Dijkstra-Scholten and Shavit-Francez termination algorithms
Week 11 - Friday.  What did we talk about last time?  Exam 2 post mortem  Cycle detection in undirected graphs  Topological sort and cycle detection.
ISAM2: Incremental Smoothing and Mapping Using the Bayes Tree Michael Kaess, Hordur Johannsson, Richard Roberts, Viorela Ila, John Leonard, and Frank Dellaert.
7 Finding Bridge in a Graph. What is a bridge ? A C D B F G E.
Graphs + Shortest Paths David Kauchak cs302 Spring 2013.
Graph Representations And Traversals. Graphs Graph : – Set of Vertices (Nodes) – Set of Edges connecting vertices (u, v) : edge connecting Origin: u Destination:
Graph Searching CSIT 402 Data Structures II. 2 Graph Searching Methodology Depth-First Search (DFS) Depth-First Search (DFS) ›Searches down one path as.
Best-first search is a search algorithm which explores a graph by expanding the most promising node chosen according to a specified rule.
CSC 213 – Large Scale Programming Lecture 31: Graph Traversals.
Week 11 - Wednesday.  What did we talk about last time?  Exam 2  And before that:  Graph representations  Depth first search.
Online Cycle Detection and Difference Propagation for Pointer Analysis David J. Pearce, Paul H.J. Kelly and Chris Hankin Imperial College, London
Breadth-First Search (BFS)
Dynamic Coverage In Wireless Ed-Hoc Sensor Networks
Amir Kamil and Katherine Yelick
كلية المجتمع الخرج البرمجة - المستوى الثاني
Topological Ordering Algorithm: Example
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Strongly Connected Components
Amir Kamil and Katherine Yelick
Topological Ordering Algorithm: Example
Topological Ordering Algorithm: Example
Ho-Ramamoorthy 2-Phase Deadlock Detection Algorithm
Topological Ordering Algorithm: Example
Presentation transcript:

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

Topological Orders

Updating Topological Orders

Affected Region

Updating Topological Orders Affected Region

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.

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?

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!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Results on Sparse Random Graphs

Results on Denser Random Graphs

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

Conclusion That’s all folks!