2019/2020
Université de Paris, IRIF
Inspired by Advanced Algorithms and Graph Mining by Andrea Marino (University of Florence)
\(1.0\)
\(0.25\)
\(0.25\)
\(0.25\)
\(0.25\)
\(0.0\)
\(0.0\)
\(0.0\)
\(0.0\)
\(0.571\)
\(0.571\)
\(0.571\)
\(0.571\)
\(0.5\)
\(0.5\)
\(0.5\)
\(0.5\)
Interactive version available at http://schochastics.net/sna/periodic.html
Degree | Eccentricity | Closeness | Betweenness | |
---|---|---|---|---|
Degree | 1 | 0.49439 | 0.82451 | 0.84415 |
Eccentricity | 1 | 0.8299 | 0.57968 | |
Closeness | 1 | 0.80662 |
A "jungle" of centrality measures
Sometimes strongly correlated, sometimes not
Different computational complexity
Different interpretation
Difficult to "validate" them
Not so many benchmarks
Why Bacon should be more important than Clooney?
Application dependent notion
Bioinformatics seems to be an interesting application field
Importance of nodes is sometimes clear
Naive algorithm
For every node \(v\), set \(\beta(v)=0\)
For every node \(s\), perform BFS to find all shortest paths from \(s\) to all other nodes \(t\): let \(\Sigma_{s,t}\) be the set of these paths
For every node \(v\) and for each pair \(s,t\), count number of times \(v\) appears in a path in \(\Sigma_{s,t}\), divide by \(|\Sigma_{s,t}|\) and add to \(\beta(v)\)
For every node \(v\), return \(\beta(v)\)
\(a\)
\(b\)
\(c\)
\(d\)
\(e\)
\(f\)
\(g\)
\(h\)
\(i\)
\(j\)
\(k\)
Naive algorithm very expensive in terms of space
Storing all shortest paths between all pairs of nodes
Little improvement
Storing only paths from one source
For every node \(v\), set \(\beta(v)=0\)
For every node \(s\), perform BFS to find all shortest paths from \(s\) to all other nodes \(t\): let \(\Sigma_{s,t}\) be the set of these paths
For every node \(v\) and for every target \(t\), count number of times \(v\) appears in a path in \(\Sigma_{s,t}\), divide by \(|\Sigma_{s,t}|\) and add to \(\beta(v)\)
For every node \(v\), return \(\beta(v)\)
Still unfeasible in the worst case
Why?
Brandes' algorithm
Integrating the computation of the betweenness centrality in the backward phase (construction of the shortest paths)
Without constructing the shortest paths
Going back to \(s\), increment \(\delta_s(v)\) as appropriate when node \(v\) is reached by using \(\sigma_{s,\bullet}\)-values
Add \(\delta_s(v)\) to \(\beta(v)\)
Return \(\beta(v)\)
\(a\)
\(b\)
\(c\)
\(d\)
\(e\)
\(f\)
\(g\)
\(h\)
\(i\)
\(j\)
\(k\)
\(b\)
\(c\)
\(d\)
\(e\)
\(f\)
\(g\)
\(h\)
\(i\)
\(j\)
\(k\)
\(1\)
\(1\)
\(1\)
\(1\)
\(2\)
\(1\)
\(2\)
\(3\)
\(3\)
\(6\)
\(\sigma_{a,\bullet}\)-values (\(\sigma_{a,a}=1\))
\(a\)
\(b\)
\(c\)
\(d\)
\(e\)
\(f\)
\(g\)
\(h\)
\(i\)
\(j\)
\(k\)
\(b\)
\(c\)
\(d\)
\(e\)
\(f\)
\(g\)
\(h\)
\(i\)
\(j\)
\(k\)
\(1\)
\(1\)
\(1\)
\(1\)
\(2\)
\(1\)
\(2\)
\(3\)
\(3\)
\(6\)
\(\sigma_{a,\bullet}\)-values (\(\sigma_{a,a}=1\))
\(1\)
\[\delta_s(v)=1+\sigma_{s,v}\sum_{u\in\mathrm{PH}_s(v)}\frac{\delta_s(u)}{\sigma_{s,u}}\]
\[\delta_a(i)=1+\sigma_{a,i}\frac{\delta_a(k)}{\sigma_{a,k}}=1+3\frac{1}{6}=\frac{3}{2}=\delta_a(j)\]
\(\frac{3}{2}\)
\(\frac{3}{2}\)
\[\delta_a(f)=1+\sigma_{a,f}\frac{\delta_a(i)}{\sigma_{a,i}}=1+2\frac{3/2}{3}=2=\delta_a(h)\]
\(2\)
\(2\)
\[\delta_a(g)=1+\sigma_{a,g}\left(\frac{\delta_a(i)}{\sigma_{a,i}}+\frac{\delta_a(j)}{\sigma_{a,j}}\right)=1+1\left(\frac{3/2}{3}+\frac{3/2}{3}\right)=2\]
\(2\)
\(2\)
\(2\)
\(2\)
\[\delta_a(b)=1+\sigma_{a,b}\frac{\delta_a(f)}{\sigma_{a,f}}=1+1\frac{2}{2}=2=\delta_a(c)=\delta_a(e)\]
\(4\)
\[\delta_a(d)=1+\sigma_{a,d}\left(\frac{\delta_a(g)}{\sigma_{a,g}}+\frac{\delta_a(h)}{\sigma_{a,h}}\right)=1+1\left(\frac{2}{1}+\frac{2}{2}\right)=4\]
\(11\)
\(I_N\)
\(I_N\)
\(K_4\)
\(K_4\)
\(c\)
\(\varphi(c) = 4N+2+2(|C|-1)+3|X|+(2|C|+|\{y\in C: c\cap y=\emptyset\}|)\)
\(2\)
\(2\)
\(1\)
\(1\)
\(2\)
\(2\)
\(1\) if \(x\in c\), \(2\) otherwise
\(2\) if \(c\cap y \neq \emptyset\), \(3\) otherwise
\(2\) if \(x\in c\), \(1\) otherwise
\(= 4N+4|C|+3|X|+\delta_{hs}(c)\)
For \(N\) sufficiently large, all other nodes have farness greater than \(4N+4|C|+3|X|\).
Hence, HS iff minimum farness is \(4N+4|C|+3|X|\).
\(v\)
\(\Gamma_1(v)\)
\( n_1(v)=1+\gamma_1(v)\)
\(\Gamma_2(v)\)
\(n_2(v)=n_1(v)+\gamma_2(v)\)
\(\gamma_1(v) = |\Gamma_1(v)|\)
\(\varphi_1(v)=1\cdot\gamma_1(v)\)
\(\gamma_2(v) = |\Gamma_2(v)|\)
\(\varphi_2(v)=\varphi_1(v)+2\cdot\gamma_2(v)\)
\(\Gamma_d(v)\)
\(n_d(v)=n_{d-1}(v)+\gamma_d(v)\)
\(\gamma_d(v) = |\Gamma_d(v)|\)
\(\varphi_d(v)=\varphi_{d-1}(v)+d\cdot\gamma_d(v)\)
\(\varphi(v) \geq \varphi_d(v) + (d+1)\gamma_ {d+1}(v)+(d+2)(n-n_{d+1}(v))\)
\(\varphi(v) \geq \varphi_d(v) - \gamma_ {d+1}(v)+(d+2)(n-n_d(v))\)
?
?
?
\(\varphi(v) \geq \tilde{\varphi}_d(v) = \varphi_d(v) - \tilde{\gamma}_ {d+1}(v)+(d+2)(n-n_d(v))\)
Everything is known
Stop as soon as \((\kappa_{\mathrm{top}}\geq) x \geq \frac{n-1}{\tilde{\varphi}_d(v)}(\geq \kappa(v))\) and return 0. Otherwise return \(\kappa(v)\).
Since \(n_{d+1}(v)=n_d(v)+\gamma_{d+1}(v)\)
\(\tilde{\gamma}_ {d+1}(v)=\sum_{u\in\Gamma_{d}(v)}(\mathrm{deg}(u)-1)\)
Semels ('40)
Corrado ('45)
Flowers ('50-'80)
Welles ('85-'90)
Madsen ('14)
Hitler ('05-'10)
Lee ('95-'00)
\(C_1\)
\(C_2\)
\(C_3\)
\(C_4\)
\(C_5\)
\(C_6\)
\(4\)
\(3\)
\(5\)
\(4\)
\(2\)
\(6\)
\(\varphi(x_1)=1+1+3+2+3=10\)
\((x_1,x_6)\): \(\varphi(x_1)=1+1+3+2+1=8\)
\((x_1,x_5)\): \(\varphi(x_1)=1+1+2+1+2=7\)
\((x_1,x_4)\): \(\varphi(x_1)=1+1+1+2+3=8\)