Class HelperFunctions
- java.lang.Object
-
- org.processmining.logfiltering.algorithms.Sabya.HelperFunctions
-
public class HelperFunctions extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description HelperFunctions()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.deckfour.xes.model.XLogaddTracesToXLog(org.deckfour.xes.model.XLog subLog, java.lang.String traceInChar, java.lang.Integer charCounter, java.util.Map<java.lang.String,java.lang.String> characterEventMap)static java.util.Map<java.lang.String,java.lang.Integer>aggregateVariantFrequency(java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency1, java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency2)static org.processmining.processtree.ProcessTreealterTree(org.processmining.processtree.ProcessTree processTree, java.util.List<NodeDetailStore> toBeDeletedNodes, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, java.util.Map<java.lang.String,java.lang.String> variantsToChange)static intcalculateLD(java.lang.String x, java.lang.String y)static org.processmining.processtree.ProcessTreechangeNodeName(org.processmining.processtree.ProcessTree processTree, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)static java.util.Map<java.util.UUID,NodeDetailStore>checkChildParentSync(NodeDetailStore childNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)static java.util.List<org.processmining.processtree.Edge>cloneEdgeList(java.util.List<org.processmining.processtree.Edge> listOfEdges)static java.util.Map<java.lang.String,java.lang.Integer>cloneLinkedHashMap(java.util.Map<java.lang.String,java.lang.Integer> linkedHashMapToClone)static java.util.List<java.lang.String>cloneList(java.util.List<java.lang.String> listOfString)static java.util.Map<java.util.UUID,NodeDetailStore>computeCaseFrequencyForNodes(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)static voidcomputeVariantWiseFrequencyForEvent(FrequencyBasedProcessTreeParameters parameters)static java.lang.StringConvertToTextTree(java.lang.String sTree)static intcostOfSubstitution(char a, char b)static org.processmining.processtree.ProcessTreecreateXlogAndSubPTBasedOnPatterns(NodeDetailStore andNode, java.util.Map<java.lang.String,java.lang.Double> patternWithProbability, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters, org.deckfour.xes.model.XLog InputLog, org.processmining.processtree.ProcessTree mainProcessTree)static voiddisplayDataStructure(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, java.lang.Boolean displayOldValue)static java.lang.StringfindMostSimilarVariant(java.lang.String variantToMatch, java.util.Map<java.lang.String,java.lang.Integer> variantWiseCF, java.util.Map<java.lang.String,java.lang.Integer> excludeVariantWiseCF)static voidfindProcessTree(org.processmining.processtree.ProcessTree pt, org.processmining.processtree.Node n)static java.util.Map<java.util.UUID,NodeDetailStore>forceUpdateChildrenFrequency(NodeDetailStore parentNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)static intgetActivityFrequency(NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)static java.util.List<java.lang.String>getAncestorAndsLeafChildren(java.util.List<java.lang.String> allAncestorAndLeafChildren, NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)static intgetCaseFrequency(NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)static booleangetCompatibilityBetweenPTandLog(org.processmining.processtree.ProcessTree processTree, org.deckfour.xes.model.XLog InputLog, java.util.Map<java.lang.String,java.lang.String> eventCharacterMap)static java.lang.StringgetEncodedNodeName(org.processmining.processtree.ProcessTree tree, org.processmining.processtree.Node node, java.util.Map<java.lang.String,java.lang.String> eventCharacterMap)static java.util.List<java.lang.String>getLeafChildren(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, NodeDetailStore nodeNDS)static org.processmining.logfiltering.algorithms.Sabya.PairgetLoopExitFrequencyBasedOnTraces(java.util.Map<java.lang.String,java.lang.Integer> variantFrequency, java.util.List<java.lang.String> allAncestorAndLeafChildren, java.util.List<java.lang.String> doLeafChildren, java.util.List<java.lang.String> loopLeafChildren)static java.util.List<NodeDetailStore>getNodesToDeleteBasedOnProbability(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, double thresholdProbability)static java.lang.IntegergetPatternMatchCount(java.lang.String patternToCheck, java.lang.String variant)static java.util.Map<java.lang.String,java.lang.Integer>getVariantWiseActivityFrequency(NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)static java.util.Map<java.lang.String,java.lang.Integer>getVariantWiseCaseFrequency(NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)static booleanisFrequencyChanging(int newFrequency, NodeDetailStore NodeDetailStoreChild)static java.util.Map<java.util.UUID,NodeDetailStore>mapPTtoNodeDetailStructure(org.processmining.processtree.ProcessTree processTree, org.processmining.processtree.Node node, java.util.UUID parentID, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)static java.util.Map<java.lang.String,java.lang.Integer>maxVariantFrequency(java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency1, java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency2)static intmin(int... numbers)static voidpopulateEventCharacterMaps(org.deckfour.xes.model.XLog InputLog, FrequencyBasedProcessTreeParameters parameters)static voidpopulateEventVariantFrequency(FrequencyBasedProcessTreeParameters parameters)static voidpopulateFrequencyMaps(org.deckfour.xes.model.XLog InputLog, FrequencyBasedProcessTreeParameters parameters)static org.processmining.processtree.ProcessTreeremoveChildrenNodeAndEdgesFromPT(org.processmining.processtree.ProcessTree processTree, NodeDetailStore toRemoveNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)static org.processmining.processtree.ProcessTreeremoveNode(NodeDetailStore nodeNDS, org.processmining.processtree.ProcessTree processTree, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)static org.processmining.processtree.ProcessTreereplaceWithSubtree(org.processmining.processtree.ProcessTree processTree, org.processmining.processtree.ProcessTree subProcessTree, NodeDetailStore nodeNDSToRemove, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)static java.util.Map<java.util.UUID,NodeDetailStore>setFrequenciesOnProcessTree(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, org.processmining.processtree.ProcessTree processTree, FrequencyBasedProcessTreeParameters parameters)static java.util.Map<java.util.UUID,NodeDetailStore>setNodeInitialFrequencies(NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)static java.util.Map<java.util.UUID,NodeDetailStore>setProbability(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, int totalFrequency)static voidsetProcessTree(org.processmining.processtree.ProcessTree processTree, org.processmining.processtree.Node node)static java.util.Map<java.util.UUID,NodeDetailStore>setTauActivityFrequency(NodeDetailStore tauNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)static java.util.Map<java.lang.String,java.lang.Integer>subtractVariantFrequency(java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency1, java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency2)static java.util.Map<java.util.UUID,NodeDetailStore>updateChildrenFrequency(NodeDetailStore parentNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)static java.util.Map<java.util.UUID,NodeDetailStore>updateVariantFrequencyOfNode(NodeDetailStore nodeNDSBeingDeleted, java.lang.String variantToDelete, java.lang.String similarVariant, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, NodeDetailStore nodeNDS, java.util.List<NodeDetailStore> toBeDeletedNodesExtended)
-
-
-
Method Detail
-
getCompatibilityBetweenPTandLog
public static boolean getCompatibilityBetweenPTandLog(org.processmining.processtree.ProcessTree processTree, org.deckfour.xes.model.XLog InputLog, java.util.Map<java.lang.String,java.lang.String> eventCharacterMap)
-
displayDataStructure
public static void displayDataStructure(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, java.lang.Boolean displayOldValue)
-
populateFrequencyMaps
public static void populateFrequencyMaps(org.deckfour.xes.model.XLog InputLog, FrequencyBasedProcessTreeParameters parameters)
-
populateEventCharacterMaps
public static void populateEventCharacterMaps(org.deckfour.xes.model.XLog InputLog, FrequencyBasedProcessTreeParameters parameters)
-
populateEventVariantFrequency
public static void populateEventVariantFrequency(FrequencyBasedProcessTreeParameters parameters)
-
findProcessTree
public static void findProcessTree(org.processmining.processtree.ProcessTree pt, org.processmining.processtree.Node n)
-
ConvertToTextTree
public static java.lang.String ConvertToTextTree(java.lang.String sTree)
-
getEncodedNodeName
public static java.lang.String getEncodedNodeName(org.processmining.processtree.ProcessTree tree, org.processmining.processtree.Node node, java.util.Map<java.lang.String,java.lang.String> eventCharacterMap)
-
mapPTtoNodeDetailStructure
public static java.util.Map<java.util.UUID,NodeDetailStore> mapPTtoNodeDetailStructure(org.processmining.processtree.ProcessTree processTree, org.processmining.processtree.Node node, java.util.UUID parentID, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)
-
getActivityFrequency
public static int getActivityFrequency(NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters) throws org.processmining.plugins.InductiveMiner.efficienttree.UnknownTreeNodeException
- Throws:
org.processmining.plugins.InductiveMiner.efficienttree.UnknownTreeNodeException
-
cloneLinkedHashMap
public static java.util.Map<java.lang.String,java.lang.Integer> cloneLinkedHashMap(java.util.Map<java.lang.String,java.lang.Integer> linkedHashMapToClone)
-
subtractVariantFrequency
public static java.util.Map<java.lang.String,java.lang.Integer> subtractVariantFrequency(java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency1, java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency2)
-
aggregateVariantFrequency
public static java.util.Map<java.lang.String,java.lang.Integer> aggregateVariantFrequency(java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency1, java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency2)
-
maxVariantFrequency
public static java.util.Map<java.lang.String,java.lang.Integer> maxVariantFrequency(java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency1, java.util.Map<java.lang.String,java.lang.Integer> variantWithFrequency2)
-
getVariantWiseActivityFrequency
public static java.util.Map<java.lang.String,java.lang.Integer> getVariantWiseActivityFrequency(NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters) throws org.processmining.plugins.InductiveMiner.efficienttree.UnknownTreeNodeException
- Throws:
org.processmining.plugins.InductiveMiner.efficienttree.UnknownTreeNodeException
-
getCaseFrequency
public static int getCaseFrequency(NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)
-
getVariantWiseCaseFrequency
public static java.util.Map<java.lang.String,java.lang.Integer> getVariantWiseCaseFrequency(NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)
-
computeVariantWiseFrequencyForEvent
public static void computeVariantWiseFrequencyForEvent(FrequencyBasedProcessTreeParameters parameters)
-
setNodeInitialFrequencies
public static java.util.Map<java.util.UUID,NodeDetailStore> setNodeInitialFrequencies(NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters) throws org.processmining.plugins.InductiveMiner.efficienttree.UnknownTreeNodeException
- Throws:
org.processmining.plugins.InductiveMiner.efficienttree.UnknownTreeNodeException
-
getAncestorAndsLeafChildren
public static java.util.List<java.lang.String> getAncestorAndsLeafChildren(java.util.List<java.lang.String> allAncestorAndLeafChildren, NodeDetailStore nodeNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)
-
setTauActivityFrequency
public static java.util.Map<java.util.UUID,NodeDetailStore> setTauActivityFrequency(NodeDetailStore tauNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)
-
getLoopExitFrequencyBasedOnTraces
public static org.processmining.logfiltering.algorithms.Sabya.Pair getLoopExitFrequencyBasedOnTraces(java.util.Map<java.lang.String,java.lang.Integer> variantFrequency, java.util.List<java.lang.String> allAncestorAndLeafChildren, java.util.List<java.lang.String> doLeafChildren, java.util.List<java.lang.String> loopLeafChildren)
-
getPatternMatchCount
public static java.lang.Integer getPatternMatchCount(java.lang.String patternToCheck, java.lang.String variant)
-
createXlogAndSubPTBasedOnPatterns
public static org.processmining.processtree.ProcessTree createXlogAndSubPTBasedOnPatterns(NodeDetailStore andNode, java.util.Map<java.lang.String,java.lang.Double> patternWithProbability, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters, org.deckfour.xes.model.XLog InputLog, org.processmining.processtree.ProcessTree mainProcessTree)
-
addTracesToXLog
public static org.deckfour.xes.model.XLog addTracesToXLog(org.deckfour.xes.model.XLog subLog, java.lang.String traceInChar, java.lang.Integer charCounter, java.util.Map<java.lang.String,java.lang.String> characterEventMap)
-
updateChildrenFrequency
public static java.util.Map<java.util.UUID,NodeDetailStore> updateChildrenFrequency(NodeDetailStore parentNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)
-
checkChildParentSync
public static java.util.Map<java.util.UUID,NodeDetailStore> checkChildParentSync(NodeDetailStore childNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)
-
forceUpdateChildrenFrequency
public static java.util.Map<java.util.UUID,NodeDetailStore> forceUpdateChildrenFrequency(NodeDetailStore parentNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)
-
computeCaseFrequencyForNodes
public static java.util.Map<java.util.UUID,NodeDetailStore> computeCaseFrequencyForNodes(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)
-
setProbability
public static java.util.Map<java.util.UUID,NodeDetailStore> setProbability(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, int totalFrequency)
-
isFrequencyChanging
public static boolean isFrequencyChanging(int newFrequency, NodeDetailStore NodeDetailStoreChild)
-
getLeafChildren
public static java.util.List<java.lang.String> getLeafChildren(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, NodeDetailStore nodeNDS)
-
cloneList
public static java.util.List<java.lang.String> cloneList(java.util.List<java.lang.String> listOfString)
-
changeNodeName
public static org.processmining.processtree.ProcessTree changeNodeName(org.processmining.processtree.ProcessTree processTree, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)
-
getNodesToDeleteBasedOnProbability
public static java.util.List<NodeDetailStore> getNodesToDeleteBasedOnProbability(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, double thresholdProbability)
-
updateVariantFrequencyOfNode
public static java.util.Map<java.util.UUID,NodeDetailStore> updateVariantFrequencyOfNode(NodeDetailStore nodeNDSBeingDeleted, java.lang.String variantToDelete, java.lang.String similarVariant, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, NodeDetailStore nodeNDS, java.util.List<NodeDetailStore> toBeDeletedNodesExtended)
-
alterTree
public static org.processmining.processtree.ProcessTree alterTree(org.processmining.processtree.ProcessTree processTree, java.util.List<NodeDetailStore> toBeDeletedNodes, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, java.util.Map<java.lang.String,java.lang.String> variantsToChange)
-
removeNode
public static org.processmining.processtree.ProcessTree removeNode(NodeDetailStore nodeNDS, org.processmining.processtree.ProcessTree processTree, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)
- Parameters:
processTree-toBeDeletedNodes-treeNodeFreq-- Returns:
-
cloneEdgeList
public static java.util.List<org.processmining.processtree.Edge> cloneEdgeList(java.util.List<org.processmining.processtree.Edge> listOfEdges)
-
removeChildrenNodeAndEdgesFromPT
public static org.processmining.processtree.ProcessTree removeChildrenNodeAndEdgesFromPT(org.processmining.processtree.ProcessTree processTree, NodeDetailStore toRemoveNDS, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq)
-
replaceWithSubtree
public static org.processmining.processtree.ProcessTree replaceWithSubtree(org.processmining.processtree.ProcessTree processTree, org.processmining.processtree.ProcessTree subProcessTree, NodeDetailStore nodeNDSToRemove, java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, FrequencyBasedProcessTreeParameters parameters)
-
setFrequenciesOnProcessTree
public static java.util.Map<java.util.UUID,NodeDetailStore> setFrequenciesOnProcessTree(java.util.Map<java.util.UUID,NodeDetailStore> treeNodeFreq, org.processmining.processtree.ProcessTree processTree, FrequencyBasedProcessTreeParameters parameters)
-
setProcessTree
public static void setProcessTree(org.processmining.processtree.ProcessTree processTree, org.processmining.processtree.Node node)
-
findMostSimilarVariant
public static java.lang.String findMostSimilarVariant(java.lang.String variantToMatch, java.util.Map<java.lang.String,java.lang.Integer> variantWiseCF, java.util.Map<java.lang.String,java.lang.Integer> excludeVariantWiseCF)
-
calculateLD
public static int calculateLD(java.lang.String x, java.lang.String y)
-
costOfSubstitution
public static int costOfSubstitution(char a, char b)
-
min
public static int min(int... numbers)
-
-