Class HeuristicTreeExpansion<N extends TreeNode & Evaluable & LocallyExpandable<N>,H extends HeuristicValue<? super H>>
- java.lang.Object
-
- org.processmining.specpp.componenting.system.link.AbstractBaseClass
-
- org.processmining.specpp.datastructures.tree.heuristic.HeuristicTreeExpansion<N,H>
-
- All Implemented Interfaces:
FullComponentSystemUser,ExpansionStrategyComponent<N>,HasComponentCollection,IsGlobalProvider,UsesGlobalComponentSystem,UsesLocalComponentSystem,ExpansionStrategy<N>,TreeStrategy<N>,Initializable
- Direct Known Subclasses:
DiscriminatingHeuristicTreeExpansion,EventingHeuristicTreeExpansion
public class HeuristicTreeExpansion<N extends TreeNode & Evaluable & LocallyExpandable<N>,H extends HeuristicValue<? super H>> extends AbstractBaseClass implements ExpansionStrategyComponent<N>
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<N,H>nodeHeuristicsprotected java.util.PriorityQueue<N>priorityQueue
-
Constructor Summary
Constructors Constructor Description HeuristicTreeExpansion(HeuristicStrategy<? super N,H> heuristicStrategy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddNode(N node, H heuristic)protected voidclearHeuristic(N node)protected voiddequeue(N node)protected NdequeueFirst()voidderegisterNode(N node)NderegisterPreviousProposal()protected voidenqueue(N node)HeuristicStrategy<? super N,H>getHeuristicStrategy()booleanhasNextExpansion()protected voidinitSelf()Hook for subclasses to initialize themselves after the initial constructor call.NnextExpansion()protected NpeekFirst()protected voidputHeuristic(N node, H heuristic)voidregisterNode(N node)voidregisterPotentialNodes(java.lang.Iterable<N> potentialNodes)protected voidremoveNode(N node)protected voidupdateNode(N node, H heuristic)-
Methods inherited from class org.processmining.specpp.componenting.system.link.AbstractBaseClass
collectTransitiveSubcomponents, getComponentCollection, getSubComponents, globalComponentSystem, init, localComponentSystem, postSubComponentInit, preSubComponentInit, registerSubComponent, unregisterSubComponent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.processmining.specpp.componenting.system.FullComponentSystemUser
collectTransitiveSubcomponents, connectLocalComponentSystem, getComponentCollection, registerSubComponent, unregisterSubComponent
-
Methods inherited from interface org.processmining.specpp.traits.Initializable
init
-
Methods inherited from interface org.processmining.specpp.componenting.traits.UsesGlobalComponentSystem
globalComponentSystem
-
Methods inherited from interface org.processmining.specpp.componenting.traits.UsesLocalComponentSystem
bridgeToChildren, localComponentSystem
-
-
-
-
Field Detail
-
priorityQueue
protected final java.util.PriorityQueue<N extends TreeNode & Evaluable & LocallyExpandable<N>> priorityQueue
-
nodeHeuristics
protected final java.util.Map<N extends TreeNode & Evaluable & LocallyExpandable<N>,H extends HeuristicValue<? super H>> nodeHeuristics
-
-
Constructor Detail
-
HeuristicTreeExpansion
public HeuristicTreeExpansion(HeuristicStrategy<? super N,H> heuristicStrategy)
-
-
Method Detail
-
getHeuristicStrategy
public HeuristicStrategy<? super N,H> getHeuristicStrategy()
-
nextExpansion
public N nextExpansion()
- Specified by:
nextExpansionin interfaceExpansionStrategy<N extends TreeNode & Evaluable & LocallyExpandable<N>>
-
hasNextExpansion
public boolean hasNextExpansion()
- Specified by:
hasNextExpansionin interfaceExpansionStrategy<N extends TreeNode & Evaluable & LocallyExpandable<N>>
-
deregisterPreviousProposal
public N deregisterPreviousProposal()
- Specified by:
deregisterPreviousProposalin interfaceExpansionStrategy<N extends TreeNode & Evaluable & LocallyExpandable<N>>
-
registerNode
public void registerNode(N node)
- Specified by:
registerNodein interfaceTreeStrategy<N extends TreeNode & Evaluable & LocallyExpandable<N>>
-
registerPotentialNodes
public void registerPotentialNodes(java.lang.Iterable<N> potentialNodes)
- Specified by:
registerPotentialNodesin interfaceTreeStrategy<N extends TreeNode & Evaluable & LocallyExpandable<N>>
-
deregisterNode
public void deregisterNode(N node)
- Specified by:
deregisterNodein interfaceTreeStrategy<N extends TreeNode & Evaluable & LocallyExpandable<N>>
-
removeNode
protected void removeNode(N node)
-
enqueue
protected void enqueue(N node)
-
dequeue
protected void dequeue(N node)
-
dequeueFirst
protected N dequeueFirst()
-
peekFirst
protected N peekFirst()
-
clearHeuristic
protected void clearHeuristic(N node)
-
initSelf
protected void initSelf()
Description copied from class:AbstractBaseClassHook for subclasses to initialize themselves after the initial constructor call. At the time this is called, all fulfillable local & global component system requests will be fulfilled. Unless advanced interaction with the underlying systems is required, this is the only relevant hook for user-defined subclasses.- Specified by:
initSelfin classAbstractBaseClass
-
-