[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: computer-go: Super-Ko
if the hash key is (or roughly is) the number of stones on the board, then
the two versions are equally costly in terms of time.
> -----Original Message-----
> From: John Tromp [mailto:tromp@xxxxxxxxxxxxxxxxx]
> Sent: Friday, 13 July, 2001 09:39
> To: computer-go@xxxxxxxxxxxxxxxxx
> Subject: Re: computer-go: Super-Ko
>
>
> > About Super-Ko
> >
> > How much speed will it take out of a program,
> > if for every move the total numbers of stones actual on the
> board is counted and stores in an array,
> > and the Super-Ko is only checked with the prevous board
> position where the count of stones is equal to the present position ?
>
> That's still neither as simple nor as fast as looking up the
> current boardhash
> in a hashtable. E.g. in java you can just define a
>
> HashSet oldboards = new HashSet();
>
> and a new move will violate superko if
>
> oldboards.add(board.zobristHash()) == false
>
> (add() returns true if its argument is not already present)
> this will take constant time.
>
> 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
>