Anyone who has a degree in Computer Science must be aware of the N-queens problem. I think Chess is just an extension of that.
I played Chess after a long time today (sadly, I lost). I was thinking if I had an algorithm ready, I would never lose. Interestingly, I think if two well written codes of chess competed against each other, the game will always end in a draw.
I am not an authority on this, but my impression was that Chess algorithms use a combination of techniques:
Here is an interesting read from StackExchange.
Lars
German developer, who likes to play with everything that comes in his way
Today I looked in the n-queens problem.
After some thinking and tinkering, I had a solid Java program, which simply brute forces the results. Not very elegant, but I think I will improve it at some point just for fun. Maybe also add some things like ram usage monitoring to check if the improvements I did, are really improvements.