[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Pattern matching - example play
Hi Frank,
From: "Frank de Groot" <frank@xxxxxxxxxxxxxxxxx>
Date: Wed, 1 Dec 2004 11:53:02 +0100
----- Original Message -----
To: <drd@xxxxxxxxxxxxxxxxx>; "computer-go" <computer-go@xxxxxxxxxxxxxxxxx>
Subject: Re: [computer-go] Pattern matching - example play
> From: "Don Dailey" <drd@xxxxxxxxxxxxxxxxx>
> Subject: Re: [computer-go] Pattern matching - example play
>
>
> > However Frank, it seems to me that it should be better to directly
> > apply actual knowledge as opposed to trying to obtain knowledge
> > indirectly.
Something else came to mind.
I in fact *totally* disagree with your premisse.
You call putting in programmer's knowledge "directly applying knowledge" and
learning knowledge from games "indirectly applying knowledge", while in fact
it is the other way round!
Because when a programmer put in his knowledge, he mainly got his knowledge
from many years of playing Go and observing Go games.
I guess what I'm saying is that good players mainly gets their
knowledge from explanations, by a teacher, by being taught. I believe
that playing and studying games is critical to the success of a good
player, but in almost all science (and I'm considering GO a science)
lessons by the individual "students" are learned more from the
ACCUMULATION of knowledge and experience passed down to students.
Relativity in physics is an example. I doubt very many people would
have "learned" relativity from direct physical observation, it was
enough that one man did.
I could compare what you are doing to trying to learn sophisticated
science without the benefit of an actual teacher but it's not quite
that simple. You are trying to teach from GOOD examples, which I
consider a big step higher than learning from scratch, but still more
or less indirect.
I'm not trying to discourage you on this, you are doing some great
things here that will provide more insight into these things. For
instance, I admit that I could be wrong about this (I would like to
know if I am) and you could make the point that everything we learn,
even if carefully explained to us, is ultimately learned by example
(the example is "spoon fed" into our imagination when explained.) And
you might be right. Maybe I'm arguing about nothing important here?
Meaning, the programmer is an extra link in the chain.
Again, are you saying that a "teacher" is a waste of time? The programmer
is a teacher.
It's trivial to demonstrate that a programmer's learned patterns are
inferior to directly learned patterns, as I have convinced myself I have
done. My opinion on this:
- A Go program that uses ONLY the rules is an example of the application of
the application of "first level-knowledge",
- A Go program that uses the rules AND "learned" games is an example of the
application of "first level-knowledge" + "second level knowledge",
- A Go program that uses the rules AND programmers' heuristics is an example
of the application of "first level-knowledge" + "third level knowledge".
- A Go program that uses the rules AND programmers' applied Go Dogma's
("truths" from books) is an example of the application of "first
level-knowledge" + "fourth level knowledge".
Fourth level knowledge because Go dogma's come thus into being:
Rules --> Observed/played games --> Evolution of generally accepted
heuristics --> Finalization of universally recognized dogma's.
I find it risky to introduce dogma's into the system, as Go Theory (Joseki
variations etc.) is in a state of continuous development and nobody even
knows whether starting on Tengen is the best or not. Manually putting in
patetrns would be naive. Better is a system that can be re-trained with the
latest games, and it will learn the latest Joseki etc.
Dogma's are almost always sub-optimal, and I don't see why Go would be an
exception.
I agree with you on this. A teacher does introduce his own biases
into the system. What I lean towards at the moment IS indeed a self
teaching system, but not one based on learning from imperfect human
examples, which you have to admit are filled with warts and biases.
Let's put hero worship aside, even the best players in the world at
any game have their idiosyncracies and even dare I say "weaknesses"
and in the end you would want to avoid that.
Is there any way your system could generate it's own games, and feed
back on itself, gradually learning from it's own experiences? This
would actually at least introduce the possibility of it going beyond
it's teacher.
- Don
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/