TalkChess.com
Hosted by Your Move Chess & Games

Author Message

Joined: 08 Mar 2006
Posts: 1750
Location: Oslo, Norway

Post subject: Re: Stockfish - material balance/imbalance evaluation    Posted: Thu May 06, 2010 8:16 pm

 Ralph Stoesser wrote: I've read Kaufman's paper about the evaluation of material imbalance, but I wonder what exactly Tord Romstad's polynomial function does.

OK, I'll try to explain. It's nothing very fancy, really.

A material evaluation function is a function of 10 variables; P (the number of white pawns), p (the number of black pawns), N (the number of white knights), n (the number of black pawns, and by now you'll understand the meaning of the remaining variables), B, b, R, r, Q and q.

When we learned to play chess, most of us were taught a material evaluation function which is a linear polynomial in the 10 variables, something like this:

 Code: f(P, p, N, n, B, b, R, r, Q, q) = 1*(P-p) + 3*(N-n) + 3*(B-b) + 4.5*(R-r) + 9*(Q-q)

Later on, we learn a few material evaluation rules which cannot be expressed by a linear function. The most obvious example is the bishop pair: Two bishops are, in general, worth more than the double of a single bishop. However, we can still use a polynomial to model the evaluation function, as long as we allow terms of the second degree. If we decide that the bishop pair should be worth half a pawn, we can include this in the above evaluation function by adding the following term:

 Code: 0.25 * (B*(B-1) - b*(b-1))

This works because the product B*(B-1) is 0 if there are 0 or 1 white bishops, but 2 if there are 2 bishops.

Similarly, other more complex material evaluation rules like the ones found in Kaufman's paper can also be modeled by second-degree polynomial terms. For instance, assume that we want to increase the value of a knight by 0.05 for each enemy pawn on the board (this is almost certainly not an exact rule from Kaufman's paper, but I'm too lazy to look up the paper now). This would correspond to a term like this:

 Code: 0.05 * (N*p - n*P)

That so many material evaluation rules can be modeled by polynomials of degree 2 gave me the idea of using a completely general (apart from the obvious symmetry relations) second degree polynomial for evaluating material, and to spend lots of effort trying to tune all the coefficients (this was shortly after Joona had invented a very effective method for tuning evaluation parameters).

We never managed to make it work as well as I hoped, though.
 Display posts from previous: All Posts1 Day7 Days2 Weeks1 Month3 Months6 Months1 Year Oldest FirstNewest First
Subject Author Date/Time
Ralph Stoesser Wed May 05, 2010 4:39 pm
Marco Costalba Wed May 05, 2010 4:48 pm
Ralph Stoesser Wed May 05, 2010 5:37 pm
Marco Costalba Wed May 05, 2010 5:47 pm
Jan Brouwer Wed May 05, 2010 5:49 pm
Eelco de Groot Wed May 05, 2010 7:25 pm
Ralph Stoesser Wed May 05, 2010 8:02 pm
Eelco de Groot Wed May 05, 2010 10:10 pm
Milos Stanisavljevic Wed May 05, 2010 10:30 pm
Eelco de Groot Wed May 05, 2010 10:47 pm
Ralph Stoesser Wed May 05, 2010 11:27 pm
Eelco de Groot Thu May 06, 2010 1:23 am
Ralph Stoesser Thu May 06, 2010 9:07 am
Sven Schüle Thu May 06, 2010 9:31 am
Ralph Stoesser Thu May 06, 2010 9:52 am
Sven Schüle Thu May 06, 2010 10:48 am
Ralph Stoesser Thu May 06, 2010 12:08 pm
Tord Romstad Thu May 06, 2010 8:24 pm
Eelco de Groot Thu May 06, 2010 1:19 pm
Ralph Stoesser Fri May 07, 2010 9:34 pm
Marco Costalba Sat May 08, 2010 12:48 pm
Eelco de Groot Sat May 08, 2010 1:47 pm
Marcel van Kervinck Sat May 08, 2010 2:01 pm
Marco Costalba Thu May 06, 2010 11:40 am
Eelco de Groot Wed May 05, 2010 10:42 pm
Joona Kiiski Wed May 05, 2010 7:54 pm
Ralph Stoesser Wed May 05, 2010 8:28 pm
Larry Kaufman Sun May 27, 2012 7:31 pm
Tord Romstad Thu May 06, 2010 8:16 pm
James Coit Thu May 06, 2010 10:13 pm
Vratko Polák Thu May 06, 2010 11:38 pm
Ralph Stoesser Fri May 07, 2010 12:15 am
Marco Costalba Fri May 07, 2010 5:39 am
Ralph Stoesser Fri May 07, 2010 8:09 am
Marco Costalba Fri May 07, 2010 8:25 am
Sven Schüle Fri May 07, 2010 9:48 am
Sven Schüle Fri May 07, 2010 10:31 am
Ralph Stoesser Fri May 07, 2010 10:54 am
Miguel A. Ballicora Fri May 07, 2010 10:31 pm
Ralph Stoesser Sat May 08, 2010 1:33 pm
Marco Costalba Sat May 08, 2010 2:29 pm
Ralph Stoesser Sat May 08, 2010 4:24 pm
Ralph Stoesser Sat May 08, 2010 7:54 pm
Ralph Stoesser Sun May 09, 2010 3:19 pm
Marco Costalba Sun May 09, 2010 4:47 pm
Ralph Stoesser Sun May 09, 2010 7:51 pm
Marco Costalba Sun May 09, 2010 10:47 pm
Ralph Stoesser Sun May 09, 2010 11:22 pm
Marco Costalba Mon May 10, 2010 4:58 am
Sven Schüle Mon May 10, 2010 7:39 am
Ralph Stoesser Mon May 10, 2010 10:22 am
Eelco de Groot Mon May 10, 2010 5:04 pm
Ralph Stoesser Mon May 10, 2010 9:35 pm
Marco Costalba Tue May 11, 2010 11:19 am
Ralph Stoesser Tue May 11, 2010 1:51 pm
Ralph Stoesser Tue May 11, 2010 9:38 pm
Marco Costalba Wed May 12, 2010 5:05 pm
Robert Hyatt Wed May 12, 2010 6:14 pm
Marco Costalba Wed May 12, 2010 6:39 pm
Ralph Stoesser Thu May 13, 2010 12:51 pm
Ralph Stoesser Wed May 12, 2010 8:13 pm
Ralph Stoesser Wed May 12, 2010 9:15 pm
Marco Costalba Wed May 12, 2010 9:34 pm
Ralph Stoesser Wed May 12, 2010 10:02 pm
Eelco de Groot Sat May 08, 2010 4:53 pm
Ralph Stoesser Sat May 08, 2010 7:03 pm
Vincent Diepeveen Wed Jul 28, 2010 6:10 pm
Milos Stanisavljevic Wed Jul 28, 2010 6:24 pm
grzegorzs Thu Aug 05, 2010 5:36 pm
Dann Corbit Wed Jul 28, 2010 6:43 pm
Vincent Diepeveen Wed Jul 28, 2010 7:43 pm
Vincent Diepeveen Wed Jul 28, 2010 7:44 pm
Joona Kiiski Wed Jul 28, 2010 7:55 pm
Vincent Diepeveen Wed Jul 28, 2010 8:30 pm
Milos Stanisavljevic Wed Jul 28, 2010 9:30 pm
Vincent Diepeveen Wed Jul 28, 2010 10:11 pm
Milos Stanisavljevic Wed Jul 28, 2010 10:31 pm
Vincent Diepeveen Wed Jul 28, 2010 10:57 pm
Ben-Hur Carlos Langoni Wed Jul 28, 2010 11:07 pm
Vincent Diepeveen Wed Jul 28, 2010 11:36 pm
Ben Stoker Wed Jul 28, 2010 10:07 pm
Vincent Diepeveen Sun Aug 08, 2010 1:54 pm
Robert Hyatt Wed Jul 28, 2010 8:27 pm
Dann Corbit Wed Jul 28, 2010 9:30 pm
Wylie Garvin Tue Aug 10, 2010 10:00 pm
Tu Ngoc Trung Sun May 27, 2012 2:22 am
Ferdinand Mosca Sun May 27, 2012 10:01 am
Tu Ngoc Trung Mon May 28, 2012 3:19 am
Eelco de Groot Mon May 28, 2012 4:19 am

 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 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