Results 1  10
of
18
Finding the k Shortest Paths
, 1997
"... We give algorithms for finding the k shortest paths (not required to be simple) connecting a pair of vertices in a digraph. Our algorithms output an implicit representation of these paths in a digraph with n vertices and m edges, in time O(m + n log n + k). We can also find the k shortest pat ..."
Abstract

Cited by 289 (2 self)
 Add to MetaCart
We give algorithms for finding the k shortest paths (not required to be simple) connecting a pair of vertices in a digraph. Our algorithms output an implicit representation of these paths in a digraph with n vertices and m edges, in time O(m + n log n + k). We can also find the k shortest paths from a given source s to each vertex in the graph, in total time O(m + n log n +kn). We describe applications to dynamic programming problems including the knapsack problem, sequence alignment, maximum inscribed polygons, and genealogical relationship discovery. 1 Introduction We consider a longstudied generalization of the shortest path problem, in which not one but several short paths must be produced. The k shortest paths problem is to list the k paths connecting a given sourcedestination pair in the digraph with minimum total length. Our techniques also apply to the problem of listing all paths shorter than some given threshhold length. In the version of these problems studi...
Ambivalent Data Structures For Dynamic 2EdgeConnectivity And k Smallest Spanning Trees
 SIAM J. Comput
, 1991
"... . Ambivalent data structures are presented for several problems on undirected graphs. These data structures are used in finding the k smallest spanning trees of a weighted undirected graph in O(m log #(m, n) + min{k 3/2 ,km 1/2 }) time, where m is the number of edges and n the number of vertice ..."
Abstract

Cited by 80 (1 self)
 Add to MetaCart
. Ambivalent data structures are presented for several problems on undirected graphs. These data structures are used in finding the k smallest spanning trees of a weighted undirected graph in O(m log #(m, n) + min{k 3/2 ,km 1/2 }) time, where m is the number of edges and n the number of vertices in the graph. The techniques are extended to find the k smallest spanning trees in an embedded planar graph in O(n + k(log n) 3 ) time. Ambivalent data structures are also used to dynamically maintain 2edgeconnectivity information. Edges and vertices can be inserted or deleted in O(m 1/2 ) time, and a query as to whether two vertices are in the same 2edgeconnected component can be answered in O(log n) time, where m and n are understood to be the current number of edges and vertices, respectively. Key words. analysis of algorithms, data structures, embedded planar graph, fully persistent data structures, k smallest spanning trees, minimum spanning tree, online updating, topology tr...
Algorithms for Proximity Problems in Higher Dimensions
 Comput. Geom. Theory Appl
, 1996
"... We present algorithms for five interdistance enumeration problems that take as input a set S of n points in IR d (for a fixed but arbitrary dimension d) and as output enumerate pairs of points in S satisfying various conditions. We present: an O(n log n + k) time and O(n) space algorithm that ..."
Abstract

Cited by 23 (2 self)
 Add to MetaCart
We present algorithms for five interdistance enumeration problems that take as input a set S of n points in IR d (for a fixed but arbitrary dimension d) and as output enumerate pairs of points in S satisfying various conditions. We present: an O(n log n + k) time and O(n) space algorithm that takes as additional input a distance # and outputs all k pairs of points in S separated by a distance of # or less; an O(n log n + k log k) time and O(n+k) space algorithm that enumerates in nondecreasing order the k closest pairs of points in S; an O(n log n + k) time algorithm for the same problem without any order restrictions; an O(nk log n) time and O(n) space algorithm that enumerates in nondecreasing order the nk pairs representing the k nearest neighbors of each point in S; and an O(n log n + kn) time algorithm for the same problem without any order restrictions. The algorithms combine a modification of the planar approach of Dickerson, Drysdale, and Sack [11] with the ...
Ranksensitive data structures
 In Proc. 12th International Symposium on String Processing and Information Retrieval (SPIRE), LNCS v. 3772
, 2005
"... Abstract. Outputsensitive data structures result from preprocessing n items and are capable of reporting the items satisfying an online query in O(t(n) + ℓ) time, where t(n) is the cost of traversing the structure and ℓ ≤ n is the number of reported items satisfying the query. In this paper we foc ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
Abstract. Outputsensitive data structures result from preprocessing n items and are capable of reporting the items satisfying an online query in O(t(n) + ℓ) time, where t(n) is the cost of traversing the structure and ℓ ≤ n is the number of reported items satisfying the query. In this paper we focus on ranksensitive data structures, which are additionally given a ranking of the n items, so that just the top k bestranking items should be reported at query time, sorted in rank order, at a cost of O(t(n) + k) time. Note that k is part of the query as a parameter under the control of the user (as opposed to ℓ which is querydependent). We explore the problem of adding ranksensitivity to data structures such as suffix trees or range trees, where the ℓ items satisfying the query form O(polylog(n)) intervals of consecutive entries from which we choose the top k bestranking ones. Letting s(n) be the number of items (including their copies) stored in the original data structures, we increase the space by an additional term of O(s(n) lg ǫ n) memory words of space, each of O(lg n) bits, for any positive constant ǫ < 1. We allow for changing the ranking on the fly during the lifetime of the data structures, with ranking values in 0... O(n). In this case, query time becomes O(t(n)+k) plus O(lg n/lg lg n) per interval; each change in the ranking and each insertion/deletion of an item takes O(lg n) time; the additional term in space occupancy increases to O(s(n) lg n/lg lg n). 1
A Linear Time Algorithm for the k Maximal Sums Problem
"... Abstract. Finding the subvector with the largest sum in a sequence of n numbers is known as the maximum sum problem. Finding the k subvectors with the largest sums is a natural extension of this, and is known as the k maximal sums problem. In this paper we design an optimal O(n+k) time algorithm f ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
Abstract. Finding the subvector with the largest sum in a sequence of n numbers is known as the maximum sum problem. Finding the k subvectors with the largest sums is a natural extension of this, and is known as the k maximal sums problem. In this paper we design an optimal O(n+k) time algorithm for the k maximal sums problem. We use this algorithm to obtain algorithms solving the twodimensional k maximal sums problem in O(m 2 ·n+k) time, where the input is an m ×n matrix with m ≤ n. We generalize this algorithm to solve the ddimensional problem in O(n 2d−1 +k) time. The space usage of all the algorithms can be reduced to O(n d−1 + k). This leads to the first algorithm for the k maximal sums problem in one dimension using O(n + k) time and O(k) space. 1
Finding a Realistic Detour by AI Search Techniques
, 1997
"... In the navigation system, it is very important not only to find the shortest path but also a detour, in case of a traffic jam for example. This paper surveys algorithms for the shortest path problem and the k shortest path problem at first, extends the latter algorithm for the 2terminal k shortest ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
In the navigation system, it is very important not only to find the shortest path but also a detour, in case of a traffic jam for example. This paper surveys algorithms for the shortest path problem and the k shortest path problem at first, extends the latter algorithm for the 2terminal k shortest paths problem, using AI search techniques such as the bidirectional A 3 algorithm, then defines `detour' precisely, and proposes algorithms for finding a realistic detour based on these algorithms. The efficiency and property of the algorithms are examined through experiments on an actual road network. 1. INTRODUCTION The shortest path problem is very important in various fields. For example, route navigation systems must show the shortest route to the destination as fast as possible. Thus, the shortest path problem is studied very well for a long time. For example, the Dijkstra method is the most famous and traditional algorithm for this problem. To make this algorithm more efficient, m...
Finding the k Shortest Paths in Parallel
, 2000
"... . A concurrentread exclusivewrite PRAM algorithm is developed to find the k shortest paths between pairs of vertices in an edgeweighted directed graph. Repetitions of vertices along the paths are allowed. The algorithm computes an implicit representation of the k shortest paths to a given destina ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
. A concurrentread exclusivewrite PRAM algorithm is developed to find the k shortest paths between pairs of vertices in an edgeweighted directed graph. Repetitions of vertices along the paths are allowed. The algorithm computes an implicit representation of the k shortest paths to a given destination vertex from every vertex of a graph with n vertices and m edges, using O(m +nk log 2 k) work and O(log 3 k log # k + log n(log log k +log # n)) time, assuming that a shortest path tree rooted at the destination is precomputed. The paths themselves can be extracted from the implicit representation in O(log k +log n) time, and O(n log n+L) work, where L is the total length of the output. Key Words. Parallel graph algorithms, Data structures, Shortest paths. 1. Introduction. The problem of finding shortest paths in an edgeweighted graph is an important and wellstudied problem in computer science. The more general problem of computing the k shortest paths between vertices of...
Fast Deterministic Parallel BranchandBound
, 1999
"... The branchandbound problem involves determining the minimum cost leaf in a costlabelled tree, subject to the constraint that only the root is known initially and that children are revealed only by visiting their parent. We present the first efficient deterministic algorithm to solve the branchand ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
The branchandbound problem involves determining the minimum cost leaf in a costlabelled tree, subject to the constraint that only the root is known initially and that children are revealed only by visiting their parent. We present the first efficient deterministic algorithm to solve the branchand bound problem for a tree T of constant degree on a pprocessor parallel machine. Let c be the cost of the minimumcost leaf in T , and let n and h be the number of nodes and the height, respectively, of the subtree T ` T of nodes of cost less than or equal to c . Our algorithm runs in O i n=p + h log 2 (np) j time on an EREWPRAM. Moreover, the running time faithfully reflects both communication and computation costs, unlike most of the previous results where the cost of local computation is ignored. For large ranges of the parameters, our algorithm matches the optimal performance of existing randomized strategies. The algorithm can be ported to any architecture for which an...
New Approaches To Flexible Alignment Of Multiple Biological Sequences
, 1997
"... The multiple sequence alignment problem is applicable and important in various fields in molecular biology such as the prediction of three dimensional structures of proteins and the inference of phylogenetic tree. However, the optimal alignment based on the scoring criterion is not always the biolog ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
The multiple sequence alignment problem is applicable and important in various fields in molecular biology such as the prediction of three dimensional structures of proteins and the inference of phylogenetic tree. However, the optimal alignment based on the scoring criterion is not always the biologically most significant alignment. We here propose two flexible and efficient approaches to solve this problem. One approach is to provide many suboptimal alignments as alternatives for the optimal one. Although this suboptimal problem is wellstudied for the alignment of two sequences, it has been considered impossible to investigate such suboptimal alignments of more than two sequences because of the enormous size of the problem. We first introduce techniques for computation of E1 , or a set of all aligned groups of residues in optimal and suboptimal alignments, and then propose algorithms for enumeration of suboptimal alignments. To reduce the amount of suboptimal solutions, we discuss wh...
Algorithms for Finding the WeightConstrained k Longest Paths in a Tree and the LengthConstrained k MaximumSum Segments of a Sequence
, 2008
"... In this work, we obtain the following new results: – Given a tree T = (V, E) with a length function ℓ: E → R and a weight function w: E → R, a positive integer k, and an interval [L, U], the WeightConstrained k Longest Paths problem is to find the k longest paths among all paths in T with weights i ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
In this work, we obtain the following new results: – Given a tree T = (V, E) with a length function ℓ: E → R and a weight function w: E → R, a positive integer k, and an interval [L, U], the WeightConstrained k Longest Paths problem is to find the k longest paths among all paths in T with weights in the interval [L, U]. We show that the WeightConstrained k Longest Paths problem has a lower bound Ω(V log V + k) in the algebraic computation tree model and give an O(V log V + k)time algorithm for it. – Given a sequence A = (a1, a2,..., an) of numbers and an interval [L, U], we define the sum and length of a segment A[i, j] to be ai + ai+1 + · · · + aj and j − i + 1, respectively. The LengthConstrained k MaximumSum Segments problem is to find the k maximumsum segments among all segments of A with lengths in the interval [L, U]. We show that the LengthConstrained k MaximumSum Segments problem can be solved in O(n + k) time. ∗Corresponding