Class SearchTreeNode.Settings
java.lang.Object
gametree.SearchTreeNode.Settings
- All Implemented Interfaces:
Serializable
- Enclosing class:
SearchTreeNode<P extends IGamePosition<P>>
A class that stores the settings for a
SearchTreeNode tree. All nodes
in the tree hold a reference to the same SearchTreeNode.Settings object that was used to
initialise the tree. The Settings object also holds temporary information
such as whether the tree has been frozen (to prevent expansions) or whether pruning
is enabled (to reduce memory usage).- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionbooleanbooleanlonglongbooleanbooleanboolean -
Constructor Summary
ConstructorsConstructorDescriptionSettings()Settings(boolean enable_position_pruning, long minimum_depth_to_prune_positions, boolean enable_irrelevance_pruning, long minimum_depth_to_prune_irrelevance, boolean incorrect_bounds_protection) [NOTE] if'enable_position_pruning','enable_irrelevance_pruning'and'incorrect_bounds_protection'are alltrue, re-visited irrelevant nodes may trigger anullerror.Settings(long minimum_depth_to_prune_positions, long minimum_depth_to_prune_irrelevance) Settings(long minimum_depth_to_prune_positions, long minimum_depth_to_prune_irrelevance, boolean incorrect_bounds_protection) -
Method Summary
-
Field Details
-
frozen
public boolean frozen -
allow_manual_edits
public boolean allow_manual_edits -
prune_positions
public boolean prune_positions -
position_pruning_depth
public long position_pruning_depth -
prune_irrelevance
public boolean prune_irrelevance -
irrelevance_pruning_depth
public long irrelevance_pruning_depth -
prune_irrelevance_light
public boolean prune_irrelevance_light
-
-
Constructor Details
-
Settings
public Settings() -
Settings
public Settings(long minimum_depth_to_prune_positions, long minimum_depth_to_prune_irrelevance) -
Settings
public Settings(long minimum_depth_to_prune_positions, long minimum_depth_to_prune_irrelevance, boolean incorrect_bounds_protection) -
Settings
public Settings(boolean enable_position_pruning, long minimum_depth_to_prune_positions, boolean enable_irrelevance_pruning, long minimum_depth_to_prune_irrelevance, boolean incorrect_bounds_protection) [NOTE] if'enable_position_pruning','enable_irrelevance_pruning'and'incorrect_bounds_protection'are alltrue, re-visited irrelevant nodes may trigger anullerror. To prevent this, disable'enable_position_pruning'in any trees with a (partially) incorrect evaluation function (bounds that are not 100% accurate).- Parameters:
enable_position_pruning- to enable the pruning of irrelevant game positions (not recommended if the evaluation function has incorrect bounds)minimum_depth_to_prune_positions- the minimum depth from which positions will be prunedenable_irrelevance_pruning- to enable the pruning of irrelevant nodesminimum_depth_to_prune_irrelevance- the minimum depth from which irrelevant nodes will be prunedincorrect_bounds_protection- keeps nodes otherwise pruned by irrelevance pruning around, but only removes their children. Requires theGameTreeNode.position()to not benullif ever revisited by the search.
-