Author: Graham Laight
Date: 02:56:36 07/26/00
Go up one level in this thread
On July 25, 2000 at 12:50:25, blass uri wrote: >On July 25, 2000 at 12:12:21, Graham Laight wrote: > >>On July 25, 2000 at 09:43:44, Robert Hyatt wrote: >> >>>On July 25, 2000 at 06:48:09, Graham Laight wrote: >>> >>><snip> >>> >>> >>>> >>>>It seems to me that you are selecting which knowledge to use on the basis of >>>>"inductive reasoning", or a tree of questions. >>>> >>>>e.g. >>>> >>>>Is there plenty of material left? >>>> | >>>> | >>>> |- Yes >>>> | | >>>> | |- Are the opponent's pieces near my king? >>>> | | >>>> | |- Yes >>>> | | | >>>> | | |- Are the pawns around my king well placed? >>>> | | | >>>> | | |- No >>>> | | | | >>>> | | | |- A king safety problem exists >>>> | | | >>>> | | | >>>> |---|---| >>>> | >>>> | >>>>A king safety problem does not exist >>> >>>You imply this is a boolean decision. It isn't. The king safety scores can >>>range over a set of integer scores from roughly -5.00 (-500 in Crafty) to +5.00, >>>rather than being a decision tree 0/1 as you have it above. That seems to help >>>my evaluations quite a bit, because over time, the endgame prediction score can >>>catch up and surpass the king safety score causing crafty to want to trade >>>even when it is attacking, because it has seen (or thinks it has seen) a way >>>to reach an endgame where it has an advantage that is better than the attacking >>>chances. >>> >>>That is important in my evaluation... there are no "on/off" things at all. IE >>>some turn king safety off when material drops below X. Right around X, things >>>are flakey as on one side you get a big negative score, while on the other side >>>you get a 0, so a single capture can whack the score significantly. I don't >>>do that... it smoothly transitions from big to small over many captures... And >>>endgame scores smoothly transition from small to big as material comes off. >>> >>>What it means is that I evaluate everything, then figure out how much of each >>>"component" ought to be included in the current score, rather than turning some >> >>How do you weight the various components? >> >>I assume you have to calculate (or use existing calculations to make..) some >>indices to determine the relative weight the score of each evaluation component >>should be given. If so, this sounds similar to the position index building work >>I would have to do before giving each eval fn a "match score". >> >>>off completely. IE if your king is in trouble, you might turn pawn structure >>>analysis off as you are trying to save your king. I am trying to save both >>>my king _and_ pawn structure, but I try harder to save the king of course. :) >> >>I would be able to set the match score threshold for using an eval fn to >>whatever I liked. >> >>It could be "top 5 + anything with a match score over 50%", or it could be "top >>10 + anything with a match score over 10%". I could even choose to use all eval >>fns, and use the match scores to determine weightings. >> >>One could have hours of fun playing with the thresholds... :) >> >>Anyway, to go back to Crafty for a moment, the thing that struck me when looking >>through evaluate.c (17.11) is just how little knowledge there is in there. I've >>just done a quick count (unscientific I know), and I reckon there's fewer than >>150 distinct pieces of chess knowledge in that file! >> >>This is an eminently manageable number, so it's not surprising that knowledge >>management issues are not seen as a serious problem in Crafty. Indeed, it is a >>tribute to the programmer that Crafty plays so well with so little knowledge >>about chess. > >I think that most of the chess programs have less pieces of knowledge in their >evaluation. > >If you think that it is easy to write more pieces of knowledge then you are >invited to write your chess program. > >Uri I agree that there are a lot of really good programs out there doing a superb job with what they already have! I also appreciate the fact that it's not easy to add knowledge to a program. That is why I started this thread - to discuss this very issue. And as a further contribution, I have designed a "model" program, so that we have something to compare and contrast with as we discuss possible ways to manage extra knowledge. Admittedly, discussing a model is not as much fun as having the real thing to play with... -g
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.