Check out Grant Acedrex, our featured variant for April, 2024.

Enter Your Reply

The Comment You're Replying To
H. G. Muller wrote on Tue, May 19, 2009 10:55 AM UTC:
The techniques you discuss have been tried, but never met with much success
in Chess. Part of the reason is hat it woud require a lot of knowledge to
com up with positions to strive for, which could be realistically
obtained.

The only exception is end-game tablebases. There retrograde analysis is
used to work back from checkmate positions or winning conversions
9promotions, or the capture of a piece) to create the end-game table. But
this is only feasible because the checkmates and conversion are a
well-defined goal, so that positions fitting the requirements can easily be
exhaustively generated.

The search algorithm that currently works best in Chess is recursive
nul-move pruning. There you basicaly explore for what one side can do in 1,
2 3, ... moves when you freeze the pieces of the opponent. (Making him do
only null moves.) This is a dumb but thourough way to generate 'ideas',
i.e. positions that might be reachable from the current position and
achieve some favorable objective according to the evaluation function.

If this is not possible (to the specified depth) there is no reason to
look any further at this branch, but usualy there are som sequences of
moves that cannot be ignored by the opponent. Then it wil search for
alternatives for the null moves (starting with the last one, in
back-tracking version), while at the same time increasing the search depth.
Usually a single null move is replaced by 3 normal ply, to make it less
likely that any countermeasure the opponent finds to our 'plan' is merely
a delaying tactic. (E.g. if on our third ply we could capture his Rook with
a Knight that we manouevred in position with our first two ply, we want to
be sure that he will not push taking the Rook over the horizon by a counter
threat against our Queen that coud be trivially resolved, while his Rook is
trapped).

Selective search in Chess has always overlooked too many things to be
competative. A more sound alternative that does work is reducing the search
depth of moves that seem unlikely to be good (so called 'late moves')
based on some static creterion, rather than completely pruning their
branches. With a fixed reduction the depth to which these branches are
searched will continue to improve with deepening at the root, so that if
there is a surprise there, you will eventually see it. (While with hard
pruning you would be blind to it forever.) Then, if you discover such a
reduced move happens to be good after all, you undo the reduction, and
search it to full depth. If it is still good at that depth, in becomes the
new principal variation. This algorithm can produce significant extra
strength if the static criterion for reducing moves is chosen well.
(Reducng all non-captures except passer puses seems to be already
helpful.)

Of course not every game will behave as Chess. But 'late-move reduction'
seems a sensible way to reduce the effective branching ratio in games that
suffer from a very high branching ration. (Like multiple-move games or
games with piece drops.) E.g. in Arimaa moves that move a piece to a
position where it could have gone through a shorter path would be good
candidates for reduction, or perhaps any move containing backward steps. In
drop games you generally reduce drops (as pieces in hand have higher
mobility than on the board.) Part of the Arimaa branching factor is of
course taken care of by transposition hashing.

Edit Form

You may not post a new comment, because ItemID AI easy or hard? does not match any item.