[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Computer Olympiad photo
> My poor nameless go program searched 6 - 7 ply in 19x19 at 100-200Mhz
> hardware a few years ago.
>
> Yet that's pretty useless when a pattern takes 150 plies to show its use...
It sounds like you have a solution. What is it?
Let's get some historical perspective using chess.
1. The earliest chess programs were (or tried hard to be) positional.
That is because everyone "KNEW" that chess had little to do with
tactics, a lot to do with human mastery and understanding. Of
course they were lousy in all areas of the game (by our standards.)
2. The programs made hillarious tactical blunders because computers
could only do 1 or 2 ply searches.
As a consequence, everyone "KNEW" you had to have a selective
search. A selective search, in theory, would allow you to see far
enough ahead to avoid silly tactical errors, thus allowing you to
focus on the "real" game, not the distracting tactics.
3. The experts kept making fun of the programs, mostly because of
their ridiculous positional errors although their tactical errros
were laughable too. We laughed too, because we "knew" there was
nothing that could be done. A simple calculation showed that it
would take ENORMOUS computing power to get even 1 more move ahead
and it was obvious to even the stupidest of us that 2 moves was not
even close to what we needed. CHESS is a deep game for humans and
not something computers would ever be good at. (Does this sound
familiar?)
At the same time, we were convinced that to even think about
progress we should be spending even more effort on highly selective
programs. These programs needed to be incredibly smart to make up
for the lack of computing power (the idea that the slower the
computer, the smarter it needs to be is a stupid idea which I'll
explain later.)
4. A university team decided to write a brute force program. They
were frustrated with attempts to write smart selective programs.
SUPRISE! The program was amazingly strong for the time and
dominated computer chess for a few years.
Suddenly there was a major shift in thinking. For a while it was
all about brute force and selective search was mostly discarded,
even though everyone knew brute force was not the right approach.
How could it be right? That's now how humans play chess therefore
it must be wrong.
Still, at this point in time computers were weak. 5-6 ply searches
was about the depth the fastest machines were achieving. On the
one hand it was "very clear" that brute force was not the way to
achieve mastery and it was foolishly predicted by some that
computers had reached a "conceptual barrier" where they would not
get any stronger no matter how fast they got. This fallacy was
based on the notion that extra speed would not make them "smarter"
in the chess uderstanding sense of the word and that the tactics
were pretty much irrelevant once they were "reasonably competent."
People sometimes put facts together in emotional ways and come to
wrong conclusions. It was actually chess masters who were the most
negative about progress, perhaps because they felt they possessed
something no computer could match.
The truth of the matter, in my opinion, is that humans are not very
good at knowing what it really takes to be good at something. We
can become good at things, but we cannot always explain why or we
get confused about which skills actually had the most relevance.
Chess programs today are VERY GOOD at chess, but not for reasons
that fit our ego-centric notions of how things should be.
I remember one strong player pointing out a bad move a computer had
made and proclaiming that no (USCF) 1600 player would make that
kind of error, and therefore the computer must be weaker than 1600.
He did this based on a single move observation. It turns out the
computer he was talking about had actually achieved a 2000 USCF
rating in the US. People argued whether it was really that strong,
but it could certainly take 1600 players apart without a lot of
trouble.
And yes, it made some moves not worthy of a 1600 player, but then
even grandmasters have made the most foolish of errors on
occasions.
5. After the brute force era, selective search programs based on
estimating a conservative bounds on the score began to surface.
Usually this was in the form of NULL move pruning, which was easy
to implement and relatively safe. These programs seemed to have at
least a 50 rating point edge and to this day the very strongest
programs use this.
The term "selective" is like the term "AI", when something labeled AI
loses it's magic, it gets redefined so it's not called AI any longer.
Computer chess used to be called AI. Computer GO is AI now because it
is "hard." If computers ever get really good at GO it will not be
called AI because it can't be intelligent if a computer can do it.
What lessons have we learned from chess? Do they apply to Go? I
think they do. The lesson I take away is that we shouldn't be too
quick to make assumptions about what will or will not work.
In the old days of computer chess, when we were running with 2 MHZ
Z80's we could only achieve 2 or 3 ply searches. We enjoyed our
programs anyway and laughed at them, realizing no computer would ever
play even close to master chess.
Instead we concentrated on what worked the best. Most people stood
back and criticized and pointed out why we would not succeed, but
others kept trying, just because it was fun.
We are doing that in computer Go.
What I imagine happening in computer GO is a constant refinement
and perhaps a few major shifts in thinking over several decades.
Some of those shifts may simply be a response to what hardware is
avaiable and therefore what we can do with it.
Now,
> the idea that the slower the computer, the smarter it needs to be
> is a stupid idea which I'll explain later.
Well then, why don't we start using old fashioned slower hardware so
that can we write really smart programs?
Computer chess programs have gradually gotten smarter, not dumber and
it seems like a natural course. Yes, the searching is faster but most
of the software progress is based on more intelligent programs.
-Don
The computer chess guys making 9x9 go programs will have the problem that
the first few moves of the game can be decisive and they lack go knowledge
there...
At 17:26 3-12-2003 +0100, Erik van der Werf wrote:
>Hiroshi Yamashita wrote:
>> Dear all,
>>
>> I put some photos of Computer Olympiad in Graz, 23-27 November.
>> http://207.218.206.38/~admin82/photo/graz2003/graz2003.html
>
>Thanks!
>
>> Aya search 4-5 plies in 19x19, and 6-7 plies in 9x9.
>> Nodes per second is 200-300 nps in 19x19 and 500-600 nps in 9x9
>
>Just to be sure, is this speed in nps and not knps?
>
>At 500 nodes per second it's still nowhere near what the chess guys are
>doing :-)
>
>Best,
>Erik
>
>_______________________________________________
>computer-go mailing list
>computer-go@xxxxxxxxxxxxxxxxx
>http://computer-go.org/mailman/listinfo/computer-go
>
>
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go