To Mark Lefler

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

TShackel
Posts: 313
Joined: Sat Apr 05, 2014 12:09 am
Location: Neenah, WI, United States

Re: To Mark Lefler

Post by TShackel »

shrapnel wrote:Fair enough, from YOUR perspective.
From a Gamer's perspective, I can tell you this......Open up ANY online chess Server like Playchess.com or Infinitychess.com and you will find that 99.99 % of the players using Komodo, Stockfish or one of its derivatives.
NO self-respecting player would be caught dead using ANY other Engine !
It's only in this Forum that people get excited about mostly unheard of Engines. In the real (Gaming) world all Engines except Komodo and Stockfish are simply SNEERED at !
That is the reality ! AND THAT is why it is important for many Komodo users to find the ideal Contempt to use against Stockfish, not simply use an over-defensive contempt 0 !
Regards
Well get to work and find out what the best setting is against stockfish. I too would like to believe this contempt can help improve winning chances even against stockfish, because if you keep pieces on board then it increases the chance of getting an advantage later in the game due to other evaluation parameters. I don't think early draws will help the elo race battle necessarily. It's one thing if you're black and losing so a draw is beneficial but it's another thing to seek out simplification before it's a good time to do that and let stockfish get off the hook with an easy draw.

Sincerely,

Tim.
Andrew
Posts: 231
Joined: Thu Mar 09, 2006 12:51 am
Location: Australia

Re: To Mark Lefler

Post by Andrew »

shrapnel wrote:
lkaufman wrote:We wouldn't have bothered with contempt if we only cared about playing Stockfish,
Fair enough, from YOUR perspective.
From a Gamer's perspective, I can tell you this......Open up ANY online chess Server like Playchess.com or Infinitychess.com and you will find that 99.99 % of the players using Komodo, Stockfish or one of its derivatives.
NO self-respecting player would be caught dead using ANY other Engine !
It's only in this Forum that people get excited about mostly unheard of Engines. In the real (Gaming) world all Engines except Komodo and Stockfish are simply SNEERED at !
That is the reality ! AND THAT is why it is important for many Komodo users to find the ideal Contempt to use against Stockfish, not simply use an over-defensive contempt 0 !
Regards
I would hope Komodo isn't developed with Playchess etc in mind!
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: To Mark Lefler

Post by lkaufman »

Andrew wrote:
shrapnel wrote:
lkaufman wrote:We wouldn't have bothered with contempt if we only cared about playing Stockfish,
Fair enough, from YOUR perspective.
From a Gamer's perspective, I can tell you this......Open up ANY online chess Server like Playchess.com or Infinitychess.com and you will find that 99.99 % of the players using Komodo, Stockfish or one of its derivatives.
NO self-respecting player would be caught dead using ANY other Engine !
It's only in this Forum that people get excited about mostly unheard of Engines. In the real (Gaming) world all Engines except Komodo and Stockfish are simply SNEERED at !
That is the reality ! AND THAT is why it is important for many Komodo users to find the ideal Contempt to use against Stockfish, not simply use an over-defensive contempt 0 !
Regards
I would hope Komodo isn't developed with Playchess etc in mind!
I'm not sure what you mean here. We keep all of the likely uses by our customers in mind. But we don't favor one category of customer over another.
Komodo rules!
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: To Mark Lefler

Post by Laskos »

lkaufman wrote:
shrapnel wrote:
lkaufman wrote:We wouldn't have bothered with contempt if we only cared about playing Stockfish,
Fair enough, from YOUR perspective.
From a Gamer's perspective, I can tell you this......Open up ANY online chess Server like Playchess.com or Infinitychess.com and you will find that 99.99 % of the players using Komodo, Stockfish or one of its derivatives.
NO self-respecting player would be caught dead using ANY other Engine !
It's only in this Forum that people get excited about mostly unheard of Engines. In the real (Gaming) world all Engines except Komodo and Stockfish are simply SNEERED at !
That is the reality ! AND THAT is why it is important for many Komodo users to find the ideal Contempt to use against Stockfish, not simply use an over-defensive contempt 0 !
Regards
In my opinion the proper value for you to use in gaming depends very much on relative hardware. For example, if you only have an 8 core machine while your opponent has 24 cores, you might well want to use negative contempt. If you have 8 cores and he only has a quad, probably the default contempt (or maybe just 10) is fine. But perhaps often you don't know the opponent's hardware.
Yes, against the latest SF at blitz the most important for contempt is the hardware. There seem to be a rule of thumb of something like

Contempt = ELO difference / 10

Well, or similar. So, at blitz, assuming the engine strength between Komodo and SF is within 10-20 ELO points, the doubling in hardware gives contribution for contempt of 60 ELO points /10 ~ 6 contempt points. Opponent has twice the hardware, then use -6 contempt, opponent has half the hardware, use +6 contempt. Do you have a better rule of thumb for contempt?
User avatar
Rebel
Posts: 6994
Joined: Thu Aug 18, 2011 12:04 pm

Re: To Mark Lefler

Post by Rebel »

lkaufman wrote:
shrapnel wrote:
RJN wrote:"The release came too late to be used in the first stage of TCEC, but of course it will be available for the second stage.
Hmm...though a Komodo fan, I'm not too sure about this new Contempt parameter. The Komodo Team insists on retaining it; and indeed it may prove beneficial in the long run.
The only thing is, I'm not too sure that the ideal Contempt setting to use against Stockfish has been found yet....

We wouldn't have bothered with contempt if we only cared about playing Stockfish, it may well be worthless against latest SF. But you can just set it to zero against SF if you like. In view of our ratings on the rating lists, it is clearly helping us against the range of opponents tested there.
Smart move.

It's one reason why I suggested a new rating list type where everything is allowed. Opening Book, Opening Book learning, Position learning, making use of large databases and like in human chess to know the rating of your opponent.

On the latter, because Komodo is top it can set a contempt value that works against 90+ of the engines it plays, other engines can not.

Not that I expect that rating list would differ too much from current ones.
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: To Mark Lefler

Post by lkaufman »

Laskos wrote:
lkaufman wrote:
shrapnel wrote:
lkaufman wrote:We wouldn't have bothered with contempt if we only cared about playing Stockfish,
Fair enough, from YOUR perspective.
From a Gamer's perspective, I can tell you this......Open up ANY online chess Server like Playchess.com or Infinitychess.com and you will find that 99.99 % of the players using Komodo, Stockfish or one of its derivatives.
NO self-respecting player would be caught dead using ANY other Engine !
It's only in this Forum that people get excited about mostly unheard of Engines. In the real (Gaming) world all Engines except Komodo and Stockfish are simply SNEERED at !
That is the reality ! AND THAT is why it is important for many Komodo users to find the ideal Contempt to use against Stockfish, not simply use an over-defensive contempt 0 !
Regards
In my opinion the proper value for you to use in gaming depends very much on relative hardware. For example, if you only have an 8 core machine while your opponent has 24 cores, you might well want to use negative contempt. If you have 8 cores and he only has a quad, probably the default contempt (or maybe just 10) is fine. But perhaps often you don't know the opponent's hardware.
Yes, against the latest SF at blitz the most important for contempt is the hardware. There seem to be a rule of thumb of something like

Contempt = ELO difference / 10

Well, or similar. So, at blitz, assuming the engine strength between Komodo and SF is within 10-20 ELO points, the doubling in hardware gives contribution for contempt of 60 ELO points /10 ~ 6 contempt points. Opponent has twice the hardware, then use -6 contempt, opponent has half the hardware, use +6 contempt. Do you have a better rule of thumb for contempt?
I think that is an excellent rule of thumb for contempt. If it is correct, I should have set a higher contempt value for the Movsesian match. We used only 40, but the formula would call for at least 60, maybe as high as 80 knowing the result of the match now. But I can't complain about the result!
Komodo rules!
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: To Mark Lefler

Post by bob »

Laskos wrote:
lkaufman wrote:
shrapnel wrote:
lkaufman wrote:We wouldn't have bothered with contempt if we only cared about playing Stockfish,
Fair enough, from YOUR perspective.
From a Gamer's perspective, I can tell you this......Open up ANY online chess Server like Playchess.com or Infinitychess.com and you will find that 99.99 % of the players using Komodo, Stockfish or one of its derivatives.
NO self-respecting player would be caught dead using ANY other Engine !
It's only in this Forum that people get excited about mostly unheard of Engines. In the real (Gaming) world all Engines except Komodo and Stockfish are simply SNEERED at !
That is the reality ! AND THAT is why it is important for many Komodo users to find the ideal Contempt to use against Stockfish, not simply use an over-defensive contempt 0 !
Regards
In my opinion the proper value for you to use in gaming depends very much on relative hardware. For example, if you only have an 8 core machine while your opponent has 24 cores, you might well want to use negative contempt. If you have 8 cores and he only has a quad, probably the default contempt (or maybe just 10) is fine. But perhaps often you don't know the opponent's hardware.
Yes, against the latest SF at blitz the most important for contempt is the hardware. There seem to be a rule of thumb of something like

Contempt = ELO difference / 10

Well, or similar. So, at blitz, assuming the engine strength between Komodo and SF is within 10-20 ELO points, the doubling in hardware gives contribution for contempt of 60 ELO points /10 ~ 6 contempt points. Opponent has twice the hardware, then use -6 contempt, opponent has half the hardware, use +6 contempt. Do you have a better rule of thumb for contempt?
I played a gazillion games testing Crafty's dynamic contempt (it has had this for 20 years now). My results were frustrating. I found NO "direct formula" that works. My tests clearly showed that at least for Crafty, there is a single correct contempt (drawscore) for a specific opponent. And there was no formula that would work for the general case. I could fit a curve to observed data, obviously, but adding a new opponent would break it for that opponent until the curve was re-fit.

I thought about doing this exact thing (refit internally done by crafty) and it could work reasonably well, probably, assuming that (a) I am told the correct name for each opponent and (b) each opponent is completely static (no hardware variability, etc). And of course, Crafty has to remain completely static as well.

I have always had it on my to-do list to go back and play with this further, but have not. It probably should also vary depending on whether you are black or white, and even on the opening played when openings are forced on you and you have no choice. The obvious problem is that imposes a LOT of degrees of freedom to accurately measure and keep up with, which is not practical except perhaps in my cluster testing where I could certainly get enough game played with enough openings and enough opponents that I could do this. But it would only be valid against the versions I use in cluster testing, which would be uniform hardware. And then SMP would be yet another factor.

I might run a few tests on the current code, changing the formula, and post the results. Key would be in the measurement, which I am using Elo for. That means you tune better against the top, since that is where the most elo gain will likely come from.

Certainly an interesting question, again.
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: To Mark Lefler

Post by lkaufman »

bob wrote:
Laskos wrote:
lkaufman wrote:
shrapnel wrote:
lkaufman wrote:We wouldn't have bothered with contempt if we only cared about playing Stockfish,
Fair enough, from YOUR perspective.
From a Gamer's perspective, I can tell you this......Open up ANY online chess Server like Playchess.com or Infinitychess.com and you will find that 99.99 % of the players using Komodo, Stockfish or one of its derivatives.
NO self-respecting player would be caught dead using ANY other Engine !
It's only in this Forum that people get excited about mostly unheard of Engines. In the real (Gaming) world all Engines except Komodo and Stockfish are simply SNEERED at !
That is the reality ! AND THAT is why it is important for many Komodo users to find the ideal Contempt to use against Stockfish, not simply use an over-defensive contempt 0 !
Regards
In my opinion the proper value for you to use in gaming depends very much on relative hardware. For example, if you only have an 8 core machine while your opponent has 24 cores, you might well want to use negative contempt. If you have 8 cores and he only has a quad, probably the default contempt (or maybe just 10) is fine. But perhaps often you don't know the opponent's hardware.
Yes, against the latest SF at blitz the most important for contempt is the hardware. There seem to be a rule of thumb of something like

Contempt = ELO difference / 10

Well, or similar. So, at blitz, assuming the engine strength between Komodo and SF is within 10-20 ELO points, the doubling in hardware gives contribution for contempt of 60 ELO points /10 ~ 6 contempt points. Opponent has twice the hardware, then use -6 contempt, opponent has half the hardware, use +6 contempt. Do you have a better rule of thumb for contempt?
I played a gazillion games testing Crafty's dynamic contempt (it has had this for 20 years now). My results were frustrating. I found NO "direct formula" that works. My tests clearly showed that at least for Crafty, there is a single correct contempt (drawscore) for a specific opponent. And there was no formula that would work for the general case. I could fit a curve to observed data, obviously, but adding a new opponent would break it for that opponent until the curve was re-fit.

I thought about doing this exact thing (refit internally done by crafty) and it could work reasonably well, probably, assuming that (a) I am told the correct name for each opponent and (b) each opponent is completely static (no hardware variability, etc). And of course, Crafty has to remain completely static as well.

I have always had it on my to-do list to go back and play with this further, but have not. It probably should also vary depending on whether you are black or white, and even on the opening played when openings are forced on you and you have no choice. The obvious problem is that imposes a LOT of degrees of freedom to accurately measure and keep up with, which is not practical except perhaps in my cluster testing where I could certainly get enough game played with enough openings and enough opponents that I could do this. But it would only be valid against the versions I use in cluster testing, which would be uniform hardware. And then SMP would be yet another factor.

I might run a few tests on the current code, changing the formula, and post the results. Key would be in the measurement, which I am using Elo for. That means you tune better against the top, since that is where the most elo gain will likely come from.

Certainly an interesting question, again.
Since contempt in Komodo now involves many factors besides drawscore, your experience with Crafty would not be predictive of what would happen with Komodo. But interesting nevertheless.
Komodo rules!
shrapnel
Posts: 1339
Joined: Fri Nov 02, 2012 9:43 am
Location: New Delhi, India

Re: To Mark Lefler

Post by shrapnel »

lkaufman wrote:if you only have an 8 core machine while your opponent has 24 cores, you might well want to use negative contempt.
Hmm.....I have yet to feel the need to use NEGATIVE contempt against even 32 Core users let alone 24 Core users, with my modest 8-Core. If I'm in a defensive mood, I can get a Draw comfortably, every time, with Contempt 0; so much so, that I've started using positive Contempt against dual-Xeon users, lately !
The trick is, as you hinted at in your reply to Robert Hyatt, is to also change values of Parameters like Selectivity and Reduction from Default, rather than merely Contempt.
Glad to report I got a win recently against a 24-Core SDV user, while using Contempt 5 and altered Parameters, that too with Black !
Of course, I know there may well be other factors involved like usage of a weak Book by my opponent, so I can't be too sure, until I start winning consistently.
Anyway, no losses still, so I should think its a step in the right direction....at least until the next Komodo update ! :)
i7 5960X @ 4.1 Ghz, 64 GB G.Skill RipJaws RAM, Twin Asus ROG Strix OC 11 GB Geforce 2080 Tis
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: To Mark Lefler

Post by bob »

lkaufman wrote:
bob wrote:
Laskos wrote:
lkaufman wrote:
shrapnel wrote:
lkaufman wrote:We wouldn't have bothered with contempt if we only cared about playing Stockfish,
Fair enough, from YOUR perspective.
From a Gamer's perspective, I can tell you this......Open up ANY online chess Server like Playchess.com or Infinitychess.com and you will find that 99.99 % of the players using Komodo, Stockfish or one of its derivatives.
NO self-respecting player would be caught dead using ANY other Engine !
It's only in this Forum that people get excited about mostly unheard of Engines. In the real (Gaming) world all Engines except Komodo and Stockfish are simply SNEERED at !
That is the reality ! AND THAT is why it is important for many Komodo users to find the ideal Contempt to use against Stockfish, not simply use an over-defensive contempt 0 !
Regards
In my opinion the proper value for you to use in gaming depends very much on relative hardware. For example, if you only have an 8 core machine while your opponent has 24 cores, you might well want to use negative contempt. If you have 8 cores and he only has a quad, probably the default contempt (or maybe just 10) is fine. But perhaps often you don't know the opponent's hardware.
Yes, against the latest SF at blitz the most important for contempt is the hardware. There seem to be a rule of thumb of something like

Contempt = ELO difference / 10

Well, or similar. So, at blitz, assuming the engine strength between Komodo and SF is within 10-20 ELO points, the doubling in hardware gives contribution for contempt of 60 ELO points /10 ~ 6 contempt points. Opponent has twice the hardware, then use -6 contempt, opponent has half the hardware, use +6 contempt. Do you have a better rule of thumb for contempt?
I played a gazillion games testing Crafty's dynamic contempt (it has had this for 20 years now). My results were frustrating. I found NO "direct formula" that works. My tests clearly showed that at least for Crafty, there is a single correct contempt (drawscore) for a specific opponent. And there was no formula that would work for the general case. I could fit a curve to observed data, obviously, but adding a new opponent would break it for that opponent until the curve was re-fit.

I thought about doing this exact thing (refit internally done by crafty) and it could work reasonably well, probably, assuming that (a) I am told the correct name for each opponent and (b) each opponent is completely static (no hardware variability, etc). And of course, Crafty has to remain completely static as well.

I have always had it on my to-do list to go back and play with this further, but have not. It probably should also vary depending on whether you are black or white, and even on the opening played when openings are forced on you and you have no choice. The obvious problem is that imposes a LOT of degrees of freedom to accurately measure and keep up with, which is not practical except perhaps in my cluster testing where I could certainly get enough game played with enough openings and enough opponents that I could do this. But it would only be valid against the versions I use in cluster testing, which would be uniform hardware. And then SMP would be yet another factor.

I might run a few tests on the current code, changing the formula, and post the results. Key would be in the measurement, which I am using Elo for. That means you tune better against the top, since that is where the most elo gain will likely come from.

Certainly an interesting question, again.
Since contempt in Komodo now involves many factors besides drawscore, your experience with Crafty would not be predictive of what would happen with Komodo. But interesting nevertheless.
It was not just setting "drawscore" in Crafty either. For example, do you allow a position to be blocked or not? I factored in rating different, AND current static evaluation, and used those to decide, in the terms of Shakespeare "to block or not to block, that is the question." Ditto for trading material. I simplified this years ago, however, as there are trans/ref score issues that can cause search instability in some cases...

It is an interesting issue however, just not one I have looked at. I was just looking at my cluster referee and I am not sure it is handling passing the ratings correctly either, so that has to be checked first...