JasonLion wrote:The most obvious difference from C/C++ is that Java doesn't have .h files. Everything is in a single .java source file, instead of being split into declarations in the .h file and implementation in the .c (or .cc) file.
Red Ed wrote:If this really is going to be a team project then the team will need a place to share code and results.
How about using Sudopedia?
We can all (not just "one") maintain a link-o-rama without having to rely upon one person keeping a head post up to date.ronk wrote:What can one do on sudopedia that can't be done here?
champagne wrote:Command line
Some thoughts about the command line.
Basically, the command line can be empty for the standard process if we have a default value for the input file and the output file.
In my tests, I’ll use respectively “puz.txt†and “rat.txt†in the current directory.
In the current†serate†process, if I am right, we have 2 additional options:
. look for ED only (diamonds)
. look for EP only (pearl)
serate wrote:
- Code: Select all
OPTIONS
-d, --diamond
Terminate rating if the puzzle is not a diamond.
-f, --format=FORMAT
Format the output for each input puzzle according to FORMAT. Format
conversion are %CHARACTER; all other characters are output unchanged.
The default format is %r/%p/%d. The format conversions are:
%d The diamond rating. This is the highest ER of the methods leading
to the first candidate elimination.
%e The elapsed time to rate the puzzle.
%g The puzzle grid in 81-character [0-9] form.
%n The input puzzle ordinal, counting from 1.
%p The pearl rating. This is the highest ER of the methods leading
to the first cell placement.
%r The puzzle rating. This is the highest ER of the methods leading
to the puzzle solution.
%% The % character.
-h, --html
List detailed info in html.
-i, --input=FILE
Read 81-character puzzle strings, one per line, from FILE. By default
operands are treated as 81-character puzzle strings. If no operands are
specified then the standard input is read.
-m, --man
List detailed info in displayed man page form.
-o, --output=FILE
Write output to FILE instead of the standard output.
-p, --pearl
Terminate rating if the puzzle is not a pearl.
-V, --version
Print the Sudoku Explainer (serate) version and exit.
champagne wrote:My experience suggests more options to give some flexibility in the pattern game (I do it for the time being using my solver)
. look for ER lower than …
. look for ED higher than
. look for “differed ED†higher than
(this is something I do to catch potential high puzzles with low ED. I look for the “pseudo ED†during 2 or more cycles, to keep puzzles having high ER and low ED)
. look for a specific range of “EDâ€
These are examples of options giving some flexibility in the rating at a reasonable price.
The game is open, knowing that each one will have the opportunity to customize the command line restarting from the sources.
ronk wrote:Assuming you are writing a skeleton
ronk wrote:I think gsf's serate shows the way.
ronk wrote:To the above, ala gsf's sudoku.exe, I suggest adding a "-e" option for such filtering ... with rating labels %ER, %EP and %ED or similar. The -e option could then contain a C-like expression, for example ... -e"%ER>=4.0&&%ER<7.1"
champagne wrote:ronk wrote:Assuming you are writing a skeleton
What I am doing is a kind of “restart form scratch†using some code of my solver.
I am using the on-line version of SE to catch the rating rules. I have no need at that point to dig in existing code;
If it works, I should be within 2 or 3 weeks in a position to match the first part of the rating (say in the range ED=1 to ED=9);
For higher ratings, I don’t know if I have the right tools in my solver. I have first to understand what SE is doing.
BTW I am meantime rating my database of hardest with SE, so I’ll have a sample file covering all the field for the tests.ronk wrote:I think gsf's serate shows the way.
No reason to change the command for existing options.
However, some of the options in the existing lisr don’t seem to be very usefull.ronk wrote:To the above, ala gsf's sudoku.exe, I suggest adding a "-e" option for such filtering ... with rating labels %ER, %EP and %ED or similar. The -e option could then contain a C-like expression, for example ... -e"%ER>=4.0&&%ER<7.1"
Nothing to object in principle, except that filtering on ER has no meaning (the puzzle is solved).To be efficient, filters have to work on ED or a “quasi ED†;
champagne
champagne wrote:I am interested in getting the code used by gsf to parse the command line (it would save time)
ronk wrote:champagne wrote:I am interested in getting the code used by gsf to parse the command line (it would save time)
It's in serate.java in the serate tarball published here.
P.S. Why are you yelling?
To start with couldn't you add an option "File/Run File"
we do, currently specific puzzles will take 4+ hours to generate a single rating.Who care if this version is fast
StrmCkr wrote:To start with couldn't you add an option "File/Run File"
there is a function to load and rate a filewe do, currently specific puzzles will take 4+ hours to generate a single rating.Who care if this version is fast
the goal is to update the the search functions using a better coding platform: either c++ or something else.
(add in the techniques that are newer, eliminate the known "rating bugs") among other issues with se.