resource_allocation_index#
- resource_allocation_index(G, ebunch=None)[source]#
Compute the resource allocation index of all node pairs in ebunch.
Resource allocation index of
u
andv
is defined as\[\sum_{w \in \Gamma(u) \cap \Gamma(v)} \frac{1}{|\Gamma(w)|}\]where \(\Gamma(u)\) denotes the set of neighbors of \(u\).
- Parameters:
- Ggraph
A NetworkX undirected graph.
- ebunchiterable of node pairs, optional (default = None)
Resource allocation index will be computed for each pair of nodes given in the iterable. The pairs must be given as 2-tuples (u, v) where u and v are nodes in the graph. If ebunch is None then all nonexistent edges in the graph will be used. Default value: None.
- Returns:
- piteriterator
An iterator of 3-tuples in the form (u, v, p) where (u, v) is a pair of nodes and p is their resource allocation index.
- Raises:
- NetworkXNotImplemented
If
G
is aDiGraph
, aMultigraph
or aMultiDiGraph
.- NodeNotFound
If
ebunch
has a node that is not inG
.
References
[1]T. Zhou, L. Lu, Y.-C. Zhang. Predicting missing links via local information. Eur. Phys. J. B 71 (2009) 623. https://arxiv.org/pdf/0901.0553.pdf
Examples
>>> G = nx.complete_graph(5) >>> preds = nx.resource_allocation_index(G, [(0, 1), (2, 3)]) >>> for u, v, p in preds: ... print(f"({u}, {v}) -> {p:.8f}") (0, 1) -> 0.75000000 (2, 3) -> 0.75000000