[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] Pattern matching - example play



Hi Magnus,

Your insights  into learning are  appropriate and match  my experience
very well  in becoming a better  chess player.  I never  became a very
good chess  player, but I came within  a few points of  USCF expert in
just a year or two until I got interested in computer chess!

However, I did  have a close friend who was a  master, and despite all
that you said (and I agree  with), there was no better way of learning
that going over  my games (both wins and  especially losses) with this
"teacher."   He was one  of those  rare people  who can  verbalize and
explain what is and isn't important in games.   He was a true teacher.

You said this:

> Trying to understand moves that you do not understand at all is the key
> to becoming a better player.

You have identifed the most key  principle of all here in learning and
I agree.   However, understanding things you don't  yet understand can
be a very  difficult process.  If you have the  right teacher, you can
save yourself an enormous amount of time.

Someone will say:  yes, but that is useful time  spent digging for the
knowledge.   My answer is  that any  hard work  is useful  in learning
including this, but that this is not the most efficent use of time for
the payoff.   The SOONER you learn  learn one concept,  the sooner you
can move on to other more sophisticated concepts which require knowing
the previous thing as a prerequisite.

I guess  I'm saying that if  I wanted to  become a master in  chess, I
could  do  this on  my  own  by  playing tournaments,  reading  books,
studying games and especially analyzing my own games.  But if I wanted
to become a  master FAST, I would  have to do all of  those things and
additionally hire  the right teacher.   (Find the "right"  teacher may
not be easy.)

I'm the  hardheaded type, I prefer to  learn on my own  and I probably
never would hire  a teacher, but if excellence at  playing go or chess
or any other  game was to become really important in  my life, I would
find some kind  of help support.  Most of the  very best chess players
in the world were part  of huge support structures, tutoring from very
young ages, etc.

- Don






   X-Original-To: computer-go@xxxxxxxxxxxxxxxxx
   content-class: urn:content-classes:message
   X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
   Date: Wed, 1 Dec 2004 17:34:15 +0100
   X-MS-Has-Attach: 
   X-MS-TNEF-Correlator: 
   Thread-Topic: [computer-go] Pattern matching - example play
   Thread-Index: AcTXsS1ZqJvvZvS+RRe+sIzOIfvZOgAC9foA
   From: "Persson, Magnus" <persson@xxxxxxxxxxxxxxxxx>
   Reply-To: computer-go <computer-go@xxxxxxxxxxxxxxxxx>
   Sender: computer-go-bounces@xxxxxxxxxxxxxxxxx
   X-Scanned-By: MIMEDefang 2.42
   X-MIME-Autoconverted: from quoted-printable to 8bit by theory.csail.mit.edu id iB1GY2YK011819



   > -----Original Message-----
   > From: Frank de Groot [mailto:frank@xxxxxxxxxxxxxxxxx]
   > ----- Original Message -----
   > From: "Don Dailey" <drd@xxxxxxxxxxxxxxxxx>
   > Subject: Re: [computer-go] Pattern matching - example play
   > > I  guess  what I'm  saying  is that  good  players  mainly gets
   their
   > > knowledge from explanations, by a teacher, by being taught.
   > 
   > Has that been demonstrated?
   > It seems counter-intuitive to me.
   > I would think that Go players mainly learn from playing games against
   > stronger players.

   I reached dan-level mainly by studying books and pro games, and played a
   tournament about every 3 or 4 months.

   Trying to understand moves that you do not understand at all is the key
   to becoming a better player.

   A book (or teacher) provides good principles and explanations how to
   play in a particular position. But this verbalized knowledge does not
   generalize from single examples for a beginner go player. It is when the
   beginner tries to mimic the new insights either in playing games against
   stronger players or when he tries to understand a pro game the real
   learning takes place. Finally, the best lessons for me were analyzing
   lost games in tournaments I tried to win very hard but failed. 

   So what is my point? No matter if you have a teacher, a book, or a game
   this is only the starting point for the learning. The learning takes
   place when you try use new concepts or try to mimic the shapes played by
   better players and see the consequences. No go program I know of is
   truly capable of doing this.

   My own program uses a mix of go knowledge in terms of algorithms and
   hand made patterns as well as a crude "on the spot pattern harvest
   approach" in the fuseki/joseki joseki stage that is similar to Frank's
   (it is just based on 5000 pro games + 1000 hand tuned "punish bad
   moves"-games. The program  is too slow to analyze things by itself.
   Everything it does is mere imitation (or pure confusion when it cannot
   imitate something). The only surprising plays that emerge is that the
   program sometimes seems to understand the concept "Play away from
   strength" and overconcentration, without having a single line of code in
   the program. It just follows from having an evaluation function that at
   least can evaluate some positions correctly. I believe that a lot of go
   principles should not be forced into the program it should follow from
   simpler and more basic knowledge.

   So mixing all of these approaches explicit programmed knowledge vs
   harvested patterns (that has been discussed as if they were opposed to
   each others) ends up in a program that plays nice moves most of the
   times but horrible blunders a lot. If I keep the current approach and
   polished it fulltime for some years it might possible to go from ~15-18
   kyu to perhaps 5 kyu (very optimistic) but after that I guess it would
   be impossible to improve it. Something is missing or the entire approach
   is flawed.

   The idea to let a programmer add a lot of go knowledge (in code or
   patterns) is flawed because most knowledge is either to vague to be
   programmed or so extremely specific that no mortal will be able to
   specify them without contradictions and bugs.

   Perfect shape predictions is also fine but will not solve the problem of
   evaluating the whole board. Ideal move generation is certainly possible
   but without good full board evaluation in a deep search. Perhaps they
   key here is lazy evaluation. Do the chess programmers here have a good
   idea how that can be used in go?



   --
   Magnus Persson
   Center for Adaptive Behavior and Cognition
   Tel: +49-(30)-82406-350
   Cell phone: +49 163 6639868
   _______________________________________________
   computer-go mailing list
   computer-go@xxxxxxxxxxxxxxxxx
   http://www.computer-go.org/mailman/listinfo/computer-go/

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/