YZF_Sudoku

Programs which generate, solve, and analyze Sudoku puzzles

Re: YZF_Sudoku

Postby eleven » Sat May 23, 2020 8:31 pm

Great, yzfwsf, many thanks !

Copy/Paste is working fine, here also ghfick's 0-string works.

(Reading from a file does not crash, but just brings the old and another message box with the string and an exclamation mark.)
eleven
 
Posts: 3173
Joined: 10 February 2008

Re: YZF_Sudoku

Postby yzfwsf » Sat May 23, 2020 10:52 pm

eleven wrote:Great, yzfwsf, many thanks !

Copy/Paste is working fine, here also ghfick's 0-string works.

(Reading from a file does not crash, but just brings the old and another message box with the string and an exclamation mark.)

Thanks to all:
Mentioned bugs has been fixed.Please download again.

Please download the two files at the same time and put them in the same directory, remove ". 7z" at the end of each file name, and then decompress them.Replace old version exe file.

YZF_Sudoku610V5.7z.001.7z
(256 KiB) Downloaded 222 times
YZF_Sudoku610V5.7z.002.7z
(139.42 KiB) Downloaded 172 times
yzfwsf
 
Posts: 921
Joined: 16 April 2019

Re: YZF_Sudoku

Postby eleven » Sun May 24, 2020 8:56 am

Thanks again, now also reading from a file is working fine.
eleven
 
Posts: 3173
Joined: 10 February 2008

Re: YZF_Sudoku

Postby rjamil » Tue May 26, 2020 2:55 pm

Hi yzfwsf,

Your program become more interesting after looking option "ste/stte FINISH" in Tools - Find all steps options All possible steps tab.

However, suggest to add bte/btte FINISH as well (formerly LCLSTE - Locked candidates and Locked sets to end) so that it may help to solve the one-trick-pony more confidently.

Added as on 20200527: Suggest to move ste/stte FINISH and bte/btte FINISH option in to separate combo as well.

R. Jamil
rjamil
 
Posts: 782
Joined: 15 October 2014
Location: Karachi, Pakistan

Re: YZF_Sudoku

Postby yzfwsf » Thu May 28, 2020 3:16 pm

rjamil wrote:Hi yzfwsf,

Your program become more interesting after looking option "ste/stte FINISH" in Tools - Find all steps options All possible steps tab.

However, suggest to add bte/btte FINISH as well (formerly LCLSTE - Locked candidates and Locked sets to end) so that it may help to solve the one-trick-pony more confidently.

Added as on 20200527: Suggest to move ste/stte FINISH and bte/btte FINISH option in to separate combo as well.

R. Jamil

According to your suggestion, the program has been modified. Now the stte steps can be displayed first. If there is no stte steps, the lclste steps will be displayed. If there is no lclste steps, the bte steps will be displayed. However, when there is no stte steps, it is difficult to find the lclste steps and bte steps.

http://forum.enjoysudoku.com/robert-s-puzzles-2020-03-13-t37483.html
This puzzle have bte steps.

Please download the two files at the same time and put them in the same directory, remove ". 7z" at the end of each file name, and then decompress them.
YZF_Sudoku610V6.7z.001.7z
(256 KiB) Downloaded 163 times
YZF_Sudoku610V6.7z.002.7z
(243.45 KiB) Downloaded 169 times
yzfwsf
 
Posts: 921
Joined: 16 April 2019

Re: YZF_Sudoku

Postby rjamil » Thu May 28, 2020 6:55 pm

Hi yzfwsf,

Many thanks for implementing the btte/lclste move(s) filter.

However, a quick check wont show Leren's btte move in April 16, 2020 puzzle.

yzfwsf wrote:According to your suggestion, the program has been modified. Now the stte steps can be displayed first. If there is no stte steps, the lclste steps will be displayed. If there is no lclste steps, the bte steps will be displayed. However, when there is no stte steps, it is difficult to find the lclste steps and bte steps.

First of all, let me clear about what I understand is that, both LCLSTE and BTTE are the same set of techniques (as shown in 1-6 techniques in SudokuWiki.)

I'm not sure what you mean. Could you please elaborate?
If both stte and btte moves are present at the same time, then only stte moves will be shown?

R. Jamil
rjamil
 
Posts: 782
Joined: 15 October 2014
Location: Karachi, Pakistan

Re: YZF_Sudoku

Postby SpAce » Sat May 30, 2020 9:14 pm

Hi yzfwsf,

yzfwsf wrote:According to your suggestion, the program has been modified. Now the stte steps can be displayed first. If there is no stte steps, the lclste steps will be displayed. If there is no lclste steps, the bte steps will be displayed. However, when there is no stte steps, it is difficult to find the lclste steps and bte steps.

Like rjamil, I don't understand what you mean by separate lclste and bte steps. (Neither can I test it, because I still can't run your program. I will install that damn Windows one of these days, I promise! Your solver seems really good.)

rjamil wrote:First of all, let me clear about what I understand is that, both LCLSTE and BTTE are the same set of techniques (as shown in 1-6 techniques in SudokuWiki.)

This is correct. They're exactly the same. I strongly prefer "btte" because it rhymes with "stte" and is much easier to type and to understand (if one knows what 'stte' means). I think it would be a good idea to bury the horrible 'lclste' to the depths it belongs and never see it again. (Yes, there are always some who want to argue about what "basics" should mean, but I think the set is standard enough to not even worry about that.)

I also prefer both "stte" and "btte" with two 't's (instead of ste and bte) because that's how it's said: "singles to the end". Well, that and because I'm just more used to the long versions. The most important thing is to use the same style consistently with both. I think, but am not sure at all, that 'stte' with two t's is probably more standard; at least it's more common on this forum. I'm also fine with just one 't', if you really want to use that. In fact, it should be really easy to let the user choose their preference (but don't give 'lclste' as an option so we can finally kill it, or at least make it like a really difficult-to-access "legacy" option, lol).

There should also be (at least) a third configurable option, like Hodoku's "Progress" techniques (which by default cover basics, but can be changed to anything). With a corresponding "solve up to" button the user could bypass any techniques they consider too simple for the task at hand. In addition there should be two just as easily accessible buttons to solve singles or basics (which buttons Hodoku unfortunately doesn't have; even though all singles can be set from the menu, it works poorly (try using the "back button" after that)).

--

Btw, I have a totally unrelated point about singles. What I would personally love, but what none of the software solvers I know have (except maybe SE, I'm not sure), is a way to distinguish box-based hidden singles from line-based ones. The latter are clearly more difficult to spot for a manual solver who doesn't use filtering or pencil marks at all. That should be reflected in the technique hierarchy to give more human-realistic hints and solving paths, but it requires more fine-grained singles types than just the normal three (full houses, naked, hidden). Of course full houses and naked don't need any subtypes, but hidden do, because some are clearly easier to find than others. In fact, even more fine-grained types would be nice, though not as important as the box vs line division.

With such a fine-grained singles hierarchy any beginner, and others too who want to practice no-pm solving, would get much better help from the solver. In no-pm mode the most human-like order would be: full house, box-based hidden, line-based hidden, naked. An even more fine-grained hierarchy might start something like: full houses, singles that are both box- and line-based (or have two of their own solved digits in the chute), box-based only, line-based-only, naked. Of course the order should be configurable, but that would be a good default for no-pm solving. (If pm are used, then naked singles are naturally the easiest after full houses. The hierarchy between the various hidden singles still holds.)

No software solver that I've ever seen reports the singles in the order a human would probably find them! It doesn't have to be perfect, but my suggestion would surely make it much closer.

Related to that, it would be really nice to have several (at least two) configurable solving profiles with different hierarchies and sets of techniques. For example, solving without pencil marks is clearly different from pm-solving, and the solver should offer different kinds of help for each. In fact it should (optionally) switch profiles automatically between pm and no-pm when they're turned on and off. Changing the settings manually every time is tedious, and storing full configuration files for each profile seems dumb (especially if one wants to make global changes to the configuration).

Btw, does your solver give hints when pencil marks are off? Hodoku doesn't, which is unfortunate though somewhat understandable (not really). To give really good help without pm would probably require a totally different set of solving techniques too, but why not give even normal hints? It's still maintaining the pm behind the scenes, so what's the problem? At the very least it should be able to point out direct singles in no-pm mode!! Perhaps even simple basics combos that lead to singles. But nada.
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: YZF_Sudoku

Postby yzfwsf » Sun May 31, 2020 12:04 am

SpAce wrote: I don't understand what you mean by separate lclste and bte steps. (Neither can I test it, because I still can't run your program. I will install that damn Windows one of these days, I promise! Your solver seems really good.)

My solver uses the following definition:
STTE: Singles only
LCLSTE: STTE + Locked Candidates
BTTE: LCLSTTE + Hidden/Naked Sets + Standard Fish(Non Fins)

SpAce wrote:Btw, I have a totally unrelated point about singles. What I would personally love, but what none of the software solvers I know have (except maybe SE, I'm not sure), is a way to distinguish box-based hidden singles from line-based ones.

This situation is easy to modify, and your suggestions will be adopted in the next version.

SpAce wrote:There should also be (at least) a third configurable option, like Hodoku's "Progress" techniques (which by default cover basics, but can be changed to anything). With a corresponding "solve up to" button the user could bypass any techniques they consider too simple for the task at hand. In addition there should be two just as easily accessible buttons to solve singles or basics (which buttons Hodoku unfortunately doesn't have; even though all singles can be set from the menu, it works poorly (try using the "back button" after that)).

You can modify the technique calling sequence according to your wishes in the option configuration, and then use the automatic puzzle solving function, and then select a specific step in the solution path, and then output the candidate status of the step to the board, so that you can achieve what you say Features.

SpAce wrote:Btw, does your solver give hints when pencil marks are off?

Yes, hints can be provided in the same way, the option to display the number of candidates will not affect the prompt function.
yzfwsf
 
Posts: 921
Joined: 16 April 2019

Re: YZF_Sudoku

Postby SpAce » Sun May 31, 2020 2:37 am

Hi yzfwsf,

yzfwsf wrote:My solver uses the following definition:
STTE: Singles only
LCLSTE: STTE + Locked Candidates
BTTE: LCLSTTE + Hidden/Naked Sets + Standard Fish(Non Fins)

The last two conflict with our definitions which are:

  • lclste: (singles) + locked candidates + locked sets (i.e. what we, Hodoku, SudokuWiki, etc consider basics)
  • btte: exactly the same (no fishes)
It would be great if you'd follow those conventions (because they're the ones used in the Puzzles section too), but I guess it's ok if you don't. In any case the rationale for the "standard" definition of basics is that even most casual players know and can spot locked candidates and locked sets, but few of them probably know anything about fishes. Even most advanced manual players, who definitely do know, don't bother to look for fishes beyond X-Wing unless they're also chains, because it's tedious and rarely needed or effective (I don't). I understand that theoretically, or from a program's point of view, fishes are just as simple as locked sets, but in practice that's not the case for a manual player (unless one transforms the grid into nr and nc-spaces where fishes can be viewed as locked sets).

That said, there could be a named level after btte which covers the simplest non-basics that are easy to spot, such as easy URs, easy BUGs, X-Wing, Turbots, W-Wing, Y-Wing, XYZ-Wing, etc. I'd put basic fishes there too, even though they're not that easy to spot in practice. It's a bit related to this discussion, though not exactly, as for this purpose I'd recommend keeping the same types (like all subsets, and all fishes) in the same levels instead of splitting them according to the individual difficulties (i.e. quads go with basics, even though they're tougher to spot than URs, etc). On the other hand, X-Wing is clearly simpler than Swordfish or Jellyfish, and it can also be viewed as the simplest kind of X-Loop instead of a fish, so it could be in a different (easier) category. Anyway, this goes beyond the current topic.

This situation is easy to modify, and your suggestions will be adopted in the next version.

Great! Good decision.

You can modify the technique calling sequence according to your wishes in the option configuration, and then use the automatic puzzle solving function, and then select a specific step in the solution path, and then output the candidate status of the step to the board, so that you can achieve what you say Features.

I guess I'll know more when I get to try it.

Yes, hints can be provided in the same way, the option to display the number of candidates will not affect the prompt function.

Excellent!
User avatar
SpAce
 
Posts: 2671
Joined: 22 May 2017

Re: YZF_Sudoku

Postby ghfick » Sun May 31, 2020 11:21 pm

Hi yzfwsf,

I am really enjoying 610 now. I am not noticing any freezes or troubles. I do not go to 'Find All Steps' too often so I am not sure if this matter is fixed.

I have some more questions and suggestions for you.

1) Uniqueness Test 7 - Could you give a reference? More help? I am unsure that human solvers could spot it.
2) I have not seen Uniqueness Test 5 or 6 so far. Maybe a reference or some background would help. Maybe they are very rare?
3) I am unsure how to get 610 to show a BUG+2 [or 3 or more!]
4) Setting puzzle generation to Extreme then clicking for a puzzle causes a crash.
5) I am unsure what is intended with 'Execute current hint if have'. Can you ask for a hint? How so? What do you mean 'Right Click will pop menu'?
6) There is a number displayed in the far right corner. I do not know what this number means or refers to.
7) There will many forum people with views on what should be called 'beyond stte'. I think everyone would agree that 'Locked Candidates' come just after singles. For me, the naked/hidden triples/quads are harder and I often miss them [drives me crazy!]. I would say that 2 String Kites, XY Wings and XYZ Wings are easier than any Fish. Then, for me, UR type 1. Then I go to XY Chains next because it is so straightforward involving only bi-value cells. Even the longer XY chains are easy to spot. btw I now find Grouped 2 String Kites are in my toolkit for 'easy' steps. Your marvellous solver has given me that incentive.'

I am trying to keep up. Excellent. You are now a real leader.
Gordon
ghfick
 
Posts: 233
Joined: 06 April 2016
Location: Calgary, Alberta, Canada youtube.com/@gordonfick

Re: YZF_Sudoku

Postby yzfwsf » Mon Jun 01, 2020 1:13 am

1) Uniqueness Test 7 - Could you give a reference? More help? I am unsure that human solvers could spot it.

Code: Select all
.  .   \     | .   .   .   | .   .   .
/  abu  abv  | /   /   /   | /   /   /
.  .   \     | .   .   .   | .   .   .
-------------+-------------+-------------
.  .   \     | .   .   .   | .   .   .
.  .   \     | .   .   .   | .   .   .
\  abw  ax-b | \   \   \   | \   \   \
-------------+-------------+-------------
.  .   \     | .   .   .   | .   .   .
.  .   \     | .   .   .   | .   .   .
.  .   \     | .   .   .   | .   .   . 

\ not a
/ not b
uvwx an be any another cadidates
r6 and c3 have conjugate pairs(a) in UR
r3 have conjugate pairs(b) in UR

You can observe UR7 in this way, Select a pair of diagonal corners of the UR structure. At the row/column which one of the cells site, one of candidates of the UR have conjugate pairs on the UR structure. Another UR candidate conjugate pair is also located on the row or colum which the diagonal cell site, that is, 2 diagonals have 3 conjugate pairs.

2) I have not seen Uniqueness Test 5 or 6 so far. Maybe a reference or some background would help. Maybe they are very rare?

ur5 and ur2 are similar,UR5 as below:
Code: Select all
.9....25....2......6.....8...4.2...37264....15....7..8....84.7.158.7.......15....

UR6 as below
Code: Select all
..6....9..9.54...27....96...1.7..96....4.1..5..7.5..8.5..8.74......1......19.....
1.........8...6.....24...3..17.6..2...3..1.97...5..3.....7....5....2..7.5....96..


3) I am unsure how to get 610 to show a BUG+2 [or 3 or more!]

You can use the generate specific technique puzzle function to get bug + n technique puzzles.
Use the mouse to activate the panel, and press the keyboard shortcut Ctrl + Shift + b to enter this function.

4) Setting puzzle generation to Extreme then clicking for a puzzle causes a crash.

Since the new version modifies part of the dll code, please delete the old version completely and unzip the new version to test.

5) I am unsure what is intended with 'Execute current hint if have'. Can you ask for a hint? How so? What do you mean 'Right Click will pop menu'?

"Execute current hint if have" This means that if you continue to use the prompt function, the solver will first perform the previous prompt steps, and then find the next prompt.
'Right Click will pop menu' Same as literal meaning, if you rightclick items in solution path panel, will popup menu.

Code: Select all
6) There is a number displayed in the far right corner. I do not know what this number means or refers to.

Not completely sure, sometimes it shows the number of candidates for the initial puzzle, but it usually shows the solver's score for the puzzle.
yzfwsf
 
Posts: 921
Joined: 16 April 2019

Re: YZF_Sudoku

Postby ghfick » Mon Jun 01, 2020 4:19 pm

Uniqueness Test 7 does show up quite often. Your explanation is clear. I now realize that Uniqueness 5 and 6 were detailed in the HoDoku site. Very clear now as well.
Interesting to see that one can generate puzzles with specific steps. Nice feature.
BUG+2 does not appear in 'All Possible Steps'. For example, if I try the puzzle displayed as bug+2_1.png on the May 22, 2020 thread, 610 shows the Uniqueness Test 1 step just before stte but does not show the BUG+2 step in 'All Possible Steps'.
The number appearing in the far lower right box is a four digit number.
ghfick
 
Posts: 233
Joined: 06 April 2016
Location: Calgary, Alberta, Canada youtube.com/@gordonfick

Re: YZF_Sudoku

Postby yzfwsf » Mon Jun 01, 2020 5:11 pm

ghfick wrote:Uniqueness Test 7 does show up quite often. Your explanation is clear. I now realize that Uniqueness 5 and 6 were detailed in the HoDoku site. Very clear now as well.
Interesting to see that one can generate puzzles with specific steps. Nice feature.
BUG+2 does not appear in 'All Possible Steps'. For example, if I try the puzzle displayed as bug+2_1.png on the May 22, 2020 thread, 610 shows the Uniqueness Test 1 step just before stte but does not show the BUG+2 step in 'All Possible Steps'.
The number appearing in the far lower right box is a four digit number.


Haha, I commented out the bug + n type 1 when I tested the code last time. I forgot to restore it and you found it. You can also use the batch generate puzzles function to generate puzzles with specific techniques
BTW: By the way, adjusted the order of Hidden / Nake mentioned by SpAce, box first.

Please download the two files at the same time and put them in the same directory, remove ". 7z" at the end of each file name, and then decompress them.
YZF_Sudoku610V7.7z.001.7z
(256 KiB) Downloaded 165 times
YZF_Sudoku610V7.7z.002.7z
(243.97 KiB) Downloaded 156 times
yzfwsf
 
Posts: 921
Joined: 16 April 2019

Re: YZF_Sudoku

Postby ghfick » Thu Jun 04, 2020 8:35 pm

I tried a fresh install of all files. 610 still crashes if you try to generate an Extreme puzzle. 610 continues to work fine if you generate an Unfair puzzle or an Insane puzzle. Something specific to the Extreme selection?
ghfick
 
Posts: 233
Joined: 06 April 2016
Location: Calgary, Alberta, Canada youtube.com/@gordonfick

Re: YZF_Sudoku

Postby yzfwsf » Thu Jun 04, 2020 11:50 pm

ghfick wrote:I tried a fresh install of all files. 610 still crashes if you try to generate an Extreme puzzle. 610 continues to work fine if you generate an Unfair puzzle or an Insane puzzle. Something specific to the Extreme selection?

Thank you for debugging. Last time, in order to support the stte steps of filtering sukaku, modify wsfsolver.dll The code of introduces bugs.
BTW: This bug will not be triggered if you do not adjust the unfiir upper limit above 89 in your preferences.

PLS download again.
Fix bug that font ratio and border thickness cannot be modified in preferences.
Please download the two files at the same time and put them in the same directory, remove ". 7z" at the end of each file name, and then decompress them.
YZF_Sudoku610V8.7z.001.7z
(256 KiB) Downloaded 157 times
YZF_Sudoku610V8.7z.002.7z
(244.23 KiB) Downloaded 165 times
yzfwsf
 
Posts: 921
Joined: 16 April 2019

PreviousNext

Return to Software

cron