Keywords

1 Introduction

The proliferation of complex information networks in diverse fields of application has led to the proposal of a panoply of methods to analyze and discover relevant patterns in these networks. However, evaluating these methods and the comparison of the different approaches are not very easy due to the lack of large real networks with ground truth freely accessible to researchers. The alternative consists in using synthetic data provided by generators. There is a large bibliography regarding generation for static graphs, including the classic Erdős-Rényi (ER) model which generates random graphs or the Barabási-Albert (BA) model that generates random scale-free networks, but very few generators allow the construction of evolving graphs, exhibiting or not a community structure and, none of them takes into account the attribute values of the vertices. The interest of community detection, link prediction and more generally pattern discovery in dynamic networks where vertices are associated with attributes led us to develop the generator DANCer for attributed dynamic graphs with embedded community structure. This generator is an extended version of a previous generator, ANC dedicated to static graphs [1].

2 Model

An attributed dynamic network generated by DANCer is represented by (1) a sequence of \(T\) attributed graphs \(\mathcal {G}_i = (\mathcal {V}_i, \mathcal {E}_i)\), \(i \in \{1, \dots , T{}\}\), where \(\mathcal {V}_i{}\) is a set of vertices, \(\mathcal {E}_i{}\) a set of undirected edges and where for each vertex \(v \in \mathcal {V}_i\) and each real attribute \(A \in \mathcal {A}\), \(v_A\) denotes the attribute value of A assigned to vertex v and (2) a sequence of \(T\) partitions \(\mathcal {P}_i{}\) of \(\mathcal {V}_i{}\), \(i \in \{1, \dots , T{}\}\) which gives a community for each vertex in the corresponding graph \(\mathcal {G}_i\), \(i \in \{1, \dots , T{}\}\). Each partition allows to define a community structure on a graph (i.e., the network at a single timestamp) in such a way that the nodes are grouped into sets densely connected and relatively homogeneous with regard to the attributes, while they are less connected to vertices belonging to other groups, and less similar with regard to their attributes.

The generation of the network is carried out in two phases. In phase one, an initial graph \(\mathcal {G}_1 = (\mathcal {V}_1, \mathcal {E}_1)\) is built while respecting the well-known network properties such as preferential attachment, small world or homophily and, in the second phase, this initial graph is modified through two kinds of operations. The first set of operations, called micro operations, consist in removing or adding vertices and edges or updating their attributes whereas the second kind of operations is applied on the communities, i.e., at a macro level. They consist in (1) migrating members of a community to either a new community or an existing one, (2) splitting a community into two new sub-communities and (3) merging two existing communities into a single one.

3 Software Overview

The user interface has three panels as shown in Fig. 1. In the parameter panel, the user selects the dynamic generator parameters presented in Table 1 Footnote 1. Note that a seed is used for the random number generator. It can be saved to reproduce exactly the same network.

Fig. 1.
figure 1

User interface of the generator DANCer.

Fig. 2.
figure 2

Community dynamics display in visualization panel.

Fig. 3.
figure 3

Measures panel of the generator.

Table 1. Description of the dynamic network generator parameters

The visualization panel allows to display the generated network and its dynamic evolution. Each graph in the sequence can be selected with a timestamp scrollbar and viewed separately (Fig. 1). This panel can also display the size and the evolution of the different communities in the sequence of graphs according to the macro dynamic operations (split, merge and migrate) (see Fig. 2).

The sequence of attributed graphs is built while preserving properties of real networks and several measures, like modularity, clustering coefficient, diameter, expected and observed homophily or within inertia rate are computed on each graph of the dynamic network to describe its propertiesFootnote 2. The changes in these different measures on the sequence of graphs are presented at the bottom of the interface in the measure panel (Fig. 3).

The bottom of the user interface includes also a panel displaying the distribution of vertex degrees on each graph of the sequence as shown in Fig. 4.

Fig. 4.
figure 4

Degree distribution panel.

The generated dynamic network can be saved as a collection of files. For each graph of the sequence, a file indicates the composition of the graph (vertices and edges) and a “parameters" file enumerates all the parameters used by the generator. The graph measures and community dynamics can also be saved in separated files.

4 Conclusion

The software DANCer and a detailed user manualFootnote 3 are available under the terms of the GNU Public Licence. Note that our generator can trivially be extended to produce multiplex networks, where all nodes are omnipresent in all levels and intra-level edges connect the representations of a node from one level to the other. This conversion is possible by simply converting each timestamp graph into a layer of the multiplex network and adding the necessary intra-level edges.