Class AbstractPDelegate<T extends nl.tue.astar.Tail>

  • 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.TShortIntMap act2cost  
      protected gnu.trove.map.TObjectShortMap<org.deckfour.xes.classification.XEventClass> act2int  
      protected gnu.trove.map.TShortObjectMap<gnu.trove.list.TShortList> actIndex2trans  
      protected short activities  
      protected int arcs  
      protected org.deckfour.xes.classification.XEventClasses classes  
      protected java.util.Set<nl.tue.astar.util.ShortShortMultiset> finalMarkings  
      protected PHeadCompressor<T> headCompressor  
      static short INHIBITED  
      protected int inhibitors  
      protected gnu.trove.map.TShortObjectMap<org.deckfour.xes.classification.XEventClass> int2act  
      protected gnu.trove.map.TShortObjectMap<org.processmining.models.graphbased.directed.petrinet.elements.Place> int2place  
      protected gnu.trove.map.TShortObjectMap<org.processmining.models.graphbased.directed.petrinet.elements.Transition> int2trans  
      protected org.deckfour.xes.model.XLog log  
      protected org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net  
      static short NEV  
      protected gnu.trove.map.TObjectShortMap<org.processmining.models.graphbased.directed.petrinet.elements.Place> place2int  
      protected short places  
      protected int resetArcs  
      protected gnu.trove.map.TShortIntMap sync2cost  
      protected gnu.trove.map.TShortIntMap trans2cost  
      protected gnu.trove.map.TObjectShortMap<org.processmining.models.graphbased.directed.petrinet.elements.Transition> trans2int  
      protected gnu.trove.map.TShortObjectMap<gnu.trove.set.TShortSet> transIndex2act  
      protected gnu.trove.map.TShortObjectMap<short[]> transIndex2input  
      protected gnu.trove.map.TShortObjectMap<short[]> transIndex2output  
      protected short transitions  
      protected gnu.trove.list.TShortList unmapped  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      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.
      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.
    • 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 compressor
      nl.tue.astar.Record createInitialRecord​(PHead head, nl.tue.astar.Trace trace)
      instantiates a record for the given head.
      gnu.trove.set.TShortSet getActivitiesFor​(short transition)  
      int getActivityOf​(int trace, int event)  
      org.deckfour.xes.classification.XEventClass getClassOf​(org.deckfour.xes.model.XEvent event)  
      int getCostFor​(int modelMove, int activity)  
      int getCostForMoveLog​(short activity)
      Cost for move log (but not on model), scaled with delta and added with 1
      int getCostForMoveModel​(short transition)
      Cost for move model (but not on log), scaled with delta and added with 1
      int getCostForMoveSync​(short transition)
      Cost for move synchronous, scaled with delta and added with epsilon
      double getDelta()  
      gnu.trove.list.TIntList getEnabledTransitionsChangingMarking​(nl.tue.astar.util.ShortShortMultiset marking)  
      int getEpsilon()
      Get epsilon value: value added to ensure we can go out of infinite firing sequence of transitions with cost 0
      org.deckfour.xes.classification.XEventClass getEventClass​(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()  
      short getIndexOf​(org.deckfour.xes.classification.XEventClass c)  
      short getIndexOf​(org.processmining.models.graphbased.directed.petrinet.elements.Place p)  
      short getIndexOf​(org.processmining.models.graphbased.directed.petrinet.elements.Transition t)  
      short[] getInputOf​(short transition)  
      short[] getOutputOf​(short transition)  
      protected org.processmining.models.graphbased.directed.petrinet.PetrinetGraph getPetrinet()  
      org.processmining.models.graphbased.directed.petrinet.elements.Place getPlace​(short i)  
      org.deckfour.xes.model.XTrace getTrace​(int t)  
      org.processmining.models.graphbased.directed.petrinet.elements.Transition getTransition​(short i)  
      gnu.trove.list.TShortList getTransitions​(short activity)  
      boolean hasEnabledTransitions​(nl.tue.astar.util.ShortShortMultiset marking)  
      boolean hasResetArc​(int transition)  
      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)  
      boolean isEnabled​(int transition, nl.tue.astar.util.ShortShortMultiset marking)  
      boolean isFinal​(nl.tue.astar.util.ShortShortMultiset marking)  
      short numEventClasses()  
      short numPlaces()  
      short numTransitions()  
      void setEpsilon​(int i)
      Set epsilon value: value added to ensure we can go out of infinite firing sequence of transitions with cost 0
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface nl.tue.astar.Delegate

        createInitialTail
      • Methods inherited from interface nl.tue.astar.impl.memefficient.StorageAwareDelegate

        getTailDeflater, getTailInflater, setStateSpace
    • Field Detail

      • 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.Delegate
        instantiates a record for the given head. Cost is 0
        Specified by:
        createInitialRecord in interface nl.tue.astar.Delegate<PHead,​T extends nl.tue.astar.Tail>
        Returns:
      • getHeadInflater

        public PHeadCompressor<T> getHeadInflater()
        Specified by:
        getHeadInflater in interface nl.tue.astar.impl.memefficient.StorageAwareDelegate<PHead,​T extends nl.tue.astar.Tail>
      • getHeadDeflater

        public PHeadCompressor<T> getHeadDeflater()
        Specified by:
        getHeadDeflater in interface nl.tue.astar.impl.memefficient.StorageAwareDelegate<PHead,​T extends nl.tue.astar.Tail>
      • 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()
        Specified by:
        getHeadBasedHashOperation in interface nl.tue.astar.impl.memefficient.StorageAwareDelegate<PHead,​T extends nl.tue.astar.Tail>
      • getHeadBasedEqualOperation

        public nl.tue.storage.EqualOperation<nl.tue.astar.impl.State<PHead,​T>> getHeadBasedEqualOperation()
        Specified by:
        getHeadBasedEqualOperation in interface nl.tue.astar.impl.memefficient.StorageAwareDelegate<PHead,​T extends nl.tue.astar.Tail>
      • 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)