Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Tell me about computers learning....

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.