Evaluating Material Based On Proportion

Discussion of chess software programming and technical issues.

Moderator: Ras

ovenel
Posts: 6
Joined: Mon Apr 24, 2023 4:11 pm
Full name: Nelson Overboe

Evaluating Material Based On Proportion

Post by ovenel »

I've been thinking about a new idea for evaluating the material advantage of a position, and I'm curious if anybody else has tried something like this and how well it has worked.

Ultimately, it is based on the rule of thumb that you should exchange pieces when you are up in material, and avoid exchanges if you are down. If we only consider the relative value of the pieces, the simple method of counting up White's pieces and subtracting Black's pieces doesn't really play into this. Being up a knight is 3 points, regardless of what else is on the board. However, that difference is much more stark when the board is mostly empty as opposed to full.

Thus, I think it is reasonable to look at material from the lens of what proportion of the total material on the board is controlled by each player rather than as a strict difference in values. If you control 10 points of material and your opponent controls 5, you control 67% of the material. If you exchange 3 points, you now control 7 and your opponent controls 2, meaning that you now control 78% of the material, even though the difference is still the same 5 points. Thus, we are able to see that progress has been made in the position from just a count of the material, even though the material difference is unchanged.

In my engine, I updated my material evaluation to consider it proportionally, and I saw a notable increase in its playing strength (this doesn't mean much...the engine is buggy and not well tuned, so it's not a reliable source for conclusions). My implementation essentially allocates a pool of 7500 points to be split up between White and Black based on what proportion of the total material on the board they control. 7500 was chosen because the maximum allowed non-mate score in my engine is about 8100, and 7500 is sufficiently less than that. Thus, the material score is now calculated by the following formula.

Code: Select all

MaterialScore = POOL * (White - Black) / (White + Black)
I also assigned the King a value of 375 centipawns, as the Kings' material values will no longer directly cancel each other out and thus need an actual reasonable value to be assigned based on their ability to pose a threat. I've seen some estimates of its value at 4, so I used something around that.

Has anybody else played around with this idea? Any thoughts on how well this would work?
User avatar
hgm
Posts: 28351
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Evaluating Material Based On Proportion

Post by hgm »

This is basically what tapered evaluation already can give you. By using much larger end-game values for all evaluation parameters, the same material imbalance gives you a larger advantage in evaluation score, and thus encourages trading when ahead.