Class PreferentialAttachment<U>

java.lang.Object
es.uam.eps.ir.relison.sna.metrics.pair.PreferentialAttachment<U>
Type Parameters:
U - Type of the users.
All Implemented Interfaces:
PairMetric<U>

public class PreferentialAttachment<U>
extends java.lang.Object
implements PairMetric<U>
Preferential attachment value: finds the product of the degrees of the two users.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private EdgeOrientation uSel
    Orientation selection for the origin user.
    private EdgeOrientation vSel
    Orientation selection for the destination user.
  • Constructor Summary

    Constructors 
    Constructor Description
    PreferentialAttachment​(EdgeOrientation uSel, EdgeOrientation vSel)
    Constructor.
  • Method Summary

    Modifier and Type Method Description
    double averageValue​(Graph<U> graph)
    Computes the average value of the metric
    double averageValue​(Graph<U> graph, java.util.stream.Stream<Pair<U>> edges, int edgeCount)
    Computes the average value of a certain group of pairs.
    double averageValueOnlyLinks​(Graph<U> graph)
    Computes the average value of the metric, restricted to the set of links in the network.
    java.util.Map<Pair<U>,​java.lang.Double> compute​(Graph<U> graph)
    Computes the value of the metric for all the possible pairs in the graph.
    java.util.Map<Pair<U>,​java.lang.Double> compute​(Graph<U> graph, java.util.stream.Stream<Pair<U>> pairs)
    Computes the value of the metric for a selection of pairs in the graph.
    double compute​(Graph<U> graph, U orig, U dest)
    Computes the value of the metric for a single pair of nodes
    java.util.function.Function<U,​java.lang.Double> computeDest​(Graph<U> graph, U dest)
    Given a user, computes the value of a metric for all the possible pairs in the graph where the user is the destination.
    private java.util.function.Function<U,​java.lang.Double> computeIndividual​(Graph<U> graph, U u, EdgeOrientation uSel, EdgeOrientation vSel)
    Computes the map of metrics for the user.
    java.util.Map<Pair<U>,​java.lang.Double> computeOnlyLinks​(Graph<U> graph)
    Computes the value of the metric for all the links in the graph.
    java.util.function.Function<U,​java.lang.Double> computeOrig​(Graph<U> graph, U orig)
    Given a user, computes the value of a metric for all the possible pairs in the graph where the user is the origin.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • compute

      public double compute​(Graph<U> graph, U orig, U dest)
      Description copied from interface: PairMetric
      Computes the value of the metric for a single pair of nodes
      Specified by:
      compute in interface PairMetric<U>
      Parameters:
      graph - The full graph.
      orig - The origin node of the edge.
      dest - The destiny node of the edge.
      Returns:
      The value of the metric for that edge.
    • compute

      public java.util.Map<Pair<U>,​java.lang.Double> compute​(Graph<U> graph)
      Description copied from interface: PairMetric
      Computes the value of the metric for all the possible pairs in the graph.
      Specified by:
      compute in interface PairMetric<U>
      Parameters:
      graph - The full graph.
      Returns:
      A map containing the metrics for each node.
    • computeOnlyLinks

      public java.util.Map<Pair<U>,​java.lang.Double> computeOnlyLinks​(Graph<U> graph)
      Description copied from interface: PairMetric
      Computes the value of the metric for all the links in the graph.
      Specified by:
      computeOnlyLinks in interface PairMetric<U>
      Parameters:
      graph - the full graph.
      Returns:
      A map containing the metrics for each link.
    • compute

      public java.util.Map<Pair<U>,​java.lang.Double> compute​(Graph<U> graph, java.util.stream.Stream<Pair<U>> pairs)
      Description copied from interface: PairMetric
      Computes the value of the metric for a selection of pairs in the graph.
      Specified by:
      compute in interface PairMetric<U>
      Parameters:
      graph - The full graph.
      pairs - A stream containing the selected pairs.
      Returns:
      A map containing the metrics for each pair in the stream that exists.
    • averageValue

      public double averageValue​(Graph<U> graph)
      Description copied from interface: PairMetric
      Computes the average value of the metric
      Specified by:
      averageValue in interface PairMetric<U>
      Parameters:
      graph - The full graph.
      Returns:
      The average value of the metric
    • averageValueOnlyLinks

      public double averageValueOnlyLinks​(Graph<U> graph)
      Description copied from interface: PairMetric
      Computes the average value of the metric, restricted to the set of links in the network.
      Specified by:
      averageValueOnlyLinks in interface PairMetric<U>
      Parameters:
      graph - the network.
      Returns:
      the average value of the metric over the links in the network.
    • averageValue

      public double averageValue​(Graph<U> graph, java.util.stream.Stream<Pair<U>> edges, int edgeCount)
      Description copied from interface: PairMetric
      Computes the average value of a certain group of pairs.
      Specified by:
      averageValue in interface PairMetric<U>
      Parameters:
      graph - the full graph.
      edges - a stream containing the selected pairs.
      edgeCount - the number of pairs in the stream.
      Returns:
      The average value of the metric for those pairs.
    • computeOrig

      public java.util.function.Function<U,​java.lang.Double> computeOrig​(Graph<U> graph, U orig)
      Description copied from interface: PairMetric
      Given a user, computes the value of a metric for all the possible pairs in the graph where the user is the origin. As, for efficiency methods, all values might not be computed, the default value of the metric shall be retrieved from the outcome.
      Specified by:
      computeOrig in interface PairMetric<U>
      Parameters:
      graph - the graph.
      orig - the origin node.
      Returns:
      the map containing the values of the metric.
    • computeDest

      public java.util.function.Function<U,​java.lang.Double> computeDest​(Graph<U> graph, U dest)
      Description copied from interface: PairMetric
      Given a user, computes the value of a metric for all the possible pairs in the graph where the user is the destination. As, for efficiency methods, all values might not be computed, the default value of the metric shall be retrieved from the outcome.
      Specified by:
      computeDest in interface PairMetric<U>
      Parameters:
      graph - the graph.
      dest - the origin node.
      Returns:
      the map containing the values of the metric.
    • computeIndividual

      private java.util.function.Function<U,​java.lang.Double> computeIndividual​(Graph<U> graph, U u, EdgeOrientation uSel, EdgeOrientation vSel)
      Computes the map of metrics for the user.
      Parameters:
      graph - the graph.
      u - the user.
      uSel - the neighborhood selection for the user.
      vSel - the neighborhood selection for the other users
      Returns:
      the map of metrics for the user.