133 research outputs found
Efficient Triangle Counting in Large Graphs via Degree-based Vertex Partitioning
The number of triangles is a computationally expensive graph statistic which
is frequently used in complex network analysis (e.g., transitivity ratio), in
various random graph models (e.g., exponential random graph model) and in
important real world applications such as spam detection, uncovering of the
hidden thematic structure of the Web and link recommendation. Counting
triangles in graphs with millions and billions of edges requires algorithms
which run fast, use small amount of space, provide accurate estimates of the
number of triangles and preferably are parallelizable.
In this paper we present an efficient triangle counting algorithm which can
be adapted to the semistreaming model. The key idea of our algorithm is to
combine the sampling algorithm of Tsourakakis et al. and the partitioning of
the set of vertices into a high degree and a low degree subset respectively as
in the Alon, Yuster and Zwick work treating each set appropriately. We obtain a
running time
and an approximation (multiplicative error), where is the number
of vertices, the number of edges and the maximum number of
triangles an edge is contained.
Furthermore, we show how this algorithm can be adapted to the semistreaming
model with space usage and a constant number of passes (three) over the graph
stream. We apply our methods in various networks with several millions of edges
and we obtain excellent results. Finally, we propose a random projection based
method for triangle counting and provide a sufficient condition to obtain an
estimate with low variance.Comment: 1) 12 pages 2) To appear in the 7th Workshop on Algorithms and Models
for the Web Graph (WAW 2010
Enumerating Cyclic Orientations of a Graph
Acyclic and cyclic orientations of an undirected graph have been widely
studied for their importance: an orientation is acyclic if it assigns a
direction to each edge so as to obtain a directed acyclic graph (DAG) with the
same vertex set; it is cyclic otherwise. As far as we know, only the
enumeration of acyclic orientations has been addressed in the literature. In
this paper, we pose the problem of efficiently enumerating all the
\emph{cyclic} orientations of an undirected connected graph with vertices
and edges, observing that it cannot be solved using algorithmic techniques
previously employed for enumerating acyclic orientations.We show that the
problem is of independent interest from both combinatorial and algorithmic
points of view, and that each cyclic orientation can be listed with
delay time. Space usage is with an additional setup cost
of time before the enumeration begins, or with a setup cost of
time
Computing Graph Roots Without Short Cycles
Graph G is the square of graph H if two vertices x, y have an edge in G if
and only if x, y are of distance at most two in H. Given H it is easy to
compute its square H2, however Motwani and Sudan proved that it is NP-complete
to determine if a given graph G is the square of some graph H (of girth 3). In
this paper we consider the characterization and recognition problems of graphs
that are squares of graphs of small girth, i.e. to determine if G = H2 for some
graph H of small girth. The main results are the following. - There is a graph
theoretical characterization for graphs that are squares of some graph of girth
at least 7. A corollary is that if a graph G has a square root H of girth at
least 7 then H is unique up to isomorphism. - There is a polynomial time
algorithm to recognize if G = H2 for some graph H of girth at least 6. - It is
NP-complete to recognize if G = H2 for some graph H of girth 4. These results
almost provide a dichotomy theorem for the complexity of the recognition
problem in terms of girth of the square roots. The algorithmic and graph
theoretical results generalize previous results on tree square roots, and
provide polynomial time algorithms to compute a graph square root of small
girth if it exists. Some open questions and conjectures will also be discussed
- …