Evaluating bad bishops
Posted: 15 May 2006, 23:02
Hi all,
Working on the evaluation function is boring, but unfortunately my little toy engine has advanced to the stage where some basic positional understanding seems necessary for further progress. One of the many missing pieces of knowledge is that Glaurung knows nothing about the concept of bad bishops. It does have a simple mobility eval, but mobility by itself isn't good enough. A bishop which is hampered by a lot of friendly pawns on its own colour tends to be a more permanent and serious problem than a bishop which simply happens to have poor mobility.
Despite several attempts, I have never managed to find a good way to evaluate bad bishops. My first and most simple attempt was to simply count the number of pawns on the bishop's colour, and use the number as the index to a BadBishopPenalty[] array. Later I have tried several similar but more complicated schemes, where I assign higher weights to central pawns and/or blocked pawns. To my frustration, I have never managed to make this work. Glaurung has always scored slightly better without such a bad bishop eval. There are some positions where the bad bishop eval works, but too often Glaurung has problems distinguishing a genuinly bad bishop from a bishop which does a vital job in protecting a friendly pawn chain.
What do the rest of you do? Does anyone have a simple, but effective way of evaluating bad bishops?
Tord
Working on the evaluation function is boring, but unfortunately my little toy engine has advanced to the stage where some basic positional understanding seems necessary for further progress. One of the many missing pieces of knowledge is that Glaurung knows nothing about the concept of bad bishops. It does have a simple mobility eval, but mobility by itself isn't good enough. A bishop which is hampered by a lot of friendly pawns on its own colour tends to be a more permanent and serious problem than a bishop which simply happens to have poor mobility.
Despite several attempts, I have never managed to find a good way to evaluate bad bishops. My first and most simple attempt was to simply count the number of pawns on the bishop's colour, and use the number as the index to a BadBishopPenalty[] array. Later I have tried several similar but more complicated schemes, where I assign higher weights to central pawns and/or blocked pawns. To my frustration, I have never managed to make this work. Glaurung has always scored slightly better without such a bad bishop eval. There are some positions where the bad bishop eval works, but too often Glaurung has problems distinguishing a genuinly bad bishop from a bishop which does a vital job in protecting a friendly pawn chain.
What do the rest of you do? Does anyone have a simple, but effective way of evaluating bad bishops?
Tord