[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Evaluating positions
From: Heikki Levanto <heikki@xxxxxxxxxxxxxxxxx>
Sender: owner-computer-go@xxxxxxxxxxxxxxxxx
Precedence: bulk
Reply-To: computer-go@xxxxxxxxxxxxxxxxx
Content-Type: text/plain; charset=us-ascii
Content-Length: 3144
On Tue, Jun 19, 2001 at 04:18:36PM -0400, Don Dailey wrote:
> This is interesting stuff.
Yes indeed!
> Any concept we come up with is not "REAL" in an absolute sense. These
> are just symbolisms our minds use in an attempt to bring some
> structure into our thinking about things.
Yes, of course. And to complicate matters, most of us approach the game
from a different direction. Some are trying to base their thinking on the
traditional theory of go, with all of its symbolisms and approximations.
Others try to start from general game-theoretic basics, with the symbolisms
and aproximations that brings. Others try to start from first principles,
and the rules of the game, and hope to get further that way...
> Most games, in my opinion have only a single real concept, usually stated
> by the goal of the game.
That is of course a matter of definition. Is the the concept of life and
death "real" in go? It is not explicitly mentioned in the rules, and one can
imagine games where it will never need to be considered, but still I feel it
has some "real" value in go. And how about a triple ko rule (or super-ko)?
It may be explicitly mentioned in the rules (depending which rules you play
by), but there can be so many games that don't even get near such a
situation. Is this a "real" concept of the game or what? (btw, what *is*
the opposite of a "real" concept? fake? artificial? )
Let me refer to these concepts you mention as definitions, not
concepts. In this way, we can talk about anything we define. I can
also define anything I want to and then have a way to argue about its
usefulness. For instance let me define the "wakget" (something I just
made up out of the blue) as being the state where you just put down a
stone that is exactly 7 x 5 intersections away from the previous stone
you laid down. Now I can start writing books explaining how and why
the wakget is built into the fundamental nature of go.
If you cannot clearly define it, let's call it an "idea." "That
person is ugly" is an idea. You cannot define ugly. In chess you
might say white has the stronger pawn structure, but of course this is
an opinion and an idea. You can never prove this unless you define
pawn structure strength in some formal way.
For example, I pulled out a Go book at random and turned to a random
page and read this passage:
Black 97 assured the life of the corner group, but now White was hot
on the attack in the centre. He enlarged his right side in sente with
102, then gave chase with 104 and 106. Although he did not really
hope to kill the black group, by attacking in this fashion he expected
to solidify his own central position in sente ... etc
I am sure that you would have a really hard time defining, in a formal
way, what "giving chase" means. I would not know how to even begin
programming the concept "hot on the attack" into my Go program, but it
sounds like a great thing to have! I really want my program to always
be "hot on the attack", it sounds really cool.
I'm not making fun of these things. I know that "giving chase" seems
to have real meaning when playing through the games and I know what
"hot on the attack" feels like, when someone is doing it to me. But
even the expression "attack" imputes motives to something that is
purely mathmatical.
I also feel more comfortable calling general principles "rules of
thumb", because that at least admits some imperfection or
approximation.
So when I used the term "real" I should have said "relevant" and when
I say "relevant" I mean this in a strictly formal way. As an example,
having extra material is not relevant in chess. The winner is not
decided by who has the most material, even though it turns out that
this is more often the winner that the loser. (Actually, who has the
most material has to be strictly defined too because Chess programs
assign different values to the pieces.)
In Go, who has the most space? Only an omniscient entity can tell you
for sure unless the game is very close to being over. But your
program may attempt to tell you by estimating it. This estimate is
probably the program's best guess at the final score.
> What we call "fundamental principles" should be reworded for accuracy
> to be "reality approximators" or something like this.
No, I think there are levels of this. I believe there are "fundamental
priciples" that the game is based on ("owning" points in go, available moves
in checkers).
I'm being a bit of the devils advocate here. I agree that these are
among the fundamental principles of these games, but in the strictest
sense, they are irrelevant! Consider ...
Available moves in checkers doesn't matter unless you have zero moves
available when it is your turn. Owning points in Go doesn't matter
unless the game is over.
In Go, there is at least some argument that even considered strictly,
owning points is fundamental because you can derive a partial score in
Go, unlike Chess or checkers which is much more dynamic and
unpredictable. I call this "absolute ownership" which is defined as
points that you should never have to lose with best play. Big strings
with 2 eyes are absolutely owned and are part of the "real" score.
There is a concept underneath this I call ownership which is not
absolute but just as good. I define this as points which you
essentially own but can be traded in for an equal or greater number of
other points. You can hold it if you want to but perfect play might
dictate (depending on the opponents play) that you give it up for
equal or greater gain elsewhere. A lot of points in Go do not, and
cannot have owners until the game progresses, but each position in Go
does have a final computable outcome (calculated by assuming best play
for both sides.) Of course it's almost impossible to do this
calculation.
Then there are "derived principles", that follow logically
from the rules (life in go). Then there are "generalized rules of thumb"
(bulky five is not safe eye space, enclused space with two corners taken by
enemy stones is a false eye and does not count). Then there are even more
abstract "rules" (4-4 point does not secure territory in the corner). And so
on to proverbs and folklore (if any player has all four corners, white wins.
Less that eleven stones in danger, play elsewhere)
> You can tell what is fundamental by seeing how a good program write a
> program.
This is circular reasoning. Fundamental principles should be the same if I
write a good or bad program (even if my program is good). If my program
depends on the phase of the moon, and happens to be a strong program
anyway, you don't want to conclude that the moon is a fundamental principle
of go, do you?
> You have asked the perfectly valid question, how should we think about
> the approximators? Which things give the approxiamately best
> correlation to winning the game? How much do they overlap each other?
This is a valid question, and a pretty hard one to answer. More importantly,
you have raised the point that most of what we do *is* approximations. Now
we can ask
- approximations of what, and
- how relevant approximations
Interesting questions, indeed!
-H
--
Heikki Levanto LSD - Levanto Software Development <heikki@xxxxxxxxxxxxxxxxx>