To contempt or not to contempt

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

Moderators: hgm, Rebel, chrisw

User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: To contempt or not to contempt

Post by Ovyron »

Cornfed wrote: Sat Jul 04, 2020 1:20 am You mean...you do not use your brain and your brain only in competition? Shame... :wink:
So are you also going to the forums of racing car drivers and tell them what a shame is it that they drive their cars instead of using their feet and their feet only to run in competition? :)
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: To contempt or not to contempt

Post by corres »

MOBMAT wrote: Fri Jul 03, 2020 8:46 am There seems to be a difference between 0 contempt and NO contempt.
It is true, because when contempt = 0 it refers only for static contempt.
You can not switch of the dynamic contempt.
Last edited by corres on Sat Jul 04, 2020 2:30 am, edited 1 time in total.
corres
Posts: 3657
Joined: Wed Nov 18, 2015 11:41 am
Location: hungary

Re: To contempt or not to contempt

Post by corres »

Frank Quisinsky wrote: Sat Jul 04, 2020 1:02 am Hi,
Contempt is an interesting topic.
We can make weaker engines in a rating list stronger if we give a negative contempt.
We can make stronger engines in a rating list stronger if we give a positive contempt.
So what is to do?
Contempt = 0 for all.
But we create a new problem with it!!
Engine programmers set such contempt parameters in sources without to give a parameter for it.
Can be see in statistics with move average.
If an engine have no parameters for contempt but a clealy lesser or clearly higher move average at all the others ... in most of cases the reason that the programmer set contempt things directly in sources. And Bingo a problem for a rating list if you set for all the others Contempt = 0.
This is one problem if we are looking on results from a rating list.
So I am looking not on Elo only because I can see nothing about an engine.
I need a lot of different statistics before an engine goes in my personal TOP-10.
Best
Frank
"Tempo" is also a contempt as a fixed parameter for White.
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: To contempt or not to contempt

Post by Ovyron »

corres wrote: Sat Jul 04, 2020 2:20 am You can not switch of the dynamic contempt.
You can (you need to modify Stockfish's source code for this.)
MOBMAT
Posts: 385
Joined: Sat Feb 04, 2017 11:57 pm
Location: USA

Re: To contempt or not to contempt

Post by MOBMAT »

Ovyron wrote: Sat Jul 04, 2020 7:15 am
corres wrote: Sat Jul 04, 2020 2:20 am You can not switch of the dynamic contempt.
You can (you need to modify Stockfish's source code for this.)
Houdini has a setting called "Analysis Contempt" and is described as:
By default a non-zero contempt is only used during game play, not during infinite analysis. If you enable the Analysis Contempt checkbox, Houdini will also take into account the contempt for infinite analysis. Because of the asymmetry in the evaluations (the evaluation changes when you switch sides), this is usually not recommended.
there was more....
Analysis Contempt (checkbox)

Activate Contempt for position analysis.

It is usually not recommended to activate the contempt for analyzing positions.

When contempt is active for analysis, the score of the analysis will be optimistic (over-evaluated) for White if the Contempt value is positive, and optimistic for Black if the Contempt value is negative.
i7-6700K @ 4.00Ghz 32Gb, Win 10 Home, EGTBs on PCI SSD
Benchmark: Stockfish15.1 NNUE x64 bmi2 (nps): 1277K
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: To contempt or not to contempt

Post by Ovyron »

MOBMAT wrote: Sat Jul 04, 2020 7:36 am Houdini has a setting called "Analysis Contempt"
Houdini has a completely different Contempt than Stockfish. Actually, Houdini's Contempt preceded Stockfish, and did it better (decreasing Stockfish's contempt to the negative always reduced elo. Houdini's negative contempt actually improves its Elo against stronger opposition.) Houdini basically detected when the lines were too dangerous and shut down contempt by itself, very dynamically (where "dynamic" is completely unrelated to Stockfish's dynamic contempt.)

I've highly praised Houdini's contempt in the past, wondering if Contempt=10 could be the strongest engine with best playing style (but this was before Stockfish's contempt.)

It'd be really interesting to program Houdini's Contempt into Stockfish and see how it complements Stockfish's contempt. My idea:

-Reverse the signs (positive is negative and negative is positive)
-Call it "Respect"

Now it'd be very interesting to see how Stockfish with positive contempt but positive respect behaves, as how negative contempt and negative respect would do. Because Stockfish 11 with positive respect will perform better against Stockfish 12 than default settings.

Too bad Houdini's source has become a rotten fruit and the programmers that could try these ideas would stay away...