Help me to test an idea for Stockfish (I don't know programm

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Help me to test an idea for Stockfish (I don't know prog

Post by syzygy »

Lyudmil Tsvetkov wrote:You can't take such a simplistic view, really. Those were tables that were more or less tuned to the whole, while mine is out of tune with almost everything else.
Of course! But somehow you turn that into something to be proud of. I don't get that.
User avatar
Rebel
Posts: 6991
Joined: Thu Aug 18, 2011 12:04 pm

Re: Help me to test an idea for Stockfish (I don't know prog

Post by Rebel »

Lyudmil Tsvetkov wrote:
syzygy wrote:
Lyudmil Tsvetkov wrote:On the one hand you say that those are one set of lines, on the other that setting the middlegame values to zero probably hurts more. What is the true statement?
You suggest there is a logical contradiction, but there is none. Try again.
If, when changing mobility and a couple of other very important terms in your engine, or when changing 5 of the 6 psqts of your engine beyond recognition, you get a result for the modified version that is less than 100 elo weaker than the original, I would acknowledge you are right. Otherwise, I would say that the modified psqt are indeed promising.
What were the contributions of SF's psq tables again. Removing them leads to the following Elo losses:

Code: Select all

PST ELO GAMES & SCORE
Pawn: -1 [2029 - 2047 - 5924 [0.499] 10000]
Knight: -20 [1875 - 2445 - 5680 [0.471] 10000]
Bishop: -4 [1945 - 2051 - 6004 [0.495] 10000]
Rook: -2 [1934 - 1981 - 6085 [0.498] 10000]
Queen: -2 [1899 - 1950 - 6151 [0.497] 10000]
King: -32
So together they are worth 61 Elo.
You modified them by setting them to "optimal"(!!!) values and lost almost 100 Elo.
Good job.
You can't take such a simplistic view, really.
Statement of the new year so far :wink:

Those were tables that were more or less tuned to the whole, while mine is out of tune with almost everything else. Besides, if you had taken an even superficial look at Stockfish tables,
Wow.....

I am doing CCP since 1980 and I wouldn't touch anything in a foreign program before I fully understand the thoughts of the programmer behind the code and data.

Have you?
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Help me to test an idea for Stockfish (I don't know prog

Post by syzygy »

Rebel wrote:I am doing CCP since 1980 and I wouldn't touch anything in a foreign program before I fully understand the thoughts of the programmer behind the code and data.

Have you?
He doesn't know a thing about programming, so this rule of reason doesn't apply to him...
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Help me to test an idea for Stockfish (I don't know prog

Post by Lyudmil Tsvetkov »

Rebel wrote:
Lyudmil Tsvetkov wrote:
syzygy wrote:
Lyudmil Tsvetkov wrote:On the one hand you say that those are one set of lines, on the other that setting the middlegame values to zero probably hurts more. What is the true statement?
You suggest there is a logical contradiction, but there is none. Try again.
If, when changing mobility and a couple of other very important terms in your engine, or when changing 5 of the 6 psqts of your engine beyond recognition, you get a result for the modified version that is less than 100 elo weaker than the original, I would acknowledge you are right. Otherwise, I would say that the modified psqt are indeed promising.
What were the contributions of SF's psq tables again. Removing them leads to the following Elo losses:

Code: Select all

PST ELO GAMES & SCORE
Pawn: -1 [2029 - 2047 - 5924 [0.499] 10000]
Knight: -20 [1875 - 2445 - 5680 [0.471] 10000]
Bishop: -4 [1945 - 2051 - 6004 [0.495] 10000]
Rook: -2 [1934 - 1981 - 6085 [0.498] 10000]
Queen: -2 [1899 - 1950 - 6151 [0.497] 10000]
King: -32
So together they are worth 61 Elo.
You modified them by setting them to "optimal"(!!!) values and lost almost 100 Elo.
Good job.
You can't take such a simplistic view, really.
Statement of the new year so far :wink:

Those were tables that were more or less tuned to the whole, while mine is out of tune with almost everything else. Besides, if you had taken an even superficial look at Stockfish tables,
Wow.....

I am doing CCP since 1980 and I wouldn't touch anything in a foreign program before I fully understand the thoughts of the programmer behind the code and data.

Have you?
Hi Ed.

What I have understood is that in most tables I have seen (I do not mean Stockfish tables specifically) some values contradict sound chess knowledge. My modified values were just an attempt to illustrate a probably better approach to general chess principles. Would you argue psqt are perfect, provided that as I understand they are a fairly recent development?

I did not want to aim at a successful patch, just to illustrate another approach.

Otherwise you are fully right that one can not hope for even marginal success if one does not know the sources by heart, as well as the programmer's thought behind them.

But again this thread becomes very ugly, it is just mutual recriminations, I am not interested at that at all. An useful thread would provide some data, share some ideas, etc., and avoid at any cost personal exchanges. A very useful thing you could do, for example, is tell us what is the elo impact of different tables in Rebel, if it has ones?
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Help me to test an idea for Stockfish (I don't know prog

Post by Lyudmil Tsvetkov »

syzygy wrote:
Rebel wrote:I am doing CCP since 1980 and I wouldn't touch anything in a foreign program before I fully understand the thoughts of the programmer behind the code and data.

Have you?
He doesn't know a thing about programming, so this rule of reason doesn't apply to him...
Be sure I am smart enough to understand the thought and fully agree with it. On the other hand, what is wrong with having access to some possibly useful chess knowledge, I thought you would be happy.

Very simple example, queen on the 6th rank is as a rule stronger than queen on 4th, 5th and 7th ranks, but most tables give it otherwise. Why not correct them, if true knowledge would suggest the best placement for the queen is the 6th rank?

Another example, most tables would suggest minor on the 7th rank or minor on the 5th and 6th ranks, but on an end file would deserve a penalty. Well, why not correct them when all of those placements are excellent positions for the minors, they simply can not have a negative sign?

To make the discussion a bit more lively and focussed, I would expect from you, for example, to tell us what is the elo impact of different tables in your engine?
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Help me to test an idea for Stockfish (I don't know prog

Post by syzygy »

Lyudmil Tsvetkov wrote:Would you argue psqt are perfect, provided that as I understand they are a fairly recent development?
They are in fact very old.
http://chessprogramming.wikispaces.com/ ... are+tables

Your question whether they are "perfect" is very ambiguous.
They are a rather primitive tool, but they are still of some use in modern chess engines.
The particular psqt values you can find in SF are unlikely to be "perfect", but they are likely to be pretty well-tuned and impossible to improve by applying any "gut feeling".
I did not want to aim at a successful patch, just to illustrate another approach.
And that other approach is... ?

Throwing mud at random and request others to clean up and adjust it so as to match your "intention"?
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Help me to test an idea for Stockfish (I don't know prog

Post by syzygy »

Lyudmil Tsvetkov wrote:Very simple example, queen on the 6th rank is as a rule stronger than queen on 4th, 5th and 7th ranks, but most tables give it otherwise. Why not correct them, if true knowledge would suggest the best placement for the queen is the 6th rank?
"true knowledge"
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Help me to test an idea for Stockfish (I don't know prog

Post by Lyudmil Tsvetkov »

syzygy wrote:
Lyudmil Tsvetkov wrote:Would you argue psqt are perfect, provided that as I understand they are a fairly recent development?
They are in fact very old.
http://chessprogramming.wikispaces.com/ ... are+tables

Your question whether they are "perfect" is very ambiguous.
They are a rather primitive tool, but they are still of some use in modern chess engines.
The particular psqt values you can find in SF are unlikely to be "perfect", but they are likely to be pretty well-tuned and impossible to improve by applying any "gut feeling".
I did not want to aim at a successful patch, just to illustrate another approach.
And that other approach is... ?

Throwing mud at random and request others to clean up and adjust it so as to match your "intention"?
I did not quite understand from the wiki page when the tables originated. My impression from reading this forum was that one of the reasons for the superiority of modern top engines was the use of psqt. From that I draw the conclusion that either modern engines implemented such tables for the first time, or that they improved them substantially.

I asked you 2 very simple questions to make the discussion meaningful, and you answered none of those:

- what is the elo impact of different tables in your engine so that the public could draw some conclusions regarding tgheir usefulness?
- do you think that it is good to have lower values in the table for queen on the 6th rank than queen on 5th and 4th ranks, when chess knowledge would suggest it is otherwise? Or to have a negative value for a knight on a5 and a7 for example, when chess knowledge would suggest a knight placed there performs very well?

I do not see mud anywhere, do you, just a tiny layer of haze fed by meaningless exchanges of fire.
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Help me to test an idea for Stockfish (I don't know prog

Post by syzygy »

Lyudmil Tsvetkov wrote:I did not quite understand from the wiki page when the tables originated.
I can inform you that engines from the "late 1960's" are not considered modern engines nowadays. Most likely piece square tables were already in use earlier; the "pre-processing" technique was already a further development (which has been abandoned in modern engines for the reasons stated in the wiki).
I asked you 2 very simple questions to make the discussion meaningful, and you answered none of those:
We've been there before. Those are not at all meaningful for the discussion at hand.

You have been claiming for a few months now that engine developers could benefit from your "true knowledge". Nothing has come out of it. Ask yourself why.
User avatar
Rebel
Posts: 6991
Joined: Thu Aug 18, 2011 12:04 pm

Re: Help me to test an idea for Stockfish (I don't know prog

Post by Rebel »

Lyudmil Tsvetkov wrote: Hi Ed.

What I have understood is that in most tables I have seen (I do not mean Stockfish tables specifically) some values contradict sound chess knowledge. My modified values were just an attempt to illustrate a probably better approach to general chess principles. Would you argue psqt are perfect, provided that as I understand they are a fairly recent development?

I did not want to aim at a successful patch, just to illustrate another approach.

Otherwise you are fully right that one can not hope for even marginal success if one does not know the sources by heart, as well as the programmer's thought behind them.

But again this thread becomes very ugly, it is just mutual recriminations, I am not interested at that at all. An useful thread would provide some data, share some ideas, etc., and avoid at any cost personal exchanges. A very useful thing you could do, for example, is tell us what is the elo impact of different tables in Rebel, if it has ones?
Hello Lyudmil, nice to meet you.

Perhaps it's useful to read The value of an evaluation function for a general understanding of the components of an EVAL, their impact on playing strength and the interaction each eval component has on the rest of the components.