This function performs a "targeted attack" of a graph or a "random failure" analysis, calculating the size of the largest component after edge or vertex removal.
robustness(g, type = c("vertex", "edge"), measure = c("btwn.cent", "degree",
"random"), N = 1000)
An igraph
graph object
Character string; either 'vertex' or 'edge' removals (default:
vertex
)
Character string; sort by either 'btwn.cent' or 'degree', or
choose 'random' (default: btwn.cent
)
Integer; the number of iterations if random is chosen
(default: 1e3
)
Numeric vector representing the ratio of maximal component size after each removal to the observed graph's maximal component size
In a targeted attack, it will sort the vertices by either degree or betweenness centrality (or sort edges by betweenness), and successively remove the top vertices/edges. Then it calculates the size of the largest component.
In a random failure analysis, vertices/edges are removed in a random order.
Albert R., Jeong H., Barabasi A. (2000) Error and attack tolerance of complex networks. Nature, 406:378-381.