In a way, however, chess has been an AI disappointment. The above programs tend to have a fairly simple static analysis routine. They gain their power by number-crunching through as many positions as they can. They don't "plan", or "learn" in the way that the AI pioneers had expected to be necessary, and their development hasn't led to ideas that have been of wider use.
But there is another parallel strand of chess program development. Botvinnik (ex-World Champion and an Electrical Engineer) amongst others devoted time trying to give computers an "understanding" (in the human sense) of chess positions. This approach has fallen into neglect - it hasn't produced powerful chess programs - but now with more powerful computers and programming techniques it might be time for a revival. Benefits include
Also chess isn't just a matter of playing the "best" move. If the program is losing, or if program notices the opponent being cautious, perhaps it should consider complicating the position or trying to set traps. The ability to define moves as traps and assess their likelihood of success would be useful.
As an exercise it's useful to try to define in computer program terms the criteria for using "!", "!!", "?", "??", "!?" and "?!" in automated annotations. It's not sufficient to say that "!" should be used for a move that leads to a significantly better position than any alternative move would. After all, if someone takes your Queen and you recapture, the recapture is likely to be a significantly better move than the alternatives, but it hardly deserves a "!". Maybe a "!" move is one that in the short term doesn't produce an improved position (indeed, if it's a sacrifice it produces a worse one) but in the long term does improve the position.
When the value of a move changes suddenly as the depth of analysis increases, I think one could say that the move is in some sense "interesting" - oversights, traps and sacrifices fall into this category.
See also