Contempt topic is a bit tricky and unclear!

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

Moderators: hgm, Rebel, chrisw

Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Contempt topic is a bit tricky and unclear!

Post by Frank Quisinsky »

Hi there,

at first ...
Have a look on move average ... last entry in the following list:
http://www.amateurschach.de/t2020/ratin ... atings.txt
(all games without resign mode)

Ethereal, Hannibal and Demolito with a very high move average.
Demolito all the time with highest move average (same for the DiscoCheck, same programmer).
Reason is for sure ... Contempt setting in source code (but never checked that, loud thinking only).

Or please have a look what Booot do.
Very small move average but very high draw quote.

If I can set contempt as UCI option I give contempt = 0 for all FCP Tourney engines!

Please, now have a look in quantity of short draw games here:
https://www.amateurschach.de/t2020/r37_short-games.txt

For an example:
Komodo 14.0 with to many short draw games if I set Contempt = 0
Komodo lost Elo points.

But what I should do?
Different programmers have it in sources, others give it as UCI parameter.

Same setting for all programs in a tourney is in my opinion the best way.
Not sure here ...

If I give a small positive contempt for Komodo I have to give a small negative Contempt for weaker engines.
Why I should Komodo give the advantage and not weaker engines.
Contempt = 0 for all seems to be the solution but if programmers added contempt in sources ... again bad for tourney with a lot of engines.

What's the opinion by others?

Best
Frank
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Contempt topic is a bit tricky and unclear!

Post by Frank Quisinsky »

Quiet clear is:
Engines based on strong endgame sources like Rybka / IPPs have a 2-3% higher move average as most of others, not based on that sources.
Can be see in all of my rating list systems. Equinox, IPPs, Rybka versions and so one.

I will not say Hannibal or Demolito based on IPPs (that is nonsens).

But after good know information about that topic I can see that all these engines have a 2-3% higher move average, a passive playing style with lesser quote on fast won games. A very passive style with same mistakes in middlegames. Same for Fruit based engines like Toga or Senpai itself.

Rybka = Fruit ... with the differents only that Rybka have strong endgame sources, Fruit based engines not have.

The 2-3% higher move average here have nothing to do with contempt factor.

---

Back to contempt:

All the Houdini versions works with the same small tricks.
Contempt factor must be inside the sources.
The programmer works with a lot of such simple tricks to give Houdini an other style and small advantages many years to Komodo and Stockfish. I think the Houdini programmer made that very clever. Some other things he do are easy to see with simple game stats. To complicated to explain with my bad English.

But the question of all is:
What should I set for engines in a tournament:
Contempt = 0?

Often I am thinking ...
If I am looking live in Pedone games that the programmer works here with a very clever idea. Often I am thinking that it would be better if all the programmers should used the same code for a clever contempt in sources. Contempt is very bad for try to generate exactly ratings. This problem should be solve for the future.

Best
Frank
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: Contempt topic is a bit tricky and unclear!

Post by carldaman »

Frank Quisinsky wrote: Thu Oct 22, 2020 12:33 am Quiet clear is:
Engines based on strong endgame sources like Rybka / IPPs have a 2-3% higher move average as most of others, not based on that sources.
Can be see in all of my rating list systems. Equinox, IPPs, Rybka versions and so one.

I will not say Hannibal or Demolito based on IPPs (that is nonsens).

But after good know information about that topic I can see that all these engines have a 2-3% higher move average, a passive playing style with lesser quote on fast won games. A very passive style with same mistakes in middlegames. Same for Fruit based engines like Toga or Senpai itself.

Rybka = Fruit ... with the differents only that Rybka have strong endgame sources, Fruit based engines not have.

The 2-3% higher move average here have nothing to do with contempt factor.

---

Back to contempt:

All the Houdini versions works with the same small tricks.
Contempt factor must be inside the sources.
The programmer works with a lot of such simple tricks to give Houdini an other style and small advantages many years to Komodo and Stockfish. I think the Houdini programmer made that very clever. Some other things he do are easy to see with simple game stats. To complicated to explain with my bad English.

But the question of all is:
What should I set for engines in a tournament:
Contempt = 0?

Often I am thinking ...
If I am looking live in Pedone games that the programmer works here with a very clever idea. Often I am thinking that it would be better if all the programmers should used the same code for a clever contempt in sources. Contempt is very bad for try to generate exactly ratings. This problem should be solve for the future.

Best
Frank
Rather than setting contempt=0, it may be a better idea to let the engines used their default settings (which also accounts for internal contempt).
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Contempt topic is a bit tricky and unclear!

Post by Frank Quisinsky »

One message again:

Long time before Rybka 1.0 was available Shredder was available.

Shredder are many years the strongest chess program with the advantage that Shredder are unbeatable for others in endgames. Shredder itself have a very weak king safty in middlegames. Can be see on game stats (a lot of many fast lost games, and not many fast won games).

Shredder 12 and the versions before are the best example for: Passive middlegame with a great playing strength in endgames. Shredder 13 have now a better king safty but isn't an attacker like so many others. After Stockfish and Komodo is Shredder the number 3 for pure endgames in FCP Tourney statistics.

For myself is Rybka:
Fruit in the beginning and Shredder in endgames, not more not less.

We have all the years the problem that we can't find out it because we have many years not a better software as Shredder.

Same today with Stockfish:
Not Stockfish won the most short won games with black, Fizbo do that with his speculative style. So we can't see the weaknesses Stockfish have because we have not enough opponents for it. Same all the years with Shredder software. We can't see that Shredder have so many problems in the beginning of the games with king safty because no other engines are available to beat Shredder so fast, many others can do that today.

What I like to say it ...
I don't like Rybka all the years and I am quit sure it's a Fruit in the beginning and a Shredder in endgames.
If so, many programs after Rybka based on the work Stefan Meyer-Kahlen do!

I am very disappointed if I compare older Shredder versions with Rybka versions in endgames.
Not the topic in the own thread but I would like to say that.

Best
Frank

Only one programmer of IPPs solved the weaknesses all the Rybkas have ...
That was GullChess, also not an attacker but with a clearly better king safty.
The reason I like GullChess most from IPPs, the programmer of GullChess do here a lot!
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Contempt topic is a bit tricky and unclear!

Post by Frank Quisinsky »

Code: Select all

   # Player                          :      Elo  Games  Score%  won  draw  lost  Points  Draw%  Error   OppAvg   OppE   OppD
   1 Komodo 14.0 BMI2 x64            :  3187.95    256    68.0   98   152     6   174.0   59.4  26.32  3050.23  18.36   34.8
   2 Houdini 6.03 Pro x64            :  3166.21    306    65.8  108   187    11   201.5   61.1  22.40  3046.83  18.44   36.5
   3 Stockfish 11 BMI2 x64           :  3164.77    294    65.5   92   201     1   192.5   68.4  23.81  3044.22  18.50   35.7
   4 Ethereal 12.25 PEXT x64         :  3136.70    529    62.6  144   374    11   331.0   70.7  17.67  3042.43  18.66   37.9
   5 Fire 7.1 POP x64                :  3107.43    392    59.3   99   267    26   232.5   68.1  20.16  3039.54  18.37   37.1
   6 rofChade 2.3 BMI x64            :  3106.20    486    59.9  123   336    27   291.0   69.1  17.61  3033.96  18.40   38.7
   7 Shredder 13 x64                 :  3102.23    398    59.2  113   245    40   235.5   61.6  18.81  3034.37  18.19   37.5
   8 SlowChess BC 2.2 x64            :  3091.94    372    56.5   80   260    32   210.0   69.9  18.94  3043.43  18.36   37.3
   9 Xiphos 0.6 BMI2 x64             :  3089.37    339    56.3   76   230    33   191.0   67.8  20.15  3041.13  18.42   37.4
  10 RubiChess 1.7.3 x64             :  3086.14    440    57.5  101   304    35   253.0   69.1  17.72  3032.38  18.21   38.5
  11 Laser 1.7 BMI2 x64              :  3082.59    415    55.9   96   272    47   232.0   65.5  18.07  3038.77  18.29   38.6
  12 Booot 6.4 POP x64               :  3062.02    240    51.0   39   167    34   122.5   69.6  23.06  3051.51  18.35   33.5
  13 Arasan 22.0 BMI2 x64            :  3056.46    414    53.7   82   281    51   222.5   67.9  17.51  3029.98  18.17   37.8
  14 Defenchess 2.2 POP x64          :  3053.86    519    52.7   82   383    54   273.5   73.8  15.84  3034.29  18.29   38.5
  15 Fritz 17 (Ginkgo) x64           :  3053.03    389    52.1   64   277    48   202.5   71.2  18.64  3037.92  18.23   38.3
  16 Fizbo 2.0 BMI2 x64              :  3047.13    441    52.6   72   320    49   232.0   72.6  16.89  3029.20  18.22   38.4
  17 Andscacs 0.95 BMI2 x64          :  3040.89    378    50.8   64   256    58   192.0   67.7  17.91  3036.23  18.11   37.2
  18 Winter 0.8 x64                  :  3037.91    407    51.4   70   278    59   209.0   68.3  18.49  3029.07  18.23   38.1
  19 GullChess 3.0 BMI2 x64          :  3034.32    457    50.9   67   331    59   232.5   72.4  16.38  3029.70  18.19   38.5
  20 Schooner 2.2 SSE x64            :  3019.66    411    46.8   48   289    74   192.5   70.3  18.28  3040.35  18.35   37.

White advantage = 16.93 +/- 2.17
Draw rate (equal opponents) = 73.66 % +/- 0.54
Correction:
Shredder not longer the number three for endgames (TOP-20).
Not after my latest stats.

Komodo here the number 1, same in 2016 ... final version of FCP Rating List.
All the more on Elo for Stockfish comes not from the pure endgames, more or less from the playing phase before (most from late middlegame).

Best
Frank
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Contempt topic is a bit tricky and unclear!

Post by Frank Quisinsky »

Hi Carldaman,

that's also a possibility with made sense!

All the time I am thinking same settings for all engines.
Same book, same hash-settings and so one.

Maybe that is wrong!

John told me after a Wasp test-run ... I set all engines to Contempt = 8 ... Frank, better is to use Contempt = 0. John dislike the idea to give all the engines Contempt = 8.

If I do that (standard contempt settings) the weaker engines have a disadvantage.
I like more if the weaker engines have not a disadvantage.

I remember on a mail a programmer wrote me in FCP-Rating list times, around the year 2016 ...

If you set for stronger engines Contempt = 16 please set for my engine Contempt = -16.
That's the problem!

Best
Frank
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: Contempt topic is a bit tricky and unclear!

Post by carldaman »

The only objective way out of this dilemma is to use default settings, I'm afraid. If you want to try different contempt, then you'll be testing a (slightly) different entity than the original engine. If stronger engines are stronger with default contempt, then so be it. :| :)
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Contempt topic is a bit tricky and unclear!

Post by Frank Quisinsky »

Hi Carldaman,

think so ...

Better is if all the programmers used the same sources for an intelligent contempt.
But that is never possible.

OK, I will make changes for the next FCP Tourney.
I let the engines play with they own standard contempt parameter and I ready with that topic.

Booot can forced a draw, or Demolito can avoid the draw.
What the programmers like to see.

Very easy, maybe I should not give it to many room.
Same for the syzygz probe depth _wirrwarr_.

:-)

Best
Frank