[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: computer-go: Applying Moore's Law to Computer Go



At 12:11 PM 11/18/99 +0900, Sam Sloan wrote:
>
>Yes, I agree.   As far as go  is concerned, it's my understanding that
>the very  best programs do  not scale  AT  ALL to faster hardware  but
>would simply play  the same way no matter   how fast the hardware  is.

This is not true.  The top programs use all of their time.

>Doesn't one of  the  top programs  usually play a   move within a  few
>seconds?  

This was true of Handtalk many years ago, but no longer.  Handtalk was
developed on a very slow original IBM PC, so it ran extremly fast in
early tournaments on much faster hardware.

I'm sorry I can't remember the reference, but I remember one
>program author complaining that his go program played weaker if it did
>too  much searching.   I consider  that a bug   of sorts, but it  does
>demonstrate that computer  go isn't where chess  is, even factoring in
>the extra complexity.

I think this was me.  More search exposes evaluation bugs.  Go evaluation
functions are orders of magnitude more complex and slower than chess
evaluation functions, since there is no major, simple factor like
chess material balance.

>
>My  prediction is that, like chess,  a few well known solid techniques
>will become widely accepted and used  after a shaking out period, some
>of the "bad ideas" and highly speculative  experiments will get culled
>out and there will  be a sudden jump  in the strength of  go programs.

I think this has already happened.

>Remember,  if your "go" program
>doesn't scale to better hardware, I can write one guranteed to beat it
>given enough computing power by simply doing a brute  force search.  I
>would argue that  this "algorithm"  at  least scales well, although  I
>concede it may not play good go for a very long time!

No chance while we are both alive, since computers fast enough to brute 
force go will not exist for centuries, if ever.

>
>Has anyone ever considered doing a brute force search combined with a
>very powerful evaluation component?  

Of course.  It has been tried.  One of those early experiments.  But an
accurate evaluation is too slow for more than a one or two ply search.

>I  would argue that if someone
>wrote an evaluator capable of playing a reasonable move, then adding a
>ply of look   ahead would improve  the program  significantly.  

Not at all.  A ply of lookahead can't see the simplest tactics that a
beginer can see, like an atari on the second line.  The capture is
4 ply deep.  A capture with atari on the third line is seen by someone
only slightly better, and is over 10 ply deep.  Searches must be local 
deep, not full width brute force.

>People
>ignore this possibility because they feel overwhelmed by the fact that
>even the simplest go sequences need many moves to develop.  But we are
>babies and  must start  with baby steps.   The short  term goal  is to
>write a   go program today  that  beats the go programs  of yesterday.

A good goal, but you can't do it with brute force.

>Since todays go   programs are  based very  heavily   on evaluation, I
>simply  suggest  a framework where this   heavy evaluation is combined
>with something like a brute  force search, or one  that does a "bounds
>based"  kind of  selectivity like modern   chess programs do.  

The heavy evaluation, to be accurate, has to do lot of local search for
string tactics, connections, etc.  So you are lucky to get 10 evaluations
per second.

-David Fotland