Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Future Rebel will allow significant user parameter adjustment

Author: Ed Schröder

Date: 03:41:25 07/21/99

Go up one level in this thread


>I took a look at the log file you placed on your site so as to show what would
>be subject to tweaking and found that what interested me most was all grouped
>up. I am thinking particularly of Chess Knowledge which is said to increase or
>decrease the quality of positional play according to its value. This is quite
>vague, and I would have thought that it was precisely in the various
>elements of
>chess knowledge that one could achieve the most interesting tweaking. Is this
>left like this due to a desire to not divulge all of Rebel's cogs and screws?
>
>                                Albert Silver

The option [Chess Knowledge] is about LAZY-EVAL which is currently
a hot topic here. Below is a quote from my pages which might explain
a bit (I hope).

Ed Schroder

-----------------------------------

[Chess Knowledge = 200] Chess Knowledge above 100 will result in
more accurate positional play but a lower search depth. Chess Knowledge
below 100 will result in less accurate positional play but a higher search
depth. This function needs a detailed (and quite technical) explanation:

The heart of a (any) chess program is its evaluation function (EVAL). In
there all chess knowledge is present. The most important ones are already
discussed above  (King Safety, Mobility, Pawn Structure, Passed Pawns
etc). Above these major items EVAL contains over 200 specific (position
oriented) chess knowledge cases of all kind. To name  a few: Bishop of
opposite colors, bad (or good) bishops, piece development in the
opening, castling, rook endings, pawn endings and and and... EVAL is
the soul of a (any) chess program and will reflect the playing style the
programmer has (had) in mind.

EVAL in REBEL takes a lot of processor time even for todays fast
computers. EVAL's size is over 120 Kb (pure assembler code)
containing over 30,000 instructions which is very big for a chess
program. Calling EVAL for every position in the tree-search is very
expensive and will slow down the search tremendously, in REBEL's
case a slow down factor of 7 to 8 (nodes per second) is not unusual.

To handle this chess programmers invented LAZY EVAL in all kind
of sorts. LAZY-EVAL is a smart algorithm that only picks the main
important parts of EVAL belonging to the (current position) and then
skips the rest of EVAL. This is of course a very dangerous approach
as often LAZY-EVAL is not 100% right and will return a score that isn't
100% accurate which (sometimes) in the end may result in a lesser
quality move.

On the other hand Rebel's LAZY-EVAL algorithm will speed-up the
search tremendously and allows REBEL to look 2-3 plies deeper
than without LAZY-EVAL which in the end is by far is superior in
terms of chess strength.

With the option [Chess Knowledge = 200] you can tune REBEL's
LAZY-EVAL. The higher you set its value the more accurate REBEL
will play but the search depth will decrease. If you set Chess
Knowledge to its maximum [Chess Knowledge = 500] you actually
see REBEL's EVAL in its full glory as LAZY-EVAL is hardly active
anymore.

However REBEL'S nodes per second (NPS) will drop typically with
a factor of 7-8. On a PII-333 REBEL searches about 100,000
positions a second. Using [Chess Knowledge = 500] REBEL's
NPS will drop to 12,000-15,000.

More technical stuff: all of the above is true for current and older
INTEL processors. However times are changing, chips are equiped
with larger and faster cache memory. On the new AMD-K6-III the
cache runs at full processor clock speed. INTEL processors cache
memory is just running on 100 or 66 Mhz. The result is that on
AMD K6-III using the maximum [Chess Knowledge = 500] REBEL
will run 2-2½ times faster than on INTEL.

All of this makes it very difficult to tune Chess Knowledge for its
best setting because it is very dependant on the processor you
have in your PC. This month AMD released the new K7 processor
which again doubled the cache memory and REBEL will profit a lot
from that. INTEL surely will answer. The bottom line is that one day
the ideal setting will be [Chess Knowledge = 500] and you can use
REBEL's EVAL in its full glory.




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.