Class LeichtHolmeNewmanIndexLinkPrediction<V,E>

java.lang.Object
org.jgrapht.alg.linkprediction.LeichtHolmeNewmanIndexLinkPrediction<V,E>
Type Parameters:
V - the graph vertex type
E - the graph edge type
All Implemented Interfaces:
LinkPredictionAlgorithm<V,E>

public class LeichtHolmeNewmanIndexLinkPrediction<V,E> extends Object implements LinkPredictionAlgorithm<V,E>
Predict links using the Leicht-Holme-Newman Index.

This is a local method which computes $s_{xy} = \frac{|\Gamma(u)\cap\Gamma(v))|}{k(u) \cdot k(v)}$ where for a node $v$, $\Gamma(v)$ denotes the set of neighbors of $v$ and $k(v) = |\Gamma(v)|$ denotes the degree of $v$.

See the following paper:
  • E.A. Leicht, P. Holme, M.E.J. Newman, Phys. Rev. E 73, 026120 (2006)
Author:
Dimitrios Michail
  • Constructor Details

    • LeichtHolmeNewmanIndexLinkPrediction

      public LeichtHolmeNewmanIndexLinkPrediction(Graph<V,E> graph)
      Create a new prediction
      Parameters:
      graph - the input graph
  • Method Details

    • predict

      public double predict(V u, V v)
      Description copied from interface: LinkPredictionAlgorithm
      Predict an edge between two vertices. The magnitude and the interpretation of the returned score depend solely on the algorithm.
      Specified by:
      predict in interface LinkPredictionAlgorithm<V,E>
      Parameters:
      u - first vertex
      v - second vertex
      Returns:
      a prediction score