10,834 research outputs found
Data-Oblivious Graph Algorithms in Outsourced External Memory
Motivated by privacy preservation for outsourced data, data-oblivious
external memory is a computational framework where a client performs
computations on data stored at a semi-trusted server in a way that does not
reveal her data to the server. This approach facilitates collaboration and
reliability over traditional frameworks, and it provides privacy protection,
even though the server has full access to the data and he can monitor how it is
accessed by the client. The challenge is that even if data is encrypted, the
server can learn information based on the client data access pattern; hence,
access patterns must also be obfuscated. We investigate privacy-preserving
algorithms for outsourced external memory that are based on the use of
data-oblivious algorithms, that is, algorithms where each possible sequence of
data accesses is independent of the data values. We give new efficient
data-oblivious algorithms in the outsourced external memory model for a number
of fundamental graph problems. Our results include new data-oblivious
external-memory methods for constructing minimum spanning trees, performing
various traversals on rooted trees, answering least common ancestor queries on
trees, computing biconnected components, and forming open ear decompositions.
None of our algorithms make use of constant-time random oracles.Comment: 20 page
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
Theoretically Efficient Parallel Graph Algorithms Can Be Fast and Scalable
There has been significant recent interest in parallel graph processing due
to the need to quickly analyze the large graphs available today. Many graph
codes have been designed for distributed memory or external memory. However,
today even the largest publicly-available real-world graph (the Hyperlink Web
graph with over 3.5 billion vertices and 128 billion edges) can fit in the
memory of a single commodity multicore server. Nevertheless, most experimental
work in the literature report results on much smaller graphs, and the ones for
the Hyperlink graph use distributed or external memory. Therefore, it is
natural to ask whether we can efficiently solve a broad class of graph problems
on this graph in memory.
This paper shows that theoretically-efficient parallel graph algorithms can
scale to the largest publicly-available graphs using a single machine with a
terabyte of RAM, processing them in minutes. We give implementations of
theoretically-efficient parallel algorithms for 20 important graph problems. We
also present the optimizations and techniques that we used in our
implementations, which were crucial in enabling us to process these large
graphs quickly. We show that the running times of our implementations
outperform existing state-of-the-art implementations on the largest real-world
graphs. For many of the problems that we consider, this is the first time they
have been solved on graphs at this scale. We have made the implementations
developed in this work publicly-available as the Graph-Based Benchmark Suite
(GBBS).Comment: This is the full version of the paper appearing in the ACM Symposium
on Parallelism in Algorithms and Architectures (SPAA), 201
On Minimum Average Stretch Spanning Trees in Polygonal 2-trees
A spanning tree of an unweighted graph is a minimum average stretch spanning
tree if it minimizes the ratio of sum of the distances in the tree between the
end vertices of the graph edges and the number of graph edges. We consider the
problem of computing a minimum average stretch spanning tree in polygonal
2-trees, a super class of 2-connected outerplanar graphs. For a polygonal
2-tree on vertices, we present an algorithm to compute a minimum average
stretch spanning tree in time. This algorithm also finds a
minimum fundamental cycle basis in polygonal 2-trees.Comment: 17 pages, 12 figure
Edge-Orders
Canonical orderings and their relatives such as st-numberings have been used
as a key tool in algorithmic graph theory for the last decades. Recently, a
unifying concept behind all these orders has been shown: they can be described
by a graph decomposition into parts that have a prescribed vertex-connectivity.
Despite extensive interest in canonical orderings, no analogue of this
unifying concept is known for edge-connectivity. In this paper, we establish
such a concept named edge-orders and show how to compute (1,1)-edge-orders of
2-edge-connected graphs as well as (2,1)-edge-orders of 3-edge-connected graphs
in linear time, respectively. While the former can be seen as the edge-variants
of st-numberings, the latter are the edge-variants of Mondshein sequences and
non-separating ear decompositions. The methods that we use for obtaining such
edge-orders differ considerably in almost all details from the ones used for
their vertex-counterparts, as different graph-theoretic constructions are used
in the inductive proof and standard reductions from edge- to
vertex-connectivity are bound to fail.
As a first application, we consider the famous Edge-Independent Spanning Tree
Conjecture, which asserts that every k-edge-connected graph contains k rooted
spanning trees that are pairwise edge-independent. We illustrate the impact of
the above edge-orders by deducing algorithms that construct 2- and 3-edge
independent spanning trees of 2- and 3-edge-connected graphs, the latter of
which improves the best known running time from O(n^2) to linear time
- …