From: blowfish@carina.unm.edu (rON.)
Newsgroups: rec.games.chess,rec.games.go
Subject: Programming Chess and Programming Go
Date: 1 Sep 92 06:07:19 GMT
Organization: University of New Mexico, Albuquerque

In article <4ecgbWj0BwxK8w0Gwh@transarc.com> Ron_Kownacki@transarc.com writes:
>"Mike, 7kyu" correctly points out that we are close to getting a handle on a
>world-class chess machine, but that a go machine is still a dream.  For some
>reason he fails to mention that there's probably been on the order of $1 spent
>on computational go for every $1000 spent on chess.  I assume that he simply
>overlooked this.

This is very true and a very significant fact. Though its been estimated that
if the same amount of time/money had been spent on Go as it has on Chess
that the Go programs would still not be near the level of Go professionals.
(see below for justification, not argumentation :)

>Now I'm not saying that chess has greater computational complexity than go
>or vice-versa.  I'm just observing that nobody knows this right now, and
>suggesting that we all refrain from premature judgement or dogmatic
>assertions in the absence of compelling research.  Go has a far greater
>search space when counted naively, but it also has lots of regularities that
>chess doesn't have.  It may turn out the game is susceptible to a completely
>different kind of algorithmic approach, e.g., heavy pattern-matching.  We
>don't know.

Some of us that program Go do know, though :)
The big difference (and this is what makes programming Chess and programming
Go so different) is their strategies. Programming a computer to play a game
of Go is a simple task. Programming a computer to play a game of Chess is a bit
more difficult, but still quite simple. Wheres the difference?
In Chess, strategies are more 'tactical'. In Go, strategy is more conceptual.
What does this mean? Well, in Chess, if you opened with (and I don't know the
proper names of these, I'm only in here to watch for news of the Fischer
match :) a Caro-Kann opening and I defended with an Alkheine and you jumped to
a Kings Gambit Over Easy, Declined, etc. I would know how and where to respond-
what lines are 'good' and what are 'not good'. In the endgame, as well, there
are 'standard' strategies for situations- K vs KRP, for instance. From my
point of view, these strategical decisions, especially in the opening, are
fairly straightforward- a player with better knowledge/reading abilities has
an edge over a player who doesn't know the Kings Gambit Over Easy, Declined
line of play. Not to say (at all!) that intuition doesn't play a big role in
Chess- why does a player like Karpov (ok, besides the fact that he's the best
in the world :) usually beat the best computer players? Flexibility- he is
able to adjust his style of play, and subsequent strategies to the situation
at hand. This is a conceptual thing that computers are only now beginning to
get a grasp on.
In Go- strategies are more 'conceptual'- When to play tenuki (someplace else)
in a local situation- what tesuji (localized strategic play) will yield
influence on a distant part of the board, etc. A sense of timing, flow,
'momentum' as it were, is vital in playing go- not as much in Chess, where
games can be decided quickly or drawn frequently, and keeping the 'offense'
can shift every turn. Go games last many more moves over a larger area, so
that 'flow' is more important.
Proof? Well, chess lends itself with its strategies to brute-force (the 
favourite argument of Go programmers, it seems :) searches of reasonably
limited size- strategy pools can be formed and decisions made based then
on this look-ahead. Go, unfourtunately, can't do that. While there is a lot
of 'this is good, this is not' moves in Go, there is a big jump between, say,
saying 'you can't play here because it fills in a eye' or 'you put yourself
in atari (danger of being captured)' and 'this move reduces your eye potential'
or 'you reduce your liberties, if White plays at point B surrounding your 
group'. The point? Right now, computer 'thinking'  fits a Chess model really
really well. Future technologies (like Neural Nets, for an instance), will
be more useable by Go programmers.
In 10 years or so, when the current Chess people are tired of trying to produce
a bigger beast to beat up on the big beast that beats up on the World Champion,
they'll turn to Go. Go is becoming more popular (though it is still reasonably
obscure 'man- you guys are good at pente!'), and will get more focus in the
programming world.

r.
(of course, all this is my own opinion, take it as you will :)
Newsgroups: rec.games.chess