5.9 Corrigés des exercices
117
}
}
}
}
table . aj oute (n);
fi 1 s [ inter . _x ] [ inter . _y ] = n ;
goban .playout (autre );
sommeScore [ inter . _x ] [ inter . _y ] =
goban . score [couleur ];
nbPiayoutsCoup [inter ._x) [inter ._y) = 1;
return ;
fi 1 s [ inter . _x ] [ inter . _y ] = n ;
n-> descente (goban , autre );
sommeScore [inter ._x) [inter ._y) =
goban . score [couleur ];
nbPlayoutsCoup [inter ._x) [inter ._y) = 1;
return ;
fl oat meilleurScore = -1.0;
Intersection meilleur (0 , 0);
for ( i n t i = 1 ; i <= T a i 1 1 e ; i + +)
for ( i n t j = 1 ; j <= T a i 1 1 e ; j + +) {
Intersection inter (i , j);
}
if (goban . coupLegal (inter , couleur ) &&
}
(fils [i] [j ] != NULL) ) {
fl oat moy = moyenne ( i, j, nmoy );
int playoutsFils = nbPlayoutsFils (i , j, nfils );
int playoutsPere = nbPiayouts (npere );
fl oat score = moy +
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 [ mei 1 leur . _x ] [ mei li eur . _y ] +=
go ban . score [couleur ];
nbPlayoutsCoup [meilleur ._x) [meilleur ._y)++;
117
}
}
}
}
table . aj oute (n);
fi 1 s [ inter . _x ] [ inter . _y ] = n ;
goban .playout (autre );
sommeScore [ inter . _x ] [ inter . _y ] =
goban . score [couleur ];
nbPiayoutsCoup [inter ._x) [inter ._y) = 1;
return ;
fi 1 s [ inter . _x ] [ inter . _y ] = n ;
n-> descente (goban , autre );
sommeScore [inter ._x) [inter ._y) =
goban . score [couleur ];
nbPlayoutsCoup [inter ._x) [inter ._y) = 1;
return ;
fl oat meilleurScore = -1.0;
Intersection meilleur (0 , 0);
for ( i n t i = 1 ; i <= T a i 1 1 e ; i + +)
for ( i n t j = 1 ; j <= T a i 1 1 e ; j + +) {
Intersection inter (i , j);
}
if (goban . coupLegal (inter , couleur ) &&
}
(fils [i] [j ] != NULL) ) {
fl oat moy = moyenne ( i, j, nmoy );
int playoutsFils = nbPlayoutsFils (i , j, nfils );
int playoutsPere = nbPiayouts (npere );
fl oat score = moy +
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 [ mei 1 leur . _x ] [ mei li eur . _y ] +=
go ban . score [couleur ];
nbPlayoutsCoup [meilleur ._x) [meilleur ._y)++;
