Class CoveringNodeEvaluator<N,​A,​V extends java.lang.Comparable<V>>

  • 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.
    • Constructor Detail

      • CoveringNodeEvaluator

        public CoveringNodeEvaluator​(org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<N,​A,​V> ne1,
                                     org.api4.java.ai.graphsearch.problem.pathsearch.pathevaluation.IPathEvaluator<N,​A,​V> ne2)