[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Most simple Go rules
> >I've read somewhere that early Ing-sponsored computer go tournaments
> >required that all dead stones be explicitely captured. Why is this
> >condition, also a requirement of T-T rules, no longer required?
>
> I imagine that this is because programmers are unwilling to implement
> it. They want their programs to play something that resembles grown-up
> Go.
>
> But wasn't it recently proven that computers cannot handle "grown-up"
> Go? I remember reading about a recent tournament where computers that
> "should have won" (I wish I had a nickel for every time I've heard
> that ego based phrase) demonstrated their lack of understanding by
> invading their own territories.
>
> I think this is good, even though it breaks the illusion of "grown-up"
> Go.
>
> So maybe the programmers want to create the illusion of grown-up Go,
> but shouldn't the programs themselves be asked to actually demonstrate
> a win?
I agree, that maintaining the illusion that computers play grown-up Go,
is only causing problems. Humans can use an agreement phase because of
their comprehensive communication protocols.
Since computers lack these, avoiding an agreement phase seems essential
to well defined outcomes in CG tournaments.
Nick also said implementing superko is difficult. On the contrary, it is
next to trivial, especially when compared with all the other things that
need to go into a go program. (maintain a table of 64bit hashes of previous
positions).
You don't want to deal with the headache of 2 programs playing infinitely
in a triple ko. If a programmer thinks triple kos are too rare to bother
with, then (s)he is free not to implement superko and risk a loss.
I think forfeiting programs that don't accept a suicide may also be a good
idea, since it fosters an mentality of making go programs more robust and
able to cope easily with slight rule changes.
regards,
%!PS % -John Tromp (http://www.cwi.nl/~tromp/)
42 42 scale 7 9 translate .07 setlinewidth .5 setgray/c{arc clip fill
setgray}def 1 0 0 42 1 0 c 0 1 1{0 3 3 90 270 arc 0 0 6 0 -3 3 90 270
arcn 270 90 c -2 2 4{-6 moveto 0 12 rlineto}for -5 2 5{-3 exch moveto
9 0 rlineto}for stroke 0 0 3 1 1 0 c 180 rotate initclip}for showpage