This is indeed very revealing on the interesting qualities/properties of the engine => "...and so I was watching how this game developed – Houdini sacrificed a pawn, two pawn, three pawns in a queen-less middle game, to end up winning the game in convincing fashion. During the game I wasn't sure at all that what we were seeing was a brilliant game – and not some obscure bugs I’d left in the engine… I don’t think any other engine could have played this game the way Houdini did..."
> During the game I wasn't sure at all that what we were seeing was a brilliant game – and not some obscure bugs I’d left in the engine
That reminds me of an interview I read many years ago with an author of one of the then leading chess engines. They were doing some last minute fiddling before a tournament, and they accidentally introduced a bug that effectively reversed the goal of the game. Their engine wanted to lose.
At first, you would think that this would readily become obvious. You might expect that once it got past the opening book, where it plays by rote, it would start leaving pieces undefended, not capturing enemy pieces that are open.
That is not what happened. Actually, it played well for most of the middle game. The reason is simple--when it evaluated the board in order to formulate a plan to lose, IT ASSUMED THE OPPONENT WAS ALSO TRYING TO LOSE!
To win a game of chess where the goal of both players is to lose, what you are going to have to aim for is a position where you have such a strong position that you can force the opponent into a situation where you can check him, and to get out of check he is forced to checkmate you. In short, you have to completely dominate the opponent in order to ensure you will lose--and this means you have to play a really really good middle game.
Interesting anecdote, but my guess is that your last sentence is an incorrect assessment of what was going on. Chess engines almost all perform a min/max search on the game tree to bounded depth with static evaluation used to evaluate the leaves of the search. My guess is that what was going on is that the really bad moves weren't noticed to be really bad because it assumed the opponent wasn't going to capitalize on the mistake. It seems implausible to me that the engine was somehow able to look ahead to the end game and figure out that the only way to win at misere chess is to be winning going in to the end game.
In my scholastic chess days I used to play a lot of suicide chess between rounds. What continually amazed me is how very few players could grasp the basics of how to play suicide. The nature of suicide chess strategy was too conter-intuitive I guess. I'd be capturing be after piece after piece and they'd get their hopes up only to have them crushed near the end when my superior force proved decisive. To lose at chess, one must first win.
I don't know about the internals of the chess engine you are talking about but it would be interesting to read about it.
Basically most engines are minimax (or proof-number search) and alpha-beta pruning based.
I guess that in the game you describe the algorithms are the same but it choses the worst scores instead of the best ones.
It's commonly called "suicide chess" and when two suicide-chess AI confronts, there are always strange results.