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

Re: Re: computer-go: minimax and go



Hi, Don Dailey

I think the only way to make a good elevator for Go is make a good static model. As I stated in my idea. Do yo agree with me?

And I think this static model is not a technique problem if those excellent game companies would like to produce an engine for it. It's the problem of inadequate programming power now. We'll see it earlier if they would do it.

After we have this engine, dynamic searching won't be so hard as now.

In 00-11-8 18:11:00 you wrote:
>Hi Dave,                 
>
>Your reasoning  is basically correct, the   branching factor is indeed
>much larger in Go than in Chess.   Not to be  sarcastic, but I have to
>ask, "so what?"
>
>To me, this might imply  that it takes a lot  more hardware to play  a
>little bit better.   Ok.
>
>The previous poster wrote:
>
>   I need to know (succintly) what are the arguments that a brute-force
>   minimax approach to Go won't work assuming increased computer power 
>   just like it worked for Chess? 
>
>
>A brute force program will "work."   Give me infinite computing power,
>or enough computing power  to search the  entire game tree and I  will
>write a perfect Go program.   Short of that, I can  write a Go program
>that plays better with every hardware doubling of power.  It might not
>play much better,  it might even  be hard to  measure but it will play
>better on the average  with each doubling, until  it reaches the point
>where it can search the entire game tree.  
>
>So I have a pathway (in principle) to making a program play perfect GO
>with a finite amount of computing power,  or to get abritrarily strong
>with an  increasing amount of computing power.   Do you have a pathway
>to do the same  without involving any  searching?  I doubt that any of
>us do.
>
>Please note that  I   am taking  a  bit of  a philosophical  approach,
>believe me I understand the problems, and I realize that we don't know
>how  to  construct a  very effective search  ...   yet.  A naive fixed
>depth n  ply search  with a simple   static evaluation  is not  what I
>suggest.  I'm also not being critical of how Go programs are currently
>written,  I think  we are  doing  the best  we  can.  But I just don't
>believe that we  will  make much more progress  by  tweaking  our eval
>rules, patterns and  openings.  At some point,  we will have  to start
>searching more than  just local string battles and  we will have to do
>it really intelligently.
>
>The key, is that both evaluation AND search  is much harder in Go than
>in Chess.  That only means that whatever we do, it won't be as good or
>as easy as in  Chess.  You can't say search  won't work any  more than
>you can  say evaluation won't  work just  because it's  so much harder
>than Chess and we can't even do it in Chess.
>
>
>Don
>
>
>P.S.
>
>  >    Now factor in that chess programs get very good reductions in the
>  >    raw numbers because very strong, fast, simple evaluators prune out
>  >    most of the really bad nodes without having to evaluate them.
>
>That's  not true.  A true brute  force chess program only prunes based
>on alpha/beta    cutoffs.  A Go program written    in this style would
>actually prune much more heavily, and it's  doesn't matter how good or
>bad the evaluation function is.
>
>Yes,  modern programs  do null    move prunning  and  this does   have
>something to do with the strength of the evaluation function and gives
>more cutoffs than  alpha/beta.   However, it's not why  Chess programs
>are so strong.   If you  throw out  null move prunning  you will still
>have a master strength Chess program.  
>
>
>
>
>
>   X-Sender: ddyer@xxxxxxxxxxxxxxxxx
>   X-Mailer: QUALCOMM Windows Eudora Version 5.0
>   Date: Wed, 08 Nov 2000 11:49:57 -0800
>   From: Dave Dyer <ddyer@xxxxxxxxxxxxxxxxx>
>   References: <200011071757.MAA04849@xxxxxxxxxxxxxxxxx>
>   Mime-Version: 1.0
>   Sender: owner-computer-go@xxxxxxxxxxxxxxxxx
>   Precedence: bulk
>   Reply-To: computer-go@xxxxxxxxxxxxxxxxx
>   Content-Type: text/plain; charset="us-ascii"
>   Content-Length: 783
>
>
>   The basic arithmetic is this:  
>
>   To do a 10 ply brute force search in Chess might in principle have to examine 
>   25^10 ~= 9.5e13 nodes
>
>   To do a 10 ply brute force search in Go might in principle have to examine
>   200^10 ~= 1.024e23 nodes
>
>   that's a billion times harder.
>
>
>   Now factor in that chess programs get very good reductions in the
>   raw numbers because very strong, fast, simple evaluators prune out
>   most of the really bad nodes without having to evaluate them.
>
>   Now factor in that in go, even very simple, local problems require reading
>   15 - 20 ply, and there are usually many such "simple" problems on the
>   board at once, so reading the full outcome of a midgame position 
>   could easily require 100 ply.
>
>   Now factor in that in go, there are no "strong, simple, fast" evaluators.


Regards,
 Rong Zeng
 rodneyzeng@xxxxxxxxxxxxxxxxx




_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com