Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Evaluation-based Reductions and/or Extensions

Author: Uri Blass

Date: 15:42:12 12/29/03

Go up one level in this thread


On December 29, 2003 at 18:02:42, Tord Romstad wrote:

>On December 29, 2003 at 10:35:35, Anthony Cozzie wrote:
>
>>On December 29, 2003 at 09:04:44, Tord Romstad wrote:
>>
>>>On December 28, 2003 at 22:18:04, Anthony Cozzie wrote:
>>>
>>>>In my personal opinion: The time of such static tricks has passed.  When people
>>>>ran on a 386 and struggled to get 5 ply, extensions && pruning were critical.
>>>>Top programs nowadays get 14 ply.  The simple fact of the matter is that
>>>>computers are almost perfect tactically.  More depth now is purely for
>>>>positional benefit.  Right now I'm trying to _reduce_ my extensions, not add
>>>>more :)
>>>
>>>By proceeding in the same direction, you will start adding reductions.  :-)
>>>
>>>I disagree that computers are almost perfect tactically.  In the comp-comp games
>>>I see,
>>>a high percentage of the games are decided by a tactical mistake by one of the
>>>engines.
>>>You may be right that the main importance of more depth is stronger positional
>>>play,
>>>but I don't see this as a reason to avoid using knowledge in the search.  By
>>>pruning or
>>>reducing anti-positional moves with no tactical potential, you will search
>>>deeper positionally
>>>*and* tactically.
>>
>>In blitz, maybe.  But at longer time controls even Zappa makes almost no
>>tactical errors.
>
>My experience is very different -- I've found that tactics are important at all
>time
>controls.  The explanation is probably partly that my engine is not as strong as
>Zappa
>(tactics tend to be more important in games between weaker engines), and partly
>that Gothmog's style often leads to wild positions with many tactical
>opportunities
>for both sides.
>
>But still, I think Uri is right that tactics are important for strong engines as
>well,
>even if it is not as visible.  A top engine might be able to avoid being crushed
>by
>a tactical shot, but it could still happen that one engine discovers a
>combination
>one move later than its opponent, and is forced to make some positional
>concession
>in order to avoid the combination.  Even when the whole game looks purely
>positional, there will often be important tactics hidden in variations which
>were
>never played out on the board.
>
>>>You also once again make the mistake of believeing that everybody is only
>>>interested
>>>in making their engines play well on super-fast hardware.  Programming a chess
>>>engine
>>>that plays well on a fast, modern PC is so easy that it is almost boring.  In my
>>>opinion, it
>>>is much more interesting to invent techniques which do not require extreme speed
>>>of
>>>computation in order to work.
>>
>>Depends on how you define "well". Better than a human? easy.  Better than
>>Crafty/Yace/Ruffian? more challenging.
>
>Of course.  I just don't find that type of challenge very interesting.  To me,
>the
>main purpose of chess engines is to serve as enjoyable opponents for human
>players, not as tools to beat other chess engines.
>
>>>>Thorsten and Ed have both said that Rebel plays better with the reductions off.
>>>>The only engine on ICC that uses his reductions is Chompster, and I've seen
>>>>chompster make errors on a 10 ply search that Zappa catches with a 6 ply search.
>>>
>>>When you start a sentence with "The only engine on ICC that uses ...", the
>>>statement will
>>>almost always be wrong, no matter how you complete it.  Gothmog ("GothmogX" on
>>>ICC)
>>>doesn't use exactly the same reductions as Rebel, but it does many similar and
>>>often more
>>>aggressive reductions (for instance, I have no upper limit for the number of
>>>reductions in a
>>>single path).  I'm sure you'll be able to find positions where Gothmog makes
>>>errors in a 10
>>>ply search which Zappa catches with a 6 ply search, but I also think it is
>>>possible to find
>>>positions where the opposite happens.
>>
>>First of all, for me and I think you chess programming is a hobby, not a job.
>>We are free to do whatever we want: optimize for standard time controls and dual
>>opteron, or 2 minute bullet on a cell phone, or for playing an interesting game
>>of chess, or for being a good sparring partner for my grandmother, or whatever.
>>Being the competetive person I am, I try to make a strong engine, so that is my
>>viewpoint.
>
>It is and will always remain just a hobby to me, too.  :-)
>
>We clearly have very different goals with our engines.  I am not a very
>competitive
>person, and I have no ambitions of creating a strong engine.  Playing an
>interesting
>game is good enough to me.

I see that your engine improves very fast so it seems to me that inspite of what
you say you are a competitive person(at least more than the programmers of other
engines like Chispa,Terra,Frenzee,Scidlet,KnightX,Butcher.

>
>>Secondly, I am talking about strong chess programs.  Commercials + top amateurs.
>>   Ruffian made a tactical error at Leiden 2003.  1 error.  And we were all
>>amazed because it happens so infrequently.  When you get 14 ply, you just don't
>>make mistakes.  You have to win with eval/book.
>>
>>Third, my point was not to derogate Chompster or Gothmog,
>
>I understood that, of course.  I also hope my post didn't look aggressive in any
>way -- that was certainly not my intention.
>
>>but simply point out
>>that worst case performance is what matters.  What do you think is stronger: 35
>>14-ply searches and 5 8-ply searches, or 40 13-ply searches?  That is the
>>problem with all static tricks:  Every now and again they are wrong, and when
>>they are wrong your program can lose the game in one swift swoop.
>
>Doing a reduced-depth search for bad-looking moves (possibly with a re-search
>if the move surprisingly turns out to fail high) is not the same as static
>pruning.

Of course.
Maybe I did not understand what was the meaning of static tricks.
I thought using the static evaluation for decision if to prune(I consider
searching to reduced depth with a possible research as pruning).

>I don't do any static pruning at all except in the last 3 plies before the
>horizon.

I do it in the last 5 plies but the cases when I do it not in the last 3 plies
are very rare(one of the conditions to do it not in the last 3 plies is that the
static evaluation is more than 16 pawns bigger than beta for the side to move).

Uri



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.