Konstantin Avrachenkov ,
This course will provide statistical tools to study and analyze complex networks.
Since interactions between agents arise in various situations, networks have an exceptional impact on both science and society. We can mention the various interactions between people (communication networks, social networks), between proteins (biological networks), between particles (statistical physics), or between economic agents (countries, companies, etc.). Many of these real networks are very large (Twitter, Facebook, etc.), and data might not always be fully available (or its access is restricted via API, like Twitter).
We will begin by introducing the classic random graphs models (Erdos-Renyi, Configuration Model, Preferential Attachment, etc.). Then, we will give some standard algorithms for community detection (Spectral Clustering, Louvain, Modularity, etc.). Last, we propose to describe and analyze methods to sample average or maximal values of network functions, such as degree, population opinion, or rating. Half of the course hours will be spent on implementing the methods in Python (using the package networkX).