

Interview with Robert Houdart, author of the world's strongest chess engine - mbrubeck
http://www.chessbase.com/newsdetail.asp?newsid=8591

======
andrewcooke
the video is _really_ worth watching. i don't know much about chess / computer
chess, but it makes it very clear how the ability to prune well and so search
deeper is leading to more "human" play.

(yt link just to video
[https://www.youtube.com/watch?feature=player_embedded&v=...](https://www.youtube.com/watch?feature=player_embedded&v=xWdMqvGMxF4&noredirect=1))

~~~
nealabq
Looks more like super-human play.

The computer is seeing patterns that aren't apparent to humans. Patterns of
time and momentum, with pieces scattered across the board. Non-local
multidimensional high-complexity patterns.

Of course the best players also see deeper than the rest of us. But in
hindsight the moves are rational and the patterns visible, because they're the
kinds of patterns we can grok.

I wonder if this just a teaser, a taste of things to come. If we can model a
situation we can simulate it. Weather, traffic congestion, etc. With a cost
function and players, we've got a game engine. Cooperative or competitive.

So how does this evolve? Phone apps that organize flash mobs? Google cars that
weave helter-skelter without stop lights on bi-directional lanes. Software
that calls all the plays, coaches the game, generals the war, controls the
money supply or the trading on a futures market.

Will we become the spectators, happily playing our side of an invisible
gambit?

~~~
evoxed
> Phone apps that organize flash mobs...

I'm going to have strange dreams now about our future... artificial
intelligence so advanced that it doesn't see the point in destroying us when
it can just relentlessly prank and troll the world. :)

------
sethrin
The world of chess engines is the world of search algorithms. I've read that
exploring a search tree is inherently serial, and while there have been large
performance increases over the years (Houdini and other top engines are 3000+
ELO), it seems they have not substantially outstripped the single-threaded
performance of modern CPUs.

There is a chess programming wiki[0] (which was possibly referred to in the
article) which gives some examples of parallel search algorithms. There is
also a chess engine written in openCL which is not terribly strong as yet.
Those of you with greater knowledge of algorithms may find these problems
interesting; if I had a dedicated GPU to hand I'd probably be hacking on it.

[0]<http://chessprogramming.wikispaces.com/Parallel+Search> [1]<http://zeta-
chess.blogspot.com/>

------
kds
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..._ "

~~~
tzs
> 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.

~~~
shasta
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.

------
rockdoe
That's funny, I thought it was well understood that Houdart didn't write 99%
of Houdini, but it's an improved version of the public domain
Ippolit/Robbolito sources, the latter being GPL.

It's a bit like calling Alan Cox "author of the widely used Linux operating
system".

~~~
shabble
There seems to be quite a lot of controversy over the lineage of quite a few
of the top chess engines, from what I recall reading. I can't find the article
I'm remembering this from right now, but I think it was focused on [a]
decision to disqualify Rybka from some rankings.

Ippolit stands accused of using decompiled parts of Rybka, Rybka itself may[2]
be using bits of Fruit, and possibly others.

I don't know enough to comment about the strength of the various allegations,
but there are definitely conflicts over the exact authorship/heritage of a lot
of the top performers.

[2] <https://en.wikipedia.org/wiki/Rybka#Controversy>

