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. |
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. |
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 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. |
bool | |
Only applies when SolverInstructions.ExamineConstraint is not null . Specifies that the debug output should
use letters A–Z to identify the cells in a puzzle with 26 or fewer cells. Otherwise, numbers from 0 are used. |