Class AAnyPathInORGraphSearch<I extends org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​O extends SearchGraphPath<N,​A>,​N,​A>

  • Type Parameters:
    I -
    N -
    A -
    V -
    NSearch -
    Asearch -
    All Implemented Interfaces:
    java.lang.Iterable<org.api4.java.algorithm.events.IAlgorithmEvent>, java.util.concurrent.Callable<O>, java.util.Iterator<org.api4.java.algorithm.events.IAlgorithmEvent>, org.api4.java.ai.graphsearch.problem.IPathInORGraphSearch<I,​O,​N,​A>, org.api4.java.ai.graphsearch.problem.IPathSearch<I,​O,​N,​A>, org.api4.java.algorithm.IAlgorithm<I,​O>, org.api4.java.algorithm.ISolutionCandidateIterator<I,​O>, org.api4.java.common.control.ICancelable, org.api4.java.common.control.ILoggingCustomizable, org.api4.java.common.event.IEventEmitter<java.lang.Object>, org.api4.java.common.event.IRelaxedEventEmitter
    Direct Known Subclasses:
    DepthFirstSearch, RandomSearch

    public abstract class AAnyPathInORGraphSearch<I extends org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​O extends SearchGraphPath<N,​A>,​N,​A>
    extends ai.libs.jaicore.basic.algorithm.ASolutionCandidateIterator<I,​O>
    implements org.api4.java.ai.graphsearch.problem.IPathInORGraphSearch<I,​O,​N,​A>
    This is a template for algorithms that aim at finding paths from a root to goal nodes in a graph. This template does not assume paths to have a score. The output type of this algorithm is fixed to EvaluatedSearchGraphPath
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.api4.java.datastructure.graph.implicit.IGraphGenerator<N,​A> getGraphGenerator()  
      java.lang.String getLoggerName()  
      protected GraphSearchSolutionCandidateFoundEvent<N,​A,​O> registerSolution​(O path)  
      void setLoggerName​(java.lang.String name)  
      • Methods inherited from class ai.libs.jaicore.basic.algorithm.ASolutionCandidateIterator

        call, collectAllSolutions, nextSolutionCandidate, nextSolutionCandidateEvent
      • Methods inherited from class ai.libs.jaicore.basic.algorithm.AAlgorithm

        activate, announceTimeoutDetected, avoidReinterruptionOnShutdownOnCurrentThread, cancel, checkAndConductTermination, checkTermination, computeTimeoutAware, getActivationTime, getConfig, getDeadline, getId, getInput, getListeners, getNumCPUs, getRemainingTimeToDeadline, getState, getTimeout, getTimeoutPrecautionOffset, hasNext, hasThreadBeenInterruptedDuringShutdown, interruptThreadAsPartOfShutdown, isCanceled, isShutdownInitialized, isStopCriterionSatisfied, isTimeoutDefined, isTimeouted, iterator, next, post, registerActiveThread, registerListener, resolveShutdownInterruptOnCurrentThread, setConfig, setDeadline, 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 org.api4.java.algorithm.IAlgorithm

        call, getConfig, getId, getInput, getNumCPUs, getTimeout, nextWithException, registerListener, setMaxNumThreads, setNumCPUs, setTimeout, setTimeout
      • Methods inherited from interface org.api4.java.common.control.ICancelable

        cancel
      • Methods inherited from interface org.api4.java.algorithm.ISolutionCandidateIterator

        nextSolutionCandidate, nextSolutionCandidateEvent
      • Methods inherited from interface java.lang.Iterable

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

        forEachRemaining, hasNext, next, remove
    • Constructor Detail

      • AAnyPathInORGraphSearch

        public AAnyPathInORGraphSearch​(I problem)
      • AAnyPathInORGraphSearch

        protected AAnyPathInORGraphSearch​(ai.libs.jaicore.basic.IOwnerBasedAlgorithmConfig config,
                                          I problem)
    • Method Detail

      • getGraphGenerator

        public org.api4.java.datastructure.graph.implicit.IGraphGenerator<N,​A> getGraphGenerator()
        Specified by:
        getGraphGenerator in interface org.api4.java.ai.graphsearch.problem.IPathSearch<I extends org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​O extends SearchGraphPath<N,​A>,​N,​A>
      • setLoggerName

        public void setLoggerName​(java.lang.String name)
        Specified by:
        setLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
        Overrides:
        setLoggerName in class ai.libs.jaicore.basic.algorithm.AAlgorithm<I extends org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​O extends SearchGraphPath<N,​A>>
      • getLoggerName

        public java.lang.String getLoggerName()
        Specified by:
        getLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
        Overrides:
        getLoggerName in class ai.libs.jaicore.basic.algorithm.AAlgorithm<I extends org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​O extends SearchGraphPath<N,​A>>