Summary
Use this to instruct the puzzle solver (
Puzzle.Solve(SolverInstructions)) to perform certain types
of analysis for the debugging of constraint implementations.
Constructors
Instance fields
string | |
If not null , the solver outputs extremely verbose information to this file describing the solving
process. |
int[] | |
Specifies a tentative priority list of cells to consider first during solve. This is not strictly adhered to
and only provides a small guidance for some puzzles. |
Func<Constraint, bool> | |
When this and SolverInstructions.IntendedSolution are not null , limits the set of constraints to examine.
This may be necessary for speed reasons. |
Func<int, string> | |
Only applies when SolverInstructions.IntendedSolution is not null . Specifies how the debug output should
identify the cells in a puzzle (locations where digits are entered). When not specified, the cells are
numbered from 0. |
Func<int, string> | |
Only applies when SolverInstructions.IntendedSolution is not null . Specifies how the debug output should
identify the values in a puzzle (the digits that are being entered into the cells). When not specified, the
values are numbered from Puzzle.MinValue. |
int[] | |
When this is not null , the solver determines at which point during the solve process one of these
constraints eliminates the intended solution. This is for debugging constraints that rule out solutions when
they shouldn’t. |
object | |
If not null , the solver will obtain a lock on this object while outputting information to the console
(SolverInstructions.ShowContinuousProgress) or a file (SolverInstructions.BulkLoggingFile). |
Random | |
Uses a specific RNG to randomize the solver. When “solving” a puzzle with multiple solutions, this allows the
solver to pick one at random. |
int? | | Shows the first n cells of the solver’s recursive process on the console. |
int? | | Leaves a number of columns on the left of the console window beside the debug display. |
int? | | Leaves a number of rows at the top of the console window above the debug display. |
bool | |
Only show candidate values for each cell; useful when cells can have many possible values but the majority of
them are not applicable most of the time. |
int? | |
Specifies a cell value to prioritize when filling the grid. This has no effect if SolverInstructions.Randomizer is
specified. |