Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: What means Tuning on other Progs in the actual Situation?

Author: Robert Hyatt

Date: 07:40:34 01/19/06

Go up one level in this thread


On January 19, 2006 at 08:54:00, Rolf Tueschen wrote:

>In a debate with Ernst I made the remark that actually "Rybka were tuned on all
>other engines" while the others only begin slowly to react as in the case of
>Hiarcs and some special settings which are successful.
>
>Uri doubted that this could be said because no single engine could be tuned on
>ALL others. While this could well be correct I had something else in my focus.
>
>Rybka is a new entry and I am not aware of a single other known engine that has
>been completely updated with the experiences from the Rybka games, and what is
>more important, that then has been tested in the updated version. I know only
>this Hiarcs case with the improvement by Czub.
>
>My comment was directed to our actual test situation. Look at this. Rybka is
>updated almost daily or at least weekly and sure its programmer has the always
>specific results in mind (tuning shouldnt mean here that Vasik is exactly in a
>loop with all the testresults and does some fine-tuning every two hours; I had
>more a macro-tuning in mind for all in the process of still building up a new
>engine). So that is what i called "tuned on all others" - I meant the gwneral
>advantage in the initiative in the programming process of Rybka. My thesis is
>that if the other programmers start to update their own programs too, we had
>completely different test results.
>
>Is all that assumed too much and outlandish at all?


Maybe or maybe not.  One particular example comes from my past, in fact.  Back
somewhere in 1995-1996 (I could look at the comments in main.c and probably
figure out about when) I added specific evaluation code for an "outside passed
pawn" (sometimes called "distant passed pawn.")  It turns out that the primary
competition at the time, including wchessx and chess genius (version unknown)
did not have this at all.  And what started to immediately happen is that in
almost every game, this would become a "deciding issue".  Not in every game of
course, but in the majority.  Because Crafty knew about the idea, and the
opponents did not, so in most games, Crafty would find a way to create an
outside passer and the opponent would gleefully allow it if it meant that Crafty
gave up a pawn or some other positional advantage to do so.  And over and over,
this advantage would result in a win because part of this evaluation included
the concept "a distant passer becomes more valuable as pieces are removed from
the board."  So the opponent might build up a group of well-placed pieces,
centralized knights, rooks on central open files, etc.  And after creating the
distant passer, crafty would set about trying to trade pieces, and the opponent
would go along with it not realizing how the value of the distant passer
increased as pieces came off.

Did I create this specifically to exploit other programs?  Hardly.  I did it to
keep from being exploited by humans that were doing this same thing to my
program.  But it _really_ turned into a huge advantage for several months, until
others finally noticed what was happening and why, and addressed the missing
knowledge, and eventually this particular feature faded back into the
"significant evaluation terms" rather than being a member of "overwhelmingly
important evaluation terms."  I saw a near-repeat of this with the "distant
candidate" type code in Crafty.

So yes, it is possible that someone (Vas or another) finds some really good new
evaluation term, and that term, if it is really important, could be the thing
that turns games around.  Most programs are very poor at king-safety.
Regardless of what their authors might try to tell you.  Imagine what a program
that _really_ understands king safety would do to today's crop of programs.  It
would be bloody.  But since programs don't understand it very well, they also
can't exploit the concept either, except for occasional "flash in the pan" type
events.  For example, Gambit Tiger.  CT "turned up the volume" on king-safety to
a level not yet seen.  And GT then started to play very aggressively, often too
aggressively/over-optimistic.  But it was cleaning up on humans in fast games
since that was exactly the kind of game where a human could/would make mistakes.
 And against some very weak king-safety programs, it would wreck havoc as well.
But slowly programs were tuned to not fall into some of those traps, and the
idea faded back to a normal level of importance.

I have not personally studied/watched any Rybka games (yet).  I will certainly
do so over the next few months, getting ready for the WCCC.  If my program loses
the same way 2-3 times, I'll certainly recognize "the feature" that is causing
the problem and take some action.  If it is not evaluation-based (it is some
search trick) then it becomes harder to fix, but it is not that hard to decide
whether your program screwed up by just not understanding and evaluating some
idea correctly, or whether it just didn't see deeply enough compared to your
opponent, which means work on the search is needed.




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.