Results 1  10
of
44
The String BTree: A New Data Structure for String Search in External Memory and its Applications.
 Journal of the ACM
, 1998
"... We introduce a new textindexing data structure, the String BTree, that can be seen as a link between some traditional externalmemory and stringmatching data structures. In a short phrase, it is a combination of Btrees and Patricia tries for internalnode indices that is made more effective by a ..."
Abstract

Cited by 122 (11 self)
 Add to MetaCart
We introduce a new textindexing data structure, the String BTree, that can be seen as a link between some traditional externalmemory and stringmatching data structures. In a short phrase, it is a combination of Btrees and Patricia tries for internalnode indices that is made more effective by adding extra pointers to speed up search and update operations. Consequently, the String BTree overcomes the theoretical limitations of inverted files, Btrees, prefix Btrees, suffix arrays, compacted tries and suffix trees. String Btrees have the same worstcase performance as Btrees but they manage unboundedlength strings and perform much more powerful search operations such as the ones supported by suffix trees. String Btrees are also effective in main memory (RAM model) because they improve the online suffix tree search on a dynamic set of strings. They also can be successfully applied to database indexing and software duplication.
RANDOM SAMPLING IN CUT, FLOW, AND NETWORK DESIGN PROBLEMS
, 1999
"... We use random sampling as a tool for solving undirected graph problems. We show that the sparse graph, or skeleton, that arises when we randomly sample a graph’s edges will accurately approximate the value of all cuts in the original graph with high probability. This makes sampling effective for pro ..."
Abstract

Cited by 75 (11 self)
 Add to MetaCart
We use random sampling as a tool for solving undirected graph problems. We show that the sparse graph, or skeleton, that arises when we randomly sample a graph’s edges will accurately approximate the value of all cuts in the original graph with high probability. This makes sampling effective for problems involving cuts in graphs. We present fast randomized (Monte Carlo and Las Vegas) algorithms for approximating and exactly finding minimum cuts and maximum flows in unweighted, undirected graphs. Our cutapproximation algorithms extend unchanged to weighted graphs while our weightedgraph flow algorithms are somewhat slower. Our approach gives a general paradigm with potential applications to any packing problem. It has since been used in a nearlinear time algorithm for finding minimum cuts, as well as faster cut and flow algorithms. Our sampling theorems also yield faster algorithms for several other cutbased problems, including approximating the best balanced cut of a graph, finding a kconnected orientation of a 2kconnected graph, and finding integral multicommodity flows in graphs with a great deal of excess capacity. Our methods also improve the efficiency of some parallel cut and flow algorithms. Our methods also apply to the network design problem, where we wish to build a network satisfying certain connectivity requirements between vertices. We can purchase edges of various costs and wish to satisfy the requirements at minimum total cost. Since our sampling theorems apply even when the sampling probabilities are different for different edges, we can apply randomized rounding to solve network design problems. This gives approximation algorithms that guarantee much better approximations than previous algorithms whenever the minimum connectivity requirement is large. As a particular example, we improve the best approximation bound for the minimum kconnected subgraph problem from 1.85 to 1 � O(�log n)/k).
EndtoEnd Scheduling to Meet Deadlines in Distributed Systems
, 1994
"... In a distributed system or communication network tasks may need to be executed on more than one processor. For timecritical tasks, the timing constraints are typically given as endtoend releasetimes and deadlines. This paper describes algorithms to schedule a class of systems where all the tasks ..."
Abstract

Cited by 73 (3 self)
 Add to MetaCart
In a distributed system or communication network tasks may need to be executed on more than one processor. For timecritical tasks, the timing constraints are typically given as endtoend releasetimes and deadlines. This paper describes algorithms to schedule a class of systems where all the tasks execute on different processors in turn in the same order. This endtoend scheduling problem is known as the flowshop problem. We present two cases where the problem is tractable and evaluate a heuristic for the N Phard general case. We generalize the traditional flowshop model in two directions. First, we present an algorithm for scheduling flow shops where tasks can be serviced more than once by some processors. Second, we describe a heuristic algorithm to schedule flow shops that consist of periodic tasks. Some considerations are made about scheduling systems with more than one flow shop. 1
Finding the Hidden Path: Time Bounds for AllPairs Shortest Paths
, 1993
"... We investigate the allpairs shortest paths problem in weighted graphs. We present an algorithmthe Hidden Paths Algorithmthat finds these paths in time O(m* n+n² log n), where m is the number of edges participating in shortest paths. Our algorithm is a practical substitute for Dijkstra&ap ..."
Abstract

Cited by 63 (0 self)
 Add to MetaCart
We investigate the allpairs shortest paths problem in weighted graphs. We present an algorithmthe Hidden Paths Algorithmthat finds these paths in time O(m* n+n² log n), where m is the number of edges participating in shortest paths. Our algorithm is a practical substitute for Dijkstra's algorithm. We argue that m* is likely to be small in practice, since m* = O(n log n) with high probability for many probability distributions on edge weights. We also prove an Ω(mn) lower bound on the running time of any pathcomparison based algorithm for the allpairs shortest paths problem. Pathcomparison based algorithms form a natural class containing the Hidden Paths Algorithm, as well as the algorithms of Dijkstra and Floyd. Lastly, we consider generalized forms of the shortest paths problem, and show that many of the standard shortest paths algorithms are effective in this more general setting.
Dynamic Ray Shooting and Shortest Paths in Planar Subdivisions via Balanced Geodesic Triangulations
 J. Algorithms
, 1997
"... We give new methods for maintaining a data structure that supports ray shooting and shortest path queries in a dynamicallychanging connected planar subdivision S. Our approach is based on a new dynamic method for maintaining a balanced decomposition of a simple polygon via geodesic triangles. We ma ..."
Abstract

Cited by 38 (3 self)
 Add to MetaCart
We give new methods for maintaining a data structure that supports ray shooting and shortest path queries in a dynamicallychanging connected planar subdivision S. Our approach is based on a new dynamic method for maintaining a balanced decomposition of a simple polygon via geodesic triangles. We maintain such triangulations by viewing their dual trees as balanced trees. We show that rotations in these trees can be implemented via a simple "diagonal swapping" operation performed on the corresponding geodesic triangles, and that edge insertion and deletion can be implemented on these trees using operations akin to the standard split and splice operations. We also maintain a dynamic point location structure on the geodesic triangulation, so that we may implement ray shooting queries by first locating the ray's endpoint and then walking along the ray from geodesic triangle to geodesic triangle until we hit the boundary of some region of S. The shortest path between two points in the same ...
The FreezeTag Problem: How to Wake Up a Swarm of Robots
 In Proc. 13th ACMSIAM Sympos. Discrete Algorithms
, 2002
"... An optimization problem that naturally arises in the study of "swarm robotics" is to wake up a set of "asleep" robots, starting with only one "awake" robot. One robot can only awaken another when they are in the same location. As soon as a robot is awake, it assists in ..."
Abstract

Cited by 32 (6 self)
 Add to MetaCart
An optimization problem that naturally arises in the study of "swarm robotics" is to wake up a set of "asleep" robots, starting with only one "awake" robot. One robot can only awaken another when they are in the same location. As soon as a robot is awake, it assists in waking up other robots. The goal is to compute an optimal awakening schedule such that all robots are awake by time t , for the smallest possible value of t . We consider both scenarios on graphs and in geometric environments. In the graph setting, robots sleep at vertices and there is a length function on the edges. An awake robot can travel from vertex to vertex along edges, and the length of an edge determines the time it takes to travel from one vertex to the other. While this problem bears some resemblance to problems from various areas in combinatorial optimization such as routing, broadcasting, scheduling and covering, its algorithmic characteristics are surprisingly different. We prove that the problem is NPhard, even for the special case of star graphs. We also establish hardness of approximation, showing that it is NPhard to obtain an approximation factor better than 5/3, even for graphs of bounded degree. These lower bounds are complemented with several algorithmic results. We present a simple online algorithm that is O(log)competitive for graphs with maximum degree . Other results include algorithms that require substantially more sophistication and development of new techniques: (1) The natural greedy strategy on star graphs has a worstcase performance of 7/3, which is tight. (2) There exists a PTAS for star graphs. (3) For the problem Dept. of Appl. Math. and Statistics, SUNY Stony Brook, NY 117943600, festie, jsbmg@ams.sunysb.edu. y Dept. of Computer Science, SUNY St...
Methods for Achieving Fast Query Times in Point Location Data Structures
, 1997
"... Given a collection S of n line segments in the plane, the planar point location problem is to construct a data structure that can efficiently determine for a given query point p the first segment(s) in S intersected by vertical rays emanating out from p. It is well known that linearspace data struc ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
Given a collection S of n line segments in the plane, the planar point location problem is to construct a data structure that can efficiently determine for a given query point p the first segment(s) in S intersected by vertical rays emanating out from p. It is well known that linearspace data structures can be constructed so as to achieve O(log n) query times. But applications, such as those common in geographic information systems, motivate a reexamination of this problem with the goal of improving query times further while also simplifying the methods needed to achieve such query times. In this paper we perform such a reexamination, focusing on the issues that arise in three different classes of pointlocation query sequences: ffl sequences that are reasonably uniform spatially and temporally (in which case the constant factors in the query times become critical), ffl sequences that are nonuniform spatially or temporally (in which case one desires data structures that adapt to s...
Online Graph Algorithms for Incremental Compilation
, 1992
"... Compilers usually construct various data structures which often vary only slightly fi'om compilation run to compilation run. This paper gives various solutions to the problems of quickly updating these data structures instead of building them from scratch each time. All problems we found can be ..."
Abstract

Cited by 18 (0 self)
 Add to MetaCart
Compilers usually construct various data structures which often vary only slightly fi'om compilation run to compilation run. This paper gives various solutions to the problems of quickly updating these data structures instead of building them from scratch each time. All problems we found can be reduced to graph problems. Specifically, we give algorithms for updating data structures for the problems of topological order, loop detection, and reachability from the start routine.
On the Relative Complexities of Some Geometric Problems
 In Proc. 7th Canad. Conf. Comput. Geom
, 1995
"... We consider the relative complexities of a large number of computational geometry problems whose complexities are believed to be roughly \Theta(n 4=3 ). For certain pairs of problems, we show that the complexity of one problem is asymptotically bounded by the complexity of the other. Almost all of ..."
Abstract

Cited by 18 (7 self)
 Add to MetaCart
We consider the relative complexities of a large number of computational geometry problems whose complexities are believed to be roughly \Theta(n 4=3 ). For certain pairs of problems, we show that the complexity of one problem is asymptotically bounded by the complexity of the other. Almost all of the problems we consider can be solved in time O(n 4=3+ffi ) or better, and there are\Omega\Gamma n 4=3 ) lower bounds for a few of them in specialized models of computation. However, the best known lower bound in any general model of computation is only\Omega\Gamma n log n). The paper is naturally divided into two parts. In the first part, we consider a large number of problems that are harder than Hopcroft's problem. These problems include various ray shooting problems, sorting line segments in IR 3 , collision detection in IR 3 , and halfspace emptiness checking in IR 5 . In the second, we survey known reductions among problems involving lines in threespace, and among highe...