You are on page 1of 1

The preferred project language is C++, but Python is also possible in an exceptional case.

The goal of this project is to explore available graph clustering algorithms (e.g. spectral
clustering and Leiden community detection algorithms) and implement such algorithms in the
open-source graph library MAGE (https://github.com/memgraph/mage).

The aim of this project is twofold. The first aim is to revise existing graph clustering algorithms.
The outcome of this part of the project should be a review of existing clustering algorithms
comparing their advantages, disadvantages, theoretical complexities, and experimental
performance.

The second aim of the project is to contribute to MAGE library development by implementing
some of the graph clustering algorithms considered at the first stage of the project.

The project will include the following activities that one can expect to undertake as a graduate-
level professional:
1. Learning elements of contemporary network theory;
2. Intensive review of the literature;
3. Summarising review findings in a review report;
4. Implementation of algorithms within the open-source library following the guidelines of the
library;
5. Implementation of unit tests and end-to-end tests for the implemented algorithms;
6. Experimental evaluation of the implemented algorithms;
7. Preparation of user-friendly explanation/documentation of the algorithms and illustrative
examples for the library;
8. Creation of graph datasets.

Prerequisite: good knowledge of graph theory and strong programming skills.

References
[1] Leiden community detection: https://www.nature.com/articles/s41598-019-41695-z
[2] Spectral clustering: https://en.wikipedia.org/wiki/Spectral_clustering
[3] MAGE: https://github.com/memgraph/mage
[4] Memgraph: https://memgraph.com/

You might also like