Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Semi-OT Go programming

Author: Vasik Rajlich

Date: 06:05:13 05/25/05

Go up one level in this thread


On May 25, 2005 at 08:40:51, Uri Blass wrote:

>On May 25, 2005 at 05:56:22, Vasik Rajlich wrote:
>
>>On May 25, 2005 at 00:54:06, Joshua Shriver wrote:
>>
>>>Just curious has any engine developers here tried or have an interest in Go
>>>engine programming?
>>>
>>>-Josh
>>
>>I am interested in the topic, though I have yet to even attempt an engine.
>>
>>Essentially, you could argue that the major principles of computer chess have
>>been discovered. The important part of the chess tree is inherently short and
>>wide - seeing things at ply 4 tends to be _much_ more important than seeing
>>things at ply 5 by a considerable margin, and so on. This is just a fundamental
>>property of chess, and it maps nicely to an engineering approach of starting
>>with brute force, and optimizing that. (Which is essentially what things like
>>null move, check extension, etc are.)
>>
>>Of course, this doesn't rule out that there's an even better way - but to me it
>>feels like an appropriate mapping of solution to problem.
>>
>>In go, the current approaches are failing. What's funny about the best go
>>engines is that they seem to be decent positionally, but ridiculous tactically.
>
>I know nothing about go.
>What is the meaning of tactics in go?
>
>Do you say that the main advantage of humans against the best go engines is that
>humans can calculate more moves forward in forced lines?
>
>How many moves forward humans calculate in go?
>
>
>Both in chess and in go I think that if humans detect trapped pieces based on
>some structure that they know when the best go engines do not detect it then I
>think that humans simply have an advantage in positional understanding and not
>in tactics.
>
>Uri

Uri --

Go "calculation" (let's use this word instead of "tactics") is a bit different.

In just about any game against any Go engine (I have Go++ and also a bunch of
free 9x9 versions of Many Faces of Go, etc), the engine will put down a piece
which is lost (I should say unprofitably lost to, be accurate). For me it's
quite incredibly how bad the mistakes often are. You can refute such moves in
two ways:

1) Defend against the move with a net gain
2) Ignore the move completely

In both cases, the calculations are always of the form of considering what
"attack" might be tried, and understanding how you can neutralize it. These
attacking moves can be tried in any sequence, and combined with forcing (or at
least attention-seeking) moves in other areas of the board, so from the point of
view of a global (full-board) search, the possibilities are really huge.

The result though is a clear conclusion - hence the word "calculation".

The closest thing you might get in chess is some sort of an ending, where you
defend a draw by imagining all the different things your opponent might try to
do to win, and your method for handling all of them. You see this for example in
king endings sometimes, or knight endings.

As for positional play - I'm pretty weak at go, and I often get good
"positional" ideas from the engine. It makes a move somewhere on the board where
I wasn't really expecting it, and I see that it makes sense. It's I guess from
some sort of a pattern database, given the neighboring stones. Maybe a better
player would not be so easily impressed.

Vas




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.