Iterative resource allocation (Ren et al. 2014) starts every node with one unit of resource and repeatedly passes it to the neighbors in proportion to the receiver's centrality \(\theta\). The steady state ranks the spreaders. $$I(t+1) = A\,I(t), \qquad a_{ij} = \frac{\theta_i^{\alpha}}{\sum_{u \in \Gamma(j)} \theta_u^{\alpha}}, \qquad I(0) = (1, \dots, 1)$$
Usage
centrality_ira(
x,
ira_mass = "coreness",
ira_alpha = 1,
ira_tol = 1e-06,
ira_max_iter = 1000,
...
)Arguments
- x
Network input accepted by
centrality.- ira_mass
Node centrality \(\theta\):
"coreness"(default) or"degree".- ira_alpha
Exponent \(\alpha\) on the mass, a finite number (default 1).
- ira_tol
Positive stopping tolerance on the largest absolute change between iterates (default
1e-6).- ira_max_iter
Maximum number of iterations, a whole number of at least one (default 1000).
- ...
Further arguments to
centrality, such asnormalized(divide by the maximum, defaultFALSE).
Details
The measure is computed on the simple undirected skeleton of the network,
so direction, weights, loops and parallel edges are ignored. The total
resource is conserved, so on a graph without isolates the scores sum to
the number of nodes. An isolate receives nothing and scores zero. The
iteration stops when the largest absolute change falls below
ira_tol. On a bipartite component whose two vertex classes differ
in size, such as a star, the iteration has a period-two cycle. It then
reaches ira_max_iter, raises a cograph_no_converge warning
and returns the last iterate. The Centrality Zoo states the measure as the
left eigenvector of the transposed matrix, which agrees up to scale where
the limit exists. The implementation follows the source's iteration.
References
Ren, Z.-M., Zeng, A., Chen, D.-B., Liao, H. and Liu, J.-G. (2014). Iterative resource allocation for ranking spreaders in complex networks. EPL (Europhysics Letters), 106(4), 48005. doi:10.1209/0295-5075/106/48005 .
