The main idea would be to create a Convolutional Neural Network capable of solving any 9x9 Sudoku problem that arises ... with a degree of accuracy of 100% ...
The restriction satisfaction approach works very well for a backtraking procedure, but it is not ideal to solve Any sudoku problem from the point of view of Neural Networks, for that you need another approach, another approach and that is what that I think I have
At a more basic level we are faced with the problem of P vs NP, solutions that see the problem as "Satisfaction of Constraints" are doomed to failure in what we move to higher order sudokus ... What I propose is something that can serve for the 9x9 and then be able to expand it to the 16x16 and more ...
I have already designed the architecture of the Network that is needed to solve the problem ... what I need is someone with enough knowledge in neural networks so that I can implement and test it
I do not know how to handle well with the tools to implement an RN, all my knowledge on the subject is self-taught, I know that there are people who are very fast using TensorFlow or Keras to do the implementation, that "Know How" is what I am requesting help...
My contributions would be: The set or Data Set necessary to train the neural network, the design of the network architecture and the extensive knowledge I have about the elements that make up sudoku as well as their way of relating ...
This man set up a repository on Github with a Neural Network that solves Sudokus.
https://towardsdatascience.com/solving-sudoku-with-convolution-neural-network-keras-655ba4be3b11In the readme and on the blog there is data about the project. Unfortunately, it was not 100% accurate.
Although I think he did an excellent job, I think he lacked depth
What I propose is a "Serious" attempt to solve the "Sudoku" problem, I have been researching the subject for more than seven (7) years
Basically you have to be able to hold on against this ... 216x216 templates...
https://github.com/MiguelQuinteiro/ImagenesSudoku/blob/master/MegaSudoku.jpgThe other fundamental part that can differentiate this from other similar projects is that from the beginning the Neural Network should not be trained to solve Sudoku problems as if it were a "Brute Force" algorithm, for that we already have algorithms that they can "branch and prune" in a heuristic way and then run a brute force type or bactraking on a fairly small subset, which solves just about any sudoku problem in a few nanoseconds ...
What it is about here is that the architecture that we generate is one that can distinguish between Erroneous Sudoku, Ambiguous Sudoku or Well Planted Sudoku. In such a way that the RN is forced to try to solve Sudoku as part of a somewhat more complex task.
Most of the brute force algorithms that solve sudoku find a situation and if they can fill it in by completing all the empty boxes and if they succeed they stop and give it as a solved sudoku puzzle, but in reality they cannot be sure that it is. that they solved was a sudoku puzzle unless they try to find a second solution and cannot find it ....
Best Regards