Patrice wrote:Hello guys,
Did you publish a new version of JCZsolve ?
I found V1.0 as attached file in JasonLion post
3-77us-solver-2-8g-cpu-testcase-17sodoku-t30470-219.html
but i did not noticed something new meanwhile a lot of discussions on improvements
Happy new year 2019 !
Hi Patrice,
back to this post.
One key question is "why do you need a fast brute force solver".
We can immediately discard the check that a given puzzle posted here or there is valid. This will not be a critical step.
The classical cases are
is this puzzle "valid" (one and only one solution)
is this puzzle minimal.
In the second case most of the sub puzzles will not have a unique solution
In the first cases, a huge majority of puzzles will have many solutions, most of the rest will have no solution.
In fact, a valid puzzle is a rarity for guys working in this field. BTW, a valid puzzle is a kind of worst case for a brute force (may be just followed by a puzzle with no solution )
Most of the "primary benchmarks" are done on valid puzzles files. This can tell you if the order of magnitude of the average run time is correct, but is in general totally misleading to define the best tool for a given task.
It happens that in my 17 clues search improvements I was at the point where the general brute force plays a role. So, I am working on the topic.
I forgot another key point. Most of the puzzles, if valid, are in the range "very easy" to "SE rating <8.0".
A brute force performing well must be highly efficient for such puzzles.
zhouyundong_2012's code performs very well in this area, so don't expect an improvement deviating much out of this code unless a new very efficient idea comes out.
And the benchmark to use is very difficult to assess, the users will have to rely on an acceptable code and make their own judgement depending on the problem to solve.
.