Team project: C or C++ Explainer-like rating program

Programs which generate, solve, and analyze Sudoku puzzles

Re: Team project: C or C++ Explainer-like rating program

Postby Patrice » Mon Mar 14, 2011 7:03 pm


The first aspect we have to choose is not the langage or details as using float or int for rating...
The main decision is :
Do we make a optimized version of Serate (clone or optimization) with a very near rating (perfect matching is not compatible with high optimization)
Do we promote a new rating plateform that implement in a first step a rating near from Serate but can evolve with new solving techniques like SK loop...

This choice can be made by a team deeply involved in Sudoku development...

I would largely prefer the second choice, because when I look in detail at SudokuExplainer source, it is very difficult to extract the precise rating rules from the source.

Best regards
Posts: 1944
Joined: 07 November 2010
Location: Paris France

Re: Team project: C or C++ Explainer-like rating program

Postby PIsaacson » Mon Mar 14, 2011 9:42 pm


My vote doesn't count since I'm not a member of the Patterns Game, but I would opt for the second choice as well since I'm much more interested in coding/designing new algorithms. SE has reigned for 5 years as the de-facto scoring ruler, but I believe it's now time to think outside of the SE box and plan, design and code for the next 5.

Posts: 249
Joined: 02 July 2008

Re: Team project: C or C++ Explainer-like rating program

Postby JasonLion » Tue Mar 15, 2011 1:41 am

It isn't an either or situation. It is simple enough to make a framework that is flexible enough that the set of solving techniques supported and the order in which they are applied can be reconfigured at run time with command line options or a configuration file. The work to write SE compatible technique scoring and the work to implement techniques that SE has never supported are separate, but there is still a lot of code that can be shared between those two goals. There are also some very interesting questions related to exploring all possible solving paths that can make use of that same framework.

I believe that the important things to agree on in advance are the programming language to be used, which open source license we want to use, the representation of the grid, and how some of the basic supporting libraries (houses, sets of cells and digits, lists of possible techniques to apply for a given grid position, etc) work. Those are the things that everyone writing any code for the project will have to use and agree on. Once those are in place, one person can work on matching SE scoring of chains and someone else can implement some new technique that none of us have ever heard of before without causing any conflicts at all.
User avatar
2017 Supporter
Posts: 642
Joined: 25 October 2007
Location: Silver Spring, MD, USA


Return to Software