Class TFDGraphGenerator
- java.lang.Object
-
- ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDGraphGenerator
-
- All Implemented Interfaces:
ai.libs.jaicore.search.core.interfaces.GraphGenerator<TFDNode,java.lang.String>,ai.libs.jaicore.search.core.interfaces.PathUnifyingGraphGenerator<TFDNode,java.lang.String>
- Direct Known Subclasses:
CEOCTFDGraphGenerator
public class TFDGraphGenerator extends java.lang.Object implements ai.libs.jaicore.search.core.interfaces.GraphGenerator<TFDNode,java.lang.String>, ai.libs.jaicore.search.core.interfaces.PathUnifyingGraphGenerator<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 ai.libs.jaicore.search.structure.graphgenerator.NodeGoalTester<TFDNode>getGoalTester()ai.libs.jaicore.search.structure.graphgenerator.SingleRootGenerator<TFDNode>getRootGenerator()ai.libs.jaicore.search.structure.graphgenerator.SuccessorGenerator<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 ai.libs.jaicore.search.structure.graphgenerator.SingleRootGenerator<TFDNode> getRootGenerator()
- Specified by:
getRootGeneratorin interfaceai.libs.jaicore.search.core.interfaces.GraphGenerator<TFDNode,java.lang.String>
-
getSuccessorGenerator
public ai.libs.jaicore.search.structure.graphgenerator.SuccessorGenerator<TFDNode,java.lang.String> getSuccessorGenerator()
- Specified by:
getSuccessorGeneratorin interfaceai.libs.jaicore.search.core.interfaces.GraphGenerator<TFDNode,java.lang.String>
-
getGoalTester
public ai.libs.jaicore.search.structure.graphgenerator.NodeGoalTester<TFDNode> getGoalTester()
- Specified by:
getGoalTesterin interfaceai.libs.jaicore.search.core.interfaces.GraphGenerator<TFDNode,java.lang.String>
-
isPathSemanticallySubsumed
public boolean isPathSemanticallySubsumed(java.util.List<TFDNode> path, java.util.List<TFDNode> potentialSuperPath) throws java.lang.InterruptedException
- Specified by:
isPathSemanticallySubsumedin interfaceai.libs.jaicore.search.core.interfaces.PathUnifyingGraphGenerator<TFDNode,java.lang.String>- Throws:
java.lang.InterruptedException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-