Module solvers

Module solvers 

Source
Expand description

This module defines different Solvers related to strategies, in particular the partial StrategicSolver and the perfect StrategicBacktrackingSolver. All of them are re-exported in crate::solver::strategy, so you should not have to use anything from this module directly.

Structsยง

StrategicBacktrackingSolver
A perfect Solver which uses a Strategy to accelerate the solving process. Under the assumption that the strategy is correct, this should yield the same result as a BacktrackingSolver. Note that using a complicated strategy can also reduce performance if its utility is too low.
StrategicSolver
A partial Solver which uses a Strategy to solve a Sudoku as well as possible. If it finds a contradiction, it will conclude that the Sudoku is impossible. If it cannot solve it, it will resort to returning Solution::Ambiguous. Only if the wrapped strategy is able to solve the Sudoku completely, a Solution::Unique variant is returned.