transposition (and hash collision) -aware nodes
use a custom hash table to store mcts nodes for constant-time lookups and locklessness
use a custom hash set rather than a std::set in backprop for constant-time access
use std::unordered_set instead of custom hash set, and use a vector to store parents
reinstate some kind of timing
store references to parents as pointers rather than hashes
measure in a way that we can detect slowdowns due to potentially exponentially growing number of ancestors
these were intended to be inlined
enable link-time optimization
use a set to store parents
avoid allocating the node table on the stack
Merge branch 'feature/transposition-table' into develop
force inlining
estimate change in variance per sample to score exploration
pass time budget to MCTSAgent::start_decision()
Merge branch 'develop' into feature/variance-derivative
use an estimate of the derivative of the mean and a little bit of noise to encourage exploration
don't close over time_budget by reference
one minute of decision time when playing through xboard
Merge branch 'feature/variance-derivative' into develop