Group centrality
Concept in graph theory and network analysis
- 4 min read
- 6 chapters
Related on Lably
Through Heuristic, Degree (graph theory) and Graph (discrete mathematics)
One complication when searching for groups of a given size with maximum group centrality arises from the fact that for many measures, this problem is NP-hard. Therefore, heuristics and approximation algorithms are typically used in practical applications.
Group degree centrality
In analogy to the conceptually simple degree centrality, which measures the degree of a node, the group degree centrality of a group of nodes is simply defined as the number of non-group nodes adjacent to nodes in . Formally, the group degree centrality of a group of a given graph is defined as
When the size is part of the input, the problem of determining a set of size with maximum group degree centrality is NP-hard.
Sign in to keep reading
5 more chapters are free with a Lably account.
Group closeness centrality
In a connected graph, the normalized group closeness centrality (or group closeness) of a group is the reciprocal of the average length of the shortest path between the group and all other nodes in the graph. More precisely, the group closeness centrality of a group in a connected graph is defined as
- ,
where
denotes the distance of to , that is, the distance to the closest node in . Hence, just like Closeness centrality, this measure can be regarded as the normalized variant of the reciprocal of a farness measure, which for the group case is given as .
The problem of finding a group of given size with maximum group closeness is NP-hard.
Group betweenness centrality
Group betweenness centrality is the generalization of betweenness centrality and similarly quantifies the number of times group nodes act as a bridge along the shortest path between two other nodes. Formally, for a graph it is defined as
where is the total number of - paths and is the number of - paths passing through . Analagously to individual betweenness, group betweenness may be normalized by dividing through the number of pairs of nodes not including the group , which for directed graphs is and for undirected graphs is , where .
Finding the group of a given size with maximum group betweenness is NP-hard.
Group current flow closeness centrality
Group current flow closeness centrality generalizes current flow closeness of individual nodes. Unlike conventional (group) closeness, current flow closeness not only considers the length, but also the number of shortest paths by treating the graph as a resistor network and considering current flow in this network, rather than shortest paths. Let be a graph (representing a resistor network with edge resistances) and . Then formally, group current flow closeness is defined as
- ,
where is the voltage of when a unit current enters at and leaves it at .
The maximization problem is NP-hard.
Other group centrality measures
- Group eigenvector centrality
- Group harmonic centrality
- GED-Walk centrality
Algorithms
For many group centrality measures, the problem of finding a group of a given size with maximum centrality can be formulated as an integer linear program. For example, consider the following integer linear program for group degree centrality maximization:
Here, the variables indicate whether is in the group, while the variables indicate if is a non-group neighbor. Thus, the objective function corresponds to , where . This objective is maximized under the constraint , as required.
Since it is NP-hard for many group centrality measures to find a subset of the vertices of a graph with that maximizes the centrality of , numerous heuristics and approximation algorithms have been proposed. One widely used greedy algorithm can be expressed as follows in pseudocode.
<span id="mwug"></span><span class="linenos" data-line="1" id="mwuw"></span><span class="w" id="mwvA"> </span><span class="k" id="mwvQ">function</span><span class="w" id="mwvg"> </span><span class="n" id="mwvw">greedy</span><span class="p" id="mwwA">(</span><span class="n" id="mwwQ">G</span><span class="w" id="mwwg"> </span><span class="p" id="mwww">:</span><span class="w" id="mwxA"> </span><span class="n" id="mwxQ">graph</span><span class="p" id="mwxg">,</span><span class="w" id="mwxw"> </span><span class="n" id="mwyA">k</span><span class="w" id="mwyQ"> </span><span class="p" id="mwyg">:</span><span class="w" id="mwyw"> </span><span class="n" id="mwzA">positive</span><span class="w" id="mwzQ"> </span><span class="n" id="mwzg">integer</span><span class="p" id="mwzw">):</span> <span class="linenos" data-line="2" id="mw0A"></span><span class="w" id="mw0Q"> </span><span class="n" id="mw0g">S</span><span class="w" id="mw0w"> </span><span class="err" id="mw1A">←</span><span class="w" id="mw1Q"> </span><span class="p" id="mw1g">{}</span> <span class="linenos" data-line="3" id="mw1w"></span><span class="w" id="mw2A"> </span><span class="k" id="mw2Q">while</span><span class="w" id="mw2g"> </span><span class="p" id="mw2w">|</span><span class="n" id="mw3A">S</span><span class="p" id="mw3Q">|</span><span class="w" id="mw3g"> </span><span class="p" id="mw3w"><</span><span class="w" id="mw4A"> </span><span class="n" id="mw4Q">k</span><span class="w" id="mw4g"> </span><span class="k" id="mw4w">do</span><span class="p" id="mw5A">:</span> <span class="linenos" data-line="4" id="mw5Q"></span><span class="w" id="mw5g"> </span><span class="n" id="mw5w">v</span><span class="w" id="mw6A"> </span><span class="err" id="mw6Q">←</span><span class="w" id="mw6g"> </span><span class="n" id="mw6w">vertex</span><span class="w" id="mw7A"> </span><span class="n" id="mw7Q">maximizing</span><span class="w" id="mw7g"> </span><span class="n" id="mw7w">centrality</span><span class="w" id="mw8A"> </span><span class="n" id="mw8Q">of</span><span class="w" id="mw8g"> </span><span class="n" id="mw8w">S</span><span class="w" id="mw9A"> </span><span class="err" id="mw9Q">∪</span><span class="w" id="mw9g"> </span><span class="p" id="mw9w">{</span><span class="n" id="mw-A">v</span><span class="p" id="mw-Q">}</span> <span class="linenos" data-line="5" id="mw-g"></span><span class="w" id="mw-w"> </span><span class="n" id="mw_A">S</span><span class="w" id="mw_Q"> </span><span class="err" id="mw_g">←</span><span class="w" id="mw_w"> </span><span class="n" id="mwAQA">S</span><span class="w" id="mwAQE"> </span><span class="err" id="mwAQI">∪</span><span class="w" id="mwAQM"> </span><span class="p" id="mwAQQ">{</span><span class="n" id="mwAQU">v</span><span class="p" id="mwAQY">}</span> <span class="linenos" data-line="6" id="mwAQc"></span><span class="w" id="mwAQg"> </span><span class="k" id="mwAQk">return</span><span class="w" id="mwAQo"> </span><span class="n" id="mwAQs">S</span>Note how the vertex chosen in line 4 is not necessarily uniquely determined, and therefore neither is the result of the greedy algorithm.
For non-negative monotone submodular set functions, such as GED-Walk centrality, this greedy algorithm is already guaranteed to yield a -approximation. For other measures like group closeness, which do not satisfy submodularity, this algorithm can still be a useful heuristic.
Implementations
The software library NetworkX supports the evaluation of group degree centrality, group closeness and group betweenness, as well as obtaining the most prominent group with respect to group betweenness centrality.
The network analysis toolkit NetworKit supports the evaluation and maximization of group degree centrality, group closeness, group harmonic centrality, group betweenness and more.

