Class BestFirstEpsilon<T,A,W extends java.lang.Comparable<W>>
- 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<I,EvaluatedSearchGraphPath<N,A,V>,V>
-
- ai.libs.jaicore.search.core.interfaces.AOptimalPathInORGraphSearch<I,N,A,V>
-
- ai.libs.jaicore.search.algorithms.standard.bestfirst.BestFirst<GraphSearchWithSubpathEvaluationsInput<N,A,V>,N,A,V>
-
- ai.libs.jaicore.search.algorithms.standard.bestfirst.StandardBestFirst<T,A,java.lang.Double>
-
- ai.libs.jaicore.search.algorithms.standard.bestfirst.BestFirstEpsilon<T,A,W>
-
- All Implemented Interfaces:
java.lang.Iterable<org.api4.java.algorithm.events.IAlgorithmEvent>
,java.util.concurrent.Callable<EvaluatedSearchGraphPath<T,A,java.lang.Double>>
,java.util.Iterator<org.api4.java.algorithm.events.IAlgorithmEvent>
,org.api4.java.ai.graphsearch.problem.IOptimalPathInORGraphSearch<GraphSearchWithSubpathEvaluationsInput<T,A,java.lang.Double>,EvaluatedSearchGraphPath<T,A,java.lang.Double>,T,A,java.lang.Double>
,org.api4.java.ai.graphsearch.problem.IPathInORGraphSearch<GraphSearchWithSubpathEvaluationsInput<T,A,java.lang.Double>,EvaluatedSearchGraphPath<T,A,java.lang.Double>,T,A>
,org.api4.java.ai.graphsearch.problem.IPathSearch<GraphSearchWithSubpathEvaluationsInput<T,A,java.lang.Double>,EvaluatedSearchGraphPath<T,A,java.lang.Double>,T,A>
,org.api4.java.algorithm.IAlgorithm<GraphSearchWithSubpathEvaluationsInput<T,A,java.lang.Double>,EvaluatedSearchGraphPath<T,A,java.lang.Double>>
,org.api4.java.algorithm.IOptimizationAlgorithm<GraphSearchWithSubpathEvaluationsInput<T,A,java.lang.Double>,EvaluatedSearchGraphPath<T,A,java.lang.Double>,java.lang.Double>
,org.api4.java.algorithm.ISolutionCandidateIterator<GraphSearchWithSubpathEvaluationsInput<T,A,java.lang.Double>,EvaluatedSearchGraphPath<T,A,java.lang.Double>>
,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
public class BestFirstEpsilon<T,A,W extends java.lang.Comparable<W>> extends StandardBestFirst<T,A,java.lang.Double>
A* algorithm implementation using the method design pattern.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ai.libs.jaicore.search.algorithms.standard.bestfirst.BestFirst
BestFirst.ParentDiscarding
-
-
Field Summary
-
Fields inherited from class ai.libs.jaicore.search.algorithms.standard.bestfirst.BestFirst
activeJobs, additionalThreadsForNodeAttachment, ext2int, graphGenerator, nodeEvaluator, open, pathGoalTester, pendingSolutionFoundEvents, rootGenerator, solutions, successorGenerator
-
-
Constructor Summary
Constructors Constructor Description BestFirstEpsilon(GraphSearchWithSubpathEvaluationsInput<T,A,java.lang.Double> problem, org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<T,A,W> pSecondaryNodeEvaluator, double epsilon, boolean absolute)
BestFirstEpsilon(GraphSearchWithSubpathEvaluationsInput<T,A,java.lang.Double> problem, org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<T,A,W> pSecondaryNodeEvaluator, int epsilon)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getEpsilon()
java.lang.String
getLoggerName()
boolean
isAbsolute()
void
setLoggerName(java.lang.String name)
-
Methods inherited from class ai.libs.jaicore.search.algorithms.standard.bestfirst.BestFirst
afterExpansion, afterInitialization, afterSelection, beforeExpansion, beforeSelection, bootstrap, expandNextNode, getAdditionalThreadsForExpansion, getConfig, getCreatedCounter, getCurrentPathToNode, getExpandedCounter, getFValue, getFValue, getInternalRepresentationOf, getLocalVersionOfNode, getNodeAnnotation, getNodeAnnotations, getNodeEvaluator, getOpen, getSolutionQueue, getTimeoutForComputationOfF, initGraph, insertNodeIntoLocalGraph, isShutdownComplete, labelNode, newNode, newNode, nextNodeExpansion, nextSolutionThatDominatesOpen, nextWithException, onFValueReceivedEvent, receiveNodeAnnotationEvent, receiveRolloutEvent, receiveSolutionCandidateAnnotationEvent, receiveSolutionCandidateEvent, registerSolution, selectNodeForNextExpansion, selectNodeForNextExpansion, setOpen, setTimeoutForComputationOfF, shutdown, toDetailedString, toString
-
Methods inherited from class ai.libs.jaicore.search.core.interfaces.AOptimalPathInORGraphSearch
getGoalTester, getGraphGenerator, nextSolutionCandidateEvent
-
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, 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, terminate, unregisterActiveThread, unregisterThreadAndShutdown
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.api4.java.algorithm.IAlgorithm
call, getId, getInput, getNumCPUs, getTimeout, registerListener, setMaxNumThreads, setNumCPUs, setTimeout, setTimeout
-
-
-
-
Method Detail
-
isAbsolute
public boolean isAbsolute()
-
getEpsilon
public double getEpsilon()
-
getLoggerName
public java.lang.String getLoggerName()
- Specified by:
getLoggerName
in interfaceorg.api4.java.common.control.ILoggingCustomizable
- Overrides:
getLoggerName
in classBestFirst<GraphSearchWithSubpathEvaluationsInput<T,A,java.lang.Double>,T,A,java.lang.Double>
-
setLoggerName
public void setLoggerName(java.lang.String name)
- Specified by:
setLoggerName
in interfaceorg.api4.java.common.control.ILoggingCustomizable
- Overrides:
setLoggerName
in classBestFirst<GraphSearchWithSubpathEvaluationsInput<T,A,java.lang.Double>,T,A,java.lang.Double>
-
-