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

Re: computer-go: Searches



> From: Heikki Levanto <heikki@xxxxxxxxxxxxxxxxx>
> Subject: computer-go: Searches
> I can think of a few different ("local") look-ahead procedures that 
> should exist in most programs:
> - ladder reader: read as deep as it takes, but not very wide (terminate
> when the running group has three liberties.
I did this with PN with succes in the first version of my program, and
will implement it in the Turtle, the new re-write.
> - Contact fight reader: Not necessarily very deep, but reading has to be
> stopped somewhere (enough liberties? stable string (what ever that
> means), or something else). hard to define clear goals or to evaluate
> end positions. (if I hane at the end of 2 or 3 stones, is the cutting
> points how much more serious risk?)
I tried it, but the tree exploded and couldn't (yet :-) find a way to
control it.
> - local life reader: May have to read pretty deep (and/or have good
>   heuristics on when to stop). Difficulties in limiting the read to the
>   local fight. Probably useful to use shape-based move generation and
>   ordering (try the vital-looking point first, then hane)
Static evaluation worked better.
> - Surrounding/running reader. Does not necessarily need to read the
>   exact sequences (running with 1-point jumps and diagonal moves may
>   be sufficient) to decide which way to run, or if at all.
Global look-ahead took care of this. The problem was that it chased groups
that could escape and the chasing moves didn't had any other meaning.

> Also, since these readings are local, it may be possible to cache their
> results, and reuse them later. When the situation changes, the affected
> sequences will have to be removed from the cache, which may be more trouble
> than it is worth.

> Any comments from those who have actually written programs?

> - Heikki

Joan Pons i Semelis 3d, working on The Turtle 10^n kyu