The details of the model is available in Section 3 of this link.

**t:** number of time slots of the whole evolving process;

**simT:** number of simulation times;

**cij:** number edges added to the bipartite graph B(Vi, Vj) in preferential
attachment, resulted by the node arrival in Vi;

**pi:** probability that a new node arrives in Vi at each time slot;

**Initialization:**To start the evolution, you should give an initial graph.
In this example, the initial graph is set with 16 nodes in V1, 16 nodes in V2 and 16
nodes in V3.

**Node ID:**We use the integer to represent node ID. Node in V1 is denoted
by “x”, that in V2 is denoted by “10000+x”, and that in V3 is denoted by “20000+x”,
where “x” is the node ID in its own set. When add the x-th node of V1, we insert the
node with ID “x+0”, when add the x-th node of V2, we insert the node with ID “x+10000”
and when add the x-th node of V3, we insert the node with ID “x+20000”.

If you find theses useful, we would be grateful if you could cite the following paper:

J. Liu, Y. Yao, X. Fu,L. Fu, X. Wang, "Evolving K-Graph: Modeling Hybrid Interactions in Networks" in AMC MobiHoc 2017 poster , Chenai, India.

The details of this model, along with its evolving process, can be refered to Section 2 in this link.

**t:** number of time slots of the whole evolving process;

**simT:** number of simulation times;

**c12:** number edges added to the bipartite graph B(V1, V2) in preferential
attachment, resulted by the node arrival in V1;

**c21:** number edges added to the bipartite graph B(V1, V2) in preferential
attachment, resulted by the node arrival in V2;

**p1:** probability that a new node arrives in V1 at each time slot;

**p2:** probability that a new node arrives in V2 at each time slot;

**Initialization:**To start the evolution, you should give an initial graph.
In this example, the initial graph is set with 4 nodes in V1 and 3 nodes in V2.

**Node ID:**We use the integer to represent node ID. Node in V1 is denoted
by “x” and that in V2 is denoted by “10000+x”, where “x” is the node ID in its own set.
When add the x-th node of V1, we insert the node with ID “x+0”, and when add the x-th
node of V2, we insert the node with ID “x+10000”.

Named after Prof. Fan Chung and Prof. Linyuan lu, the details of this model can be refered to Section 2.2 in this link.

Named after Paul Erdős and Alfréd Rényi , the details of this model is available in this link. Particularly, in our code, we focus on the G(n,p) version provided in the link.

The folder ER contains the code which can generate ER graph(er_graph.m) and extract subgraph from ER graph(extract_graph.m and EG.m).

You should build folders yourself according to the path in the code if you want to generate and save graphs.In addition,you should set some parameters("time" and "a") in the code.

Named for its inventors Albert-László Barabási and Réka Albert, the details of this model is available in Section 7.2 in this link.

The folder Evo contains the code which can generate evolving graph(the folder evo_graph) and extract subgraph from evolving graph(extract_graph.m and EG.m).In this program,we will generate many evolving graph,so if you want to extract subgraph,you should select one yourself and put it in the suitable folder according to the path in the code.

You should build folders yourself according to the path in the code if you want to generate and save graphs.In addition,you should set some parameters("time" and "a") in the code.

This package contains the simulation codes of generating coupled networks that contain two fully dependent single networks in the sense that any node in one network can always find its counterpart in the other one. The structure of such coupled networks is illustrated as follows:

All the codes are programmed in Python 2.7.

0_generate coupled network.py is used to generated graph from data source (real networks) or Erdos Renyi graph.

environment: Python 2.7

Call library : networkx ,bidict

As shown in codes:

- er(n,p) used to generate erdos renyi graph.
- .real() used to genetate a single network by real data source. Just need to change f = open("twitter_combined.txt") to the file you want to load. The formate is node node for each line. eg: 1 2
- ran(n,p) Generate a dict which means the connection of doubled network which we assume the inner connection of each network are the same. As a result the number of the nodes in each graph is the same.

n means the number of nodes in single network.

p means the probility of the connetion between
nodes in both networks.

ran(100,0.5)

bidict({2: 52, 3: 98, 4: 34, 6: 21, 8: 54, 9: 26, 10: 90, 11: 12, 12: 24, 13: 38, 16: 87, 18: 20,
19: 94, 20: 13, 22: 47, 24: 82, 28: 10, 29: 91, 30: 14, 32: 76, 36: 32, 39: 84, 43: 31, 45: 57,
48: 73, 49: 53, 50: 56, 51: 75, 56: 81, 62: 3, 67: 8, 69: 44, 73: 72, 75: 69, 76: 62, 77: 79,
78: 17, 81: 15, 82: 68, 83: 89, 84: 64, 85: 30, 86: 60, 87: 2, 88: 78, 91: 6, 92: 49, 97: 48,
98: 7, 99: 42})

The node 2 in one network is connected to 52 in another network. The number
of connected nodes is 100*0.5=50

This package contains the simulation codes of social network model that incorporates both geographic and non-geographic factors. Named GN model, the model indicates that the probability that two users are friends is determined by both the geographic distance between them and user popularities. The influence of geographic factor is characterized by the rank-based model and that of non-geographic one is assumed be proportional to a user’s popularity, since that a user with greater popularity often has more friends. An illustrative example of GN model is shown in the following figure:

For more details of the GN model, please refer to Section IV in our paper:

J. Liu, L. Fu , J. Zhang, X. Wang, J. Xu,"Modeling Multicast Group in Wireless Social Networks: A Combination of Geographic and Non-geographic Perspective" to appear inThe detailed usage of each files is listed in the following.

All the simulation codes are written by Matlab. To run the simulations, put all the files in the same folder, and then run the main.m file. In our simulations we assume that all nodes are distributed in a square region independently and identically and the popularities of them is obtained from the Renren dataset. Here, you can use any other datasets instead or just simply use synthetic ones. The results are presented in the form of figures.

If you find these useful, we would be grateful if you could cite the following paper:

J. Liu, L. Fu , J. Zhang, X. Wang, J. Xu,"Modeling Multicast Group in Wireless Social Networks: A Combination of Geographic and Non-geographic Perspective" to appear in