120
}
}
}
}
}
Recherche arborescente Monte-Carlo
sommeScoreAMAF [ i n te r . _x ] [ i n te r . _y ] +=
goban . score [couleur ];
nbPlayoutsCoupAMAF [inter ._x] [inter ._y]++;
void descente (Go & goban , int couleur );
} ;
class TableRave {
public :
list table [TailleTable + l];
NoeudRave * present ( unsigned long long hash ) {
for ( list : : iterator iter =
}
table [ hash & TailleTable ]. begin ();
i ter != table [ hash & TailleTable ]. end ();
iter+ +)
if ( ( * i t e r )->ha s h == ha s h )
return * i ter ;
return NULL ;
void aj oute (NoeudRave * Il) {
table [n->hash & TailleTable ].push_back (n);
}
void clear () {
}
} ;
for (int i = O; i < TailleTable + l; i++)
table [i]. clear ();
TableRave tableRave ;
const int MaxNoeudRave = 100000;
int nbNoeudsRave = MaxNoeudRave ;
NoeudRave pileNoeudRave [MaxNoeudRave ];
NoeudRave racineRave ;
void NoeudRave :: descente (Go & goban , int couleur ) {
int autre = Noir ;
i f ( couleur == Noir )
Précédent

- 134/256

Suivant