Author: Uri Blass
Date: 02:45:54 12/27/01
Go up one level in this thread
On December 27, 2001 at 04:48:03, Tom Kerrigan wrote: >On December 27, 2001 at 04:20:23, Uri Blass wrote: > >>On December 27, 2001 at 02:13:34, Tom Kerrigan wrote: >> >>>On December 26, 2001 at 17:47:12, Christophe Theron wrote: >>> >>>>I don't think so, but I think at some point the only way to improve will be to >>>>incorporate a way for the program to learn without the programmer, to remember >>>>its experience and improve on it, and to adapt its play to its opponent. >>> >>>I don't see this as likely because of the numbers involved. >>> >>>For a computer to recognize features, it has to loop over them. And there might >>>as well be an infinite number of features possible on a chess board, so that >>>loop is going to take a while. >>> >>>The human brain is sloppy and bad at this task, so maybe there's some way to do >>>sloppy and bad learning that does better than what we have now, but I wouldn't >>>know how to go about that. >>> >>>-Tom >> >>I think that there is already a possible way to do a program >>that is learning without the programmer. >> >>Even a program that is using only a piece square table >>is using a lot of numbers in the evaluation. > >Optimizing a set of eval weights is a solved problem in my mind. (See TD >learning and KnightCap.) > >What I was referring to (and Cristophe, too, I believe) is a program that would >come up with its own eval terms. > >-Tom I do not think that it is not simple to optimize a set of eval weights and I believe that the set of eval weights of top programs are not optimized. program may learn based on previous games to improve their evaluation if they start with bad evaluation but there is a big problem to improve evaluation that is good but not close to be perfect(when changing one eval weight can usually improve the elo of the program only by 1 elo but it is possible to improve the elo of the program by 100 elo when you change a lot of eval terms). The only way to be sure if a change in the eval terms is positive or negative is simply by testing every change in games. The problem is that this way is going to take too much time. if there is a small change that change the elo of the program by 1 elo point then you may need more than 100,000 games to get significant results. I suggested an idea for another way to do it by a test suite. There are also other possible ideas. for example if a program wants to see what is the right piece square table for it then it is possible to do the following steps: 1)analyze a lot of position from games and remember the score for them. 2)calculate the sum of the squares of the differences between the static evaluation and the score after search. 3)If a change in the evaluation reduce this number then the change is probably a positive change. I do not think that using one of my suggestions that is not playing games is going to be 100% correct but I believe that they will produce more positive changes than negative changes. 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.