Mathimagics wrote:That was my gut feeling. Trouble is my solver (home grown using classical coding, ie. pretty basic) has far more difficuly with P103, so much that I was convinced I had a bug (or failure to adequately shave my domains).
My results do NOT mean in any way that your solver has a bug. Rating depends on the resolution model. If yours is different, then it's quite normal that you get different relative ratings.
Mathimagics wrote:You mentioned g-whips .... please don't. Is that another SAT or CSP package?
All my results are based on my own CSP solving approach, which I call pattern-based. I can't summarise it here, but you can have an idea by skimming my last book, in which there's also a chapter on Kakuro solving.
The software I developed to implement my approach is CSP-Rules. It is a generic "pattern-based" CSP solver. I have generic rules for whips, braids, g-whips, g-braids, Subsets, ..., all the patterns I introduced in my books.
I have implemented specific interfaces for Sudoku, Futoshiki, Kakuro, Numbrix, Hidato, map colouring and Slitherlink. I have also a few application specific rules for each of these applications (indeed, a lot of rules for Slitherlink).
The ratings I mentioned above are universal, in the sense that they are based on resolution rules meaningful and valid in any finite CSP.
Mathimagics wrote: Every SAT or CSP package I try to install (I'm on Windoze) creates a new set of nightmares for me. MiniSAT, Copris/Scala, and the latest thing I'm trying to decide on is Choco....
All these softwares are based on general CSP-solving strategies, the adaptation to CSP problems of DFS or BFS with additional treatment for constraint propagation.
The main conceptual difference with my approach is, mine is "pattern-based", i.e. each elimination step is based on a well-defined and meaningful resolution rule. As I always use my default simplest-first strategy, I also get the "simplest" solution - in the sense of simplest hardest-step.
The practical difference is, general solvers, like DFS, BFS, SAT, ... or yours (probably), are much faster. The problem they solve is "exponentially" simpler than the problem I solve (simultaneous solving + rating). I don't mean my approach is better: the goals are totally different. When you develop a generator, you need a very fast solver. Using my solver within a generator would be very inefficient.