a user that wants to remain anonymous wrote:In your presentation of CSP-Rules on GitHub, you write: "Instead of having zillions of application-specific rules (like e.g. most existing rule-based Sudoku solvers), the resolution backbone of CSP-Rules consists of only a few types of universal rules".
However, in your last update you added some 2400 very specific rules. Is this not a big contradiction?
Good question.
Note that the cited sentence is immediately followed by " - though it remains perfectly compatible with the addition of any number of application-specific rules (see the Slitherlink chapter)."
The newly added rules show again, if necessary, what I said in this non-cited part of my sentence.
But, to answer the core of the question:
1) The newly added ~2400 rules are about very rare "exotic" patterns. They don't belong to the CSP-Rules backbone. They are mainly intended for (extremely rare) puzzles in T&E(3) - though some of them might be more broadly useful (this remains to be assessed).
2) The part of the CSP-Rules backbone relevant for these new rules is made of:
- the generic ORk-chain and ORk-g-chain resolution rules,
- the generic ORk-rules for ensuring ultra-persistency of the ORk-relations.
All these rules for dealing with ORk-relations are a relatively recent extension to the CSP-Rules generic backbone. They are useful to deal with exotic patters, i.e. in rare cases.
These generic rules still belong to a very limited number of types of rules.
3) There's much more in the last update than ~2400 new rules. There's chapter 15 of the Augmented User Manual ([AUM]), where 4 small selections of the ~2400 rules are presented, based on hundreds of hours of computation. These selections appear in the configuration file.
Most of the selected patterns are close to "tridagon", probably the most perfect pattern in terms of symmetry and ease of finding.
Nobody is expected to learn 2400 rules.
My purpose was to find a small number of "useful" patterns which would take care of most of the cases. Read in particular section 15.8 to see the frequency of the selected useful patterns.
I think the situation for the 630 impossible 3-digit patterns will be similar to the one for non-uniqueness patterns ("deadly patterns"): many are known, but few will ever be used in practice.
4) I've hesitated whether to publish the full set of rules or only a small selection. I've finally decided to publish everything, as a detailed example of how to use CSP-Rules for case studies.
I've always said CSP-Rules can't be compared to other solvers. It takes a strong stance on 100 % pattern-based solving, based on a few types of generic resolution rules and 0%
ad hoc reasoning. The few useful patterns take care of the
ad hoc reasoning parts that appear in other solutions of some puzzles.
For practical solving, my recommendations remain to use these exotic patterns with care: select them progressively only if you don't get a solution without them (read details about this in the [AUM]).
.