public class CentralRegistry
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
CONFIDENCE_LEVEL_LIMIT |
protected org.processmining.framework.plugin.PluginContext |
context |
protected org.deckfour.xes.classification.XEventClasses |
eventClasses
An instance of the event classes separate from the log info since we
might want to pretend we have less classes (e.g.
|
static int |
MLcost |
static int |
MMcost |
protected java.util.Random |
rng |
Constructor and Description |
---|
CentralRegistry(org.processmining.framework.plugin.PluginContext context,
org.deckfour.xes.model.XLog log,
java.util.Random rng) |
CentralRegistry(org.processmining.framework.plugin.PluginContext context,
org.deckfour.xes.model.XLog log,
org.deckfour.xes.classification.XEventClassifier eventClassifier,
java.util.Random rng) |
CentralRegistry(org.processmining.framework.plugin.PluginContext context,
org.deckfour.xes.model.XLog log,
org.deckfour.xes.classification.XEventClassifier eventClassifier,
java.util.Random rng,
org.deckfour.xes.info.XLogInfo logInfo) |
CentralRegistry(org.deckfour.xes.model.XLog log,
java.util.Random rng)
Creates a new tree factory that creates new nodes given a list of event
classes for leafs and the probability of introducing intermediate
function nodes
|
CentralRegistry(org.deckfour.xes.model.XLog log,
org.deckfour.xes.classification.XEventClassifier eventClassifier,
java.util.Random rng)
Create new treeFactory instance from the event log and eventClassifier
|
CentralRegistry(org.deckfour.xes.model.XLog log,
org.deckfour.xes.classification.XEventClassifier eventClassifier,
java.util.Random rng,
org.deckfour.xes.info.XLogInfo logInfo) |
Modifier and Type | Method and Description |
---|---|
void |
cleanHistoryCache()
Clears all the history
|
void |
clearFitnessCache() |
void |
considerTopEventClasses(int topSize)
Fools the rest of the ETM into thinking the event log only contains a
subset of the event classes (e.g.
|
boolean |
containsFitness(NAryTree tree)
Function that checks whether there is already a fitness object for this
tree in the cache.
|
AStarAlgorithm |
getaStarAlgorithm() |
org.processmining.framework.plugin.PluginContext |
getContext() |
int |
getCurrentGeneration() |
AStarAlgorithm |
getEmptyAStarAlgorithm()
Returns the
AStarAlgorithm instance build on an empty event log
(mainly used by the
FitnessReplay
metric to normalize the costs of the alignments |
int |
getEstimatedMinLogCost()
Returns the estimated minimal costs to perform only move on log
|
org.deckfour.xes.classification.XEventClass |
getEventClassByID(int id)
Returns the XEventClass that is represented by the given index of null if
index < 0 or >= size
|
org.deckfour.xes.classification.XEventClasses |
getEventClasses() |
int |
getEventClassID(java.lang.String classIdentity)
Returns the internally used int to represent the XEventClass identified
by the given String
|
short |
getEventClassID(org.deckfour.xes.classification.XEventClass eventClass)
Returns the internally used int to represent the given XEventClass
|
TreeFitness |
getFitness(NAryTree tree) |
NAryTreeHistory |
getHistory(NAryTree child)
Retrieves the parent of the input child.
|
org.deckfour.xes.model.XLog |
getLog() |
java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> |
getLogCosts()
Returns the map of assigned costs for the replayer for the given event
class
|
org.deckfour.xes.info.XLogInfo |
getLogInfo() |
double |
getMinLogCost()
Returns the
minLogCost (the minimal cost) for replaying the log
on an 'empty' model. |
double |
getOverallFitness(NAryTree tree) |
java.util.Random |
getRandom() |
org.deckfour.xes.classification.XEventClass |
getRandomEventClass(boolean allowTau,
java.util.Random rng)
Returns a single randomly selected event class
|
org.deckfour.xes.classification.XEventClass |
getRandomEventClass(java.util.Random rng)
Returns a single randomly selected event class
|
java.util.List<NAryTree> |
getSortedOn(boolean fittestFirst,
TreeFitnessInfo... dimensions)
Returns all trees sorted according to the provided dimensions
|
boolean |
increaseFitnessCache(int minimalSize)
Instructs the internal fitness cache that it should contain at least the
specified number of candidates.
|
void |
increaseGeneration()
Increases the generation counter with one.
|
boolean |
isFitnessKnown(NAryTree tree)
Function that checks whether a fitness is known AND PROPERLY SET for this
tree.
|
int |
nrEventClasses() |
void |
restartFitness(NAryTree tree) |
void |
saveHistory(NAryTree child,
NAryTree parent,
int pointOfChange,
NAryTreeHistory.TypesOfChange typeOfChange)
Function to save the ancestry of each new tree.
|
void |
updateEventClassifier(org.deckfour.xes.classification.XEventClassifier eventClassifier)
Updates the classifier to the given one and also creates a new LogInfo
instance and fires a changed event to trigger all listeners.
|
void |
updateLogDerived()
Updates logCosts, estimatedMinLogCost and the aStarAlgorithm
It also Calculates the
minLogCost (the minimal cost) for
replaying the log on an 'empty' model. |
void |
updateMinLogCost() |
protected org.deckfour.xes.classification.XEventClasses eventClasses
public static final int MMcost
public static final int MLcost
public static final int CONFIDENCE_LEVEL_LIMIT
protected final java.util.Random rng
protected final transient org.processmining.framework.plugin.PluginContext context
public CentralRegistry(org.deckfour.xes.model.XLog log, java.util.Random rng)
maxNodes
- Maximum number of nodes of the treeeventClasses
- Candidates for leaf nodes to choose fromfunctionProbability
- Probability of introducing function nodes even though we did
not reach the maxNodes limitpublic CentralRegistry(org.deckfour.xes.model.XLog log, org.deckfour.xes.classification.XEventClassifier eventClassifier, java.util.Random rng)
log
- eventClassifier
- public CentralRegistry(org.deckfour.xes.model.XLog log, org.deckfour.xes.classification.XEventClassifier eventClassifier, java.util.Random rng, org.deckfour.xes.info.XLogInfo logInfo)
public CentralRegistry(org.processmining.framework.plugin.PluginContext context, org.deckfour.xes.model.XLog log, java.util.Random rng)
public CentralRegistry(org.processmining.framework.plugin.PluginContext context, org.deckfour.xes.model.XLog log, org.deckfour.xes.classification.XEventClassifier eventClassifier, java.util.Random rng)
public CentralRegistry(org.processmining.framework.plugin.PluginContext context, org.deckfour.xes.model.XLog log, org.deckfour.xes.classification.XEventClassifier eventClassifier, java.util.Random rng, org.deckfour.xes.info.XLogInfo logInfo)
public org.deckfour.xes.model.XLog getLog()
public org.deckfour.xes.classification.XEventClass getRandomEventClass(java.util.Random rng)
public org.deckfour.xes.classification.XEventClass getRandomEventClass(boolean allowTau, java.util.Random rng)
public org.deckfour.xes.info.XLogInfo getLogInfo()
public short getEventClassID(org.deckfour.xes.classification.XEventClass eventClass)
eventClass
- public int getEventClassID(java.lang.String classIdentity)
classIdentity
- public org.deckfour.xes.classification.XEventClass getEventClassByID(int id)
id
- public int nrEventClasses()
public org.deckfour.xes.classification.XEventClasses getEventClasses()
public double getOverallFitness(NAryTree tree)
public TreeFitness getFitness(NAryTree tree)
public void restartFitness(NAryTree tree)
public boolean isFitnessKnown(NAryTree tree)
tree
- public boolean containsFitness(NAryTree tree)
tree
- public void clearFitnessCache()
public boolean increaseFitnessCache(int minimalSize)
minimal
- public java.util.Random getRandom()
public void increaseGeneration()
public int getCurrentGeneration()
public org.processmining.framework.plugin.PluginContext getContext()
public void updateEventClassifier(org.deckfour.xes.classification.XEventClassifier eventClassifier)
selectedItem
- public void considerTopEventClasses(int topSize)
topSize
- The number of most frequent event classes to include. Provide
negative value to consider all.public AStarAlgorithm getaStarAlgorithm()
public java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> getLogCosts()
public int getEstimatedMinLogCost()
public void updateLogDerived()
minLogCost
(the minimal cost) for
replaying the log on an 'empty' model. This value does not change between
individuals, hence it only needs to be compute at the start of the
algorithm.public void updateMinLogCost()
public AStarAlgorithm getEmptyAStarAlgorithm()
AStarAlgorithm
instance build on an empty event log
(mainly used by the
FitnessReplay
metric to normalize the costs of the alignmentspublic java.util.List<NAryTree> getSortedOn(boolean fittestFirst, TreeFitnessInfo... dimensions)
fittestFirst
- dimensions
- public double getMinLogCost()
minLogCost
(the minimal cost) for replaying the log
on an 'empty' model.public NAryTreeHistory getHistory(NAryTree child)
child
- NaryTreeHistory
with the parent and point of
modification.public void saveHistory(NAryTree child, NAryTree parent, int pointOfChange, NAryTreeHistory.TypesOfChange typeOfChange)
NAryTree
.child
- parent
- crossoverPoint
- mutationPoint
- public void cleanHistoryCache()