Monday, March 24, 2014

Hexadecimal Sudoku

I once wrote a puzzle book full of Hexadecimal Sudoku puzzles.  I was a bit hasty in my publication of this  book, and as a result, I had a large number of "non-linear" puzzles.  These are puzzles with more than one valid solution.  Since that time I've worked, as the question re-emerged in my mind again and again, to find a proper algorithm for detecting these divergent puzzles.

I nearly resorted to creating an " automatic puzzle solver" in Prolog as intuition tells me that it should be simple to test the puzzle as being "valid" or "invalid."  This is because Prolog is EXCEPTIONALLY good at performing logical operations (symbolic logic).  This language is a philosophy student's DREAM proof-maker.  It does "truth-trees" in nothing flat, and goal-oriented programming is very intuitive.  It may take a little "getting used to" when it comes to the syntax versus other programs, but once you're going, it does game-play, predator-prey modeling, and other AI operations quite well.

Before I invested too much time in making this program, I went back to VB where I started this application originally and started on a new algorithm for making the puzzles based on some of the examples I was seeing in the 9X9 puzzle-generating codes freely available and found that those generators were often prone to the same pitfalls mine were.  I started a few fully-random solution generator methods and was exceedingly disappointed at the 100% rate of painting themselves into corners by 60%.  BUT the traversing methods I was playing with exposed a test method (or a few) that I could use to identify the signs of non-linearity in the puzzle and thus fit it.

SO...  I've included a puzzle here and if I see quick propagation of this message then I will initiate a new blog page for Hexadecimal Sudoku Puzzles.



I'll post today's solution next week Monday.

Feel free to leave comments if you enjoy puzzles like this.

No comments:

Post a Comment