This is a work in progress.
Gambit is a Rust library to do Symbolic regression using Monte-Carlo tree search.
In practice, given a grammar and a way to evaluate a formula that respects the grammar, it can optimise structures such as :
- a mathematical formula
- a program
- the architecture of an artificial neural network
- ...
The classical approach to solve this problem is to use Genetic algorithms, however they tend to be very sensitiv to their parameters and (as a consequence) slow.
TODO
TODO
The interface has been influenced by the very good gramEvol R package (which uses genetic algorithm in order to perform symbolic regression).
Tristan Cazenave previously explored the use of Monte-Carlo tree search to perform symbolic regression. However, in his work, he showed that, while promising, the UCT algorithm performs poorly for the task. We solve the problem with an alternativ algorithm that perform significantly better on our benchmarks.