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, removeSurroundingEdges
equals, getEdges, hashCode, removeFromEdges, removeNodeFromCollection
getAttributeMap, getLabel, toString
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
getInEdges, getOutEdges
equals, getGraph, getLabel, hashCode
protected 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()
FuzzyGraph
getNumberOfInitialNodes
in interface FuzzyGraph
public FMLogEvents getLogEvents()
FuzzyGraph
getLogEvents
in interface FuzzyGraph
public 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 FuzzyGraph
index
- 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 FuzzyGraph
index
- 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()
FuzzyGraph
getClusterNodes
in interface FuzzyGraph
public java.util.Set<FMEdgeImpl> getFMEdges()
public void addClusterNode(FMClusterNode cluster)
addClusterNode
in interface FuzzyGraph
public 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 FuzzyGraph
fromIndex
- 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 FuzzyGraph
fromIndex
- 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 FuzzyGraph
public void setBinaryCorrelation(int fromIndex, int toIndex, double value)
setBinaryCorrelation
in interface FuzzyGraph
public 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 FuzzyGraph
public 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()
FuzzyGraph
getMinimalNodeSignificance
in interface FuzzyGraph
public double[] getSortedNodeSignificances()
FuzzyGraph
getSortedNodeSignificances
in interface FuzzyGraph
public java.util.Set<FMNode> getNodes()
public java.util.Set<FMEdgeImpl> getEdgeImpls()
FuzzyGraph
getEdgeImpls
in interface FuzzyGraph
public void setEdgeImpls()
setEdgeImpls
in interface FuzzyGraph
public FMEdgeImpl addEdge(FMNode source, FMNode target, double significance, double correlation)
addEdge
in interface FuzzyGraph
public FMEdgeImpl addEdge(FMEdgeImpl edge)
addEdge
in interface FuzzyGraph
public 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 FuzzyGraph
ate
- 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 FuzzyGraph
element
- The event name to be mappedtype
- The event type to be mappedpublic BinaryMetric getEdgeCorrelationMetric()
FuzzyGraph
getEdgeCorrelationMetric
in interface FuzzyGraph
public BinaryMetric getEdgeSignificanceMetric()
FuzzyGraph
getEdgeSignificanceMetric
in interface FuzzyGraph
public UnaryMetric getNodeSignificanceMetric()
FuzzyGraph
getNodeSignificanceMetric
in interface FuzzyGraph
public 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()
FuzzyGraph
clone
in interface FuzzyGraph
clone
in class java.lang.Object
public boolean equals000(java.lang.Object o)
public java.lang.String getAttribute(java.lang.String key)
getAttribute
in interface FuzzyGraph
public java.util.Collection<java.lang.String> getAttributeKeys()
getAttributeKeys
in interface FuzzyGraph
public void resetAttributes()
resetAttributes
in interface FuzzyGraph
public void setAttribute(java.lang.String key, java.lang.String value)
setAttribute
in interface FuzzyGraph
public void removeEdge(org.processmining.models.graphbased.directed.DirectedGraphEdge edge)
org.processmining.models.graphbased.directed.DirectedGraph
public FMEdge<FMNode,FMNode> removeEdge(FMNode source, FMNode target)
removeEdge
in interface FuzzyGraph
public FMEdge<FMNode,FMNode> removeEdge(FMEdge<? extends FMNode,? extends FMNode> edge)
removeEdge
in interface FuzzyGraph
public void removeNode(org.processmining.models.graphbased.directed.DirectedGraphNode node)
public boolean removeFMClusterNode(FMClusterNode cluster)
removeFMClusterNode
in interface FuzzyGraph
public void removeFMNode(FMNode node)
removeFMNode
in interface FuzzyGraph
protected 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