Class GraphEditDistance<N extends INode,E extends IEdge>

java.lang.Object
kieker.analysis.generic.graph.clustering.GraphEditDistance<N,E>
Type Parameters:
N - node type
E - edge type
All Implemented Interfaces:
IDistanceFunction<com.google.common.graph.MutableNetwork<N,E>>

public class GraphEditDistance<N extends INode,E extends IEdge> extends Object implements IDistanceFunction<com.google.common.graph.MutableNetwork<N,E>>
This class calculates a custom graph edit distance between two Behavior Models. The following operations are allowed: insert/delete nodes; insert/delete edges; insert/delete EventGroups; insert/delete Events; duplicate/remove duplicate events Insertion and Deletion always costs the same to satisfy the symmetry property.
Since:
2.0.0
Author:
Lars Jürgensen
  • Constructor Summary

    Constructors
    Constructor
    Description
    This can be used, to set the node, edge and eventgroup insertion cost for the Graph Edit Distance Algorithm to the values in the configuration.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    calculate(com.google.common.graph.MutableNetwork<N,E> modelA, com.google.common.graph.MutableNetwork<N,E> modelB)
    Calculates the Graph Edit Distance between two objects.

    Methods inherited from class java.lang.Object

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

    • GraphEditDistance

      public GraphEditDistance(BasicCostFunction<N,E> costFunction)
      This can be used, to set the node, edge and eventgroup insertion cost for the Graph Edit Distance Algorithm to the values in the configuration.
      Parameters:
      costFunction - cost function
  • Method Details

    • calculate

      public double calculate(com.google.common.graph.MutableNetwork<N,E> modelA, com.google.common.graph.MutableNetwork<N,E> modelB)
      Calculates the Graph Edit Distance between two objects.
      Specified by:
      calculate in interface IDistanceFunction<N extends INode>
      Parameters:
      modelA - The first model.
      modelB - The second model.