Package gametree


package gametree
Various classes for storing and generating game trees for the use by algorithms and tree visualisation.

This package contains game tree classes (such as search trees and depth-first trees) and game position classes (such as artificial game trees). Game trees store the progress of the search of a game, whereas game positions represent the tree of the game itself, which generates its underlying structure.

The underlying structure of this package relies on the GameTreeNode abstract (for game trees) and the IGamePosition interface (for game positions).
The main implementations used in this thesis are:

  • The SearchTreeNode (game tree) class for storing best-first trees for algorithms.
  • The DepthFirstNode (game tree) class for storing depth-first trees for algorithms.
  • The ArtificialGamePosition (game position) class for generating artificial game trees, the main domain we test algorithms on.
  • The MetricKeeper (utility) class used by algorithms to keep track of their computational cost during the search.
Additionally, we provide a more generalised class for generating artificial game trees with VariantAGP. This implementation uses Generator interfaces to replace the branching factor and bounds generation aspects of artificial game trees with flexible function implementations.