Class SimpleHeuristicFunction
java.lang.Object
com.aoindustries.aoserv.cluster.optimize.SimpleHeuristicFunction
- All Implemented Interfaces:
ResultHandler<Object>
,HeuristicFunction
public class SimpleHeuristicFunction
extends Object
implements HeuristicFunction, ResultHandler<Object>
Simply counts the non-optimal nodes, adds
g
to prefer shorter paths.
This is not thread safe.
- Author:
- AO Industries, Inc.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondouble
getHeuristic
(ClusterConfiguration clusterConfiguration, int g) Estimates the number of moves to an optimal state.boolean
handleResult
(Result<?> result) Each result is provided as it is generated instead of building into lists.
-
Constructor Details
-
SimpleHeuristicFunction
public SimpleHeuristicFunction()
-
-
Method Details
-
getHeuristic
Description copied from interface:HeuristicFunction
Estimates the number of moves to an optimal state. If it uses the providedg
g(n) it will result in Algorithm A. If it also always uses h(n) <= h*(n) it will result in Algorithm A*.- Specified by:
getHeuristic
in interfaceHeuristicFunction
- Parameters:
clusterConfiguration
- TheClusterConfiguration
representing the current state.g
- The number of moves already made.- Returns:
- The estimated number of moves to an optimal state
-
handleResult
Description copied from interface:ResultHandler
Each result is provided as it is generated instead of building into lists.- Specified by:
handleResult
in interfaceResultHandler<Object>
- Returns:
- true if more results are wanted, or false to receive no more results.
-