Example 2: Influence maximization
Influence maximization is a vastly studied topic in the social networks research. It can be summarized to have 2 stages:
Selection of seed nodes
Simulation of influence/information spread
While the researchers actively introduce novel methodologies for the selection of seed nodes, they commonly utilize simple algorithms for diffusion, such as Independent Cascade (IC) or Linear Treshold (LT).
To illustrate the effectiveness of their novel algorithms, researchers often conduct various experiments comparing their method’s performance with the other available methods.
This requires the stage 2 to be executed multiple times, while only the seed node selection varies.
With Crowd, we aim to simplify and fasten this progress with the features of the framework. We provide various methods to initialize the node types, as introduced in detail on our Introduction to Crowd/Step 2: Modify configuration/Initializing node types section.
To summarize, the initially “active” nodes which will spread the information to the “inactive” nodes can be selected with the following options:
Random with count
Random with weight
- Choose with metric
PageRank
Degree centrality
Betweenness centrality
Closeness centrality
Eigenvector centrality
Katz centrality
- Load from file
Load the node IDs selected with the novel algorithms proposed by researchers in the CSV format
In the following pages, we provide an example code where we select the seed nodes with the metrics given in option 3, and run the simulation using an IC model implemented with an agent-based approach. Following that, we visualize our results and compare each seed node selection method through the graphs we draw using Crowd’s GUI.
The code in this tutorial provides can be utilized in influence maximization studies with only changing the initial node selection method.
Next: Step 1: Initialize the project and modify configuration