Class TFDGraphGenerator
- java.lang.Object
-
- ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDGraphGenerator
-
- All Implemented Interfaces:
org.api4.java.datastructure.graph.implicit.IGraphGenerator<TFDNode,java.lang.String>
- Direct Known Subclasses:
CEOCTFDGraphGenerator
public class TFDGraphGenerator extends java.lang.Object implements org.api4.java.datastructure.graph.implicit.IGraphGenerator<TFDNode,java.lang.String>
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,Operation>primitiveTasksprotected IHTNPlanningProblemproblemprotected TaskPlannerUtilutil
-
Constructor Summary
Constructors Constructor Description TFDGraphGenerator(IHTNPlanningProblem problem)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.api4.java.datastructure.graph.implicit.ISingleRootGenerator<TFDNode>getRootGenerator()org.api4.java.datastructure.graph.implicit.ISuccessorGenerator<TFDNode,java.lang.String>getSuccessorGenerator()protected java.util.Collection<TFDNode>getSuccessorsResultingFromResolvingComplexTask(ai.libs.jaicore.logic.fol.structure.Monom state, ai.libs.jaicore.logic.fol.structure.Literal taskToBeResolved, java.util.List<ai.libs.jaicore.logic.fol.structure.Literal> remainingOtherTasks)protected java.util.Collection<TFDNode>getSuccessorsResultingFromResolvingPrimitiveTask(ai.libs.jaicore.logic.fol.structure.Monom state, ai.libs.jaicore.logic.fol.structure.Literal taskToBeResolved, java.util.List<ai.libs.jaicore.logic.fol.structure.Literal> remainingOtherTasks)booleanisPathSemanticallySubsumed(java.util.List<TFDNode> path, java.util.List<TFDNode> potentialSuperPath)TFDNodeorderRemainingTasksByPriority(TFDNode node)protected TFDNodepostProcessComplexTaskNode(TFDNode node)A hook for extending classes that can be used to change the nodes before they are attachedprotected TFDNodepostProcessPrimitiveTaskNode(TFDNode node)A hook for extending classes that can be used to change the nodes before they are attachedprotected java.util.List<ai.libs.jaicore.logic.fol.structure.Literal>stripTNPrefixes(java.util.List<ai.libs.jaicore.logic.fol.structure.Literal> taskList)java.lang.StringtoString()
-
-
-
Field Detail
-
util
protected TaskPlannerUtil util
-
problem
protected final IHTNPlanningProblem problem
-
primitiveTasks
protected final java.util.Map<java.lang.String,Operation> primitiveTasks
-
-
Constructor Detail
-
TFDGraphGenerator
public TFDGraphGenerator(IHTNPlanningProblem problem)
-
-
Method Detail
-
getSuccessorsResultingFromResolvingPrimitiveTask
protected java.util.Collection<TFDNode> getSuccessorsResultingFromResolvingPrimitiveTask(ai.libs.jaicore.logic.fol.structure.Monom state, ai.libs.jaicore.logic.fol.structure.Literal taskToBeResolved, java.util.List<ai.libs.jaicore.logic.fol.structure.Literal> remainingOtherTasks) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
getSuccessorsResultingFromResolvingComplexTask
protected java.util.Collection<TFDNode> getSuccessorsResultingFromResolvingComplexTask(ai.libs.jaicore.logic.fol.structure.Monom state, ai.libs.jaicore.logic.fol.structure.Literal taskToBeResolved, java.util.List<ai.libs.jaicore.logic.fol.structure.Literal> remainingOtherTasks) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
stripTNPrefixes
protected java.util.List<ai.libs.jaicore.logic.fol.structure.Literal> stripTNPrefixes(java.util.List<ai.libs.jaicore.logic.fol.structure.Literal> taskList)
-
postProcessPrimitiveTaskNode
protected TFDNode postProcessPrimitiveTaskNode(TFDNode node)
A hook for extending classes that can be used to change the nodes before they are attached- Parameters:
node-- Returns:
-
postProcessComplexTaskNode
protected TFDNode postProcessComplexTaskNode(TFDNode node)
A hook for extending classes that can be used to change the nodes before they are attached- Parameters:
node-- Returns:
-
getRootGenerator
public org.api4.java.datastructure.graph.implicit.ISingleRootGenerator<TFDNode> getRootGenerator()
- Specified by:
getRootGeneratorin interfaceorg.api4.java.datastructure.graph.implicit.IGraphGenerator<TFDNode,java.lang.String>
-
getSuccessorGenerator
public org.api4.java.datastructure.graph.implicit.ISuccessorGenerator<TFDNode,java.lang.String> getSuccessorGenerator()
- Specified by:
getSuccessorGeneratorin interfaceorg.api4.java.datastructure.graph.implicit.IGraphGenerator<TFDNode,java.lang.String>
-
isPathSemanticallySubsumed
public boolean isPathSemanticallySubsumed(java.util.List<TFDNode> path, java.util.List<TFDNode> potentialSuperPath) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-