This section describes the network formation models implemented in NOESIS. Network models allow studying and understanding the properties of many interesting networks. Several network formation models have been described in the scientific literature to model the topology and structure of real-world networks, which commonly exhibit particular node degree distributions and a small diameter. These models also propose algorithmic procedures for generating synthetic networks with very specific properties. NOESIS features several network formation models, including the most influential ones, such as the Erdös-Rényi or the Barabási-Albert models. These implemented models allow to generate synthetic networks according to specific user provider parameters. Many influential network formation models can be found under the noesis.model.random package. In addition, NOESIS provides several regular network models under the noesis.model.regular package.Creating networks using the network formation models included in NOESIS is straightforward. This procedure only requires instantiating a network using the desired type of formation model and providing the desired parameters for the generated network. Each network formation model has its own set of parameters, which are described in detail and exemplified below on this page. ## Supported network formation models## Erdös-Rényi modelOne of the most basic models to generate random graphs is the Erdös–Rényi model. In this model, networks are chosen randomly among the collection of all possible networks with the specified parameters. This model requires specifying the number of nodes and the number of links in the network. The following code snippet creates a Erdös-Rényi random network with 100 nodes and 500 links:Network network = new ErdosRenyiNetwork(100, 500); ## Gilbert's modelAnother simple model is the Gilbert's model, where every pair of nodes is connected by a link with a given probability. This model requires specifying the number of nodes and the probability of link between every pair of nodes in the network. A Gilbert's random network with 100 nodes and a link probability of 0.1 can be created as:Network network = new GilbertNetwork (100, 0.1); The Lewis' anchored random network is a variation of the Erdös-Rényi model. This model takes two parameters: the number of nodes and the number of links in the network. An example is shown in the following code snippet:Network network = new AnchoredRandomNetwork(100, 500); The connected random model is other variation of the Erdös-Rényi model. In order to create a network using this model you must provide two parameters: the number of nodes and the number of links in the network. An example of a network with 100 nodes and 500 links is shown in the following code snippet: ## Watts–Strogatz modelWe can generate networks using more complex models, such as the Watts–Strogatz model. This model generates networks with small-world properties similar to those observed in real-world networks. In order to achieve these properties, this model initially creates a ring-like network, where each node is only connected to its closest neighbors in the ring. Next, the model requires a link rewiring phase, where links are rewired with a given probability to a random target node. This model requires the number of nodes, the number of links, and the probability of rewire for links. A network with 100 nodes and 300 links using the Watts-Stogatz model, with a link rewiring probability of 0.2, can be generated using the following code snippet:## Barabási–Albert modelThe Barabási–Albert model generates scale-free networks, where node degrees follow a power law distribution. This behavior is achieved using the preferential attachment mechanism, where nodes are more likely to form new links with higher degree nodes. This model requires the number of nodes and the number of links for each node in the network. A Barabási-Albert network with 100 nodes and 5 links for each node can be generated as follows:Network network = new BarabasiAlbertNetwork(100, 5); The Price's model can be used to generate networks with similar properties to real citation networks. This model is similar to the Barabási-Alber model, given that citation networks also tend to follow a power law degree distribution. This model requires the number of nodes, the number of citation links for each node, and the number of free citations for each node in the network. The difference between citation and free links is, while citation links are created using the preferential attachment mechanism, free links are created at random uniformly choosing a target node. A Price's network with 50 nodes, 4 citation links for each node, and 1 free link for each node can be generated using the following line of code:Network network = new PriceCitationNetwork(50, 4, 1); NOESIS also includes many regular network models under the model.regular package. Instead of generating random networks as the previously described models, they generate networks with a very specific topology. In addition, NOESIS can efficiently provide relevant topological metrics, such as distance between nodes, diameter, min-max degree, or clustering coefficient, based on theoretical results.## CompleteA complete network is a regular network where every pair of nodes is connected by a link. This model only takes the ## StarIn a star network all nodes are connected to a central or root node. This model requires specifying the ## RingAs its name suggests, in this model, nodes are connected to exactly two neighbors composing a unique component. This model only requires the ## TandemA Tandem network is similar to a rope: two end nodes are connected by a chain of internal nodes. These internal nodes are connected only to exactly two neighbors. As in the previous regular models, instantiating a network using this model only requires passing the RegularNetwork network = new TandemNetwork(15); ## Mesh`In a mesh network, nodes are arranged in a two-dimensional grid. This model requires specifying the ` RegularNetwork network = new MeshNetwork(10,10); ## ToroidalA toroidal network is a mesh network where the outer nodes of the grid are also connected with the outer nodes at the other end of their row and their column. As for mesh networks, this models requires passing the number of rows and the number of columns in the network. A toroidal network with 10 rows and 10 columns can be created as follows: RegularNetwork network = new ToroidalNetwork(10,10); ## HypercubeThis model encodes a hypercube, where corners are represented as nodes and edges as links. This model only requires specifying the dimensionality of the hypercube. For example, a 3-dimensional cube can be created with the following line: RegularNetwork network = new HypercubeNetwork(3); ## Binary treeIn a binary tree, nodes are arranged hierarchically such that each node is connected to a parent and at most to two children. This model requires specifying the RegularNetwork network = new BinaryTreeNetwork(15); ## Isolate |

Wiki >