8 research outputs found
Faster algorithms for finding lowest common ancestors in directed acyclic graphs
We present two new methods for finding a lowest common ancestor (LCA) for each pair of vertices of a directed acyclic graph (dag) on n vertices and m edges.
The first method is surprisingly natural and solves the all-pairs LCA problem for the input dag on n vertices and m edges in time 0 (n m).
The second method relies on a novel reduction of the all-pairs LCA problem to the problem of finding maximum witnesses for Boolean matrix product. We solve the latter problem (and hence also the all-pairs LCA problem) in time 0 (n (2+lambda)), where A satisfies the equation to (1, lambda, I) = 1 + 2 lambda and w (1, lambda, 1) is the exponent of the multiplication of an n x n (lambda) matrix by an n (lambda) x n matrix. By the currently best known bounds on w 1, lambda, 1), the running time of our algorithm is O (n (2.575)). Our algorithm improves the previously known O (n (2.688)) time-bound for the general all-pairs LCA problem in dags by Bender et al.
Our additional contribution is a faster algorithm for solving the all-pairs lowest common ancestor problem in dags of small depth, where the depth of a dag is defined as the length of the longest path in the dag. For all dags of depth at most h n (alpha) the running time of our algorithm is at most O (n (w) ho (0.468)). This algorithm is faster than our algorithm for arbitrary dags for all values of h <= n (0.42). (C) 2007 Elsevier B. V. All rights reserved
Subontology Extraction Using Hyponym and Hypernym Closure on is-a Directed Acyclic Graphs
International audienceOntologies are successfully used as semantic guides when navigating through the huge and ever increasing quantity of digital documents. Nevertheless, the size of numerous domain ontologies tends to grow beyond the human capacity to grasp information. This growth is problematic for a lot of key applications that require user interactions such as document annotation or ontology modification/evolution. The problem could be partially overcome by providing users with a sub-ontology focused on their current concepts of interest. A sub-ontology restricted to this sole set of concepts is of limited interest since their relationships can generally not be explicit without adding some of their hyponyms and hypernyms. This paper proposes efficient algorithms to identify these additional key concepts based on the closure of two common graph operators: the least common-ancestor and greatest common descendant. The resulting method produces ontology excerpts focused on a set of concepts of interest and is fast enough to be used in interactive environments. As an example, we use the resulting program, called OntoFocus (http://www.ontotoolkit.mines-ales.fr/), to restrict, in few seconds, the large Gene Ontology (~30,000 concepts) to a sub-ontology focused on concepts annotating a gene related to breast cancer
Faster Algorithms for Rectangular Matrix Multiplication
Let {\alpha} be the maximal value such that the product of an n x n^{\alpha}
matrix by an n^{\alpha} x n matrix can be computed with n^{2+o(1)} arithmetic
operations. In this paper we show that \alpha>0.30298, which improves the
previous record \alpha>0.29462 by Coppersmith (Journal of Complexity, 1997).
More generally, we construct a new algorithm for multiplying an n x n^k matrix
by an n^k x n matrix, for any value k\neq 1. The complexity of this algorithm
is better than all known algorithms for rectangular matrix multiplication. In
the case of square matrix multiplication (i.e., for k=1), we recover exactly
the complexity of the algorithm by Coppersmith and Winograd (Journal of
Symbolic Computation, 1990).
These new upper bounds can be used to improve the time complexity of several
known algorithms that rely on rectangular matrix multiplication. For example,
we directly obtain a O(n^{2.5302})-time algorithm for the all-pairs shortest
paths problem over directed graphs with small integer weights, improving over
the O(n^{2.575})-time algorithm by Zwick (JACM 2002), and also improve the time
complexity of sparse square matrix multiplication.Comment: 37 pages; v2: some additions in the acknowledgment
All-Pairs LCA in DAGs: Breaking through the barrier
Let be an -vertex directed acyclic graph (DAG). A lowest common
ancestor (LCA) of two vertices and is a common ancestor of and
such that no descendant of has the same property. In this paper, we
consider the problem of computing an LCA, if any, for all pairs of vertices in
a DAG. The fastest known algorithms for this problem exploit fast matrix
multiplication subroutines and have running times ranging from
[Bender et al.~SODA'01] down to [Kowaluk and Lingas~ICALP'05]
and [Czumaj et al.~TCS'07]. Somewhat surprisingly, all those
bounds would still be even if matrix multiplication could be
solved optimally (i.e., ). This appears to be an inherent barrier for
all the currently known approaches, which raises the natural question on
whether one could break through the barrier for this problem.
In this paper, we answer this question affirmatively: in particular, we
present an ( for ) algorithm
for finding an LCA for all pairs of vertices in a DAG, which represents the
first improvement on the running times for this problem in the last 13 years. A
key tool in our approach is a fast algorithm to partition the vertex set of the
transitive closure of into a collection of chains and
antichains, for a given parameter . As usual, a chain is a path while an
antichain is an independent set. We then find, for all pairs of vertices, a
\emph{candidate} LCA among the chain and antichain vertices, separately. The
first set is obtained via a reduction to min-max matrix multiplication. The
computation of the second set can be reduced to Boolean matrix multiplication
similarly to previous results on this problem. We finally combine the two
solutions together in a careful (non-obvious) manner
Algorithms and Dynamic Data Structures for Basic Graph Optimization Problems.
Graph optimization plays an important role in a wide range of areas such as computer graphics, computational biology, networking applications and machine learning. Among numerous graph optimization problems, some basic problems, such as shortest paths, minimum spanning tree, and maximum matching, are the most fundamental ones. They have practical applications in various fields, and are also building blocks of many other algorithms. Improvements in algorithms for these problems can thus have a great impact both in practice and in theory.
In this thesis, we study a number of graph optimization problems. The results are mostly about approximation algorithms solving graph problems, or efficient dynamic data structures which can answer graph queries when a number of changes occur. Much of my work focuses on the dynamic subgraph model in which there is a fixed underlying graph and every vertex can be flipped "on" or "off". The queries are based on the subgraph induced by the "on" vertices. Our results make significant improvements to the previous algorithms of these problems.
The major results are listed below.
Approximate Matching. We give the first linear time algorithm for computing approximate maximum weighted matching for arbitrarily small approximation ratio.
d-failure Connectivity Oracle. For an undirected graph, we give the first space efficient data structure that can answer connectivity queries between any pair of vertices avoiding d other failed vertices in time polynomial in d and log n.
(Max, Min)-Matrix Multiplication. We give a faster algorithm for the (max, min)-matrix multiplication problem, which has a direct application to the all- pairs bottleneck paths (APBP) problem.
Dual-failure Distance Oracle. We construct the data structure for a given directed graph of nearly quadratic space which can efficiently answer distance and shortest path queries in the presence of two node or link failures.
Dynamic Subgraph Connectivity. We give the first subgraph connectivity structure with worst-case sublinear time bounds for both updates and queries.
Bounded-leg Shortest Path. We give an algorithm for preprocessing a directed graph in nearly cubic time in order to answer approximate bounded-leg distance and bounded-leg shortest path queries in merely sub-logarithmic time.Ph.D.Computer Science & EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttp://deepblue.lib.umich.edu/bitstream/2027.42/89641/1/duanran_1.pd