Serialized Form
-
Package gametree
-
Class gametree.ArtificialGamePosition
class ArtificialGamePosition extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
bounds_set
boolean bounds_set
trueif the bounds for this node have already been computed.falseif not. getters forArtificialGamePosition.upper,ArtificialGamePosition.lower, andArtificialGamePosition.depthwill call theArtificialGamePosition.setBounds()method ifArtificialGamePosition.bounds_setisfalse. -
depth
long depth
The depth of this node, where the root node is depth0and the children of a node have a relative depth of+1. -
lower
long lower
The lower-bound value of this node as per the description ofIGamePosition.lowerbound(). -
maximising
boolean maximising
trueif this node is a maximising node.falseif this node is a minimising node. -
name
BigInteger name
Name of this node which denotes its position in the tree. Nodes are named after their parent node and their position relative to their sibling nodes. The root node is always named0.For example, a node named
100in a tree withArtificialGamePosition.Settings.width== 5has children named501, 502, 503, 504,and505. -
name64
long name64
The last 64 bits ofArtificialGamePosition.name. -
settings
ArtificialGamePosition.Settings settings
TheArtificialGamePosition.Settingsobject which characterises the tree this node is from. -
upper
long upper
The upper-bound value of this node as per the description ofIGamePosition.upperbound().
-
-
Class gametree.ArtificialGamePosition.Settings
class Settings extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
adversarial
boolean adversarial
Whether or not this tree is an adversarial game tree. Iftrue, nodes alternate between maximising and minimising nodes (starting at maximising). Iffalse, all nodes are maximising nodes. Adversarial game trees depict games with two opposing players. Non-adversarial game trees depict games with only one player (or multiple co-operating players). -
force_relevance_chance
double force_relevance_chance
Parameter r, relevance chance, only relevant when the growth factorgis greater than 1. Enforces that, for a fractionrof child nodes of each parent, the child bound overlaps with the parent bound. Such that either the upper or lower bound is forced to be generated within the parent bound, depending on whether the node is minimising or maximising respectively. -
growth_factor
double growth_factor
Parameter g, growth factor, always> 0, typically>= 1, dictates how much child bounds may maximally diverge from their parents' bounds in a single generation, as a factor of the parent's range:|Upper - Lower|. Forg=1, all children values are bound by the optimistic and pessimistic values of their parents. Forg>1children may have bounds greater than their parents. Forg < 1children bounds are always smaller than their parents' bounds. -
initial_range
long initial_range
Initial range R at the root node of this tree. The root node will start with lower- and upper-bounds0andinitial_range. Has to be greater than0for the tree to be non-trivial. -
initial_seed
long initial_seed
The pseudo-random number generator seed of the first node in the tree (S₀). Dictates the unique generation of the entire tree. A tree with the same settings, including the same initial seed, will always have the same structure no matter the order of expansion/exploration. -
memory_saver
boolean memory_saver
Not a tree generation parameter, but an implementation-specific one. Iftrue, only the last 64 bits of the names of nodes are stored. This has no effect on the regular functions of the tree, nor on its distribution. But it disables random access for this tree, as well as losing information of node heritage after only a short number of ancestors (depending on the branching factorArtificialGamePosition.Settings.width). The benefit is significantly reduced memory usage, especially for very deep trees. Iffalse, nodes are stored as usual. -
num_alts
int num_alts
Parameter k, number of values,>=2, denotes the number of valueskthat are generated to build the upper and lower bounds of each child node. To generate children bounds, we randomly samplekvalues from a uniform distribution between some outer bound determined by the parent and the growth factor. The upper bound is taken to be the maximum of thesekvalues, whereas the lower bound is the minimum. -
width
int width
Parameter b, the branching factor or width of the tree,>=2, denotes the number of children nodes that each non-terminal node in the game-tree has.
-
-
Class gametree.DepthFirstNode
class DepthFirstNode extends GameTreeNode<DepthFirstNode<P extends IGamePosition<P>>, P extends IGamePosition<P>> implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
depthLower
long depthLower
-
depthUpper
long depthUpper
-
evaluated
boolean evaluated
-
lower
double lower
-
upper
double upper
-
-
Class gametree.GameTreeNode
class GameTreeNode extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
depth
long depth
TheGameTreeNode.depth()of this node. This is0at the root. -
parent
N extends GameTreeNode<N,
P> parent TheGameTreeNodeobject of theGameTreeNode.parent()to this node. -
personal_metrics
MetricKeeper[] personal_metrics
-
position
P extends IGamePosition<P> position
The gameGameTreeNode.position()this node represents.
-
-
Class gametree.ResultTreeNode
class ResultTreeNode extends GameTreeNode<ResultTreeNode<N extends GameTreeNode<N,P>, P extends IGamePosition<P>, Q extends IGamePosition<Q>>, Q extends IGamePosition<Q>> implements Serializable - serialVersionUID:
- 1L
-
Serialized Fields
-
original
N extends GameTreeNode<N,
P> original -
transformer
Function<P extends IGamePosition<P>, Q extends IGamePosition<Q>> transformer
-
-
Class gametree.SearchTreeNode
class SearchTreeNode extends GameTreeNode<SearchTreeNode<P extends IGamePosition<P>>, P extends IGamePosition<P>> implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
children
ArrayList<SearchTreeNode<P extends IGamePosition<P>>> children
children are kept in memory. This value may benullif the node has not yet been expanded. The array will be empty if the node has been expanded and either (1) its children have been pruned during search, or (2) it is a terminal node. -
depthLower
long depthLower
-
depthUpper
long depthUpper
-
evaluated
boolean evaluated
-
expanded
boolean expanded
-
lowerbound
double lowerbound
-
maximising
boolean maximising
-
settings
SearchTreeNode.Settings settings
-
upperbound
double upperbound
-
-
Class gametree.SearchTreeNode.Settings
class Settings extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
allow_manual_edits
boolean allow_manual_edits
-
frozen
boolean frozen
-
irrelevance_pruning_depth
long irrelevance_pruning_depth
-
position_pruning_depth
long position_pruning_depth
-
prune_irrelevance
boolean prune_irrelevance
-
prune_irrelevance_light
boolean prune_irrelevance_light
-
prune_positions
boolean prune_positions
-
-
-
Package test
-
Class test.SimpleNode
class SimpleNode extends GameTreeNode<SimpleNode<P extends IGamePosition<P>>, P extends IGamePosition<P>> implements Serializable- serialVersionUID:
- 1L
-
Class test.SimplePosition
class SimplePosition extends Object implements Serializable- serialVersionUID:
- 1L
-
Serialized Fields
-
children
ArrayList<SimplePosition> children
-
lowerbound
double lowerbound
-
maximising
boolean maximising
-
parent
SimplePosition parent
-
upperbound
double upperbound
-
-