YZF_Sudoku

Programs which generate, solve, and analyze Sudoku puzzles

YZF_Sudoku

Postby yzfwsf » Wed Nov 06, 2019 7:12 am

A gui sudoku program with many solving techniques,random generator.The hardest puzzle took from ph_1905.
techniques as follow:
Full House
Naked Single
Hidden Single
Locked Candidates
Naked SubSet
Hidden SubSet
Basic Fish
Almost Locked Pair
Almost Locked Triple
BUGOne
Scraper
Two String Kite
ER
WWing
XY-Wing
XYZ-Wing
UR
Fined/Sashimi Fish
SuedecCoq
X-Chain
XY-Chain
AIC
AlsXZ
AlsXYWing
AlsWWing
DeathBlossom
Fined/Sashimi Complex Fish
Dynamic MultiChain
MSLS
JE
Brute Force
Download here:https://pan.baidu.com/s/1SN7NI2EPy8P3JiGMh4t6SgExtracted code:m25p
msls.png
msls.png (81.9 KiB) Viewed 15410 times

je.png
je.png (74.15 KiB) Viewed 15410 times


Publish on my Google Drive:
https://drive.google.com/drive/folders/1uk4CCzW2fabLCawCwpwsQga2LtniXLQo?usp=sharing
Last edited by yzfwsf on Sat Oct 17, 2020 3:43 pm, edited 1 time in total.
yzfwsf
 
Posts: 905
Joined: 16 April 2019

Re: YZF_Sudoku

Postby tarek » Wed Nov 06, 2019 7:22 am

Looks good … Why the hodoku does it look familiar?

tarek
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Re: YZF_Sudoku

Postby yzfwsf » Wed Nov 06, 2019 7:57 am

tarek wrote:Looks good … Why the hodoku does it look familiar?

tarek

yes,the gui use hodoku for reference,but the solving technique algorithm is no same ,the develop language is free basic.
yzfwsf
 
Posts: 905
Joined: 16 April 2019

Re: YZF_Sudoku

Postby tarek » Wed Nov 06, 2019 1:04 pm

yzfwsf wrote:
tarek wrote:Looks good … Why the hodoku does it look familiar?

tarek

yes,the gui use hodoku for reference,but the solving technique algorithm is no same ,the develop language is free basic.

HoDoKu is conveyed under GPLv3

tarek
User avatar
tarek
 
Posts: 3762
Joined: 05 January 2006

Re: YZF_Sudoku

Postby creint » Wed Nov 06, 2019 5:46 pm

Can you provide an alternative download for me?
creint
 
Posts: 393
Joined: 20 January 2018

Re: YZF_Sudoku

Postby yzfwsf » Thu Nov 07, 2019 9:31 am

creint wrote:Can you provide an alternative download for me?

Please remove end extension "7z",due to forum can't upload extension 001,002 file.
YZF_SUDOKU.7z.001.7Z
(240 KiB) Downloaded 509 times

YZF_SUDOKU.7z.002.7Z
(227.94 KiB) Downloaded 458 times
yzfwsf
 
Posts: 905
Joined: 16 April 2019

Re: YZF_Sudoku

Postby yzfwsf » Thu Nov 07, 2019 9:34 am

tarek wrote:
yzfwsf wrote:
tarek wrote:Looks good … Why the hodoku does it look familiar?

tarek

yes,the gui use hodoku for reference,but the solving technique algorithm is no same ,the develop language is free basic.

HoDoKu is conveyed under GPLv3

tarek

yzf_sudoku is not a hodoku's derivative, but use skfrdll for rating.
yzfwsf
 
Posts: 905
Joined: 16 April 2019

Re: YZF_Sudoku

Postby creint » Thu Nov 07, 2019 11:11 pm

My review:

- Fast
- Has MSLS and Exocet
- Is missing some exclusions in ALS XZ/Sue de Coq (exclusions are possible inside the sets)
- Is missing some UR
- Some things in the gui are not working like preferences, excluding candidates manually with context-menu
- Is sometimes very slow on finding complex fish and gives duplicates results for those fishes when using Find all steps. Does not find forcing chains in Find all steps?
- Check Unique, sometimes return Not Unique on valid puzzles.

There are some things that can be improved, but it's already usable.

Program crashes after a while for following grid on Find all steps.
Hidden Text: Show
Code: Select all
.---------------------------------.---------------------------------.---------------------------------.
|  9          8          7        |  6          23         15       |  12         4          35       |
|  6          5          34       |  34         27         19       |  8          179        279      |
|  1234       123        124      |  48         79         589      |  37         569        56       |
:---------------------------------+---------------------------------+---------------------------------:
|  8          4          29       |  1          5          67       |  27         3          69       |
|  12         123        6        |  9          34         47       |  5          78         278      |
|  57         79         359      |  38         68         2        |  4          69         1        |
:---------------------------------+---------------------------------+---------------------------------:
|  23         123        8        |  5          46         46       |  9          17         37       |
|  37         67         59       |  2          1          89       |  36         58         4        |
|  45         69         14       |  7          89         3        |  16         2          58       |
'---------------------------------'---------------------------------'---------------------------------'

How did you program the MSLS and JE?
creint
 
Posts: 393
Joined: 20 January 2018

Re: YZF_Sudoku

Postby yzfwsf » Fri Nov 08, 2019 2:04 am

creint wrote:My review:

- Fast
- Has MSLS and Exocet
- Is missing some exclusions in ALS XZ/Sue de Coq (exclusions are possible inside the sets)
- Is missing some UR
- Some things in the gui are not working like preferences, excluding candidates manually with context-menu
- Is sometimes very slow on finding complex fish and gives duplicates results for those fishes when using Find all steps. Does not find forcing chains in Find all steps?
- Check Unique, sometimes return Not Unique on valid puzzles.

There are some things that can be improved, but it's already usable.

Program crashes after a while for following grid on Find all steps.
Hidden Text: Show
Code: Select all
.---------------------------------.---------------------------------.---------------------------------.
|  9          8          7        |  6          23         15       |  12         4          35       |
|  6          5          34       |  34         27         19       |  8          179        279      |
|  1234       123        124      |  48         79         589      |  37         569        56       |
:---------------------------------+---------------------------------+---------------------------------:
|  8          4          29       |  1          5          67       |  27         3          69       |
|  12         123        6        |  9          34         47       |  5          78         278      |
|  57         79         359      |  38         68         2        |  4          69         1        |
:---------------------------------+---------------------------------+---------------------------------:
|  23         123        8        |  5          46         46       |  9          17         37       |
|  37         67         59       |  2          1          89       |  36         58         4        |
|  45         69         14       |  7          89         3        |  16         2          58       |
'---------------------------------'---------------------------------'---------------------------------'

How did you program the MSLS and JE?

check unique is not to check standard sudoku, but check the puzzle only one cell have one unique value.
yzfwsf
 
Posts: 905
Joined: 16 April 2019

Re: YZF_Sudoku

Postby yzfwsf » Fri Nov 08, 2019 2:07 am

above puzzle use "find all step", result 3727 steps,
yzfwsf
 
Posts: 905
Joined: 16 April 2019

Re: YZF_Sudoku

Postby creint » Sat Nov 09, 2019 8:52 am

A reproduction:
Paste, Find all steps (4x or more) because there was no progress indicator in the first seconds.
It start 1 thread for each action, while the other thread is still running.
creint
 
Posts: 393
Joined: 20 January 2018

Re: YZF_Sudoku

Postby yzfwsf » Sat Nov 09, 2019 3:45 pm

creint wrote:A reproduction:
Paste, Find all steps (4x or more) because there was no progress indicator in the first seconds.
It start 1 thread for each action, while the other thread is still running.

Already fix the mentioned bug, 8 types UR have been implemented, please check,Tks!
YZF_SUDOKU.7z.001.7z
(250 KiB) Downloaded 355 times

YZF_SUDOKU.7z.002.7z
(211.82 KiB) Downloaded 348 times

Please remove end extension ".7z"
yzfwsf
 
Posts: 905
Joined: 16 April 2019

Re: YZF_Sudoku

Postby creint » Sat Nov 09, 2019 6:57 pm

The following is missing a possible UR from innies in r38c79 -3r3c7 (3rc7->7r8c7->3r8c9->7r3c9):
Hidden Text: Show
Code: Select all
.--------------.-----------------.----------------.
| 3   57   17  | 4     2     56  | 167   8    9   |
| 8   9    6   | 7     1     3   | 4     5    2   |
| 45  2    147 | 8     56    9   | 1367  36   137 |
:--------------+-----------------+----------------:
| 49  6    5   | 2     347   147 | 139   34   8   |
| 2   1    349 | 369   8     46  | 369   7    5   |
| 7   8    349 | 1369  3456  145 | 2     346  13  |
:--------------+-----------------+----------------:
| 59  357  79  | 13    347   147 | 8     2    6   |
| 6   4    8   | 5     9     2   | 37    1    37  |
| 1   37   2   | 36    367   8   | 5     9    4   |
'--------------'-----------------'----------------'

There are more deadly patterns and you can use strong links, ALS and chains. How far do you want to implement this.

-It keeps running find all steps in background even when I pasted/generated an new puzzle.
-After the message "Puzzle is no solution!" when trying to autosolve an puzzle with empty cell, it will stay in the state of "Autosolve is running!".
creint
 
Posts: 393
Joined: 20 January 2018

Re: YZF_Sudoku

Postby yzfwsf » Sun Nov 10, 2019 3:34 am

https://drive.google.com/open?id=1XO7a5uH4vAviwoVMPNj2RHT8qVqD5NW0
Mentioned bug fixed, implement SDC Cannibalism.
yzfwsf
 
Posts: 905
Joined: 16 April 2019

Re: YZF_Sudoku

Postby creint » Mon Nov 11, 2019 7:08 pm

Missing SDC/AlmostLockedSets exclusions in:

Almost Locked Set XZ-Rule: A=r9c2456 {12678}, B=r12378c4 {256789}, X=6,7 => r7c5<>7, r456c2,r7c1,r9c9<>2, r5c4<>5, r5c4<>9

It looks like it only takes the first exclusions from r4569c56. Compare with Xsudo for all exclusions.


Hidden Text: Show
Code: Select all
019006300072000000006017005100300900000000008608400001060000000001020000903000450

+------------------+-------------------------+-------------------+
| 458   1      9   | 258     45-8     6      | 3     2478   247  |
| 458   7      2   | 589     3459-8   3459-8 | 168   14689  469  |
| 348   348    6   | 289     1        7      | 28    2489   5    |
+------------------+-------------------------+-------------------+
| 1     245    457 | 3       (5678)   (258)  | 9     2467   2467 |
| 2347  23459  457 | 167-59  (5679)   (1259) | 2567  23467  8    |
| 6     2359   8   | 4       (579)    (259)  | 257   237    1    |
+------------------+-------------------------+-------------------+
| 2478  6      457 | 579-8   3459-78  3459-8 | 1278  12789  2379 |
| 478   458    1   | 5679-8  2        3459-8 | 678   6789   3679 |
| 9     2-8    3   | 167-8   (678)    (18)   | 4     5      267  |
+------------------+-------------------------+-------------------+

In Xsudo
.---------------------------------.---------------------------------.---------.
| 123456789          123456789          123456789         | 123456789          123456789  123456789 | 123456789  123456789  123456789 |
| 123456789          123456789          123456789         | 123456789          123456789  123456789 | 123456789  123456789  123456789 |
| 123456789          123456789          123456789         | 123456789          123456789  123456789 | 123456789  123456789  123456789 |
:---------------------------------+---------------------------------+---------:
| 123456789          123456789          123456789         | 123456789  5678       258       | 123456789  123456789  123456789 |
| 123456789          123456789          123456789         | 123456789  5679       1259      | 123456789  123456789  123456789 |
| 123456789          123456789          123456789         | 123456789  579        259       | 123456789  123456789  123456789 |
:---------------------------------+---------------------------------+---------:
| 12346789   123456789  123456789 | 23456789   123456789  23456789  | 123456789  123456789  123456789 |
| 12346789   123456789  123456789 | 123456789  123456789  123456789 | 123456789  123456789  123456789 |
| 123456789  123456789  123456789 | 123456789  678        18        | 123456789  123456789  123456789 |
'---------------------------------'---------------------------------'---------'



-After the message "Puzzle is no solution!" when trying to autosolve an invalid puzzle with, it will stay in the state of "Autosolve is running!". (running your version 2.0.0.553)
creint
 
Posts: 393
Joined: 20 January 2018

Next

Return to Software