ai.libs.jaicore.planning.hierarchical.algorithms

Class GraphSearchBasedHTNPlanningAlgorithm<P extends IHTNPlanningProblem,S extends ai.libs.jaicore.search.probleminputs.GraphSearchInput<N,A>,N,A,V extends java.lang.Comparable<V>>

  • java.lang.Object
    • ai.libs.jaicore.basic.algorithm.AAlgorithm<I,O>
      • ai.libs.jaicore.basic.algorithm.ASolutionCandidateIterator<I,O>
        • ai.libs.jaicore.basic.algorithm.AOptimizer<P,EvaluatedSearchGraphBasedPlan<V,N>,V>
          • ai.libs.jaicore.planning.hierarchical.algorithms.GraphSearchBasedHTNPlanningAlgorithm<P,S,N,A,V>
  • Type Parameters:
    P - class of the HTN planning problem
    S - class of the graph search problem input to which the HTN problem is reduced
    N - class of the nodes in the search problem
    A - class of the edges in the search problem
    V - evaluation of solutions
    All Implemented Interfaces:
    ai.libs.jaicore.basic.algorithm.IAlgorithm<P,EvaluatedSearchGraphBasedPlan<V,N>>, ai.libs.jaicore.basic.algorithm.IOptimizationAlgorithm<P,EvaluatedSearchGraphBasedPlan<V,N>,V>, ai.libs.jaicore.basic.algorithm.ISolutionCandidateIterator<P,EvaluatedSearchGraphBasedPlan<V,N>>, ai.libs.jaicore.basic.Cancelable, ai.libs.jaicore.basic.ILoggingCustomizable, java.lang.Iterable<ai.libs.jaicore.basic.algorithm.events.AlgorithmEvent>, java.util.concurrent.Callable<EvaluatedSearchGraphBasedPlan<V,N>>, java.util.Iterator<ai.libs.jaicore.basic.algorithm.events.AlgorithmEvent>
    Direct Known Subclasses:
    ForwardDecompositionHTNPlanner


    public class GraphSearchBasedHTNPlanningAlgorithm<P extends IHTNPlanningProblem,S extends ai.libs.jaicore.search.probleminputs.GraphSearchInput<N,A>,N,A,V extends java.lang.Comparable<V>>extends ai.libs.jaicore.basic.algorithm.AOptimizer<P,EvaluatedSearchGraphBasedPlan<V,N>,V>
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidcancel() 
      java.lang.StringgetLoggerName() 
      java.util.List<Action>getPlan(java.util.List<TFDNode> path) 
      ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearch<S,N,A,V>getSearch() 
      ai.libs.jaicore.basic.algorithm.events.AlgorithmEventnextWithException() 
      voidsetLoggerName(java.lang.String name) 
      • Methods inherited from class ai.libs.jaicore.basic.algorithm.AOptimizer

        call, getBestSeenSolution, nextSolutionCandidate, nextSolutionCandidateEvent, setBestSeenSolution, updateBestSeenSolution
      • Methods inherited from class ai.libs.jaicore.basic.algorithm.ASolutionCandidateIterator

        collectAllSolutions
      • Methods inherited from class ai.libs.jaicore.basic.algorithm.AAlgorithm

        activate, announceTimeoutDetected, avoidReinterruptionOnShutdownOnCurrentThread, checkAndConductTermination, checkTermination, computeTimeoutAware, getActivationTime, getConfig, getId, getInput, getNumCPUs, getRemainingTimeToDeadline, getState, getTimeout, getTimeoutPrecautionOffset, hasNext, hasThreadBeenInterruptedDuringShutdown, interruptThreadAsPartOfShutdown, isCanceled, isShutdownInitialized, isStopCriterionSatisfied, isTimeouted, iterator, next, post, registerActiveThread, registerListener, resolveShutdownInterruptOnCurrentThread, setConfig, setMaxNumThreads, setNumCPUs, setState, setTimeout, setTimeout, setTimeoutPrecautionOffset, shutdown, terminate, unregisterActiveThread, unregisterThreadAndShutdown
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface ai.libs.jaicore.basic.algorithm.IAlgorithm

        getConfig, getId, getInput, getNumCPUs, getTimeout, registerListener, setMaxNumThreads, setNumCPUs, setTimeout, setTimeout
      • Methods inherited from interface java.lang.Iterable

        forEach, iterator, spliterator
      • Methods inherited from interface java.util.Iterator

        forEachRemaining, hasNext, next, remove
    • Constructor Detail

      • GraphSearchBasedHTNPlanningAlgorithm

        public GraphSearchBasedHTNPlanningAlgorithm(P problem,                                            IHierarchicalPlanningGraphGeneratorDeriver<P,N,A> problemTransformer,                                            ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory<S,N,A,V> searchFactory,                                            ai.libs.jaicore.search.probleminputs.builders.SearchProblemInputBuilder<N,A,S> searchProblemBuilder)
    • Method Detail

      • getPlan

        public java.util.List<Action> getPlan(java.util.List<TFDNode> path)
      • cancel

        public void cancel()
        Specified by:
        cancel in interface ai.libs.jaicore.basic.Cancelable
        Overrides:
        cancel in class ai.libs.jaicore.basic.algorithm.AAlgorithm<P extends IHTNPlanningProblem,EvaluatedSearchGraphBasedPlan<V extends java.lang.Comparable<V>,N>>
      • nextWithException

        public ai.libs.jaicore.basic.algorithm.events.AlgorithmEvent nextWithException()                                                                        throws ai.libs.jaicore.basic.algorithm.AlgorithmExecutionCanceledException,                                                                               java.lang.InterruptedException,                                                                               ai.libs.jaicore.basic.algorithm.exceptions.AlgorithmTimeoutedException,                                                                               ai.libs.jaicore.basic.algorithm.exceptions.AlgorithmException
        Throws:
        ai.libs.jaicore.basic.algorithm.AlgorithmExecutionCanceledException
        java.lang.InterruptedException
        ai.libs.jaicore.basic.algorithm.exceptions.AlgorithmTimeoutedException
        ai.libs.jaicore.basic.algorithm.exceptions.AlgorithmException
      • getSearch

        public ai.libs.jaicore.search.core.interfaces.IOptimalPathInORGraphSearch<S,N,A,V> getSearch()
      • getLoggerName

        public java.lang.String getLoggerName()
        Specified by:
        getLoggerName in interface ai.libs.jaicore.basic.ILoggingCustomizable
        Overrides:
        getLoggerName in class ai.libs.jaicore.basic.algorithm.AOptimizer<P extends IHTNPlanningProblem,EvaluatedSearchGraphBasedPlan<V extends java.lang.Comparable<V>,N>,V extends java.lang.Comparable<V>>
      • setLoggerName

        public void setLoggerName(java.lang.String name)
        Specified by:
        setLoggerName in interface ai.libs.jaicore.basic.ILoggingCustomizable
        Overrides:
        setLoggerName in class ai.libs.jaicore.basic.algorithm.AOptimizer<P extends IHTNPlanningProblem,EvaluatedSearchGraphBasedPlan<V extends java.lang.Comparable<V>,N>,V extends java.lang.Comparable<V>>


NOTHING
NOTHING
Add the Maven Dependecy to your project: maven dependecy for com.amazonaws : aws-java-sdk : 1.3.14