Fast Node Overlap Removal Tim Dwyer¹ Kim Marriott¹ Peter J. Stuckey² ¹Monash University ²The University of Melbourne Victoria, Australia.

Slides:



Advertisements
Similar presentations
Traveling Salesperson Problem
Advertisements

O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
CSC 421: Algorithm Design & Analysis
Optimal Rectangle Packing: A Meta-CSP Approach Chris Reeson Advanced Constraint Processing Fall 2009 By Michael D. Moffitt and Martha E. Pollack, AAAI.
Label Placement and graph drawing Imo Lieberwerth.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Balanced Search Trees. 2-3 Trees Trees Red-Black Trees AVL Trees.
(A fast quadratic program solver for) Stress Majorization with Orthogonal Ordering Constraints Tim Dwyer 1 Yehuda Koren 2 Kim Marriott 1 1 Monash University,
1cs542g-term Notes. 2 Meshing goals  Robust: doesn’t fail on reasonable geometry  Efficient: as few triangles as possible Easy to refine later.
IPSep-CoLa: The choice of a new generation (of graph visualisation enthusiasts) Tim Dwyer – Monash University, Australia Yehuda Koren – AT&T Research Kim.
Constrained Optimisation and Graph Drawing Tim Dwyer Monash University Australia
I/O-Algorithms Lars Arge Aarhus University February 27, 2007.
New Techniques for Visualisation of Large and Complex Networks with Directed Edges Tim Dwyer 1 Yehuda Koren 2 1 Monash University, Victoria, Australia.
Tirgul 12 Algorithm for Single-Source-Shortest-Paths (s-s-s-p) Problem Application of s-s-s-p for Solving a System of Difference Constraints.
Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
© University of Minnesota Data Mining for the Discovery of Ocean Climate Indices 1 CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance.
Dealing with NP-Complete Problems
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Lecture 2 Tuesday, 9/10/02 Design Patterns for Optimization.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Constraint Satisfaction Problems
I/O-Algorithms Lars Arge University of Aarhus March 1, 2005.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Monday, 12/2/02 Design Patterns for Optimization Problems Greedy.
Course Review COMP171 Spring Hashing / Slide 2 Elementary Data Structures * Linked lists n Types: singular, doubly, circular n Operations: insert,
TTIT33 Algorithms and Optimization – DALG Lecture 6 Jan Maluszynski - HT TTIT33- Algorithms and optimization Algorithms Lecture 5 Balanced Search.
Fast and Area-Efficient Phase Conflict Detection and Correction in Standard-Cell Layouts Charles Chiang, Synopsys Andrew B. Kahng, UC San Diego Subarna.
Ch 13 – Backtracking + Branch-and-Bound
Voronoi Diagrams.
Support Vector Machines
What is Cluster Analysis?
COMP4048 Incremental Graph Drawing Richard Webber National ICT Australia.
Distributed Scheduling. What is Distributed Scheduling? Scheduling: –A resource allocation problem –Often very complex set of constraints –Tied directly.
Ch. 9: Direction Generation Method Based on Linearization Generalized Reduced Gradient Method Mohammad Farhan Habib NetLab, CS, UC Davis July 30, 2010.
Flow Models and Optimal Routing. How can we evaluate the performance of a routing algorithm –quantify how well they do –use arrival rates at nodes and.
1 Geometric Intersection Determining if there are intersections between graphical objects Finding all intersecting pairs Brute Force Algorithm Plane Sweep.
Busby, Dodge, Fleming, and Negrusa. Backtracking Algorithm Is used to solve problems for which a sequence of objects is to be selected from a set such.
Coherent Time-Varying Graph Drawing with Multifocus+Context Interaction Kun-Chuan Feng, National Cheng Kung University Chaoli Wang, Michigan Technological.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
CSCE 3110 Data Structures & Algorithm Analysis Sorting (I) Reading: Chap.7, Weiss.
Chapter 7 Handling Constraints
Path Planning for a Point Robot
Computer Algorithms Submitted by: Rishi Jethwa Suvarna Angal.
An Optimal Cache-Oblivious Priority Queue and Its Applications in Graph Algorithms By Arge, Bender, Demaine, Holland-Minkley, Munro Presented by Adam Sheffer.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
Constrained stress majorization using diagonally scaled gradient projection Tim Dwyer and Kim Marriott Clayton School of Information Technology Monash.
B-Tree – Delete Delete 3. Delete 8. Delete
Biointelligence Laboratory, Seoul National University
Implicit Hitting Set Problems Richard M. Karp Erick Moreno Centeno DIMACS 20 th Anniversary.
8 January Heap Sort CSE 2011 Winter Heap Sort Consider a priority queue with n items implemented by means of a heap  the space used is.
Balanced Search Trees Chapter 19 Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013.
Ricochet Robots Mitch Powell Daniel Tilgner. Abstract Ricochet robots is a board game created in Germany in A player is given 30 seconds to find.
Lagrangean Relaxation
Lecture 10COMPSCI.220.FS.T Binary Search Tree BST converts a static binary search into a dynamic binary search allowing to efficiently insert and.
Warm Up. Solving Differential Equations General and Particular solutions.
1 Ch.19 Divide and Conquer. 2 BIRD’S-EYE VIEW Divide and conquer algorithms Decompose a problem instance into several smaller independent instances May.
NanoCAD Lab UCLA Effective Model-Based Mask Fracturing Heuristic Abde Ali Kagalwalla and Puneet Gupta NanoCAD Lab Department of Electrical Engineering,
Product A Product B Product C A1A1 A2A2 A3A3 B1B1 B2B2 B3B3 B4B4 C1C1 C3C3 C4C4 Turret lathes Vertical mills Center lathes Drills From “Fundamentals of.
Honors Track: Competitive Programming & Problem Solving Seminar Topics Kevin Verbeek.
Priority Queues An abstract data type (ADT) Similar to a queue
The minimum cost flow problem
Data Structures & Algorithms
Heap Sort CSE 2011 Winter January 2019.
7.5 – Constrained Optimization: The Method of Lagrange Multipliers
Priority Queues An abstract data type (ADT) Similar to a queue
Aggregate-Max Nearest Neighbor Searching in the Plane
Major Design Strategies
Major Design Strategies
Constraints.
Presentation transcript:

Fast Node Overlap Removal Tim Dwyer¹ Kim Marriott¹ Peter J. Stuckey² ¹Monash University ²The University of Melbourne Victoria, Australia

Overlap removal by layout adjustment

“Mental Map” Model (Misue et al. 1995) Orthogonal Ordering Proximity Relations Topology

Past work – “Force” methods Force Scan Algorithm – Misue et al (Improved) Push Force Scan – Hayashi et al Others – Huang and Lai 2002, Li et al Derivation of “Overlap Force” by Misue et al. 1995

Past work – “Cluster busting” Voronoi “Cluster Busting” – Lyons et al Applied to node overlap removal by Gansner and North 1998 Voronoi Diagram Overlap removal by neato (

Constrained optimization approach He and Marriott 1998 Cost of modifying original layout: Non-overlap constraints: (x 0,y 0 )

Quadratic programming heuristic 1. Generate horizontal no-overlap constraints 3. Generate vertical no-overlap constraints 2. Minimise subject to 4. Minimise subject to

Our contribution New constraint generation algorithm – O(n) constraints – O(n log n) time New solver algorithm – High quality near optimal solution O(n log n) time – Optimal solution with simple extension

d Generating non-overlap constraints Sweep algorithm c a b a c b b a c b d Vertical sweep to create horizontal constraints

d Generating non-overlap constraints Sweep algorithm c a b Vertical sweep to create horizontal constraints If nodes overlap more horizontally than vertically skip Remaining overlaps handled by vertical constraints

Generating non-overlap constraints Two strategies for checking neighbours 1. Immediate neighbours only Two strategies for checking neighbours 1. Immediate neighbours only 2. List of all overlapping neighbours

Generating non-overlap constraints Open list uses red-black tree – O(log n) insert, remove, next_left, next_right operations Up to k·n constraints in x -dimension, 2n constraints in y -dimension O(n log n) time assuming k is bounded

Solving separation constraints Objective function: minimize subject to C where each c ∈ C has form left(c) + gap(c) ≤ right(c) where gap(c) = ½ (left(c).size + right(c).size) Separation constraints form DAG over variables b d a c e a b c d e

Approximate feasible solution Create “blocks” by merging across violated constraints b d a c b d a c b d a c

Approximate feasible solution May need to merge backwards b d a c b d a c b d a c b d a c

Merge complexity Significant costs: – Initial total order O(|V|+|C|) by depth-first search – Maintaining block in and out constraint priority queues We use pairing heaps: – O(1) insert, findMax, merge – O(log n) deleteMax (amortised) – Cost of copying variables between blocks We always copy the smaller block to the larger We assume: – |C| prop. to k|V| – bounded k O(n log n).

Approximate feasible solution Solution after merging may not be optimal b d a c b d a c b d a c b d a c

Optimal solution Need to “split” blocks to improve solution Within blocks we have a tree of “active” constraints b d a c Do the sub-blocks on either side of each constraint want to move apart?

Optimal solution By placing blocks at their weighted average position we minimize such that So summing partial derivatives to one side of each constraint c gives us the Lagrange multiplier λ c λ c < 0 means we can split across c

Optimal solution Splitting may trigger further merging in each direction b d a c b d a c Optimal solution when for all active c, λ c ≥ 0

Results

size Running Time (seconds) SAT SOL QP SAT_OO SOL_OO QP_OO FSA 2000