Reference · Rules, solvers and generation
sparseCandidatefunction
One sparse candidate level, or null. From a filling proved to have one
answer, lines are joined one join at a time, in a random order, and a join is
kept only while the board still has exactly one answer — so what is left is
as few lines as this filling allows without a second answer creeping in. A
board that does not get down to sparseMost is dropped.
Import it
import { sparseCandidate } from "@johnmorrisdotca/tsunagi";
Definition
function sparseCandidate(size: number, random: Random, budget: number): LinkCandidate | null
Parameters
| Name | Type | Description |
|---|---|---|
size | number | The number of cells on each side of the board. |
random | Random | A reproducible random source returning values in [0,1). |
budget | number | The maximum search-work budget; exhaustion must be treated as inconclusive. |
Returns
LinkCandidate | null
One sparse candidate level, or null. From a filling proved to have one answer, lines are joined one join at a time, in a random order, and a join is kept only while the board still has exactly one answer — so what is left is as few lines as this filling allows without a second answer creeping in. A board that does not get down to sparseMost is dropped.
Examples
import { seededRandom, sparseCandidate } from "@johnmorrisdotca/tsunagi";
console.log(sparseCandidate(4,seededRandom(42),20000));