  We consider the problem of graph generation guided by network statistics,
i.e., the generation of graphs which have given values of various numerical
measures that characterize networks, such as the clustering coefficient and the
number of cycles of given lengths. Algorithms for the generation of synthetic
graphs are often based on graph growth models, i.e., rules of adding (and
sometimes removing) nodes and edges to a graph that mimic the processes present
in real-world networks. While such graph generators are desirable from a
theoretical point of view, they are often only able to reproduce a narrow set
of properties of real-world networks, resulting in graphs with otherwise
unrealistic properties. In this article, we instead evaluate common graph
generation algorithms at the task of reproducing the numerical statistics of
real-world networks, such as the clustering coefficient, the degree
assortativity, and the connectivity. We also propose an iterative algorithm,
the Guided Graph Generator, based on a greedy-like procedure that recovers
realistic values over a large number of commonly used graph statistics, while
at the same time allowing an efficient implementation based on incremental
updating of only a small number of subgraph counts. We show that the proposed
algorithm outperforms previous graph generation algorithms in terms of the
error in the reconstructed graphs for a large number of graph statistics such
as the clustering coefficient, the assortativity, the mean node distance, and
also evaluate the algorithm in terms of precision, speed of convergence and
scalability, and compare it to previous graph generators and models. We also
show that the proposed algorithm generates graphs with realistic degree
distributions, graph spectra, clustering coefficient distributions, and
distance distributions.
