Author: Robert Hyatt
Date: 07:35:56 11/29/98
Go up one level in this thread
On November 28, 1998 at 23:57:29, Jon Dart wrote: > >On November 25, 1998 at 23:53:33, Robert Hyatt wrote: > > >>One quick thing to do if you can compile the source, add "-DDEBUGEV" to the >>cc options.. then do the sc (but do *not* let it search or you will get a >>zillion lines of output) and get more detailed info broken down by >>each piece type... >> >> >I did as suggested (and turned -DDEBUGP on, too). Basically, what is >happening here is that the "bad trade" evaluation is being triggered. >This adds -1.8 to the total score. So without this term Crafty 16.1 >evaluates the position at about +0.2, or close to even. > >Couple of comments: >1. I think the "bad trade" penalty should be broken out separately >in the output of the "score" command. >2. Penalizing White for this doesn't make much sense here. Bishop >+ a couple of extra pawns is often drawn. > >--Jon look at the code carefully around that printf(). the bad trade penalty (this is triggered by one side having two more light pieces and the opponent having one more heavy piece (ie two pieces vs a rook is good, or a piece for two pawns is good)) should only be .8, not 1.8... actually I just looked at my code here and that output should be right. Look at evaluate.h to see what "BAD_TRADE" is set to. it should be 80-100 or so... breaking it out separately means it has to be moved to a procedure, and that has overhead... which is why it is "in line" at present. as far as how this works, my only intent is to avoid BN traded for R+P, which is almost always bad. and also trading a piece for two or three pawns is almost always bad as well, particularly in the middlegame. This has won more games than it has lost, and it prevents me from having to finagle piece values and scores to make crafty avoid such bad trades...
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.