Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Multiple Linear Regression - Secret of the Commercial Chess Programmers

Author: Uri Blass

Date: 03:59:15 04/30/04

Go up one level in this thread


On April 30, 2004 at 04:27:23, rasjid chan wrote:

>
>The Secret of the Commercial Chess Programmers IMNSHO.
>
>Omid mentioned Falcon reached 2600 after improvements in search and
>now he runs out of ideas to push search further and had to try
>to improve on his eval. Again eval would reach a barrier as most
>programs with 2600 has a very good eval and the eval curve again
>shows diminishing returns for code-increase / additional factors.
>The only way is to be able to have a vertical upward displacement
>for this eval-curve which is basically logarithmic - it may be +100 elo
>by just using the correctly tuned weights.
>
>The Deep Blue team mentioned they used MLR and since it can be done,
>it means it should not be too difficult as MLR itself is not very high
>mathematics. I used MLR before and has a not-yet-complete idea of using
>it to tune weights.
>
>The requirement is we need a collection of say 100 drawn game-files, the
>more the bettter as reading and applying eval() at all nodes for a 1000
>games files may just take a second more.
>
>MLR tuning is logically based and it should not be too bad, at least
>we have some indications, but again we may not know it could be the BEST
>way to do weights tuning. Also it has a very high return if it works. It is
>a one time investment and once the tuner is written and we keep the
>100 game-files, it could be re-used anytime we change our eval(), we only
>need 10 mins to do a rerun and we have all the weights re-tuned and we
>never need to worry too much what weights we assign when we add a
>new factor.
>
>The following is what I arrive at on first thought, it may be triple dumb!
>
>MLR is about finding a set of constants c0,c1,c2... for
>
>Y = c0 + c1*X1 + c2*X2 + .....
>
>As I have not think it through completely, others may be able to
>complete the picture and let's see if it can be done easily.
>
>MLR requires us to collect a set of table data :
>
>per row:
>
>Y , X1,  X2,  X3,...., Xn
>
>a row/more is added to the table after applying our tuner to list thru the
>game-files and making the moves and apply score = eval() to the
>"neutral nodes".
>
>scheme 1:-
>Y is the should-be-near-zero score.
>Xn is our current weights used.
>
>scheme 2 - a "dumb" improvement :-
>Instead of using Xn we use del_Xn,the change in Xn alone(when only Xn is allowed
>to change) needed to make score == zero.
>After computing all del_Xn, we use
>Y = score = eval() using Xn + del_Xn instead of Xn.
>This may be better as weights not activated in certain nodes
>will have del_Xn = 0;
>Is this scheme ok ?
>
>Also in general for MLR, Y and Xn in should be scaled using a
>weighted average. Most common weights may vary about a certain mean value.
>Nodes should also be weighted, the nodes that eval() to far-from-
>zero are given less emphasis/weights/rows as the games are supposed to
>be drawn games.
>
>After running MLR, we obtain solution to
>c0,c1,c2... etc and this enables us to compute the optimal change
>needed to our weights. The correlation coefficient R2 from MLR may indicate
>how reliable the proposed changes is, or it may throw some lights
>on the quality of our eval(), etc.
>
>Also recording how often a factor is activated on average can let us decide
>if it may be discarded or used with a more conservative weight.
>MLR may also give us other indications when we may know certain factors
>are not important/or unstable when the tuned weights indicate an
>exceptionally high change needed, ie the weight or the factor itself may be
>suspect and should to be discarded.
>
>Should I do it now when my program is at 1900 ?
>
>Rasjid

No

I believe that Crafty never used MPL and it is clearly better than 1900.

I also believe that the secret of Shredder is mainly better search than Crafty
and not better evaluation(I do not say that it does not have better evaluation
but I guess that most of the rating difference between Crafty and Shredder is
because of the fact that Shredder has a better search).


Uri



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.