centrality_wvoterank: WVoteRank, EnRenew and VoteRank++

View source: R/centrality-batch9.R

centrality_wvoterankR Documentation

WVoteRank, EnRenew and VoteRank++

Description

Three further spreader-selection procedures in the VoteRank family. All three elect one node per round until every node is placed and return the election order as a score, 1 for the first elected down to 1 / n; ties go to the lowest node index. Direction and self-loops are ignored.

Usage

centrality_wvoterank(x, ...)

centrality_enrenew(x, enrenew_depth = 2, ...)

centrality_voterank_plus(x, voterank_lambda = 0.1, ...)

Arguments

x

Network input (matrix, igraph, network, cograph_network, tna object).

...

Additional arguments passed to centrality.

enrenew_depth

Renewal radius l for enrenew. Default 2.

voterank_lambda

Suppression factor \lambda for voterank_plus. Default 0.1.

Details

wvoterank (Sun, Chen, He & Ch'ng 2019)

VoteRank for weighted graphs: s_v = \sqrt{k_v \sum_{u \in N(v)} va_u w_{vu}}. After an election the winner's ability is 0 and its neighbors lose 1 / \langle w \rangle, where \langle w \rangle is the average strength (the paper's Figure 1 pins strength, not degree). Uses edge weights; with unit weights it is VoteRank with a square-root score. Reproduces all sixty numbers of the paper's Figure 1.

enrenew (Guo, Yang, Guo, Pan & Chen 2020)

Entropy-based selection: E_v = \sum_{u \in N(v)} -p_{uv} \ln p_{uv} with p_{uv} = k_u / \sum_{l \in N(v)} k_l; after electing the largest E, every entropy term flowing outward to depth d \le l is scaled by 1 - 1 / (2^{d-1} \ln \langle k \rangle), with l = enrenew_depth (default 2). Reproduces the paper's Figure 1. The authors' released code differs from the paper in several ways; the paper is implemented. Note the factor turns negative when \langle k \rangle < e.

voterank_plus (Liu, Li, Fang & Yao 2021)

Initial ability \ln(1 + k_i / k_{\max}), degree-proportional vote shares over unelected neighbors, score \sqrt{k_i \sum_j va_j w_{j \to i}}, and after an election abilities are multiplied by \lambda one step away and \sqrt{\lambda} two steps away (voterank_lambda, default 0.1). The article is closed access; the implementation matches the authors' released code exactly, including its exclusion of elected nodes from the vote-share denominator.

Value

Named numeric vector in (0, 1], one score per node.

References

Sun, H.-L., Chen, D.-B., He, J.-L., & Ch'ng, E. (2019). A voting approach to uncover multiple influential spreaders on weighted networks. Physica A, 519, 303-312.

Guo, C., Yang, L., Guo, X., Pan, J., & Chen, X. (2020). Influential nodes identification in complex networks via information entropy. Entropy, 22(2), 242.

Liu, P., Li, L., Fang, S., & Yao, Y. (2021). Identifying influential nodes in social networks: A voting approach. Chaos, Solitons & Fractals, 152, 111309.

See Also

centrality_voterank, centrality_ncvoterank.

Examples

adj <- matrix(0, 6, 6)
adj[cbind(c(1, 1, 2, 4, 4, 5, 3), c(2, 3, 3, 5, 6, 6, 4))] <- 1
adj <- adj + t(adj)
rownames(adj) <- colnames(adj) <- LETTERS[1:6]
centrality_wvoterank(adj)
centrality_enrenew(adj)
centrality_voterank_plus(adj)

cograph documentation built on Sept. 30, 2026, 5:08 p.m.