[Pachi] Criticality

valkyria at phmp.se valkyria at phmp.se
Thu Apr 28 15:52:16 CEST 2011

This looks like great numbers for pachi!

It can also be that in Valkyria criticality overlap other features. I  
am also computing urgency which sort of guides search to all points  
that are unstable (although not critical). With urgency one can sort  
out really bad moves which AMAF already do.

I am currently working on the new C++ complete rewrite and starting  
doing experiments. The code currently looks like the refbots with no  
search tree that was discussed heavily sometime ago. I am not trying  
to replicate them, but it is nice to have a raw basic program and do  
some fundamental testing with. Sofar I do a lot of exploration with  
selfplay within the program using 100 playouts per move. When I reach  
a conclusion I test it in a scaling experiment. The idea is that all  
stuff that work well for 100 playouts will generalize well to a full  
MCTS implementation later.

I will probably try out urgency and criticality this way later but  
then I guess need to search more playouts per move in the test games,  
so that they can have a an effect on the outcome.


Quoting Petr Baudis <pasky at ucw.cz>:

>   Hi!
> On Tue, Apr 26, 2011 at 12:10:31AM +0200, valkyria at phmp.se wrote:
>> I compute criticality in Valkyria but is uncertain if it is of any
>> use directly.
>   I am certain now:
> . 1331  0.523   0.014   
> 19-0.5-1-gnugo10-pm-0e042-_500-dynkomi=none,policy=ucb1amaf:crit_rave=0
> . 1313  0.586   0.014   
> 19-0.5-1-gnugo10-pm-0e042-_500-dynkomi=none,policy=ucb1amaf:crit_rave=0.35:crit_min_playouts=128:crit_negative=0:crit_amaf=0
> . 1328  0.565   0.014   
> 19-0.5-1-gnugo10-pm-0e042-_500-dynkomi=none,policy=ucb1amaf:crit_rave=0.5:crit_min_playouts=128:crit_negative=0:crit_amaf=0
> . 1337  0.611   0.013   
> 19-0.5-1-gnugo10-pm-0e042-_500-dynkomi=none,policy=ucb1amaf:crit_rave=0.5:crit_min_playouts=192:crit_negative=0:crit_amaf=0
> . 1291  0.59    0.014   
> 19-0.5-1-gnugo10-pm-0e042-_500-dynkomi=none,policy=ucb1amaf:crit_rave=0.5:crit_min_playouts=96:crit_negative=0:crit_amaf=0
> . 1272  0.594   0.014   
> 19-0.5-1-gnugo10-pm-0e042-_500-dynkomi=none,policy=ucb1amaf:crit_rave=0.75:crit_min_playouts=128:crit_negative=0:crit_amaf=0
>> What I can see from looking at values generated by my implementation
>> is that criticality rarely point out good local moves, but in a
>> vague sense all move near critical stones. Valkyria computes
>> criticality for all stones, and I can see that is a really good
>> measure to point out which stones are actually critical.
>   Of course, just blindly going after critical moves is no good. But
> just nudging the search that way seems to work well.
>> But from this it is not so easy to see what to do with it. Maybe
>> using criticality as a feature in pattern matching to better
>> distinguish between Life and Death and gaining territory would be a
>> good use.
>   I have a lot of further plans, but all in all it's still not
> completely settled inside my head. :-)
> --
> 				Petr "Pasky" Baudis
> UNIX is user friendly, it's just picky about who its friends are.

More information about the Pachi mailing list