Assignments for the course Complex networks: theory and applications
📅 Date: Jul 2019
🏫 Master in Communications and Computer Networks Engineering at Politecnico di Torino
📄 Report: latex/complex_net_report_senacheribbe.pdf
The project consists of 4 assignments covering the topic of Complex Networks.
Using a real graph as input, different centralities measures are computed and compared: degree, Katz and betweenness centrality.
Different epidemic processes are simulated on a real graph using a Monte Carlo approach: SI model, bootstrap percolation, bootstrap percolation (stocastic).
The Erdős–Rényi model (G(n,p) model) is simulated and its properties are tested for different values of n
and p
(up to n=100000
).
The Barabási–Albert model is simulated and its properties are tested for n=100000
.
More information are available in the final report latex/complex_net_report_senacheribbe.pdf
.
The code is written in Python 3 using numpy, scipy (sparse matrix operations) and numba (JIT compilation).
To run the code, you need Python 3, Jupyter Notebook and the Python packages listed in requirements.txt
.
Create a virtual environment, install the package dependencies and add a custom kernel to Jupyter:
$ python -m venv venv
$ source venv/bin/activate
(venv) $ pip install -r requirements.txt ipykernel
(venv) $ ipython kernel install --user --name=project-snets
(venv) $ deactivate
Now you can simply run:
$ jupyter-notebook
and browse the code in the assignment*/
folders.
The source code is licensed under the GNU GPLv3. The content of the report is licensed under the CC BY-NC-SA 4.0