## Algorithms for dynamic and distributed networks : shortest paths, betweenness centrality and related problems

##### Abstract

In this thesis we study the problem of computing Betweenness Centrality in dynamic and distributed networks. Betweenness Centrality (BC) is a well-known measure for the relative importance of a node in a social network. It is widely used in applications such as understanding lethality in biological networks, identifying key actors in terrorist networks, supply chain management processes and more. The necessity of computing BC in large networks, especially when they quickly change their topology over time, motivates the study of dynamic algorithms that can perform faster than static ones. Moreover, the current techniques for computing BC requires a deeper understanding of a classic problem in computer science: computing all pairs all shortest paths (APASP) in a graph. One of the main contributions of this thesis is a collection of dynamic algorithms for computing APASP and BC scores which are provably faster than static algorithms for several classes of graphs. We use n = |V| and m = |E| to indicate respectively the number of nodes and edges in a directed positively weighted graph G = (V,E). Our bounds depend on the parameter [nu]* that is defined as the maximum number of edges that lie on shortest paths through any single vertex. The main results in the first part of this thesis are listed below.
- A decrease-only algorithm for computing BC and APASP running in time O([nu]* n) that is provably faster than recomputing from scratch in sparse graphs.
- An increase-only algorithm for computing BC and APASP that runs in O([nu]*² log n) per update for a sequence of at least [Omega](m*/[nu]*) updates. Here m* is the number of edges in G that lie on shortest paths. This algorithm uses O(m* [nu]*) space.
- An increase-only algorithm for computing BC and APASP that runs in O([nu]*² log n) but improves the computational space to O(m*n).
- A fully dynamic algorithm for computing BC and APASP that runs in O([nu]*² log³ n) amortized time per update for a sequence of at least [Omega](n) updates.
- A refinement of our fully dynamic algorithm that improves the amortized running time to O([nu]*² log² n), saving a logarithmic factor.
In the second part of this thesis, we study the case when the input graph is a distributed network of machines and the BC score of each machine, considering its location within the network topology, needs to be computed. In this scenario, each node in the input graph is a self-contained machine with limited knowledge of the network and communication power. Each machine only knows the (virtual) location of the neighbors machines (adjacent nodes in the input graph). The messages, exchanged in each round between machines, cannot exceed a bounded size of at most O(log n) bits. In this distributed model, called CONGEST, we present algorithms for computing BC in near-optimal time for unweighted networks, and some classes of weighted networks. Specifically, our main results are:
- A distributed BC algorithm for unweighted undirected graphs completing in at most min(2n+O(D[underscore u]); 4n) rounds, where D[underscore u] is the diameter of the undirected network.
- A distributed BC algorithm for unweighted directed graphs completing in at most min(2n + O(D); 4n) rounds, where D is the diameter of the directed network.
- A distributed APSP algorithm for unweighted directed graphs completing in at most min(n + O(D); 2n) rounds.
- A distributed BC algorithm for weighted directed acyclic graphs (dag) completing in at most 2n + O(L) rounds, where L is the longest length of a path in the dag.
- A distributed APSP algorithm for weighted dags completing in at most n + O(L) rounds.