Computational geometry: an introduction
Computational geometry: an introduction
Upper and lower time bounds for parallel random access machines without simultaneous writes
SIAM Journal on Computing
A VLSI Solution to the Vertical Segment Visibility Problem
IEEE Transactions on Computers
Sorting in c log n parallel steps
Combinatorica
SIAM Journal on Computing
The design and analysis of parallel algorithms
The design and analysis of parallel algorithms
A fast algorithm for finding interlocking sets
Information Processing Letters
An introduction to parallel algorithms
An introduction to parallel algorithms
Parallel computing (2nd ed.): theory and practice
Parallel computing (2nd ed.): theory and practice
Robot Motion Planning
Introduction to VLSI Systems
Optimal Parallel Algorithms for Problems Modeled by a Family of Intervals
IEEE Transactions on Parallel and Distributed Systems
Parallel General Prefix Computations with Geometric, Algebraic and Other Applications
FCT '89 Proceedings of the International Conference on Fundamentals of Computation Theory
Enhanced Simulated Annealing Technique for the Single-Row Routing Problem
The Journal of Supercomputing
Certifying 3-connectivity in linear time
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part I
Hi-index | 0.01 |
Given a family ${\cal I}$ of intervals, two intervals in ${\cal I}$ interlock if they overlap but neither of them strictly contains the other. A set of intervals in which every two are related in the reflexive transitive closure of the interlock relation is referred to as an interlocking set. The task is determining the maximal interlocking sets of ${\cal I}$ arises in numerous applications, including traffic control, robot arm manipulation, segmentation of range images, routing, automated surveillance systems, recognizing polygonal configurations, and code generation for parallel machines. Our first contribution is to show that any sequential algorithm that computes the maximal interlocking sets of a family of n intervals must take 驴(n log n) time in the algebraic tree model. Next, we show that any parallel algorithm for this problem must take 驴(log n) time in the CREW model even if an infinite number of processors and memory cells are available. We then go on to show that both the sequential and the parallel lower bounds are tight by providing matching algorithms running, respectively, in 驴(n log n) sequential time and in 驴(log n) time using n processors in the CREW model. At the same time, if the endpoints of the intervals are specified in sorted order, our sequential algorithm runs in 驴(n) time, improving the best previously known result. It is interesting to note that even if the endpoints are sorted, 驴(log n) is a time lower bound for solving the problem in the CREW model, regardless of the amount of resources available. As an application of our algorithm for interlocking sets, we obtain a time- and cost-optimal solution to a restricted version of the single row routing problem. The best previously known result for routing a set of n nets without street crossovers runs in O(log n loglog n) time using n processors in the CRCW model. By contrast, our algorithm runs in 驴(log n) time using ${\textstyle{n \over {{\rm log}\,\,n}}}$ processors in the CREW model, being both time- and cost-optimal.