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

Re: computer-go: FPGA



   There is a good, fairly simple way to use the increase of computer power.
   Almost fifteen years ago I realised that almost all go-programs at that time
   were based on a little bit of tactical search and a large collection of
   heuristic rules. So I decided to focus on whole-board evaluation and a
   planner and let a sub-program generate moves with heuristic rules, much like
   the other programs did. Even though its lookahead algorithm was initially
   rather poor, the fact that it actually did lookahead in a way other programs
   played gave it a significant advantage over programs without such lookahead.
   Today, computers are fast enough that it would be feasible to make an even
   more sophisticated evaluation function and an even more sophisticated
   planner and use a Go program of about ten years ago to produce candidate
   moves for lookahead. Just as the original program only looked at at most a
   few hundred moves using hardware of ten year ago, the new program could use
   the old one to do a selective lookahead of a few hundred moves using todays
   computers. It doesn't come as easy as just increasing the amount of
   lookahead, one still needs to make the new evaluation and planning programs,
   but at least I believe that's a very feasible way to improve upon todays
   programs without having to start from scratch. And when done properly, maybe
   in ten years this process can repeat, building layer upon layer of ever more
   sophisticated computer-go algorithms.

       Mark Boon


I meant to comment on this too in my previous email.  

Yes, I like  that a lot,  it  seems to be in   the spirit of making  a
serious attempt to take advantage of what you have.

The last part, about  building on this process  layer upon layer has a
very recursive   flavor   to it!  The  faster    processors could take
advantage (recusively) of more of these layers of expertise!

I know that in chess,  it was easy in  principle to keep adding to the
evaluation function, theorectically making it better  and better.  But
in practice this is an engineering nightmare.  More evaluation "terms"
or   features usually mean  more  problems balancing them properly and
getting them to interact correctly.

As far as  lookahead  is concerned, it takes   a lot of  power to look
ahead a single move in go.  So I'm not locked into the idea that there
must  be  a search  based  solution.  But   I don't want  to make  any
assumptions either, this is what hurt computer chess for a while.


Don