45,289 research outputs found
Recommended from our members
Massive Graph Analysis in the Data Stream Model
Graphs have become an abstraction of choice in modeling highly-structured data. The need to compute graph-theoretic properties of datasets arises in many applications that involve entities and pairwise relations between them. However, in practice the datasets in question can be too large to be stored in main memory, distributed across many machines, or changing over time. Moreover, in an increasing number of applications the algorithm has to make real time decisions as the data arrives, which puts further limitations on the time and space that can realistically be used. These characteristics render classical algorithmic approaches obsolete and necessitate the development of new techniques. The streaming model of computation takes these challenges into account, providing a trade-off between the resources used by the algorithm and its accuracy. A graph stream is defined by a sequence of edge insertions (and sometimes deletions) into an initially empty graph. The objective is to compute a certain property of the graph at the end of the stream while minimizing the amount of space the algorithm uses. In this model, we explore fundamental graph-theoretic problems that also serve as important primitives in massive graph analysis. Our results can be divided into three main categories: Finding large matchings and related problems. We describe two optimal algorithms for finding large matchings in dynamic (insert-delete) graph streams---an approximation of an arbitrary maximum matching and an exact algorithm under the assumption that the matching is of certain size. We also show how the techniques developed in these algorithms can be used to solve a variety of related problems such as vertex cover and hitting set in hypergraphs. We then concentrate on estimating just the size of the matching and present a series of sublinear results for the class of low arboricity graphs. Counting the number of cycles. We fully resolve in which settings there exist algorithms approximating the number of fixed length cycles that do not store the entire graph. For cycles of length five or greater, we show that no such algorithms exist. For triangles and four-cycles, we describe several counting results and a few lower bounds for the insert-only model, considering such parameters as the number of passes taken over the stream and its ordering. Vertex ordering problems in directed graphs. We consider such fundamental problems as topologically sorting a directed acyclic graph (DAG), checking whether the input is in fact a DAG, and finding a minimum feedback arc set. It can be shown that when the input graph is arbitrary, these problems have high space complexity in the streaming model. Thus, we concentrate on designing algorithms for tournaments and a certain family of random graphs. Together, these results complement the much more mature body of work on algorithms for undirected graph streams
Fast Computation of Small Cuts via Cycle Space Sampling
We describe a new sampling-based method to determine cuts in an undirected
graph. For a graph (V, E), its cycle space is the family of all subsets of E
that have even degree at each vertex. We prove that with high probability,
sampling the cycle space identifies the cuts of a graph. This leads to simple
new linear-time sequential algorithms for finding all cut edges and cut pairs
(a set of 2 edges that form a cut) of a graph.
In the model of distributed computing in a graph G=(V, E) with O(log V)-bit
messages, our approach yields faster algorithms for several problems. The
diameter of G is denoted by Diam, and the maximum degree by Delta. We obtain
simple O(Diam)-time distributed algorithms to find all cut edges,
2-edge-connected components, and cut pairs, matching or improving upon previous
time bounds. Under natural conditions these new algorithms are universally
optimal --- i.e. a Omega(Diam)-time lower bound holds on every graph. We obtain
a O(Diam+Delta/log V)-time distributed algorithm for finding cut vertices; this
is faster than the best previous algorithm when Delta, Diam = O(sqrt(V)). A
simple extension of our work yields the first distributed algorithm with
sub-linear time for 3-edge-connected components. The basic distributed
algorithms are Monte Carlo, but they can be made Las Vegas without increasing
the asymptotic complexity.
In the model of parallel computing on the EREW PRAM our approach yields a
simple algorithm with optimal time complexity O(log V) for finding cut pairs
and 3-edge-connected components.Comment: Previous version appeared in Proc. 35th ICALP, pages 145--160, 200
Parallel and Distributed Algorithms for the Housing Allocation Problem
We give parallel and distributed algorithms for the housing allocation
problem. In this problem, there is a set of agents and a set of houses. Each
agent has a strict preference list for a subset of houses. We need to find a
matching such that some criterion is optimized. One such criterion is Pareto
Optimality. A matching is Pareto optimal if no coalition of agents can be
strictly better off by exchanging houses among themselves. We also study the
housing market problem, a variant of the housing allocation problem, where each
agent initially owns a house. In addition to Pareto optimality, we are also
interested in finding the core of a housing market. A matching is in the core
if there is no coalition of agents that can be better off by breaking away from
other agents and switching houses only among themselves.
In the first part of this work, we show that computing a Pareto optimal
matching of a house allocation is in {\bf CC} and computing the core of a
housing market is {\bf CC}-hard. Given a matching, we also show that verifying
whether it is in the core can be done in {\bf NC}. We then give an algorithm to
show that computing a maximum Pareto optimal matching for the housing
allocation problem is in {\bf RNC}^2 and quasi-{\bf NC}^2. In the second part
of this work, we present a distributed version of the top trading cycle
algorithm for finding the core of a housing market. To that end, we first
present two algorithms for finding all the disjoint cycles in a functional
graph: a Las Vegas algorithm which terminates in rounds with high
probability, where is the length of the longest cycle, and a deterministic
algorithm which terminates in rounds, where is the
number of nodes in the graph. Both algorithms work in the synchronous
distributed model and use messages of size
Walking Through Waypoints
We initiate the study of a fundamental combinatorial problem: Given a
capacitated graph , find a shortest walk ("route") from a source to a destination that includes all vertices specified by a set
: the \emph{waypoints}. This waypoint routing problem
finds immediate applications in the context of modern networked distributed
systems. Our main contribution is an exact polynomial-time algorithm for graphs
of bounded treewidth. We also show that if the number of waypoints is
logarithmically bounded, exact polynomial-time algorithms exist even for
general graphs. Our two algorithms provide an almost complete characterization
of what can be solved exactly in polynomial-time: we show that more general
problems (e.g., on grid graphs of maximum degree 3, with slightly more
waypoints) are computationally intractable
- …