TalkChess.com
Hosted by Your Move Chess & Games

Author Message
Lyudmil Tsvetkov

Joined: 12 Jun 2012
Posts: 5988

Post subject: Re: Redundant knight    Posted: Fri Jun 20, 2014 3:40 pm

arjuntemurnikar wrote:
Lyudmil Tsvetkov wrote:
arjuntemurnikar wrote:
I think this is already covered by the imbalance table, if not it should be.

There is no reason for the redundant piece evaluation term -- it is simply redundant -- pun intended.

 Lyudmil Tsvetkov wrote: So when was rook redundacy removed from SF? The last time I checked SF code, a month ago, it was still there. I also know that at the end of last year someone submitted a test to remove redundant rooks, and it failed. This is on the framework history page.

Can you point to the line of code that does redundancy evaluation in SF? I can't find it.

Your same-vein messages are redundant - pun not intended.

Imbalance will never take account of this, as this is a special term; in the same way as it will never take account of the queen vs 3 pieces imbalance.

It seems that I know SF code better than you and Lucas.

http://tests.stockfishchess.org/tests/view/527ae0480ebc5945a2478d18

 Code: // Scale factors used when one side has no more pawns   35   35       const int NoPawnsSF[4] = { 6, 12, 32 };   36   36       37      -  // Polynomial material balance parameters   38      -  const Value RedundantQueen = Value(320);   39      -  const Value RedundantRook  = Value(554);   40   37       41   38       //                                  pair  pawn knight bishop rook queen   42   39       const int LinearCoefficients[6] = { 1852, -162, -1122, -183,  105,  26 };     @@ -102,6 +99,8 @@ namespace {   102   99       int imbalance(const int pieceCount[][PIECE_TYPE_NB]) {   103   100       104   101         const Color Them = (Us == WHITE ? BLACK : WHITE);     102    +    const Value RedundantQueen = Value(320);     103    +    const Value RedundantRook  = Value((pieceCount[Us][PAWN] + pieceCount[Them][PAWN]) * 40);   105   104       106   105         int pt1, pt2, pc, v;   107   106         int value = 0;

There are a number of things wrong with your post above.

1. You point to a 3rd party repo of stockfish, not the official one by Marco.
2. Not only is it a 3rd party repo, it is hopelessly out of date (8+ months!!)
3. You point to a test that is incomplete and has a <0.1 p-value, so it is completely unreliable.

Here is the correct commit that removes the redundant terms: https://github.com/mcostalba/Stockfish/commit/52ae0efccffcce7f095cc4bae7bf90fe7a3b467b

and here is the followup: https://github.com/mcostalba/Stockfish/commit/3ed86ed3f95f712587bea62f4a7fc474812db458

So as you can see -- these terms are easily incorporated by the material imbalance table.

The Q vs 3 minors are also incorporated into the table. It is just a matter of tuning them. I don't know why these misconceptions are flying around that Q vs 3 minors is a "special case" that cannot be part of the table. That is simply wrong!

Unfortunately, since the array is quite large, it is impossible to do the tuning in one CLOP session. So Joerg is probably breaking it down into multiple sessions for each piece type, but this creates problems as all the terms are inter-related. There may also be the possibility that he is running into local maximas.

The material imbalance tuning will take a very very long time as it is a gigantic undertaking, so please be patient. (...and kudos to Joerg for even daring to attempt it on his own! )

Why do you need a gigantic undertaking for 2 or 3 elo at most?
Those are your words, but I say there are more than 50 elo in imbalance and piece values, I have absolutely no doubt about that.

I congratulate also Joerg for his efforts, but tuned imbalance can not substitute for everything. I repeat it again: you can never do queen vs 3 pieces with the imbalance tables, never. Joerg claimed to have simplified his ad-hoc rule when he improved the imbalance tables, but you now see SF fully does not understand queen vs 3 pieces, so that the improvement went somewhere else. You do not know quite what you are doing with the imbalance tables.

The same is true for merging redundant rook into imbalance: are you sure imbalance now handles that better? You can not in any way, you do not know where the change has gone, besides, removing failed at LTC.

I will tell you simply why you can not do queen vs 3 pieces in the imbalance tables, but you will not understand me. Queen imbalances involve imbalances like Q vs R+minor and Q vs 2Rs, which are by far the most frequent ones. It also includes imbalances like Q vs 3 pieces (3 minors, R+2 minors or 2Rs+ minor), which are rare. How are you going to tune Q vs 2Rs and Q vs R+minor and Q vs 3 pieces at the same time with the same parameter values in the same tables, when in Q vs 2Rs or Q vs R+minor you will have to leave all piece values unchanged, while in Q vs 3 pieces the R, B and N value should go up, and very much at that?

Please tell me how, but first think a bit? Simply impossible. When you tune the whole, you will tune for the most frequent case, and that will leave Q vs 3 pieces imbalance unresolved for ever. Do you understand now?

That is why I have been urging and am urging Joerg again to resubmit a corrected Q vs 3 pieces patch to fishtest. You simply must have an ad-hoc rule for Q vs 3 pieces, there is no other way. Besides, imbalance tables and Q vs 3 pieces imbalance are totally unrelated.

And Arjun, one last thing to you: I tell you again, it is knowledge that scales at longer TC and with bigger hardware. Hardware power increases with each year, what are you going to do at longer TC and huge hardware but calculate more terms? That is the right thing to do, that is why you have much time and big hardware. More knowledge will avoid randomness. If you have few terms, you simply calculate more, or much more, but, please note, random lines. Random lines usually bring you nothing, you need specific lines.

 Display posts from previous: All Posts1 Day7 Days2 Weeks1 Month3 Months6 Months1 Year Oldest FirstNewest First
Subject Author Date/Time
Lyudmil Tsvetkov Fri Jun 20, 2014 10:38 am
H.G.Muller Fri Jun 20, 2014 11:03 am
Lyudmil Tsvetkov Fri Jun 20, 2014 11:54 am
H.G.Muller Fri Jun 20, 2014 4:01 pm
Lucas Braesch Fri Jun 20, 2014 11:21 am
Lyudmil Tsvetkov Fri Jun 20, 2014 12:03 pm
Lyudmil Tsvetkov Fri Jun 20, 2014 11:37 am
Louis Zulli Fri Jun 20, 2014 11:50 am
Lyudmil Tsvetkov Fri Jun 20, 2014 12:13 pm
Lyudmil Tsvetkov Fri Jun 20, 2014 12:36 pm
Louis Zulli Fri Jun 20, 2014 1:27 pm
Lyudmil Tsvetkov Fri Jun 20, 2014 2:09 pm
Arjun Temurnikar Fri Jun 20, 2014 2:32 pm
Louis Zulli Fri Jun 20, 2014 4:12 pm
Louis Zulli Fri Jun 20, 2014 4:21 pm
Lyudmil Tsvetkov Fri Jun 20, 2014 4:30 pm
Robert Hyatt Sat Jun 21, 2014 2:51 am
Lyudmil Tsvetkov Sat Jun 21, 2014 6:53 am
Arjun Temurnikar Fri Jun 20, 2014 1:41 pm
Lyudmil Tsvetkov Fri Jun 20, 2014 2:26 pm
Arjun Temurnikar Fri Jun 20, 2014 3:03 pm
Re: Redundant knight Lyudmil Tsvetkov Fri Jun 20, 2014 3:40 pm
Arjun Temurnikar Fri Jun 20, 2014 4:43 pm
Joerg Oster Fri Jun 20, 2014 2:33 pm
Lyudmil Tsvetkov Fri Jun 20, 2014 3:12 pm
Arjun Temurnikar Fri Jun 20, 2014 3:19 pm
Arjun Temurnikar Fri Jun 20, 2014 3:35 pm
Lyudmil Tsvetkov Fri Jun 20, 2014 3:51 pm
Lucas Braesch Fri Jun 20, 2014 6:47 pm
Arjun Temurnikar Fri Jun 20, 2014 7:23 pm
Lyudmil Tsvetkov Sat Jun 21, 2014 1:31 am
Bernhard Bauer Sat Jun 21, 2014 5:31 am
Lyudmil Tsvetkov Sat Jun 21, 2014 6:57 am
H.G.Muller Sat Jun 21, 2014 7:54 am
Matthew R. Brades Sat Jun 21, 2014 8:04 am
Lyudmil Tsvetkov Sat Jun 21, 2014 8:57 am
Lyudmil Tsvetkov Sat Jun 21, 2014 8:48 am
H.G.Muller Sat Jun 21, 2014 9:19 am
Lyudmil Tsvetkov Sat Jun 21, 2014 10:00 am
Bernhard Bauer Sat Jun 21, 2014 5:22 am
Lyudmil Tsvetkov Sat Jun 21, 2014 7:07 am
Lyudmil Tsvetkov Sat Jun 21, 2014 9:30 am
H.G.Muller Sat Jun 21, 2014 9:45 am
Lyudmil Tsvetkov Sat Jun 21, 2014 10:21 am
H.G.Muller Sat Jun 21, 2014 11:31 am
Lyudmil Tsvetkov Sat Jun 21, 2014 11:38 am
Lyudmil Tsvetkov Sat Jun 21, 2014 11:38 am
H.G.Muller Sat Jun 21, 2014 11:52 am
Arjun Temurnikar Sat Jun 21, 2014 2:23 pm
Kevin Hearn Sat Jun 21, 2014 10:30 am
Lyudmil Tsvetkov Sat Jun 21, 2014 11:16 am
Bernhard Bauer Sat Jun 21, 2014 11:36 am
Lyudmil Tsvetkov Sat Jun 21, 2014 12:10 pm
H.G.Muller Sat Jun 21, 2014 12:16 pm
Lyudmil Tsvetkov Sat Jun 21, 2014 11:59 am
Lyudmil Tsvetkov Sat Jun 21, 2014 12:58 pm
H.G.Muller Sat Jun 21, 2014 12:11 pm

 Jump to: Select a forum Computer Chess Club Forums----------------Computer Chess Club: General TopicsComputer Chess Club: Tournaments and MatchesComputer Chess Club: Programming and Technical DiscussionsComputer Chess Club: Engine Origins Other Forums----------------Chess Thinkers ForumChess Players ForumForum Help and Suggestions
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum