F# - Asynchronous Workflows
Sudoku CSP Algorithm
Sudoku is of great interest to the field of computational intelligence (CI) since the problem resides in the NP-complete domain. Finding a polynomial solution for all models in the puzzle space would also resolve the P=NP question. Today, most AI researchers agree that Sudoku is a Constraint Satisfaction Problem (CSP). The algorithm presented here solves all models easy, medium, hard, and evil. It requires 4.5 seconds to solve the famous AI Escargot and 17.8 seconds for Evil 10.
For more information read: Sudoku A Constraint Satisfaction Problem (pdf)
The solution is available in native C++ and the functional programming language F#.
Today, many algorithms exist solving the Rubiks Cube in a minimum amount of moves. These algorithms reside in the NP-complete domain and require a fair amount of time to render an optimum solution. A heuristic algorithm is presented here solving the puzzle similar to a human approach. The algorithm does not search for an optimum solution, instead it renders the solution in polynomial time.
The algorithm is fully implemented and functional; however, steps required to solve the puzzle are not yet displayed to screen or captured to file. Soon.