[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gnugo-devel] strategy
From: |
Martin Girard |
Subject: |
Re: [gnugo-devel] strategy |
Date: |
Sun, 12 Sep 2004 18:19:00 -0400 |
On Sep 12, 2004, at 17:21, Arend Bayer wrote:
There have been several e-mails pointing out a "lack of strategy" as a
problem in GNU Go.
Indeed, and this isn't limited to GNU Go. All of computer players for
every game I know have this very same problem.
Let me explain why I mostly disagree with this view point. I claim it
is
absolutely sufficient to understand the territorial value and
strategical effects of moves, and then just select the biggest. (Where
the evaluation of these effects should, in the future, be measured with
the help of a global look-ahead.)
This is greedy and short-sighted. A short introduction to algorithmics
for hard problems would help you understand why optimizing in a lazy
way can only lead to poor solutions.
One example that would apply to GNU Go: If you can estimate like he
does, you can force him to choose between two equal valued fronts. But
GNU Go is unable to make that choice; it will keep changing his mind
and use far-stretched defensive moves and naturally, both fronts will
collapse. Even when I was ten levels from what I am now (and I'm only
about 5 kyu at best), I could still rape him by 100 points that way.
Martin posted a game where his strategy was to capture White's center
stones. He thinks that GNU Go should, as a counter strategy,
preemptively secure this group.
If he had used the influence of his group to attack from the inside of
what was obviously my only real territory, he would have forced me to
resign very quickly; I would never have been able to contain him AND he
would have made life far more easily. Greed and inconsistent strategy
is what lost him.
My point of view what went wrong in this
game is different: GNU Go underestimated the weakness of this group,
later made a life-and-death misread, and thus failed to defend it.
This is a simplistic explanation. The real point is that he couldn't
solve such a life and death problem only by reading moves ahead; it is
practically impossible.
Does any of you know of the Pigeon Hole Principle? To make a long story
short, it tells that you can't put N pigeons into N-1 holes if you
can't put more than one pigeon per hole; arrangements obviously don't
matter. Yet if you pass this problem to an average constraint solver,
it will try all (N-1)! possible combinations and eventually overheat if
N gets somewhat large (like as little as 15).
Similarly, if you deprive a floating group of the space it needs to
make eyes, it doesn't matter how many moves ahead GNU Go reads; it just
won't notice the threat until it's too late; you can use thickness to
attack its vital points far more easily than it can defend them.
Even
if it would "understand" the opponent's strategy, why should it defend
a
group that it deemed safe?
Because it wasn't that safe after all, and that using it as a base to
attack would increase its chances at the same time?
Because it was in a wide open area that I threatened to turn into my
territory if I concealed that group, even if it lived?
Because it is obvious that attacking from behind the enemy lines is
better than defending? (It's the best scenario you can derive from "Use
your thickness to attack")
Besides, I'm sure you noticed GNU Go reinforced it sporadically during
the game. Like it "evaluated" the value of the group and its living
probabilities, and decided to protect it when there were no better
moves on the board. Am I correct?
So it was a misevaluation, and not a lack of
strategy, IMHO.
GNU Go's moves are utterly inconsistent. I doubt it even takes the
whole board into consideration before making a decision. Tell me if I'm
wrong.
(Btw, I replayed this game with current GNU Go, and it
already does a better job of defending the center group earlier.)
Good, although attacking would be even better. It definitely needs to
understand that "offense is the best defense", especially when it comes
to the center of the board.
Take another example: Humans have to be taught to "make territory while
attacking". GNU Go doesn't have to be taught this explicitly. If a move
both makes territory and weakens an opponent's group, then GNU Go will
add territorial and a strategical value for this move, quite likely
outscoring other moves that only achieve one of the two.
You've watched the game I posted. You know this can't be true in the
end and why. This is a perfect example of how reading the opponent's
intentions can have impact on the value of moves.
What people see as a lack of strategy is, im my opinion, mostly just a
consequence of GNU Go's unprecise (to say the least) assessment of weak
groups.
WRONG.
It is a wrong assesment of the value of influence and other intangible
factors.
It is inability to make moves consistent with each other.
It is inability to detect distant threats.
It is inability to read through the opponent's moves' meaning and foil
the opponent's plans.
Again, I encourage those who haven't already to read the following book:
"The Thirty-Six Strategems Applied to Go" by Ma Xiaochun
Also, there is a book about the flow of stones that is somewhat
relevant here:
"The Direction of Play" by Takeo Kajiwara
Finally, the games of Kato Masao are good examples of applying stragegy
to killing groups in the center. He wrote a book on the topic (out of
print, unfortunately): "Kato's Attack and Kill"
If after reading the above you still can't figure out why strategy is
of utmost importance, then you should quit playing Go.
Hope that helps.
--Martin
Arend
_______________________________________________
gnugo-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/gnugo-devel
Re: [gnugo-devel] strategy, Eric, 2004/09/12