๐ฏ
/
๐๐ยท
I usually start checking for updates on Raf Peeters Smart Games puzzle design site in January, but I just got around to checking it out after finding IQ Quub and IQ
โ
โฐ
At the beginning of every year, previews and design discussions are posted of fantastic new challenges to work through and add to your collection!
โญ
๐๐ยท
Using summation for Slitherlink and Killer Sudoku is a natural choice, but Peano's Axioms are insufficient to define the integers using only first order logic. I want
โ
to dig into the theoretical concerns, but I'm going to defer them for now while I try to get some functionality working.
โ
โ
๐๐ยท
I'm a focused on solving logic pencil puzzles as Constraint Satisfaction Problems in part because I'd like to try my hand at a puzzle generator. Perhaps my ambition
โ
to share a monthly or even weekly sheet of puzzles at my local puzzle & game store is misguided, but for now it's on my hopes and dreams list.
โ
โ
๐๐ยท
To even solve the trivial Slitherlink Puzzle (a 1ร1 puzzle with a single โ4โ) semi-symbolically, I'm going to have to up my constraint handling. My plan was to
โ
support constraint expressions - special objects which give some information about an otherwise indeterminate value.
โ
โ
My choice was to wrap a logical formula (another expression) using the variable โ_โ to represent the constraint expression. This could get unweildy, so in practice I
โ
have kept them simple enough to be useful for my current, puzzle-solving purposes.
๐
โ
๐
โ
As an example, if x is โ_โ{1 2}โ and y is โ_โ{2 7}โ we can deduce โx+yโ will satisfy the constraint โ_โ{3 4 8 9}โand we could also deduce from โx=yโ that โx=y=2โ. The
๐
โ
pigeonholer I implemented to solve Sudoku puzzles in โชSilverโซ starts with โ_โ{1โฏ9}โ for blank squares and 27 9-way not-equal expressions using an n-ary โยฌ=โ operator.
๐ฆ
โ
The handling is not Sudoku specific - I'm hoping it will work for a few more puzzles before I tidy things up.
๐
โ
๐ฃ
โ
Which brings me back to the start - I didn't implement constraint expressions properly, and now that I'm counting the number of edges around a square that are on the
๐ช
โ
path, I have to do at least some tidying.
โ
โ
puzzles with formulas defining 10 different puzzle types. Nikoli, the company that popularized โNumber Placeโ puzzles under the Japanese trademark โSudokuโ, publishes
โ
collections in Japan and describes each on their website:
โ
โ
โ
As I get my โชSilverโซ Solver working on each, I'll post my โชSapphireโซ definitions.
โ
โ
๐๐ยท
I started on a formulation of Slitherlink rules in โชSapphireโซ. Connectivity, as a pairwise relation could be easily satisfied by being true for any vertices that are
โ
connected to anything. I ended up defining a distance function with a special value (rather than a distinct relation) for โnot connectedโ. In the next day or two,
โฐ
I'll see how โชSilverโซ does trying to find a satisfying model (aka solution).
1
๐ฎ
๐๐กยท
Here's a link to the Sudoku rules I'm using for my experiments, written in my Sapphire logic syntax. So far, Sapphire supports first order formulae, integer
โฐ
operations and sets of integers. My ad-hoc "Silver Solver" supports partial evaluation and rewriting to try to find a satisfying model.
๐ต
/
๐๐ยท
Square Routes playtesting is just about happening!