- Type Parameters:
N
-
V
-
- All Implemented Interfaces:
org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.ICancelablePathEvaluator
, org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<N,A,V>
, org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPotentiallyGraphDependentPathEvaluator<N,A,V>
, org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPotentiallySolutionReportingPathEvaluator<N,A,V>
, org.api4.java.common.attributedobjects.IGetter<org.api4.java.datastructure.graph.ILabeledPath<N,A>,V>
, org.api4.java.common.attributedobjects.IObjectEvaluator<org.api4.java.datastructure.graph.ILabeledPath<N,A>,V>
, org.api4.java.common.control.ILoggingCustomizable
public class CoveringNodeEvaluator<N,A,V extends java.lang.Comparable<V>>
extends AlternativeNodeEvaluator<N,A,V>
implements org.api4.java.common.control.ILoggingCustomizable
This node evaluator allows to use pair of two node evaluators of which the first is HIDDEN by the second.
The first evaluator is executed and its events are published via the event bus, but its result is not returned.
This can be useful, for example, to collect solutions via a random completions within a node evaluation but using a different computation to return the true score.
A typical case of application is a Branch and Bound algorithm, where the returned value is an optimistic heuristic, but a set of solutions is computed to maybe
register new best solutions.