Module sudoku_variants::solver::strategy::impls[][src]

This module contains all pre-defined strategies provided by this crate. All of them are re-exported in crate::solver::strategy, so you should not have to use anything from this module directly.

Structs

BoundedCellsBacktrackingStrategy

A Strategy which looks for groups in which some number can only occur in a limited number of cells (up to a specified maximum) and tries all of them. It then uses a wrapped strategy to find deductions in all paths. If any of those deductions hold for all options, they are stored in the metadata.

BoundedOptionsBacktrackingStrategy

A Strategy which looks for cells with few options (up to a specified maximum) and tries all of them. It then uses a wrapped strategy to find deductions in all paths. If any of those deductions hold for all options, they are stored in the metadata.

CompositeStrategy

A Strategy which uses two strategies by first applying one and then the other on the output of the first one. If any child changed the state, this strategy is defined to have changed the state aswell.

NakedSingleStrategy

A Strategy which detects naked singles, that is, cells which only have one possible value, and enters them into the Sudoku.

NoStrategy

A Strategy which does nothing. This is to be used in backtracking strategies to define that no further logic shall be applied after trying an option.

OnlyCellStrategy

A Strategy which detects situations in which a digit can only go in one cell of a group.

TupleStrategy

A Strategy which searches groups for tuples, that is, 2 or more cells that in total have as many options as there are cells in the tuple. It then excludes all of these options from all cells in the group which are not a part of the tuple.