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.