<<

Models of networks (synthetic networks or generative models)

Prof. Ralucca Gera, Applied Dept. Naval Postgraduate School Monterey, California [email protected]

Excellence Through Knowledge Learning Outcomes

• Identify network models and explain their structures; • Contrast networks and synthetic models; • Understand how to design new network models (based on the existing ones and on the collected data) • Distinguish methodologies used in analyzing networks. The three papers for each of the models

Synthetic models are used as reference/null models to compare against and build new complex networks

•“On Random Graphs I” by Paul Erdős and Alfed Renyi in Publicationes Mathematicae (1958) Times cited: 3, 517 (as of January 1, 2015) •“Collective dynamics of ‘small-world’ networks” by Duncan Watts and Steve Strogatz in Nature, (1998) Times cited: 24, 535 (as of January 1, 2015) •“ of scaling in random networks” by László Barabási and Réka Albert in Science, (1999)

Times cited: 21, 418 (as of January 1, 2015) 3 Why care?

: – A virus propagates much faster in scale-free networks. – Vaccination of random nodes in scale free does not work, but targeted vaccination is very effective • Create synthetic networks to be used as null models: – What effect does the distribution alone have on the behavior of the system? (answered by comparing to the ) • Create networks of different sizes – Networks of particular sizes and structures can be quickly and cheaply generated, instead of collecting and cleaning the data that takes time Erdős-Rényi Random Graphs (1959)

5 Random graphs (Erdős-Rényi , 1959)

ERmodel : creates at random with fixed parameters • G(n, m): fix n (node count) and m (edge count) • G(n,p): fix n and probability p of the edge existence between vertices (m is not fixed) 𝑛 – The mean value of edges is 𝑚 ⋅𝑝 2 – The average degree is 𝑘 𝑛1 𝑝 – The distribution of finding a node of degree 𝑘is binomial: 𝑛1 𝑃 𝑘 𝑝 1𝑝 𝑘 • NetworkX has synthetic models and classes

6 Creating G(n,m) – method 1

• To make a random network : – take n nodes, – m unlabeled edges randomly placed between the n vertices • Put the graph in a box, make another one and put it in the box, and another one… • Pull one network at random out of the box and it will have a Normal (classic degree distribution): almost everyone has the same number of friends on average 7 Creating G(n,m) – method 2

Method two and equivalent to the first: • To make a random network : – take n nodes, – m pairs of nodes at random to form edges, – place the edges between the randomly chosen nodes. • The average degree: , where is often used to denote the degree of i in complex networks (enumerate the vertices, 1, 2, …)

8 Creating G(n,p)

• To create a random network : – take n nodes, – A fixed probability for the whole graph – Attach edges at random to the nodes, with the probability p

9 Degree distribution for both for 𝐺𝑛,𝑚 and 𝐺𝑛,𝑝 Results about E-R graphs:

• Degree distribution: Binomial • Average is small compared to n: , where is the average degree – Comparable to the of the observed networks • is small: (The probability that two neighbors of a node are connected is equal to the probability of any two random nodes being connected)

– However observed networks have high clustering.10 Generating Erdős-Rényi ER(n,p)

• ER graphs are models of a network in which some specific set of parameters take fixed values, but the construction of the network is random (see below in )

11 Generating Erdős-Rényi ER(n,m)

12 Generating Erdős-Rényi random networks

Reference for python: http://networkx.lanl.gov/reference/generated/networkx.generators.random_graphs.erdos_renyi_graph.html#networkx.generators.random_graphs.erdos_renyi_graph 13 The Random Geometric model

14 Random Geometric Model

• Again the connections are created at random, but based on proximity (such as ad hoc networks) • Proximity is relevant: for each node , the edge is created with a probability if , for given fixed r. • There is no perfect model for the world around us, not even for specific types of networks

15 An example of a random geometric

16 https://www.youtube.com/watch?v=NUisb1-INIE Creating it in Python

https://networkx.github.io/documentation/networkx- 1.10/reference/generated/networkx.generators.geometric.random_geometric_graph.html#networkx.generators.geometric.random_geometric_graph 17 The Malloy Reed Configuration model (1995)

18 The configuration model

•A model created based on Degree sequence of choice (can be scale free)

• Maybe more than degree sequence is needed to be controlled in order to create realistic models 19 The MR configuration model

• A random graph model created based on a degree sequence of choice: 4, 3, 2, 2, 2, 1, 1, 1

Step 1:

Step 2: Or this step 2:

20 Mathematical properties

•Let and be two nodes. • Expectation of to be an edge : – Pick an edge out of the m edges in G: the probability that the left end node is i is 𝑘 (its degree), and the probability that the right end node is j, is 𝑘 ), and so: p (used 2m since each edge is counted from each of its two ends) • Expectation of a multi edge – Given that 𝑖𝑗 ∈𝐸 𝐺,then the probability that it will be an edge again is p , and so the probability of both happening is p which simplifies to:

21 Mathematical properties (parallel edges)

∑ Average degree: 𝑘 , and … ∑ the average of their squares: 𝑘 . Then, the expected number of parallel edges is:

22 http://tuvalu.santafe.edu/~aaronc/courses/5352/csci5352_2017_L4.pdf Mathematical properties (loops)

1. Recall that for parallel edges, Thus the expectation of a one edge of node 𝑖 has been used 2. And the equation on the previous page simplifies to the expected number of loops being

Conclusion: Since the variables in the equation in 2. above are constant with respect to the size of the network,  only a small fraction of edges are loops or parallel edges

23 http://tuvalu.santafe.edu/~aaronc/courses/5352/csci5352_2017_L4.pdf Generating it in Python

https://networkx.github.io/documentation/networkx-1.10/reference/generated/networkx.generators.degree_seq.configuration_model.html 24 Let’s practice in CoCalc

25 Create ER networks

26 Main References

• Newman “The structure and function of complex networks” (2003) • Estrada “The structure of complex Networks” (2012) • Barabasi “” (online: http://barabasi.com/networksciencebook/) • References to the classes that exist in python: http://networkx.lanl.gov/reference/generators.html

27