Content deleted Content added
mNo edit summary |
m Moving Category:Algorithms in graph theory to Category:Graph algorithms per Wikipedia:Categories for discussion/Log/2024 October 4 |
||
(39 intermediate revisions by 36 users not shown) | |||
Line 1:
{{short description|Community detection algorithm}}
The '''Girvan–Newman algorithm''' (named after [[Michelle Girvan]] and [[Mark Newman]]) is a hierarchical method used to detect [[Community structure|communities]] in [[complex system]]s.<ref name=newman>Girvan M. and Newman M. E. J., [https://dx.doi.org/10.1073/pnas.122653799 Community structure in social and biological networks], Proc. Natl. Acad. Sci. USA '''99''', 7821–7826 (2002)</ref>
== Edge betweenness and community structure ==
The Girvan–Newman algorithm detects communities by progressively removing edges from the original network. The connected components of the remaining network are the communities. Instead of trying to construct a measure that tells us which edges are the most central to communities, the Girvan–Newman algorithm focuses on edges that are most likely "between" communities.
[[Betweenness centrality|Vertex betweenness]] is an indicator of highly [[centrality|central]] nodes in networks. For any node <math>i</math>, vertex betweenness is defined as the fraction of shortest paths between pairs of nodes that run through it. It is relevant to models where the network modulates transfer of goods between known start and end points, under the assumption that such transfer seeks the shortest available route.
▲Vertex betweenness has been studied in the past as a measure of the [[Centrality | centrality]] and influence of nodes in networks. For any node <math>i</math>, vertex betweenness is defined as the number of shortest paths between pairs of nodes that run through it. It is a measure of the influence of a node over the flow of information between other nodes, especially in cases where information flow over a network primarily follows the shortest available path. The Girvan-Newman algorithm extends this definition to the case of edges, defining the "edge betweenness" of an edge as the number of shortest paths between pairs of nodes that run along it. If there is more than one shortest path between a pair of nodes, each path is assigned equal weight such that the total weight of all of the paths is equal to unity. If a network contains communities or groups that are only loosely connected by a few intergroup edges, then all shortest paths between different communities must go along one of these few edges. Thus, the edges connecting communities will have high edge betweenness (at least '''one''' of them). By removing these edges, the groups are separated from one another and so the underlying community structure of the network is revealed.
The algorithm's steps for community detection are summarized below
# The betweenness of all existing edges in the network is calculated first.
# The
# The betweenness of all edges affected by the removal is recalculated.
# Steps 2 and 3 are repeated until no edges remain.
Line 18:
The fact that the only betweennesses being recalculated are only the ones which are affected by the removal, may lessen the running time of the process' simulation in computers. However, the betweenness centrality must be recalculated with each step, or severe errors occur. The reason is that the network adapts itself to the new conditions set after the edge removal. For instance, if two communities are connected by more than one edge, then there is no guarantee that '''all''' of these edges will have high betweenness. According to the method, we know that '''at least one''' of them will have, but nothing more than that is known. By recalculating betweennesses after the removal of each edge, it is ensured that at least one of the remaining edges between two communities will always have a high value.
The end result of the
== See also ==
* [[Closeness (mathematics)|Closeness]]
* [[Hierarchical clustering]]
* [[Modularity (networks)|Modularity]]
== References ==
Line 32 ⟶ 29:
<references/>
{{DEFAULTSORT:Girvan-Newman algorithm}}
[[Category:Graph algorithms]]
[[Category:Networks]]
[[Category:Network analysis]]
|