> Stefan Kaitschick wrote:
>> There would be 2 levels of criticality:
>> 1. How important is the string for winning the game?
>> 2. How important are points in the vicinity for attacking/defending this 
>> string?
>> (possibly with ordering information)

I like this idea. I'd also forgotten about the point criticality
formula, but that also sounds like a very good way to extract useful
information out of the playouts.

> Yamato wrote:
> Few months ago I tested it without success.
> String criticality seems a nice idea, but how should it be implemented?
> Just giving high priority to the liberties does not work, because that
> cannot be distinguished from the simple dame-filling.

Hhmmm, I see. How about this:


(First, string criticality needs to be converted into group criticality.
Adjacent critical strings that are near each other should be treated as
one unit, with their criticality number merged. Note: this is not the
traditional group definition. If only the "tail" of a big group is
critical, then only that tail string is the "group" in the below algorithm.)


In 9x9 games there are three main types of game:
  i) strong groups quibbling over the territory boundaries;
 ii) one weak group trying to live, and the game depends upon it;
iii) big semeai (usually involving all stones on the board).

I think the string criticality idea allows us to distinguish between
these three types. And then perhaps use a different pattern database or
move selection strategy. Beyond that it may not be very useful though,
as "some radius of critical groups" will tend to cover most of the board.


I think the idea could really shine in 19x19 by discovering if there is
key fight, whether life and death or semeai, and allowing the playout to
focus on that fight. Use as follows:

1. If one group is much more critical than any other:
   Give high weight to defending moves for it (*);
   Give medium weight to attacks (*) against neighbouring enemy chains.
   (i.e. hunting for forcing moves that also strengthen the weak group)
   Give very low weight to all other moves.

2. Elseif 2 to 4 groups are critical and adjacent:
   Give high weight to all attack/defense moves (*) of those groups;
   Give very low weight to all other moves.

3. Else fall back on usual move selection.

*: Simplistic move generation is: all 1st and 2nd order liberties.
Alternatively have pattern libraries for things like: moves to make weak
groups live, sente forcing moves against chains, etc.

In other words, use string criticality non-linearly: if it discovers
very critical groups then change the whole game plan, otherwise don't
have it contribute at all.

Quite a rapid decay of their importance is called for: my guess would be
a linear decay of the weight, down to zero contribution 10 moves into
the playout.

Darren



-- 
Darren Cook, Software Researcher/Developer
http://dcook.org/gobet/  (Shodan Go Bet - who will win?)
http://dcook.org/mlsn/ (Multilingual open source semantic network)
http://dcook.org/work/ (About me and my work)
http://dcook.org/blogs.html (My blogs and articles)
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to