Solving Sudoku with genetic algorithms
fakeguido.blogspot.com
fakeguido.blogspot.com
When modeled as feasibility problems, for instance, their solution can be found very quickly -- it took 0.2 seconds to solve that instance on my laptop.
For more difficult Sudoku puzzles, I would definitely go with the permutation genome
For 25 times 25 Sudokus on the other hand, propagation alone is in my experience not enough, and a lot of search is needed.
Try it. You may be surprised. Here's a good one: zonkedyak.blogspot.com/2006/11/worlds-hardest-sudoku-puzzle-al.html
Also try a 5-based instance of the same problem (against the standard 3-base of sudoku, that is, a 5x5 matrix of 5x5 matrices containing the numbers 1-25), and compare performance of that problem to a normal solver.
I'm not going to tell you what will happen, because you won't believe me. Somebody seems to have cast a glamor on GP.
Some people in combinatorial optimization are addressing the problem of finding the hardest Sudoku problem. For an introduction of how the problem can be modeled, see:
A serious try with GA would require abandoning Python for a faster fitness function in C, that does not copy dozens of lists back and forth. I estimate that just about anyone could make it more than 100 times as fast. The slow implementation will have to suffice for now.
The interesting part is of course not the absolute times, but if the complexity scales differently. If a real Sudoku solver takes about 50 times as long to solve that problem, I will consider it a victory if the GA does the same.