Hello, this is the first attempt to write down random thoughts that occurred to me as I daydream.
Yesterday I finally received the highly anticipated book Blondie24 by David B. Fogel. Its an excellent introduction to the development of his checkers playing program that uses evolutionary computation and neural networks approaches. Fascinating indeed.
Today I was thinking to write up a paper on the genetic algorithms based Sudoku solver Id done two years ago. As I surfed the web in the past year, Ive seen more websites that offered good and fast approaches to solve Sudoku problems. They really amaze me on their speed and/or cleverness.
Seeing many fast programs that used the constraint logics approach with many clever strategic heuristics to prune the search space, I wondered to myself: they were created by people who studied the Sudoku puzzle intensively and probably enjoying solving them as well.
The GA based Sudoku I created on the other hand was written by someone who couldnt solve a single Sudoku puzzle (and I never did have the patient or brainpower to do so anyway). Comparing to those constraint logic based program, it is much slower and not guarantee to find up a solution in a given times. And its success rate is only one in every five attempts: a truly pathetic Sudoku solver indeed. However it was built with almost no deep knowledge of how to solve the puzzle except some little rules written on a newspapers column on Sudoku.
Reading about David Fogel and Kumar Chellapillas wonderful self-learning checkers playing program, allows me to gain more understanding on the unappreciated quality of the Sudoku program I wrote. If you think about it, its simply amazing that the evolutionary computation approach would enable game playing and puzzle solving programs to be written by programmers with the minimum level of the domain knowledge.
This newfound realization now gives me the aspiration to write AI programs to play turn-based strategy games in which I may not know much about best play strategies.