Universal sudoku solver (again)

Programs which generate, solve, and analyze Sudoku puzzles

Universal sudoku solver (again)

Postby horybori » Sun May 19, 2019 11:28 pm

Hello everybody,

I just want to do a little research. A few years ago I have created a sudoku solver program that was capable of solving lot's of puzzle variants. (My previous post about it: http://forum.enjoysudoku.com/universal-sudoku-solver-t32972.html). I have stopped developing it a long before, but now I thought about that I could make it more faster and even more universal. (For example, you could express things like (a1 + a3 + 100) * a4 - a5 <= b4 % 7 - b6.) I would rewrite it from scratch and I guess the most notable feature (among others) would be multi-thread support.

However, before I start coding, I want to do a little research because I would like to know if you would be really interested in it or it would be just a waste of time. Please let me know what you think about it, I'm opened for any kind of feedback.
horybori
 
Posts: 14
Joined: 26 February 2016

Re: Universal sudoku solver (again)

Postby SudoKai » Tue May 21, 2019 9:05 am

It would be best to create a Universal Sudoku Solver mainly for yourself and share it with everyone else as time goes on (just like me). Otherwise you will be seriously disappointed, frustrated, and you will feel like you are wasting your time with the Sudoku community if you create a solver for them and not for yourself.

But that is just my opinion and findings after many years of Sudoku software development.
SudoKai
 
Posts: 54
Joined: 07 June 2014
Location: South-Africa

Re: Universal sudoku solver (again)

Postby creint » Tue May 21, 2019 5:02 pm

The best thing you can provide would be an opensource universal xsudo like logic finder.
Or something like http://forum.enjoysudoku.com/post251481.html.
I wanted to implemented it in my solver but it would be easier if there is concept code available.
creint
 
Posts: 397
Joined: 20 January 2018

Re: Universal sudoku solver (again)

Postby horybori » Tue May 21, 2019 7:26 pm

creint wrote:The best thing you can provide would be an opensource universal xsudo like logic finder.
Or something like http://forum.enjoysudoku.com/post251481.html.
I wanted to implemented it in my solver but it would be easier if there is concept code available.


I don't really got what you try to tell me. I have my own algorithm. It's fast, I like it. We are all designing constraint solvers, just taking different steps and ideas until we reach the solution. I don't like reading lengthy papers, but in my interpretation (correct me) BART is just a bloated (slooow) SAT-solver (is it a solver at all?), so I don't think I would be interested in it.
horybori
 
Posts: 14
Joined: 26 February 2016

Re: Universal sudoku solver (again)

Postby horybori » Tue May 21, 2019 7:55 pm

SudoKai wrote:It would be best to create a Universal Sudoku Solver mainly for yourself and share it with everyone else as time goes on (just like me). Otherwise you will be seriously disappointed, frustrated, and you will feel like you are wasting your time with the Sudoku community if you create a solver for them and not for yourself.

But that is just my opinion and findings after many years of Sudoku software development.


I feel exactly like this, that's why I stopped developing years ago. I realized that nobody is really interested in it and I felt that it's just a waste of time. I just can't code if I know it's useless. Now, I'm fell in love with Sudokus again, but unfortunately, the only thing I can think about now is that:
(Years after.)
- "Oh, I have this program that can solve this fancy puzzle here..." -- Me.
- "Ok. And?" -- Also me. I open the program, I type in the puzzle, it solves it in a half eye-blink... and... nothing else, fin. It's just not too satisfying, not even speaking about how much work hour I killed/would kill in it.

On the one hand, I would like to do something that nobody never really did before (as I know, that's why I started), but on the other hand I don't want to waste my time and I know after a short time it would become super boring (as before). Currently, not doing anything throttles every other feeling inside me.

As a final note, I feel that nobody--apart from me--is interested in such software. Hard to accept, but I can understand it too.

PS: Thanks for I could write this down. I really wanted to tell somebody my feelings.
horybori
 
Posts: 14
Joined: 26 February 2016

Re: Universal sudoku solver (again)

Postby creint » Wed May 22, 2019 8:51 pm

There are some people here that like to do manual solving on variants, also for newspaper and games.
-A program where you can input your variant and a generator that can generate with a rating.

And there are people who like to research difficult/unknown strategies
-A program that gives hints on where to find them (BERT like algorithm should find every possible logic)

Some people also want to learn/build a solver
-A program that with easy pasting and displaying all logic, for comparing while developing.

Largest group only wants to solve basic puzzles for magazines, but those you probably don't find on this forum.
-Easy input/design/pasting from image/solving does not care about difficult logic/does not care about speed.

There are unlimited possible variants so you can always keep extending, but what use has it when it will never be used.
Finding and displaying logic would be nice to discover unknown strategies in the hardest sudokus.

If you do it right then it should be a learning path for yourself where become a better developer, by learning/discovering new algorithms/design patterns.
A motivation to build a variant solver from scratch is when you see it in a magazine and there is no available solver that can solve it. (In my case a Jigsaw hexadoku, but then with a design and missing some cells. Designer and basic logic solver build within 24 hours)
And you can keep some motivation when others on this forum or elsewhere, are posting variants that you can't solve.
You can also post challenges yourself in case you want to compare with other solvers here.

In the end you have become a better developer which can be useful for finding good work.
Many people are wasting more time doing more useless things. (Values: Momentary, Couple years, Lifelong, Infinite)

Can you upload a new version of your solver I get an error Unsupported Hardware, I want to test the features.
creint
 
Posts: 397
Joined: 20 January 2018

Re: Universal sudoku solver (again)

Postby horybori » Thu May 23, 2019 10:54 am

You got "Unsupported hardware", because your processor is missing some essential instruction sets (either POPCNT, BMI1, BMI2 or (LZCNT)). (I don't know which version I have uploaded, so these checks may be faulty.) (un)Fortunately, since that time I don't use windows, so I can't run and test my programs. I started port them Linux/GTK too, but I don't remember where I left off developing. I have about 20 backup directories scattered all over random pendrives, but I try to organize them and upload the source code as soon as possible under the original post, so you can build it yourself.
horybori
 
Posts: 14
Joined: 26 February 2016

Re: Universal sudoku solver (again)

Postby creint » Thu May 23, 2019 6:58 pm

So it only supports AMD hardware, or some rare other processors. Your solver could be very fast but I did not get it to work, too much other exceptions when trying to run it.
Probably does not support many variants, and is not userfriendly.
You could also develop userinterface in a higher level language and only the logic in c++ if you really want guessing speed.
creint
 
Posts: 397
Joined: 20 January 2018

Re: Universal sudoku solver (again)

Postby horybori » Thu May 23, 2019 9:42 pm

AMD? No. I have a 6-7 years old Intel® Core™ i5-2410M. Try compiling one of the c projects, because just now noticed that the newer cpp projects have no windows support. If you want you can pm me with the errors, maybe I can help make it alive again.
And yeah, now I want to totally separate frontend and backend.

Probably does not support many variants, and is not userfriendly.


It hurt a bit. From my old post:

- irregular units/regions: x-sudoku, hyper-sudoku/windoku, jigsaw, nonomino...
- multiple boards: like samurai sudokus
- cages: e.g. killer sudokus (every four operations are supported: addition, multiplication, division, and subtraction)
- relations between cages: greater, less, equal relations (supported, but user cannot set yet)
- additional rules: greater than sudokus, consecutive sudokus
- additional restrictions: custom candidate set can be specified for every cell (e.g. even or odd numbers only)
- custom symbols: wordoku
...in every size (from mini to giant and more...).


It's a bit more than "not many", I guess. With just size changing and board placement you can solve more thousands of variants of puzzles. Then you can add/remove custom regions, cages... etc. (Of course, there could be missing parts, because I have stopped with developing, but these features are completely supported in the uploaded executable.) And here is a screenshot of the UI: https://raw.githubusercontent.com/zsugabubus/nps/archive/doc/images/symbols.png. I don't say it's fully featured, but you have keybindings for everything you will probably need.
horybori
 
Posts: 14
Joined: 26 February 2016

Re: Universal sudoku solver (again)

Postby SudoKai » Fri May 24, 2019 9:37 am

creint wrote:...Probably does not support many variants, and is not userfriendly...

What is a user friendly Universal Sudoku solver/creator suppose to look like?

Makes me wonder how my solver/creator stacks up to user friendliness.
SudoKai
 
Posts: 54
Joined: 07 June 2014
Location: South-Africa

Re: Universal sudoku solver (again)

Postby hkociemba1 » Fri May 24, 2019 9:55 am

I do not think that software for Sudoku or its variants interests a significant number of people any more. Personally I wrote my solver software for NxM sudoku more or less just for me. But of course still I wanted to make it public and in this way stumbled into this forum. Honestly even myself do not use the program any more because my interest for Sudoku has rapidly decreased meanwhile. For me most of the Sudoku variants are artificial and are - what is more serious - for me aesthetically not appealing. I have the impression that my interest is about reciprocally proportional to the number of variants I get aware of.
I really was fascinated to deal with Sudoku problems for a couple of years and enjoyed this forum but in perspective I will return probably to problems about Rubik's cube and its variants which in my personal opinion is more attractive and the community is also more active.
User avatar
hkociemba1
 
Posts: 60
Joined: 08 August 2018

Re: Universal sudoku solver (again)

Postby horybori » Fri May 24, 2019 3:47 pm

Sounds very depressing.
I agree that most of the variants are artificial, but it's mainly because there aren't strict rules for Sudokus. Place numbers into a... grid?... grid according to some rules. Not too restrictive. The variations are infinity.
horybori
 
Posts: 14
Joined: 26 February 2016

Re: Universal sudoku solver (again)

Postby creint » Sat May 25, 2019 7:00 pm

horybori, can you compile the latest version (for linux or windows) for me? Cpu supports MMX,SSE,SSE2,SSE3,SSSE3,SSE4.1,SSE4.2,EM64T,VT-x,AES,AVX,AVX2,FMA3,TSX instructions set.
But I currently don't care about speed, I just want it to work.
About those features, a part of them weren't added in de c version, which I builded.

SudoKai, your solver is probably designed for designers/publishers.
Desiging the cells and more, even some constraint types.
Basic logics, and no visible logic implementation for calculations.
Generating a Windoku Windmill X takes a very long time.
Solving does not display solving path, but a nice display of logic.
I don't know how to manually inputting a file, but I guess that inputting a Killer sudoku/calculation/large variant takes a lot of time. But maybe the focus is on nice design and not fast inputting of constraints.
Also pasting a puzzle is not working. Some features are not working, but maybe that's because its not the paid version.
creint
 
Posts: 397
Joined: 20 January 2018

Re: Universal sudoku solver (again)

Postby SudoKai » Tue May 28, 2019 8:25 am

creint wrote:...your solver is probably designed for designers/publishers...

I make it for myself and release it into the wild to see how the Sudoku community would react to my application and efforts. Not much of a reaction or support thus far. Hopefully my next major version would be more acceptable and appreciated - that is if it or me survives that long.

As for some of the other issues you raised, guess I am a bad Sudoku programmer and should quit while I am behind. Then again, since I don't know what a user friendly Universal Sudoku solver/creator is suppose to look like - I kind of 'Code as I Go' and make stuff up when I don't have any reference to a particular programming problem that needs to be solved or a design issue that is to be catered for.

But I am thinking of ways to solve the stuff I am unable to solve. Wish me luck that I succeed or curse me with extreme good fortune.
SudoKai
 
Posts: 54
Joined: 07 June 2014
Location: South-Africa

Re: Universal sudoku solver (again)

Postby horybori » Tue May 28, 2019 10:14 am

creint, sorry, I can't cross-compile to windows, and other projects just fails with significant amount of error messages. I remembered I left them in a working state, but according to this I was wrong. Anyway, this is just an archive, with full of crappy design, so I don't wish make them working (again(?)).
horybori
 
Posts: 14
Joined: 26 February 2016

Next

Return to Software