Cleanup Time

November 19th, 2007

Javascript

February 16th, 2007

I’m still here…

A new interesting daytime job is eating away a lot of my time. 55 hours each week. Eat-sleep-family consumes another 70 hours. Producing the daily and weekly puzzles takes about 4 hours per week. Moderating 4 forums and keeping up with 3 others and keeping Sudopedia tidy takes 14 hours per week. That leaves 25 hours to do some Sudoku-related programming and website improvements. Choices need to be made.

The Lite page on SudoCue.net now has a Javascript helper. This gives me some hands-on experience with Javascript (needed for my daytime job) and it reduces traffic, because players do not need to make server roundtrips to check the results, add pencilmarks or apply filters. Given enough time, I could write a complete solver in Javascript. Interesting thought.

Other projects that I spent some time on:

Clueless Helper now supports the Samurai format, which is convenient for the many Samurai players.

Both a Samurai and a Clueless Explosion contest started on the website.

Lots of redesign work done on the SudoCue.net website. The soft blue-and-yellow theme is now consistent throughout the site. The pages and the tables look very smooth. To save bandwidth, the competition lists only show submission details for a single puzzle.

Sue de Coq

December 11th, 2006

I had a lot of fun implementing this ancient solving technique in SudoCue. Most players have already forgotten about it. However, it is a technique that provides a pattern-based alternative for otherwise difficult to spot ALS moves. Having studied the technical ins and outs, it proves to be a solving technique that could easily be expanded in several directions. Unfortunately, many players do not think in terms of constraint sets, and they have difficulty understanding the concepts or recognize its beauty. I wrote a good article about Sue De Coq in Sudopedia and on the Eureka forum. Maybe it needs time to sink in.

Other techniques I’ve implemented are Skyscraper and 2-String Kite. These are pattern-based alternatives for certain Turbot Fish moves, originally introduced by Havard. It took me less than a day to implement both these techniques, which tells enough about their simplicity.

In SumoCue, I implemented Law of Leftovers a while ago, but this technique is now finally out in an official release. I also added a Jigsaw pattern selector, so the players using SumoCue for the daily jigsaw competition at www.sudoku.org.uk can simply pick a pattern, rather than drawing it manually.

GattaiMaker

December 1st, 2006

I spent the last week writing a new program which I called GattaiMaker. The name says it all. The program can generate overlapping Sudoku puzzles.

It is a major improvement over the CluelessMaker program which I used before for overlapping puzzles. CluelessMaker required me to generate a batch of puzzles with my regular Sudoku generator, which were glued together by CluelessMaker by relabeling the digits in the overlapping regions. Several configurations were tested and the best scoring combination was saved.

GattaiMaker can create any overlapping puzzle from scratch. It uses a DLX engine which is configured for the variant to be created. Diagonals are an option. The current version only supports global symmetry in every conceivable way, but the next version will also support local symmetry. A built-in solver can rate the puzzles. I’ve created it as a step-solver, so it does all occurrences of a specific type of move in a single step. Rating depends on the number of steps and the solving techniques used. This may obscure some advanced moves, but the overall difficulty of an overlapping puzzle is related to the number of alternative moves, which are measured by step counting. Finding the only possible single in a puzzle with 25 overlapping Sudokus is harder than spotting locked candidates when there are 20 present in the puzzle.

Internally, all solving techniques operate on the DLX data structures. I’ve never managed to do this before, but it works perfectly. No additional arrays, counters and masks are required. Every placement and elimination is implemented as a DLX operation.

The only format not supported yet is the Clueless Explosion, as the program cannot yet handle internally disjoint boxes. The regular Clueless format is supported, as well as the new Windmill format and two Clueless types merged with Sumo and Shaolin, respectively.

For advertising, I posted several different puzzles on my website and various forums.

Sudopedia is maturing

November 26th, 2006

Since the beginning of this month I have been writing a lot of articles in Sudopedia. And I finally received help by other people helping me complete this Opus Magnum. Now that I’ve raised attention on different forums, the visitors are coming. Corrections are made, and several new subjects are added. Many of the results of the ultimate fish guide on the Players forum are now also defined in Sudopedia. On my own forum, I’ve changed the bbcode parser to recognize wiki style links and point them to the Sudopedia topics.

Some other stuff that I’ve been working on lately:

Created a FishFinder program to create and test fish patterns. Most fish diagrams in Sudopedia are made with this program.

Started a Samurai contest on www.sudocue.net. My CluelessMaker can now also create these Samurai puzzles.

Uploaded a Mambo front-end on www.sudokuvault.com. I like to try different things. WordPress is OK, but there are many nice features in Mambo.

Added miniBB forums to www.hanidoku.com and www.sudokuplaats.nl. This is a very light forum that is easy to run from a frame. Not as heavy as phpbb.

Uploaded hundreds of puzzles, so that I have months or years of daily puzzles. My weekly puzzles are still uploaded manually, as well as the Daily Nightmare. A new daily feature is the One-Trick Pony. An SSTS puzzle with a single advanced step.

My PayPal account is not working due to credit card problems. Need to fix this soon. People are complaining that they cannot donate…

Wasted a day on Almost Locked Digits

September 1st, 2006

A weblog can be used to celebrate achievements or the write away frustrations. This post belongs to the latter category.

When I completed the ALS technique in SudoCue, I figured that there must be a counterpart, like hidden subsets are the counterpart for naked subsets. An ALS is defined as N cells having N+1 digits as candidates in a single house. Any digit that you can take away from the set will lock the remaining digits in these cells. It can act as a strong link in any chain, but the more basic application is a pairs of ALS’ with a shared digit, which is connected in such a way that it cannot appear in both sets at the same time. From here, we can eliminate any candidate that can see all instances of another digit in both sets. This sounds like a rate occasion, but ALS’ are abundant in any Sudoku.

So what about the counterpart?

Almost Locked Digits is the “hidden” counterpart. It has N digits confined to N+1 cells within a single house. The trigger mechanism is actually more flexible. Any move that would force one of the surplus candidates into any of the N+1 cells will lock the set. Now the easiest application would be a similar XZ rule. Find a conjugate pair with each end in an ALD. Either one of the ALD’s must be locked. Any shared peer for one of the digits can be eliminated. Simple, elegant, easy to implement.

Only, they do not exist. I tested this on numerous puzzles, even with ALS disabled, and although an average sudoku contains hundreds of ALD’s, they just won’t connect with an XZ rule. Pretty frustrating. I’m not even sure whether the code or the ALD logic has failed. The logic looks pretty solid and the code does find the ALD’s with the conjugate pairs that trigger them.

I’m going to run a couple of severe debug runs to check out the code, and if that doesn’t work, I’ll drop it in the trashcan.

The Incredible power of ALS

August 27th, 2006

I cannot resist posting a few words about ALS (Almost Locked Sets), a very advanced solving technique with a lot of solving power. As I stated earlier, I just missed the deadline for 1.5.1 with these new solving techniques. They are now released in 1.5.1.1

One of them, long overdue, is Empty Rectanges. It does not solve anything new, but it is an easy to use alternative for multi-coloring and sometimes even for Nishio. Many other sudoku programs already supported ER, but having the most powerful techniques already implemented makes you lazy, I guess. The templates catch any single digit elimination, so I was not encouraged to implement lower-level single digit techniques. However, after the overwhelming success of my finned-fish implementation, it seemed the right time to do Empty Rectangles as well. Having restructured the solver in such a way that it is now very easy to add new techniques does also help.

The real thing I wanted to talk about is ALS. It is a bad acronym, but commonly known in the sudoku community. An Almost Locked Set is a situation where N cells have N+1 digits as their candidates. The simplest ALS is a single cell with only 2 candidates. Consider the following grid:

ALS-infested grid

How many Almost Locked Set does this grid contain? 10? 20?

No, there are almost 200 ALS’s in this grid, with only 96 candidates left. Most of them are harmless, but when you can pick the right combinations, they can become incredible solving tools. My list of 50,000 sudokus that require tabling steps is reduced to half its size, now ALS can be used. There is no single technique that had such a tremendous impact.

I will expand my solving guide to tell more about the power of ALS.

Size Matters

August 26th, 2006

It has cost me a night sleep, but I have rewritten parts of SudokuGo, my batch generator. It now can generate any Sudoku with boxes of size 2×2, 2×3, 3×3 (duuh), 3×4 and 4×4, including the main variants, Jigsaw, X and DG.

If have also generalized the Windoku concept. A 4×4 sudoku can contain 1 extra 2×2 box in the center, with 3 implied extra groups. No Windows for the irregular formats, but 16×16 can have 9 extra 4×4 boxes, with 7 implied groups. I’m not sure this format will ever work, because the program chokes on generating a valid grid. Too bad if it turns out to be an impossible format, because it looks great. I’ve tested generation of the Windoku groups without box constraints, and that works. The combination may prove to be too much. Just to many conflicting constraints.

Also released SudoCue version 1.5.1. Redid the optimizer as many requested it should work, and also added a menu option to fetch the daily competition puzzle from www.sudoku.org.uk. Undo and redo work on candidates too.

I am now trying to implement Almost Locked Sets. Considering every possibility, the program now found 228 sets in a single grid. Needs some work to filter out the sets that are actually useful. I think I start sorting out the sets that do not overlap, but have a restricted common digit x. It must be possible to find ALS-xz patterns amongst these pairs of sets. I’ll write some more if I made some progress. Would be nice to be the first program that supports ALS, after being the first (and still the only) that supports finned fish.

Logic Discussions

August 20th, 2006

I have started a thread on the Sudoku Discussions forum about the use of logic in Sudoku. The discussion started off pretty good, but it now seems to be stalling at logic notation. Good links were placed and I’m trying to catch up on lots of the material. The question remains: how do we use logic in sudoku?

Here is an example:

Take a bivalue cell C. It has 2 candidates, C1 and C2. One of them must be true, the other one false. We can write this as: (C1 v C2), ~(C1 & C2). This works fine with 2 candidates, but how about 3, or 9?

First daily Sudoku-X on the WWW

August 15th, 2006

Since I implemented Sudoku-X in SudoCue, I was wondering where people would be able to find these puzzles on a regular basis. To my surprise: nowhere! Only websudoku.com has a weekly feature of variants, and Inertia only pretends to have them, leading you to their desktop program.

So I decided to run my batch generator for a while, and it came up with a wonderful series of puzzles, with various symmetries and a wide range in difficulty levels. I decided to focus on 2 difficulty levels, one for the beginners and one for the advanced players, keeping them both happy on my site.

Since all my puzzles are themed, I needed one for this new feature. X-Rays, X-Wings, X-Men and X-Files were amongst the candidates. Combining the puzzles with an archive made me choose X-Files, which happened to be problems that needed to be solved. I’m still probing the theme, but there will be more wordplay in this arena. I’m full of ideas.

On a side note: The addition of regular puzzles and the rewriting of all the on-site documentation has resulted in a steady growth in visitors. This seems to have a snowball effect, because more and more people discover my site. It must have good pageranks in Google. Quality does pay off in the end.