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

Re: computer-go: Two ways to program a GO-engine



Vlad Dumitrescu <vladdu@xxxxxxxxxxxxxxxxx> wrote:
>> >   1. Try to make a program that achieves perfect or near perfect play.
>> >   2. Try to make a program that plays like the best human players.
>>
I, Heikki, proposed:
>>  3. Try to make a program that beats more and more of its opponents. 
>>  4. Try  to make a program that learns to play go. 

Vlad:
> Is there really a difference between 1 and 3 and 4? The perfect player won't 
> be created over night, if at all. So one has to begine somewhere - probably 
> with programs that learn and evolve and play better... isn't it so?
> 1 and 2 say "what to do", 3 and 4 say "how to do it".


What I meant with 4 was a learning program, like a neural network, but more
complex. A way to get a program that plays well without us having any
knowledge of neither perfect play nor of the ways humans think about it.

Still, my main point was 3: Although 1 and 2 seem worthwhile to study,
most programs have always been full of tinkering and tuning, heuristics and
rules of thumb, and what ever else little tricks the programmers have come
up with. They may not have been perfect in any sense (many indeed have
crashed in tournaments), and all they have tried to do was to play a little
better than before. 


Against 1 I have a simple objection: On the level most programs play today,
(or many low-level amateurs) it makes no sense to learn to follow complex
joseki, as they tend to lead into so complex positions that a weak player is
guaranteed to screw them up. Better accept a theoretical loss of (say) 1/3
point, not extend quite as far, and see the extension turning into a solid
safe group and territory. For another example consider the 9-stone handicap
trick of sacrificing the side handicap stone. Quite likely it is not optimal
play, but it can keep the game simple, and many times black has got a good
result of it.

Against 2 I have even stronger objections: The history of AI (and of
computers in general) is full of attempts to make computers think "more like
humans", most of which have never delivered what they have promised. This, I
believe, is because we actually have very limited understanding of how
humans really think. I believe our models are crude, and off the mark on
many important points. If good go programs would come from this, the best
way would be to leave go alone for a decade, and concentrate on studying the
human mind.


- Heikki

-- 
Heikki Levanto     LSD Levanto Software Development   heikki@xxxxxxxxxxxxxxxxx
               "In Murphy we Turst"