Parisian Master of Research in Computer Science
Master Parisien de Recherche en Informatique (MPRI)

Theory of practical graph algorithms (24h, 3 ECTS, period 2)

Course director: Mauro Sozio

Teachers for 2022-2023

Mauro Sozio (Professor, Telecom Paris, Institut Polytechnique de Paris, LTCI) sozio at telecom dash paris dot fr
Laurent Viennot (Research Director, INRIA) laurent dot viennot at inria dot fr

Scientific and pedagogical content

Graphs provide a powerful abstraction for representing a wide variety of real-world information, such as social networks, knowledge and information networks, biological networks, etc. The course will focus on the theoretical aspects of graph algorithms that work “well” in practice. We will see how theory can lead to a better understanding of the structure of the problem at hand, which, in turn, can lead to more effective or more efficient algorithms. We will also see how real-world problems can inspire interesting theoretical problems. As a result, theory and practice can be much more intertwined than we tend to believe.

We will cover (tentatively) the following main topics:

  • finding cliques and dense subgraphs (sequential, parallel/distributed, dynamic algorithms)
  • graph generation models (Erdös-Rényi, preferential attachment, small world phenomenon)
  • graph clustering (k-center)
  • graph decompositions (k-core)
  • diffusion and influence maximization
  • efficient representation of distances in a graph
  • temporal graphs: when edges appear at certain points in time
  • computing the diameter of a graph

Content and (tentative) schedule

  1. 7.12.22 Mauro
  2. 14.12.22 Mauro
  3. 04.01.22 No class
  4. 11.01.22 Mauro
  5. 18.01.22 Mauro
  6. 25.01.22 Examen 1h30 (Mauro's part)
  7. 01.02.23 Laurent
  8. 08.02.23 Laurent
  9. 15.02.23 Laurent
  10. 22.02.23 Laurent
  11. 01.03.23 Examen 1h30 (Laurent's part)
  12. 08.03.23 No class

Some material from previous occurrences of the course (content or topics might change every year):

Finding Densest Subgraphs Finding Minimal Densest Subgraphs Listing k-cliques Influence Maximization Generative Models for Social Networks Fast shortest path computation and planarity Practical distance labeling and skeleton dimension Temporal graphs, a hierarchy of models Diameter computation and hardness in P

Exercises and Research Questions

To be posted.

Project/Reading Material

Student have the possibility of doing a project, which typically consists of implementing a graph algorithm or a data analysis task. Alternatively, students could read a scientific paper and present it. Either one is optional, while it gives up to 2-4 additional points on the final mark (exact number of additional points will be communicated in the first lecture).

News and Announcements

Teaching language

The course will be in English.


During the course a few exercises related to the content of the course will be given. A subset of those exercises (or similar ones) will be asked during the final exam. Material presented during the lectures might also be asked at the final exam.

There is also the possibility of doing either a project or read a scientific article and present it. This is optional, while it gives up to 2-4 additional points on the final mark. The project typically consists of implementing efficiently a graph algorithm or a data analysis task. Students should preferably use C++, Java, or Python, however, any programming language can be used.

Students are not allowed to bring any notes at the final exam.


Good knowledge of algorithms and complexity theory. Good knowledge of Java, C++ or Python are preferable but not necessary.

Related Books

Algorithm Design par J. Kleinberg et E. Tardos, Addison Welsey 2005.

D. Easley, J. Kleinberg. Networks, Crowds, and Markets: Reasoning About a Highly Connected World. Cambridge University Press, 2010.

Related courses

Universités partenaires Université Paris-Diderot
Université Paris-Saclay
ENS Cachan École polytechnique Télécom ParisTech
Établissements associés Université Pierre-et-Marie-Curie CNRS INRIA CEA