Most common/top evaluation features?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Robert Pope
Posts: 558
Joined: Sat Mar 25, 2006 8:27 pm

Re: Most common/top evaluation features?

Post by Robert Pope »

PK wrote:1. piece/square tables, interpolated between midgame and endgame (as Your engine matures, You are going to add interpolation anyway, so better start with it right away - it's easier to keep the code clean later on). As a sanity check, beat TSCP with just that.

2. passed pawns. at this stage decent search should beat micro-Max

3. mobility. here Sungorus should be beaten by 100 Elo or so

4. basic drawn material configurations: KK, KBK, KNK, KNNK are straight draws, KRKB, KRKN, KRBKR, KRNKR, KQBKQ, KQNKQ, KBNKB, KBNKN, KBBKB (note the omission of KBBKN!) K(2minors)KR are sccaled down (for starters, divide the score by 2). This is needed not for playing strength, but for better testing. In early days of Rodent I have seen so many endings of that kind evaluated as 3+ that I came to believe they may distort the match score)

5. weak pawns (pawns that cannot be defended no matter what pawn moves you make). dividing them into isolated and backward will come later.

6. bishop pair bonus and doubled pawns penalty applied together. the main reason doubled pawns are useful is that they prevent playing for bishop pair at all cost.

7. king safety. You are at least 2500 now.

8. pawns shielding own king.

This is the point when all the basic elements are in place. It's the time to look what mistakes Your engine tends to make, fix them with some special case code (like a penalty for a rook blocked by uncastled king, for blocked d2/e2 pawn and whatever ugly things tend to happen). With some tuning, You are within 100 Elo to Fruit 2.1
How much of an exaggeration is this? I mean, maybe I'm biased as an author that still kicks around with micromax and TSCP, but the benchmarks above seem wildly optimistic.
PK
Posts: 893
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Re: Most common/top evaluation features?

Post by PK »

Out of curiosity, I might check at least a couple of initial steps of my ladder. To save time, a new Sungorus derivative will be created, called Fledgeling. Evaluation function will be developed in steps described above, with some tuning between the versions. As for search, to get a fair chance of succeeding at the higher steps, I will add the following:

- late move reduction with re-search, but without history restriction
(1 or 2 ply, depending how late is the move)
- late move pruning near the horizon
- aspiration window
- only exact hash entries will be retrieved in pv nodes
- hashing in qs
- some move ordering improvements
- possibly check evasions in qs

As for the opponents I picked, here is why there is why the experiment may succeed

- TSCP will be outsearched by 6 plies or so, no way its eval can overcome that
- Micro-Max still will be outsearched, albeit a bit less (it uses transposition table and late move reduction) plus it will be burdened by some hacks needed to keep the code small
- Sungorus should fail on the merits of better Fledgeling's search alone, and its eval is badly out of sync. knowledge of weak pawns, which it possesses, is not enough to offset these two factors.
- beating Sungorus by 100 Elo means that we are at least 2400 CCRL
- before reaching 2500 CCRL we have four important eval changes to do: king safety, weak pawns, doubled pawns and bishop pair. squeezing 100 Elo out of them is difficult, but doable or almost doable.
- being "within 100 Elo to Fruit 2.1" is 2593 CCRL. Only this goal looks really exaggerated, as the gain should come from king's pawn shield, small amount of special case code and serious amount of tuning.
BeyondCritics
Posts: 396
Joined: Sat May 05, 2012 2:48 pm
Full name: Oliver Roese

Re: How to measure mobility?

Post by BeyondCritics »

How do you define "board control"? Do you iterate over some or all squares, to see who is able to move safely to it?

I must object that for me "control" is something static. You designate a piece to take control of a certain square. Therefore the piece typically cannot move, without giving up control of that square, this would hampers its mobility. Therefore you should prefer to control something with the lower-valued piece, since then you loose less of your piece power. The same principle applies, if you want to block a passed pawn, always use the lower valued piece.

A further concept related to mobility is "space advantage". It is mostly assessed by oberserving the pawn structure. Lack of space leads to notorious low mobility, this is seen as dangerous: "Confined positions already contain the seeds of loss", Tarrasch. (Don't get me wrong here)

I like your observation, that comparatively more of the moves of the higher valued pieces tend to be meaningless. Furthermore i believe that mobility should be low dispersed, this can be justified similarly.