Class AbstractPDelegate<T extends nl.tue.astar.Tail>
- java.lang.Object
-
- org.processmining.lpm.adjustedalignments.AbstractPDelegate<T>
-
- All Implemented Interfaces:
nl.tue.astar.Delegate<PHead,T>,nl.tue.astar.impl.memefficient.StorageAwareDelegate<PHead,T>
- Direct Known Subclasses:
PDelegate
public abstract class AbstractPDelegate<T extends nl.tue.astar.Tail> extends java.lang.Object implements nl.tue.astar.impl.memefficient.StorageAwareDelegate<PHead,T>
-
-
Field Summary
Fields Modifier and Type Field Description protected gnu.trove.map.TShortIntMapact2costprotected gnu.trove.map.TObjectShortMap<org.deckfour.xes.classification.XEventClass>act2intprotected gnu.trove.map.TShortObjectMap<gnu.trove.list.TShortList>actIndex2transprotected shortactivitiesprotected intarcsprotected org.deckfour.xes.classification.XEventClassesclassesprotected java.util.Set<nl.tue.astar.util.ShortShortMultiset>finalMarkingsprotected PHeadCompressor<T>headCompressorstatic shortINHIBITEDprotected intinhibitorsprotected gnu.trove.map.TShortObjectMap<org.deckfour.xes.classification.XEventClass>int2actprotected gnu.trove.map.TShortObjectMap<org.processmining.models.graphbased.directed.petrinet.elements.Place>int2placeprotected gnu.trove.map.TShortObjectMap<org.processmining.models.graphbased.directed.petrinet.elements.Transition>int2transprotected org.deckfour.xes.model.XLoglogprotected org.processmining.models.graphbased.directed.petrinet.PetrinetGraphnetstatic shortNEVprotected gnu.trove.map.TObjectShortMap<org.processmining.models.graphbased.directed.petrinet.elements.Place>place2intprotected shortplacesprotected intresetArcsprotected gnu.trove.map.TShortIntMapsync2costprotected gnu.trove.map.TShortIntMaptrans2costprotected gnu.trove.map.TObjectShortMap<org.processmining.models.graphbased.directed.petrinet.elements.Transition>trans2intprotected gnu.trove.map.TShortObjectMap<gnu.trove.set.TShortSet>transIndex2actprotected gnu.trove.map.TShortObjectMap<short[]>transIndex2inputprotected gnu.trove.map.TShortObjectMap<short[]>transIndex2outputprotected shorttransitionsprotected gnu.trove.list.TShortListunmapped
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractPDelegate(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.deckfour.xes.model.XLog log, org.deckfour.xes.classification.XEventClasses classes, org.processmining.plugins.connectionfactories.logpetrinet.TransEvClassMapping map, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapTrans2Cost, java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> mapEvClass2Cost, int delta, org.processmining.models.semantics.petrinet.Marking... set)Constructor without cost of move synchronous.protectedAbstractPDelegate(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.deckfour.xes.model.XLog log, org.deckfour.xes.classification.XEventClasses classes, org.processmining.plugins.connectionfactories.logpetrinet.TransEvClassMapping map, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapTrans2Cost, java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> mapEvClass2Cost, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapSync2Cost, int delta, org.processmining.models.semantics.petrinet.Marking... set)Constructor with cost of move synchronous.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected PHeadCompressor<T>constructHeadCompressor(short places2, short activities2)Overrideable method to change head compressornl.tue.astar.RecordcreateInitialRecord(PHead head, nl.tue.astar.Trace trace)instantiates a record for the given head.gnu.trove.set.TShortSetgetActivitiesFor(short transition)intgetActivityOf(int trace, int event)org.deckfour.xes.classification.XEventClassgetClassOf(org.deckfour.xes.model.XEvent event)intgetCostFor(int modelMove, int activity)intgetCostForMoveLog(short activity)Cost for move log (but not on model), scaled with delta and added with 1intgetCostForMoveModel(short transition)Cost for move model (but not on log), scaled with delta and added with 1intgetCostForMoveSync(short transition)Cost for move synchronous, scaled with delta and added with epsilondoublegetDelta()gnu.trove.list.TIntListgetEnabledTransitionsChangingMarking(nl.tue.astar.util.ShortShortMultiset marking)intgetEpsilon()Get epsilon value: value added to ensure we can go out of infinite firing sequence of transitions with cost 0org.deckfour.xes.classification.XEventClassgetEventClass(short i)java.util.Set<nl.tue.astar.util.ShortShortMultiset>getFinalMarkings()nl.tue.storage.EqualOperation<nl.tue.astar.impl.State<PHead,T>>getHeadBasedEqualOperation()nl.tue.storage.HashOperation<nl.tue.astar.impl.State<PHead,T>>getHeadBasedHashOperation()PHeadCompressor<T>getHeadDeflater()PHeadCompressor<T>getHeadInflater()shortgetIndexOf(org.deckfour.xes.classification.XEventClass c)shortgetIndexOf(org.processmining.models.graphbased.directed.petrinet.elements.Place p)shortgetIndexOf(org.processmining.models.graphbased.directed.petrinet.elements.Transition t)short[]getInputOf(short transition)short[]getOutputOf(short transition)protected org.processmining.models.graphbased.directed.petrinet.PetrinetGraphgetPetrinet()org.processmining.models.graphbased.directed.petrinet.elements.PlacegetPlace(short i)org.deckfour.xes.model.XTracegetTrace(int t)org.processmining.models.graphbased.directed.petrinet.elements.TransitiongetTransition(short i)gnu.trove.list.TShortListgetTransitions(short activity)booleanhasEnabledTransitions(nl.tue.astar.util.ShortShortMultiset marking)booleanhasResetArc(int transition)protected voidinitialize(java.util.Collection<org.deckfour.xes.classification.XEventClass> eventClasses, org.processmining.plugins.connectionfactories.logpetrinet.TransEvClassMapping map, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapTrans2Cost, java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> mapEvClass2Cost, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapSync2Cost, org.processmining.models.semantics.petrinet.Marking... set)booleanisEnabled(int transition, nl.tue.astar.util.ShortShortMultiset marking)booleanisFinal(nl.tue.astar.util.ShortShortMultiset marking)shortnumEventClasses()shortnumPlaces()shortnumTransitions()voidsetEpsilon(int i)Set epsilon value: value added to ensure we can go out of infinite firing sequence of transitions with cost 0
-
-
-
Field Detail
-
NEV
public static final short NEV
- See Also:
- Constant Field Values
-
INHIBITED
public static final short INHIBITED
- See Also:
- Constant Field Values
-
headCompressor
protected final PHeadCompressor<T extends nl.tue.astar.Tail> headCompressor
-
place2int
protected final gnu.trove.map.TObjectShortMap<org.processmining.models.graphbased.directed.petrinet.elements.Place> place2int
-
int2place
protected final gnu.trove.map.TShortObjectMap<org.processmining.models.graphbased.directed.petrinet.elements.Place> int2place
-
places
protected final short places
-
act2int
protected final gnu.trove.map.TObjectShortMap<org.deckfour.xes.classification.XEventClass> act2int
-
int2act
protected final gnu.trove.map.TShortObjectMap<org.deckfour.xes.classification.XEventClass> int2act
-
activities
protected final short activities
-
trans2int
protected final gnu.trove.map.TObjectShortMap<org.processmining.models.graphbased.directed.petrinet.elements.Transition> trans2int
-
int2trans
protected final gnu.trove.map.TShortObjectMap<org.processmining.models.graphbased.directed.petrinet.elements.Transition> int2trans
-
actIndex2trans
protected final gnu.trove.map.TShortObjectMap<gnu.trove.list.TShortList> actIndex2trans
-
transIndex2input
protected final gnu.trove.map.TShortObjectMap<short[]> transIndex2input
-
transIndex2output
protected final gnu.trove.map.TShortObjectMap<short[]> transIndex2output
-
transIndex2act
protected final gnu.trove.map.TShortObjectMap<gnu.trove.set.TShortSet> transIndex2act
-
transitions
protected final short transitions
-
trans2cost
protected final gnu.trove.map.TShortIntMap trans2cost
-
sync2cost
protected final gnu.trove.map.TShortIntMap sync2cost
-
act2cost
protected final gnu.trove.map.TShortIntMap act2cost
-
net
protected final org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net
-
classes
protected final org.deckfour.xes.classification.XEventClasses classes
-
finalMarkings
protected final java.util.Set<nl.tue.astar.util.ShortShortMultiset> finalMarkings
-
log
protected final org.deckfour.xes.model.XLog log
-
unmapped
protected final gnu.trove.list.TShortList unmapped
-
resetArcs
protected int resetArcs
-
arcs
protected int arcs
-
inhibitors
protected int inhibitors
-
-
Constructor Detail
-
AbstractPDelegate
protected AbstractPDelegate(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.deckfour.xes.model.XLog log, org.deckfour.xes.classification.XEventClasses classes, org.processmining.plugins.connectionfactories.logpetrinet.TransEvClassMapping map, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapTrans2Cost, java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> mapEvClass2Cost, int delta, org.processmining.models.semantics.petrinet.Marking... set)Constructor without cost of move synchronous. In this case cost of move sync is assumed to be 0- Parameters:
net-log-classes-map-mapTrans2Cost-mapEvClass2Cost-delta-set-
-
AbstractPDelegate
protected AbstractPDelegate(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.deckfour.xes.model.XLog log, org.deckfour.xes.classification.XEventClasses classes, org.processmining.plugins.connectionfactories.logpetrinet.TransEvClassMapping map, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapTrans2Cost, java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> mapEvClass2Cost, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapSync2Cost, int delta, org.processmining.models.semantics.petrinet.Marking... set)Constructor with cost of move synchronous.- Parameters:
net-log-classes-map-mapTrans2Cost-mapEvClass2Cost-mapSync2Cost-delta-set-
-
-
Method Detail
-
initialize
protected void initialize(java.util.Collection<org.deckfour.xes.classification.XEventClass> eventClasses, org.processmining.plugins.connectionfactories.logpetrinet.TransEvClassMapping map, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapTrans2Cost, java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> mapEvClass2Cost, java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapSync2Cost, org.processmining.models.semantics.petrinet.Marking... set)
-
constructHeadCompressor
protected PHeadCompressor<T> constructHeadCompressor(short places2, short activities2)
Overrideable method to change head compressor- Parameters:
places2-activities2-- Returns:
-
isEnabled
public boolean isEnabled(int transition, nl.tue.astar.util.ShortShortMultiset marking)
-
getIndexOf
public short getIndexOf(org.processmining.models.graphbased.directed.petrinet.elements.Place p)
-
numPlaces
public short numPlaces()
-
getPlace
public org.processmining.models.graphbased.directed.petrinet.elements.Place getPlace(short i)
-
getIndexOf
public short getIndexOf(org.processmining.models.graphbased.directed.petrinet.elements.Transition t)
-
numTransitions
public short numTransitions()
-
getTransition
public org.processmining.models.graphbased.directed.petrinet.elements.Transition getTransition(short i)
-
getIndexOf
public short getIndexOf(org.deckfour.xes.classification.XEventClass c)
-
numEventClasses
public short numEventClasses()
-
getEventClass
public org.deckfour.xes.classification.XEventClass getEventClass(short i)
-
createInitialRecord
public nl.tue.astar.Record createInitialRecord(PHead head, nl.tue.astar.Trace trace)
Description copied from interface:nl.tue.astar.Delegateinstantiates a record for the given head. Cost is 0
-
getHeadInflater
public PHeadCompressor<T> getHeadInflater()
-
getHeadDeflater
public PHeadCompressor<T> getHeadDeflater()
-
getClassOf
public org.deckfour.xes.classification.XEventClass getClassOf(org.deckfour.xes.model.XEvent event)
-
getActivityOf
public int getActivityOf(int trace, int event)
-
isFinal
public boolean isFinal(nl.tue.astar.util.ShortShortMultiset marking)
-
getHeadBasedHashOperation
public nl.tue.storage.HashOperation<nl.tue.astar.impl.State<PHead,T>> getHeadBasedHashOperation()
-
getHeadBasedEqualOperation
public nl.tue.storage.EqualOperation<nl.tue.astar.impl.State<PHead,T>> getHeadBasedEqualOperation()
-
getPetrinet
protected org.processmining.models.graphbased.directed.petrinet.PetrinetGraph getPetrinet()
-
getTrace
public org.deckfour.xes.model.XTrace getTrace(int t)
-
getCostFor
public int getCostFor(int modelMove, int activity)
-
getCostForMoveLog
public int getCostForMoveLog(short activity)
Cost for move log (but not on model), scaled with delta and added with 1- Parameters:
activity-- Returns:
-
getCostForMoveModel
public int getCostForMoveModel(short transition)
Cost for move model (but not on log), scaled with delta and added with 1- Parameters:
transition-- Returns:
-
getCostForMoveSync
public int getCostForMoveSync(short transition)
Cost for move synchronous, scaled with delta and added with epsilon- Parameters:
transition-- Returns:
-
getEpsilon
public int getEpsilon()
Get epsilon value: value added to ensure we can go out of infinite firing sequence of transitions with cost 0- Returns:
-
setEpsilon
public void setEpsilon(int i)
Set epsilon value: value added to ensure we can go out of infinite firing sequence of transitions with cost 0
-
getTransitions
public gnu.trove.list.TShortList getTransitions(short activity)
-
getActivitiesFor
public gnu.trove.set.TShortSet getActivitiesFor(short transition)
-
hasEnabledTransitions
public boolean hasEnabledTransitions(nl.tue.astar.util.ShortShortMultiset marking)
-
getEnabledTransitionsChangingMarking
public gnu.trove.list.TIntList getEnabledTransitionsChangingMarking(nl.tue.astar.util.ShortShortMultiset marking)
-
getInputOf
public short[] getInputOf(short transition)
-
getOutputOf
public short[] getOutputOf(short transition)
-
getFinalMarkings
public java.util.Set<nl.tue.astar.util.ShortShortMultiset> getFinalMarkings()
-
getDelta
public double getDelta()
-
hasResetArc
public boolean hasResetArc(int transition)
-
-