5.9 Corrigés des exercices
}
}
Constante * sqrt (log (playoutsPere )
playoutsFils );
if (score > meilleurScore ) {
meilleurScore = score ;
meilleur = inter ;
}
goban .joue (meilleur , couleur );
fils [meilleur ._x] [meilleur ._y]->descente (goban ,
autre );
sommeScore [meilleur ._x] [meilleur ._y] +=
113
goban . score [couleur ];
nbPlayoutsCoup [meilleur ._x] [meilleur ._y]++;
}
Intersection meilleurCoupUCT ( int couleur ) {
racine .init ();
}
nbNoeuds = MaxNoeud ;
for ( int p = O; p < nbPlayouts ; p++) {
Go tmpgo = go ;
racine . descente (tmpgo , couleur );
}
int meilleurScore = -1;
Intersection meilleur (0 , 0);
for (int i = O; i <= Taille ; i++)
for ( i n t j = 0 ; j <= T a i 11 e ; j + +) {
Intersection inter (i , j);
}
if (go.coupLegal (inter , couleur ) &&
!go. oeil (inter , couleur )) {
}
if (racine . nbPlayoutsCoup [ i] [j ] >
meilleurScore ) {
}
meilleurScore = racine . nbPlayoutsCoup [ i] [j ];
meilleur = inter ;
return meilleur ;
5.9.5 UCT avec transpositions
class Noeud {
public :
fl oat sommeScore [Taille + 2] [Taille + 2];
int nbPlayoutsCoup [Taille + 2] [Taille + 2] ;
unsigned long long hash ;
}
}
Constante * sqrt (log (playoutsPere )
playoutsFils );
if (score > meilleurScore ) {
meilleurScore = score ;
meilleur = inter ;
}
goban .joue (meilleur , couleur );
fils [meilleur ._x] [meilleur ._y]->descente (goban ,
autre );
sommeScore [meilleur ._x] [meilleur ._y] +=
113
goban . score [couleur ];
nbPlayoutsCoup [meilleur ._x] [meilleur ._y]++;
}
Intersection meilleurCoupUCT ( int couleur ) {
racine .init ();
}
nbNoeuds = MaxNoeud ;
for ( int p = O; p < nbPlayouts ; p++) {
Go tmpgo = go ;
racine . descente (tmpgo , couleur );
}
int meilleurScore = -1;
Intersection meilleur (0 , 0);
for (int i = O; i <= Taille ; i++)
for ( i n t j = 0 ; j <= T a i 11 e ; j + +) {
Intersection inter (i , j);
}
if (go.coupLegal (inter , couleur ) &&
!go. oeil (inter , couleur )) {
}
if (racine . nbPlayoutsCoup [ i] [j ] >
meilleurScore ) {
}
meilleurScore = racine . nbPlayoutsCoup [ i] [j ];
meilleur = inter ;
return meilleur ;
5.9.5 UCT avec transpositions
class Noeud {
public :
fl oat sommeScore [Taille + 2] [Taille + 2];
int nbPlayoutsCoup [Taille + 2] [Taille + 2] ;
unsigned long long hash ;
