\section{Harmonic centrality}

The algorithm shown in this paper is very versatile. We have tested it with two different graphs and obtained excellent results. But there could be more.

\s \nd It can be adapted very easily to compute other centralities, as the harmonic one \cite{2000}. Given a graph $G = (V,E)$ and a node $v \in V$, it's defined as

\begin{equation}
    h(v) = \sum_{w \neq v} \frac{1}{d(v,w)}
\end{equation}

\nd The main difference here is that we don't have a farness. Then we won't need a lower bound either. Since the biggest the number is the higher is the centrality, we have to adapt the algorithm. Instead of a lower bound, we need an upper bound $U_B$ such that

\begin{equation}
    h(v) \leq U(v) \leq h(w)
\end{equation}

\nd A possibile upper bound can be taken considering the worst case that could happen at each state

\begin{equation}
    U(v) = \sigma_{d-1} + \frac{n_d}{d} + \frac{n - r - n_d}{d+1}
\end{equation}

\nd When we are at the level $d$ of our exploration, we already know the partial sum $\sigma_{d-1}$. The worst case in this level happens when the node $v$ is connected to all the other nodes. To consider this possibility we add the factors $\frac{n_d}{d} + \frac{n - r - n_d}{d+1}$.

\s \nd This method has been tested and works with excellent results. What needs to be adjusted is a formal normalization for the harmonic centrality and for the upper bound. In the Github repository, the script already gives the possibility to compute the top-k harmonic centrality of both graphs.
