DATA 420 - Modeling and Simulation - Spring 2024

Graph-based models

Possible experience: +40XP (or even +50XP)

Due: Sunday, April 28, midnight

Overview

Model the flow of information (say, a rumor) through a social network, and discover how the network characteristics affect the speed of that flow.

Details

Create an ABM using Mesa, in which each agent does, or does not yet, know the rumor. Make the agents interact on a graph of social connections, initially using an Erdős-Rényi random graph model. Set one of the agents to know the rumor, while the rest are ignorant. Like the Binary Voter Model example, each agent will choose one of its graph neighbors at random when it acts: and "acting" in this case means "passing on the rumor, if you know it." Stop the simulation once every agent knows the rumor, and track how many steps this takes.

Keep the number of nodes constant (choose a number that seems suitable and that demonstrates the model's effect), and produce a plot in which the independent variable is the edge density and the dependent variable is the time it took to reach all the nodes.

Extra credit

For an additional +10XP, repeat the same sort of analysis for Barabási-Albert (scale-free) and Watts-Strogatz (small world) networks, choosing suitable parameters for your independent variables.

Turning it in

Send an email to data420submissions@gmail.com containing attachments for your plot (or plots) and your Python code. The subject line of the email should be DATA 420 Graph models turnin.

Getting help

Come to office hours, or send me email with subject line "DATA 420 Graph models help!!"