Author: Stuart Cracraft
Date: 16:36:29 08/19/04
Go up one level in this thread
On August 19, 2004 at 15:42:05, Robert Hyatt wrote: >On August 19, 2004 at 15:27:56, Stuart Cracraft wrote: > >>Hi, >> >>I am looking around for those last few "big-ticket" items >>to implement in my program and am wondering about these. >> >>The program currently knows nothing about pawns other >>than preference for center pawns and pawns near the friendly >>castled king. >> >>So the question is how much improvement for games vs. >>normal middle-game position tests do you see coming from >>the three items square-of-pawn, pawn races, and general >>pawn structure including passers, isolani, doubled, color >>complex weakness, etc. as well as implementing a pawn >>hash. Be detailed. I'm interested in what kind of results >>before and after you added these that you saw. >> >>For example, I once heard one programmer comment that >>square of pawn was worth a full rating class in competitive play. >> >>And how do you implement square-of-pawn and and pawn races >>and what gotchas did you encounter? >> >>Thanks, >> >>Stuart > >Once you get your program tactically sound, you will lose every game you can't >win tactically, if you don't understand pawn structure. It is a _huge_ issue. > >If you don't understand weak pawns, isolated pawns, doubled pawns, pawn >majorities, distant majorities, outside/distant passers, etc, IM/GM players will >have you for lunch... Just as a reminder, here's what you wrote a few years ago about it. I view this as a totally different concept. Pushing passed pawns is one thing. This is completely different. This idea comes into play when (say) both sides have passed pawns and perhaps a bishop vs knight or something, and you discover you can rip your opponent's knight and win one or two pawns as a result. Unless you have truly huge passed pawn push scores, your program might do this, only to discover a few moves later that it can't catch that pawn of the opponent's. Granted that with a decent hashing algorithm, searching 15 or so plies is not too hard given enough time, and you ought to search this and find it. But suppose your q-search discovers this tactical trick near the end of the search and that looks like the best score. So you win two pawns, and a few moves later discover uh-oh... So I don't depend on this to advance passed pawns... I depend on it to help me avoid trading into a material-up but dead lost ending. Without it I found myself making lots of mistakes. This was one of the earliest things I added to Crafty. Fortunately it is basically "free" in terms of computational costs, when using bitmaps. I'd bet that a program without this will make huge mistakes in endgames, particularly at quick time controls. You have to hope that a move made at the root, which leads to an unstable position at the tip (where a pawn can run) leaves you an option to "bail out" later before you reach the critical (lost) position. If it does, you survive. If it is an early committment to an irreversible plan, you could be doomed. For the cost of the algorithm, it can't be wrong to do this. And it is actually easy to implement... just iterate over all the pawns to see if one side has a pawn that can't be stopped. If both do, you can get fancier as I have, and see which queens first, if one queens with check, or if one queens and simultaneously attacks the queening square of the other pawn, or if the latter is true does the king also defend the queening square so the pawn can promote anyway and draw? The more correct answers, the fewer mistakes you make. And the more games you don't lose to silly mistakes...
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.