i am looking for improvements for the Select-Formula of Zetas Best-First Search.
Current formula looks like this:
Code: Select all
child.score + child.parent.visits / child.visits
--
Srdja
Moderators: hgm, Rebel, chrisw
Code: Select all
child.score + child.parent.visits / child.visits
Code: Select all
int C_MV[] = {
1,1,1,2,4,8,8,16,16,16,
16,32,32,32,32,64,64,64,64,64,
64,64,128,128,128,128,128,128,128,128,
128,128,256,256,256,256,256,256,256,256,
...
Area[i] = (child->score)+ sqrt(log(C_MV[parent->MoveCount] * parent->visits)/(child->visits));
Code: Select all
Area[i] = (child->score)+ sqrt( (C_MV[parent->MoveCount] * parent->visits)/(child->visits));
Code: Select all
child.score + sqrt( log(child.explorable+10) * parent.visits / child.visits )
Code: Select all
child.score + sqrt( log(child.explorable+10) * parent.visits / (child.visits+1) )
I tested different versions of the formula in self play and than against "Zeta Simple", a modified version of Zeta Dva(~2000 ELO) without special moves and with the same, simple evaluation function like my GPU-Engine.Which engines do you use for your testing?
I am still not sure how to handle root moves...at first i visited them all equally often, now i try the same select-formula for all, maybe i should define some special root formula....I try to improve tactically so I need to consider a minimal amount of visits for all moves, at least in root.
Not often, I do everything in an core-2 duo laptop.Do you run your Engine multi-threaded?