Author: Dann Corbit
Date: 20:50:18 10/26/98
Go up one level in this thread
On October 26, 1998 at 20:02:30, Fernando Villegas wrote: [snip] >Aha, that is is the great "IF" that bothers me! But what if the lines were good >ones BUT misshandled? Example: I get not good results with, say the Indian >defense, so I avoid it. So I do not play no more that line and so my learning of >the game is hampered. Nevertheless, maybe I get better results. You see what I >mean? Eventually, it will even out anyway. The program makes bad choices. You start to beat it (or a program starts to beat it). It then marks its mistakes and revisits the ones it marked before. Try it yourself with a pencil and some graph paper. You will see that *given enough[1] time* it will eventually find the best answers. [1] possibly infinite ;-) >>ones, then it would start to get beat on these lines by good players and/or good >>programs. Since these lines would start to lose, now they would be downgraded. >>Hence, this technique heals itself. > >Yes, but only if we think that to amputate a leg because you have a callus in >yout feet and so you do not walk well is a real "healing"... That's where we are right now. In fact, the pure AI approaches *REALLY SUCK BIG TIME* since (ahem) I can beat them. [Real deal-I have the source on my machine and can pretty well thrash them most of the time.] I'm a patzer, so that should tell you something. I've beaten some good players at times, but have never even bothered to enter a tournament in my life. > One thing that we should be careful of is >>unnecessary 'avoid move' marking. This might prevent learning valuable >>strategies (IMO). > >Precisely... Yet easier said than done. >Similarly, marking something as 'best move' should really be >>validated by a GM. Otherwise, it should only be suggested among alternatives. >> >>>I think -although I know there is a great abysm between words and >>>implementation- that real learning should mean some kind of changes within the >>>source code. >>That is a program that does not learn, unless you are talking about self >>modifying code. Such learning is not needed. Information, after all, is *data* >>not code. For NN type learning, I think the flaw is that computers are not >>aware of temporal sequence. In other words, the net learns that it is good to >>develop the queen. But instead of waiting for a good formation, it thrusts the >>queen out right away. It did not know _when_ such a thing was advisable. >>Perhaps a NN should be combined with a FSM in some way. >> >>But modifying the code to make the program smarter is how most people do it now. >> It is called an upgrade, usually. Trying to do this 'on the fly' has some >>serious disadvantages. First of all, self modifying code is very hard to debug >>and maintain. Secondly, it is hard to make it efficient. Sort of like a >>virtual function and we don't even know what the function is going to do for >>sure! Sounds like we will have to do lots of inquiry (like RTTI, only worse!) >> >Of course it is difficult. Right now it is more than difficult. It is intractible. For instance, you want the source code to be modified on the fly. How exactly? A programmer must code from a specification. What _exactly_ is the self-modifying code to do? Simply to "get smarter" is too vague. We must know by exactly what mechanism it can achieve this. > >>I plan to use the SQL database in the project that I am working on to make >>Crafty learn. It will have not only the centipawn eval, but also win/loss/draw >>data and other statistics. If it cannot find the data, or the data is not as >>strong as it wants to find, it will generate it as normal. But after >>recalculation, it will store the new information to disk. This is a program >>that really does learn as it plays. And don't worry about terabytes of disk. >>It can only write out data as fast as it can play. But I might create some kind >>of central database repository that thousands of crafties all over the world >>could connect to. That way, all of them benefit from the learning of each >>other. > >Hope you will be lucky. I don't believe in luck. I don't expect to start thrashing Deep Blue or Kasparov right away ;-). But I think simply the advent of a true relational source will improve the study of chess by orders of magnitude. The current chess *ahem* databases are really laughable and not database systems at all.
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.