mjlef wrote:Houdini wrote:mjlef wrote:Actually, Komodo's attempt does not modify the value of its own pieces. It does something else to discourage early piece captures and avoid draws (with a positive contempt), or exchange pieces and seek draws (with a negative contempt). But I can see how people might think it modifies piece scores.
Nor does Houdini.
There is a difference between the simple description of the principle I gave ("my pieces are better than yours") and the actual implementation in Houdini which is - of course - not done by modifying the piece values, but by correcting the score based on the game phase.
I have noticed your tendency to describe Komodo's working in an obscure way ("it does something different"), so as to make it appear more complex than it actually is...
And I cannot find you giving any detailed description about how anything in Houdini works (although others have written about them). I assume for the same reason as me...to not give out trade secrets that have not been discovered yet by others.
Some ideas are amazingly simple, and a few words will give them away completely. Part of Komodo's contempt is simple. Other parts quite complex and not easy to describe in even several paragraphs. Although I do not give detailed specifics of how Komodo works, we do describe the effect of the changes in our documentation so user know what they will do. The 10.1 documentation about Contempt says:
"A positive Contempt is used by the computer’s evaluation to discourage (or encourage if negative) piece trades, blocked pawn structures, and repetition draws early in the game."
I am more willing to give out specific ideas if I came up with them myself. I have posted some on talkchess in the past and even shared some with the Stockfish programmers. But Komodo Contempt was a joint work with ideas of mine and Larry, so I have no right to give them out freely.
Mark
What Contempt Komodo uses in TCEC now? Komodo most probably lost half-a-point in a game against Laser by allowing 3-fold rep. Every half-point is important now, and I guess Contempt, if present, didn't quite do its job. 30...Ng6 is allowing 3-fold rep. Komodo with Contempt=0 in MultiPV=2 shows that a small Contempt could have avoided the early draw:
[pgn][Event "?"]
[Site "?"]
[Date "2016.10.14"]
[Round "12"]
[White "Laser"]
[Black "Komodo"]
[Result "1/2-1/2"]
[ECO "B50"]
[Opening "Sicilian"]
[PlyCount "234"]
[TimeControl "2/move"]
1.e4
{book}
1...c5
{book}
2.Nf3
{book}
2...d6
{book}
3.d4
{book}
3...cxd4
{book}
4.Bb5+
{book}
4...Nd7
{book}
5.Qxd4
{book}
5...e5
{book}
6.Qe3
{book}
6...Be7
{book}
7.a4
{book}
7...a6
{book}
8.Bc4
{book}
8...Ngf6
{book}
9.O-O
{book}
9...O-O
{book}
10.Nc3
{book}
10...Nc5
{book}
11.a5
{book}
11...Qc7
{book}
12.b3
{book}
12...Be6
{book}
13.Nd2
{book}
13...Rfe8
{book}
14.Bb2
{book}
14...Rad8
{book}
15.Rfe1
{book}
15...Qc6
{book}
16.Bxe6
{book}
16...fxe6
{book}
17.Nc4
{book}
17...Ncd7
{book}
18.Qf3
{book}
18...Nf8
{book}
19.Re2
{book}
19...Ng6
{book}
20.Rae1
{book}
20...Rf8
{book}
21.Qe3
{book}
21...Nf4
{book}
22.Rd2
{book}
22...Ng4
{book}
23.Qg3
{book}
23...h5
{book}
24.Ba3
{book}
24...Ng6
{book}
25.Qh3
{book}
25...Bg5
{book}
26.Red1
{book}
26...Bxd2
{book}
27.Rxd2
{book}
27...Nf4
{book}
28.Qf3
{book}
28...Ng6
{book}
29.Qh3
{book}
29...Nf4
{book}
30.Qf3
{book}
30...Ng6
{book}
31.Qh1
{3-fold
1/2-1/2}[/pgn]
[D]3r1rk1/1p4p1/p1qpp3/P3p2p/2N1Pnn1/BPN2Q2/2PR1PPP/6K1 b - -[/D]
Komodo 10.1 Contempt=0
-----
29 1:12 0.00 30...Rf6 31.h3 Nh6 32.Bxd6 Nf7 33.Bxe5 Rxd2 34.Bxf6 Rxc2 35.Qd1 Rxf2 36.Kxf2 gxf6 37.Qd4 Ne5 38.Nxe5 fxe5 39.Qb6 Qxc3 40.Qd8+ Kg7 41.Qe7+ Kg6 42.Qe8+ Kh7 43.Qe7+ Kh6 (515.547.999) 7094
29 1:12 0.00 30...Ng6 31.Qh3 (515.548.339) 7094
-----
30 1:39 0.00 30...Rf6 31.h3 Nh6 32.Bxd6 Nf7 33.Bxe5 Rxd2 34.Bxf6 Rxc2 35.Qd1 Rxf2 36.Kxf2 gxf6 37.Qd4 Ne5 38.Nxe5 fxe5 39.Qb6 Qxc3 40.Qd8+ Kg7 41.Qe7+ Kg6 42.Qe8+ Kh7 43.Qe7+ Kh6 (706.148.663) 7094
30 1:39 0.00 30...Ng6 31.Qh3 (706.149.033) 7094
-----
31 2:18 0.00 30...Rf6 31.h3 Nh6 32.Bxd6 Nf7 33.Bxe5 Rxd2 34.Bxf6 Rxc2 35.Qd1 Rxf2 36.Kxf2 gxf6 37.Qd4 Ne5 38.Nxe5 fxe5 39.Qb6 Qxc3 40.Qd8+ Kg7 41.Qe7+ Kg6 42.Qe8+ Kh7 43.Qe7+ Kh6 (987.058.746) 7113
31 2:18 0.00 30...Ng6 31.Qh3 (987.059.099) 7113
-----
32 2:54 0.00 30...Rf6 31.h3 Nh6 32.Bxd6 Nf7 33.Bxe5 Rxd2 34.Bxf6 Rxc2 35.Qd1 Rxf2 36.Kxf2 gxf6 37.Qd4 Ne5 38.Nxe5 fxe5 39.Qb6 Qxc3 40.Qd8+ Kg7 41.Qe7+ Kg6 42.Qe8+ Kh7 43.Qe7+ Kh6 (1.240.190.916) 7120
32 2:54 0.00 30...Ng6 31.Qh3 (1.240.191.117) 7120
-----
33 5:11 0.00 30...Ng6 31.Qh3 (2.247.914.861) 7210
33 5:11 +0.11 30...Rf6 31.h3 Nh6 32.Bxd6 Nf7 33.Bxe5 Rxd2 34.Bxf6 Rxc2 35.Qg3 g5 36.Bxg5 Rxc3 37.Qxf4 Rxb3 38.Nd2 Rd3 39.Nf3 e5 40.Qf5 Rd6 41.Be3 Rf6 42.Qxh5 Qxe4 43.Nh4 Nd6 (2.247.915.263) 7210
-----
34 8:56 0.00 30...Ng6 31.Qh3 (3.908.876.354) 7284
34 8:56 +0.16 30...Rf6 31.h3 Nh6 32.Bxd6 Nf7 33.Bxe5 Rxd2 34.Bxf6 Rxc2 35.Qg3 g5 36.Bxg5 Rxc3 37.Qxf4 Rxb3 38.Ne5 Nxe5 39.Qxe5 Rb5 40.Qg3 Qd7 41.Bf6+ Kh7 42.Qb8 Kg6 43.Qf4 Kh7 (3.908.876.610) 7284
-----
35 26:37 0.00 30...Ng6 31.Qh3 (11.406.287.005) 7141
35 26:37 0.00 30...Qc8 31.Bxd6 Rxd6 32.Nxd6 Qc5 33.Nd1 Qxa5 34.Nc4 Qc7 35.Qc3 Qc6 36.Nce3 Qxe4 37.f3 Nxe3 38.Nxe3 Qd4 39.Rxd4 Ne2+ 40.Kf2 Nxc3 41.Rd3 Nb5 42.Rd7 Rf7 43.Rd8+ Rf8 (11.406.287.226) 7141