Class ExpandedNeighborOverlap<U>

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

public class ExpandedNeighborOverlap<U>
extends java.lang.Object
implements PairMetric<U>
Expanded neighbor overlap. Finds the size of the intersection between users at distance at most 2 of one user, with the neighborhood of another. All users are given the same weight.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private boolean origin
    True if we have to obtain the distance neighbors of the origin user, false if we have to do it for the destination.
    private EdgeOrientation uSel
    Orientation selection for the origin user.
    private EdgeOrientation vSel
    Orientation selection for the destination user.
  • Constructor Summary

    Constructors 
    Constructor Description
    ExpandedNeighborOverlap​(boolean origin, 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.
    java.util.function.Function<U,​java.lang.Double> computeIndividualDest​(Graph<U> graph, U u, EdgeOrientation uSel, EdgeOrientation vSel)
    Generates a function for computing the extended neighbor overlap of all pairs taking as destination a given node.
    java.util.function.Function<U,​java.lang.Double> computeIndividualOrig​(Graph<U> graph, U u, EdgeOrientation uSel, EdgeOrientation vSel)
    Generates a function for computing the extended neighbor overlap of all pairs taking as origin a given node.
    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.
    java.util.Set<U> explore​(Graph<U> graph, U node, EdgeOrientation orient)
    Obtains the neighborhood at distance 2.

    Methods inherited from class java.lang.Object

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

    • origin

      private final boolean origin
      True if we have to obtain the distance neighbors of the origin user, false if we have to do it for the destination.
    • uSel

      private final EdgeOrientation uSel
      Orientation selection for the origin user.
    • vSel

      private final EdgeOrientation vSel
      Orientation selection for the destination user.
  • Constructor Details

    • ExpandedNeighborOverlap

      public ExpandedNeighborOverlap​(boolean origin, EdgeOrientation uSel, EdgeOrientation vSel)
      Constructor.
      Parameters:
      origin - true if we have to obtain the distance 2 neighbors of the origin user, false otherwise.
      uSel - orientation selection for the origin user.
      vSel - orientation selection for the destination user.
  • 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.
    • explore

      public java.util.Set<U> explore​(Graph<U> graph, U node, EdgeOrientation orient)
      Obtains the neighborhood at distance 2.
      Parameters:
      graph - the graph.
      node - the node.
      orient - the orientation.
      Returns:
      the neighborhood at distance 2.
    • 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.
    • computeIndividualOrig

      public java.util.function.Function<U,​java.lang.Double> computeIndividualOrig​(Graph<U> graph, U u, EdgeOrientation uSel, EdgeOrientation vSel)
      Generates a function for computing the extended neighbor overlap of all pairs taking as origin a given node. This function considers that we look for the distance two neighborhood of the origin node in the pair.
      Parameters:
      graph - the graph.
      u - the origin user.
      uSel - the orientation for the origin neighbor.
      vSel - the orientation for the destination neighbor.
      Returns:
      a function for computing the extended neighbor overlap given a user.
    • computeIndividualDest

      public java.util.function.Function<U,​java.lang.Double> computeIndividualDest​(Graph<U> graph, U u, EdgeOrientation uSel, EdgeOrientation vSel)
      Generates a function for computing the extended neighbor overlap of all pairs taking as destination a given node. This function considers that we look for the distance two neighborhood of the destination node in the pair.
      Parameters:
      graph - the graph.
      u - the origin user.
      uSel - the orientation for the origin neighbor.
      vSel - the orientation for the destination neighbor.
      Returns:
      a function for computing the extended neighbor overlap given a user.