This class can insert and search text in a Burkhard-Keller tree.
It takes a text string as base term and can insert other terms in a Burkhard-Keller tree consider their Levenshtein distance value relative to the base term.
The class can also query the tree to find similar terms with a Levenshtein distance smaller than a given value.
Figure what to test next when testing many factors
This class can be used to figure what to test next when testing many factors.
It uses the multi-armed bandit algorithm to test several groups of factors and iteratively propose a new option to be tested as eventual the best.
The class can retrieve and store the values for the groups of factors to be tested using functions that can be overridden by sub-classes which can store and retrieve the values in any type of storage like files and databases.