java.lang.Object
kieker.analysis.generic.graph.clustering.GraphEditDistance<N,E>
- Type Parameters:
N
- node typeE
- edge type
- All Implemented Interfaces:
IDistanceFunction<com.google.common.graph.MutableNetwork<N,E>>
public class GraphEditDistance<N extends INode,E extends IEdge> extends java.lang.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 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. -
Method Summary
-
Constructor Details
-
GraphEditDistance
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 interfaceIDistanceFunction<N extends INode>
- Parameters:
modelA
- The first model.modelB
- The second model.
-