Class GraphSanityChecker<N,​A>

  • All Implemented Interfaces:
    java.lang.Iterable<org.api4.java.algorithm.events.IAlgorithmEvent>, java.util.concurrent.Callable<EvaluatedSearchGraphPath<N,​A,​java.lang.Double>>, java.util.Iterator<org.api4.java.algorithm.events.IAlgorithmEvent>, org.api4.java.ai.graphsearch.problem.IOptimalPathInORGraphSearch<org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​EvaluatedSearchGraphPath<N,​A,​java.lang.Double>,​N,​A,​java.lang.Double>, org.api4.java.ai.graphsearch.problem.IPathInORGraphSearch<org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​EvaluatedSearchGraphPath<N,​A,​java.lang.Double>,​N,​A>, org.api4.java.ai.graphsearch.problem.IPathSearch<org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​EvaluatedSearchGraphPath<N,​A,​java.lang.Double>,​N,​A>, org.api4.java.algorithm.IAlgorithm<org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​EvaluatedSearchGraphPath<N,​A,​java.lang.Double>>, org.api4.java.algorithm.IOptimizationAlgorithm<org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​EvaluatedSearchGraphPath<N,​A,​java.lang.Double>,​java.lang.Double>, org.api4.java.algorithm.ISolutionCandidateIterator<org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​EvaluatedSearchGraphPath<N,​A,​java.lang.Double>>, org.api4.java.common.control.ICancelable, org.api4.java.common.control.ILoggingCustomizable

    public class GraphSanityChecker<N,​A>
    extends AOptimalPathInORGraphSearch<org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​N,​A,​java.lang.Double>
    • Constructor Summary

      Constructors 
      Constructor Description
      GraphSanityChecker​(org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A> problem, int maxNodesToExpand)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getLoggerName()  
      SanityCheckResult getSanityCheck()  
      boolean isDetectCycles()  
      boolean isDetectDeadEnds()  
      org.api4.java.algorithm.events.IAlgorithmEvent nextWithException()  
      void setDetectCycles​(boolean detectCycles)  
      void setDetectDeadEnds​(boolean detectDeadEnds)  
      void setLoggerName​(java.lang.String name)  
      • Methods inherited from class ai.libs.jaicore.basic.algorithm.AOptimizer

        call, getBestScoreKnownToExist, getBestSeenSolution, nextSolutionCandidate, setBestSeenSolution, tellAboutBestScoreKnownToExist, 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, cancel, checkAndConductTermination, checkTermination, computeTimeoutAware, getActivationTime, getConfig, getId, getInput, getListeners, getNumCPUs, getRemainingTimeToDeadline, getState, getTimeout, getTimeoutPrecautionOffset, hasNext, hasThreadBeenInterruptedDuringShutdown, interruptThreadAsPartOfShutdown, isCanceled, isShutdownInitialized, isStopCriterionSatisfied, 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, 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
      • Methods inherited from interface java.lang.Iterable

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

        forEachRemaining, hasNext, next, remove
    • Constructor Detail

      • GraphSanityChecker

        public GraphSanityChecker​(org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A> problem,
                                  int maxNodesToExpand)
    • Method Detail

      • nextWithException

        public org.api4.java.algorithm.events.IAlgorithmEvent nextWithException()
                                                                         throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • getLoggerName

        public java.lang.String getLoggerName()
        Specified by:
        getLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
        Overrides:
        getLoggerName in class AOptimalPathInORGraphSearch<org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​N,​A,​java.lang.Double>
      • setLoggerName

        public void setLoggerName​(java.lang.String name)
        Specified by:
        setLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
        Overrides:
        setLoggerName in class AOptimalPathInORGraphSearch<org.api4.java.ai.graphsearch.problem.IPathSearchInput<N,​A>,​N,​A,​java.lang.Double>
      • isDetectCycles

        public boolean isDetectCycles()
      • setDetectCycles

        public void setDetectCycles​(boolean detectCycles)
      • isDetectDeadEnds

        public boolean isDetectDeadEnds()
      • setDetectDeadEnds

        public void setDetectDeadEnds​(boolean detectDeadEnds)