public class MutableFuzzyGraph extends org.processmining.models.graphbased.directed.AbstractDirectedGraph<FMNode,FMEdge<? extends FMNode,? extends FMNode>> implements FuzzyGraph
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map<FMNode,MutableFuzzyGraph> |
abstractnodeGraphMap |
protected double[][] |
actBinaryCorrelation |
protected double[][] |
actBinaryRespectiveCorrelation |
protected double[][] |
actBinaryRespectiveSignificance |
protected double[][] |
actBinarySignificance |
protected java.util.HashMap<java.lang.String,java.lang.String> |
attributes |
protected java.util.ArrayList<FMClusterNode> |
clusterNodes |
protected BinaryMetric |
edgeCorrelation |
protected BinaryMetric |
edgeSignificance |
protected java.util.Set<FMNode> |
endNodes |
static java.lang.String |
eventNameKey |
protected FMLogEvents |
events |
static java.lang.String |
eventTypeKey |
protected java.util.Set<FMEdgeImpl> |
fmEdges |
protected org.deckfour.xes.model.XLog |
log |
protected MetricsRepository |
metrics |
protected FMNode[] |
nodeAliasMap |
protected UnaryMetric |
nodeSignificance |
protected static java.text.NumberFormat |
numberFormat |
protected int |
numberOfInitialNodes |
protected FMNode[] |
primitiveNodes |
protected java.util.Set<FMNode> |
startNodes |
| Constructor and Description |
|---|
MutableFuzzyGraph(MetricsRepository metrics) |
MutableFuzzyGraph(UnaryMetric nodeSignificance,
BinaryMetric edgeSignificance,
BinaryMetric edgeCorrelation,
org.deckfour.xes.model.XLog log,
boolean toClone) |
MutableFuzzyGraph(UnaryMetric nodeSignificance,
BinaryMetric edgeSignificance,
BinaryMetric edgeCorrelation,
org.deckfour.xes.model.XLog log,
FMLogEvents logEvents,
boolean isFuzzyMap) |
MutableFuzzyGraph(org.deckfour.xes.model.XLog log) |
| Modifier and Type | Method and Description |
|---|---|
void |
addClusterNode(FMClusterNode cluster) |
FMEdgeImpl |
addEdge(FMEdgeImpl edge) |
FMEdgeImpl |
addEdge(FMNode source,
FMNode target,
double significance,
double correlation) |
protected static BinaryMetric |
addIndex(BinaryMetric original) |
protected double[][] |
addIndex(double[][] original) |
protected static UnaryMetric |
addIndex(UnaryMetric original) |
void |
addNode(FMNode node,
int index) |
void |
addNode(int index) |
FMNode |
addNode(org.deckfour.xes.model.XEvent event) |
java.lang.Object |
clone()
Public clone method (as defined in Object).
|
protected java.util.Map<? extends org.processmining.models.graphbased.directed.DirectedGraphElement,? extends org.processmining.models.graphbased.directed.DirectedGraphElement> |
cloneFrom(org.processmining.models.graphbased.directed.DirectedGraph<FMNode,FMEdge<? extends FMNode,? extends FMNode>> graph)
The returned mapping satisfies:
map.keySet().containsAll(graph.getNodes()) and
map.keySet().containsAll(graph.getEdges())
|
boolean |
equals000(java.lang.Object o) |
static java.lang.String |
format(double number) |
java.util.Map<FMNode,MutableFuzzyGraph> |
getAbstractionNodeGraphMap() |
void |
getAbstractionNodeGraphMap(java.util.Map<FMNode,MutableFuzzyGraph> abstractionNodeGraphMap) |
java.lang.String |
getAttribute(java.lang.String key) |
java.util.Collection<java.lang.String> |
getAttributeKeys() |
double |
getBinaryCorrelation(int fromIndex,
int toIndex)
Returns the aggregate binary correlation between two event classes, as
specified by their indices.
|
double |
getBinaryRespectiveSignificance(int fromIndex,
int toIndex) |
double |
getBinarySignificance(int fromIndex,
int toIndex)
Returns the aggregate binary significance between two event classes, as
specified by their indices.
|
java.util.List<FMClusterNode> |
getClusterNodes()
Returns the list of higher-level cluster nodes, which are contained in
this simplified Fuzzy Graph.
|
BinaryMetric |
getEdgeCorrelationMetric()
Returns the binary edge correlation metric used for defining this fuzzy
graph
|
java.util.Set<FMEdgeImpl> |
getEdgeImpls()
Returns the set of edges (i.e., binary relations) which are contained in
the simplified Fuzzy Graph in the format of FMEdges instead of
Set
|
java.util.Set<FMEdge<? extends FMNode,? extends FMNode>> |
getEdges() |
BinaryMetric |
getEdgeSignificanceMetric()
Returns the binary edge significance metric used for defining this fuzzy
graph
|
protected MutableFuzzyGraph |
getEmptyClone() |
java.util.Set<FMNode> |
getEndNodes() |
int |
getEventClassIndex(java.lang.String element,
java.lang.String type)
Helper method: maps an event name / type combination, i.e.
|
int |
getEventClassIndex(org.deckfour.xes.model.XEvent ate)
Helper method: maps an audit trail entry to its corresponding index in
the log's LogEvents collection.
|
java.util.Set<FMEdgeImpl> |
getFMEdges() |
org.deckfour.xes.model.XLog |
getLog() |
FMLogEvents |
getLogEvents()
Returns a copy of the LogEvents contained in the log, which has been
mined with the Fuzzy Miner.
|
MetricsRepository |
getMetrics() |
double |
getMinimalNodeSignificance()
Returns the minimal significance of any node in the simplified graph (the
maximal value of node significance will always be normalized to 1.0).
|
FMNode |
getNodeMappedTo(int index)
Returns the Node which has been mapped to the given event index, as found
in the mined log's LogEvents collection.
|
java.util.Set<FMNode> |
getNodes() |
UnaryMetric |
getNodeSignificanceMetric()
Returns the unary node significance metric used for defining this fuzzy
graph
|
int |
getNumberOfInitialNodes()
Returns the number of initial nodes in the non-simplified graph (i.e.,
the number of event classes in the log)
|
FMNode |
getPrimitiveNode(int index)
Returns an indexed primitive, i.e.
|
double[] |
getSortedNodeSignificances()
Returns all node significances in the simplified graph, sorted in
ascending numeral order, in an array of double values within [0, 1].
|
java.util.Set<FMNode> |
getStartNodes() |
double |
getThresholdShowingPrimitives(int numberOfPrimitives) |
void |
hidePermanently(FMNode node) |
void |
initializeGraph()
initializes the graph structure as found in metrics repository
|
protected void |
removeClusterConcernedEdge(FMNode source,
FMNode target) |
boolean |
removeClusterNode(FMClusterNode cluster) |
void |
removeEdge(org.processmining.models.graphbased.directed.DirectedGraphEdge edge)
Removes the given edge from the graph.
|
FMEdge<FMNode,FMNode> |
removeEdge(FMEdge<? extends FMNode,? extends FMNode> edge) |
FMEdge<FMNode,FMNode> |
removeEdge(FMNode source,
FMNode target) |
void |
removeEdgePermanently(FMEdgeImpl edge) |
boolean |
removeFMClusterNode(FMClusterNode cluster) |
void |
removeFMNode(FMNode node) |
protected static BinaryMetric |
removeIndex(BinaryMetric original,
int index) |
protected static double[][] |
removeIndex(double[][] original,
int index) |
protected static UnaryMetric |
removeIndex(UnaryMetric original,
int index) |
void |
removeNode(org.processmining.models.graphbased.directed.DirectedGraphNode node) |
void |
resetAttributes() |
void |
setAttribute(java.lang.String key,
java.lang.String value) |
void |
setBinaryCorrelation(int fromIndex,
int toIndex,
double value) |
void |
setBinaryRespectiveSignificance() |
void |
setBinarySignificance(int fromIndex,
int toIndex,
double value) |
void |
setEdgeCorrelation(BinaryMetric edgeCorrelation) |
void |
setEdgeImpls() |
protected void |
setEdgeMeasureToZero(int from,
int to) |
void |
setEdgeSignificance(BinaryMetric edgeSignificance) |
void |
setEndNodes(java.util.Set<FMNode> endNodes) |
void |
setMetrics(MetricsRepository mr) |
void |
setNodeAliasMapping(int index,
FMNode alias) |
void |
setNodeSignificance(UnaryMetric nodeSignificance) |
void |
setPrimitiveNode(int index,
FMNode node) |
void |
setStartNodes(java.util.Set<FMNode> startNodes) |
void |
updateLogEvent(int index,
org.deckfour.xes.model.XEvent event) |
checkAddEdge, compareTo, getGraph, getInEdges, getOutEdges, graphElementAdded, graphElementChanged, graphElementRemoved, removeSurroundingEdgesequals, getEdges, hashCode, removeFromEdges, removeNodeFromCollectiongetAttributeMap, getLabel, toStringequals, finalize, getClass, notify, notifyAll, wait, wait, waitgetInEdges, getOutEdgesequals, getGraph, getLabel, hashCodeprotected UnaryMetric nodeSignificance
protected BinaryMetric edgeSignificance
protected BinaryMetric edgeCorrelation
protected int numberOfInitialNodes
protected FMLogEvents events
protected org.deckfour.xes.model.XLog log
protected FMNode[] primitiveNodes
protected java.util.ArrayList<FMClusterNode> clusterNodes
protected java.util.Set<FMEdgeImpl> fmEdges
protected double[][] actBinarySignificance
protected double[][] actBinaryCorrelation
protected FMNode[] nodeAliasMap
protected java.util.HashMap<java.lang.String,java.lang.String> attributes
protected java.util.Set<FMNode> startNodes
protected java.util.Set<FMNode> endNodes
protected java.util.Map<FMNode,MutableFuzzyGraph> abstractnodeGraphMap
protected MetricsRepository metrics
protected double[][] actBinaryRespectiveSignificance
protected double[][] actBinaryRespectiveCorrelation
public static final java.lang.String eventNameKey
public static final java.lang.String eventTypeKey
protected static java.text.NumberFormat numberFormat
public MutableFuzzyGraph(UnaryMetric nodeSignificance, BinaryMetric edgeSignificance, BinaryMetric edgeCorrelation, org.deckfour.xes.model.XLog log, boolean toClone)
public MutableFuzzyGraph(UnaryMetric nodeSignificance, BinaryMetric edgeSignificance, BinaryMetric edgeCorrelation, org.deckfour.xes.model.XLog log, FMLogEvents logEvents, boolean isFuzzyMap)
public MutableFuzzyGraph(MetricsRepository metrics)
public MutableFuzzyGraph(org.deckfour.xes.model.XLog log)
public static java.lang.String format(double number)
public MetricsRepository getMetrics()
public void setMetrics(MetricsRepository mr)
public java.util.Set<FMNode> getStartNodes()
public void setStartNodes(java.util.Set<FMNode> startNodes)
public java.util.Set<FMNode> getEndNodes()
public void setEndNodes(java.util.Set<FMNode> endNodes)
public org.deckfour.xes.model.XLog getLog()
public java.util.Map<FMNode,MutableFuzzyGraph> getAbstractionNodeGraphMap()
public void getAbstractionNodeGraphMap(java.util.Map<FMNode,MutableFuzzyGraph> abstractionNodeGraphMap)
public void initializeGraph()
public int getNumberOfInitialNodes()
FuzzyGraphgetNumberOfInitialNodes in interface FuzzyGraphpublic FMLogEvents getLogEvents()
FuzzyGraphgetLogEvents in interface FuzzyGraphpublic FMNode getPrimitiveNode(int index)
FuzzyGraph
Note: You may use one of the getEventClassIndex()
methods provided in this interface for retrieving indices for addressing
in this method.
getPrimitiveNode in interface FuzzyGraphindex - Index of the requested node, as found in the log's LogEvents
collection.public void setPrimitiveNode(int index,
FMNode node)
public FMNode getNodeMappedTo(int index)
FuzzyGraph
Node object, if the event class has not
been simplifiednull, if the event class has been removed from the
model (i.e., abstracted from)ClusterNode object, if the respective
event class has been clustered (i.e., aggregated)ClusterNode object will represent
multiple elementary nodes, i.e. event classes!
Note: You may use one of the getEventClassIndex()
methods provided in this interface for retrieving indices for addressing
in this method.
getNodeMappedTo in interface FuzzyGraphindex - The index of the event class, to which the corresponding node
is requested (as found in the mined log's LogEvents
collection)null, if the event class has been
abstracted from.public void setNodeAliasMapping(int index,
FMNode alias)
public java.util.List<FMClusterNode> getClusterNodes()
FuzzyGraphgetClusterNodes in interface FuzzyGraphpublic java.util.Set<FMEdgeImpl> getFMEdges()
public void addClusterNode(FMClusterNode cluster)
addClusterNode in interface FuzzyGraphpublic boolean removeClusterNode(FMClusterNode cluster)
public double getBinarySignificance(int fromIndex,
int toIndex)
FuzzyGraph
Note: You may use one of the getEventClassIndex()
methods provided in this interface for retrieving indices for addressing
in this method.
getBinarySignificance in interface FuzzyGraphfromIndex - Index of the originating event class (source event)toIndex - Index of the terminal event class (target event)public double getBinaryCorrelation(int fromIndex,
int toIndex)
FuzzyGraph
Note: You may use one of the getEventClassIndex()
methods provided in this interface for retrieving indices for addressing
in this method.
getBinaryCorrelation in interface FuzzyGraphfromIndex - Index of the originating event class (source event)toIndex - Index of the terminal event class (target event)public void setBinarySignificance(int fromIndex,
int toIndex,
double value)
setBinarySignificance in interface FuzzyGraphpublic void setBinaryCorrelation(int fromIndex,
int toIndex,
double value)
setBinaryCorrelation in interface FuzzyGraphpublic void removeEdgePermanently(FMEdgeImpl edge)
protected void setEdgeMeasureToZero(int from,
int to)
public void hidePermanently(FMNode node)
public FMNode addNode(org.deckfour.xes.model.XEvent event)
public void addNode(int index)
addNode in interface FuzzyGraphpublic void addNode(FMNode node, int index)
protected static BinaryMetric removeIndex(BinaryMetric original, int index)
protected static UnaryMetric removeIndex(UnaryMetric original, int index)
protected static double[][] removeIndex(double[][] original,
int index)
protected static BinaryMetric addIndex(BinaryMetric original)
protected static UnaryMetric addIndex(UnaryMetric original)
protected double[][] addIndex(double[][] original)
public double getThresholdShowingPrimitives(int numberOfPrimitives)
public double getMinimalNodeSignificance()
FuzzyGraphgetMinimalNodeSignificance in interface FuzzyGraphpublic double[] getSortedNodeSignificances()
FuzzyGraphgetSortedNodeSignificances in interface FuzzyGraphpublic java.util.Set<FMNode> getNodes()
public java.util.Set<FMEdgeImpl> getEdgeImpls()
FuzzyGraphgetEdgeImpls in interface FuzzyGraphpublic void setEdgeImpls()
setEdgeImpls in interface FuzzyGraphpublic FMEdgeImpl addEdge(FMNode source, FMNode target, double significance, double correlation)
addEdge in interface FuzzyGraphpublic FMEdgeImpl addEdge(FMEdgeImpl edge)
addEdge in interface FuzzyGraphpublic int getEventClassIndex(org.deckfour.xes.model.XEvent ate)
FuzzyGraph
Important: If the audit trail entry could not be mapped to an
event class in the original log, a value of -1 will be
returned, which indicates an error on your part!
getEventClassIndex in interface FuzzyGraphate - any audit trail entry from a suitable logpublic int getEventClassIndex(java.lang.String element,
java.lang.String type)
FuzzyGraph
Important: If the data supplied could not be mapped to an event
class in the original log, a value of -1 will be returned,
which indicates an error on your part!
getEventClassIndex in interface FuzzyGraphelement - The event name to be mappedtype - The event type to be mappedpublic BinaryMetric getEdgeCorrelationMetric()
FuzzyGraphgetEdgeCorrelationMetric in interface FuzzyGraphpublic BinaryMetric getEdgeSignificanceMetric()
FuzzyGraphgetEdgeSignificanceMetric in interface FuzzyGraphpublic UnaryMetric getNodeSignificanceMetric()
FuzzyGraphgetNodeSignificanceMetric in interface FuzzyGraphpublic void setNodeSignificance(UnaryMetric nodeSignificance)
public void setEdgeSignificance(BinaryMetric edgeSignificance)
public void setEdgeCorrelation(BinaryMetric edgeCorrelation)
public double getBinaryRespectiveSignificance(int fromIndex,
int toIndex)
public void setBinaryRespectiveSignificance()
public void updateLogEvent(int index,
org.deckfour.xes.model.XEvent event)
public java.lang.Object clone()
FuzzyGraphclone in interface FuzzyGraphclone in class java.lang.Objectpublic boolean equals000(java.lang.Object o)
public java.lang.String getAttribute(java.lang.String key)
getAttribute in interface FuzzyGraphpublic java.util.Collection<java.lang.String> getAttributeKeys()
getAttributeKeys in interface FuzzyGraphpublic void resetAttributes()
resetAttributes in interface FuzzyGraphpublic void setAttribute(java.lang.String key,
java.lang.String value)
setAttribute in interface FuzzyGraphpublic void removeEdge(org.processmining.models.graphbased.directed.DirectedGraphEdge edge)
org.processmining.models.graphbased.directed.DirectedGraphpublic FMEdge<FMNode,FMNode> removeEdge(FMNode source, FMNode target)
removeEdge in interface FuzzyGraphpublic FMEdge<FMNode,FMNode> removeEdge(FMEdge<? extends FMNode,? extends FMNode> edge)
removeEdge in interface FuzzyGraphpublic void removeNode(org.processmining.models.graphbased.directed.DirectedGraphNode node)
public boolean removeFMClusterNode(FMClusterNode cluster)
removeFMClusterNode in interface FuzzyGraphpublic void removeFMNode(FMNode node)
removeFMNode in interface FuzzyGraphprotected MutableFuzzyGraph getEmptyClone()
protected java.util.Map<? extends org.processmining.models.graphbased.directed.DirectedGraphElement,? extends org.processmining.models.graphbased.directed.DirectedGraphElement> cloneFrom(org.processmining.models.graphbased.directed.DirectedGraph<FMNode,FMEdge<? extends FMNode,? extends FMNode>> graph)
org.processmining.models.graphbased.directed.AbstractDirectedGraph