backtrex
backtrex copied to clipboard
Backtracking behaviour to solve discrete problems by brute force
Currently the Sudoku solver is the only example. ## Motivation - Demos can help people realize the wide applicability of backtracking. - Sudoku doesn't leverage the API's full flexibility. For...
Originally this objective was raised in #12, but is now tracked here.
Once #12 is finished I'll have a fairly easy way to analyze performance of the codebase at a particular commit, but as changes are made to any Backtrex backend, implemented...
#12 is motivated by internal QA concerns, but would also be useful for users wanting to optimize their Backtrex behaviours. It could also help them identify inefficiencies in Backtrex. The...
Backtracking problems are embarrassingly parallel, and `Backtrex` should exploit that internally. After the core API is stabilized, including implementing #2, split the search space into multiple sub-problems and delegate them...
The existing sequential implementation should be optimized. Issue #3 considers ways to optimize the search through concurrency, thereby adding the ability to parallelize and distribute work. Regardless of the solution...
While working on #5, #6, and #3 we're likely to find bottlenecks in the examples. As they're discovered, make note of them in an ongoing experience report. Periodically distill these...
#3 is expected to reduce the time it takes to find the requested number of solutions, and seems like the best initial approach for adding concurrency. However, there may be...
Problems can have multiple solutions, but Backtrex currently returns the first one it finds. Instead it should return a lazy Stream of all of solutions (even if there's infinitely many!)....