Having spent some time hacking away at stockfish, and understanding its heuristics, it makes it clear how simple rules Based approach is good enough to make stockfish the strongest open source chess engine.
I've been meaning to take some machine learning approaches at chess. There looks to be some promising work by erik bern which is worth exploring. Hopefully I will sort some time out and have a play with some approaches and will have something to share.
Essentially we would use positions as data and moves as assigned labels in a supervised learning. Worth a go!