11.5 Corrigés des exercices
void Jo ad (int nb , const char *name ) {
FILE * fp = fopen (name , "r" );
}
if (fp != NULL) {
}
for (int i = O; i < nb; i++)
probJe m [ i]. Jo ad (fp) ;
fc lose ( fp );
el se
cerr << "pb�ouverture�" << name << "\ n";
int Je ngthBestRoJJo ut [10) , scoreBestRoJJout [10);
Move bestRoJJo ut [10) [MaxSize * MaxSize ];
Move nestedMoves [ 10] [ MaxSize * MaxSize ];
int nestedRollout (ProbJe m & pb , int n) {
int bestScore , scoreRollout , bestEvaJu ation;
Move bestMove;
int tabu = pb . bestCoJo r ();
pb . findMoves (ta bu );
for (int i = O; i < pb . nbMoves; i++)
nestedMoves [ n] [ i ] = moves [ i ] ;
Je ngthBestRollout [n] = O;
scoreBestRollout [n] = O;
while ( true) {
if ( pb . nbMoves == 0)
break;
bestScore = scoreBestRoJJo ut [n];
bestMove = bestRoJJo ut [n] [pb. Je ngthVariation ];
for (inti= O; i < pb . nbMoves; i++) {
if ( n == 1) {
ProbJem p = pb;
}
p. pJayMove ( nestedMoves [ n] [ i ]) ;
p. pJayout ();
scoreRoJJo u t = p. score;
if ( scoreRoJJo ut > bestScore ) {
}
bestScore = score RoJJo ut;
bestMove = nestedMoves [ n] [ i ] ;
scoreBestRoJJo ut [n] = bestScore;
Je ngthBestRoJJo ut [n] = p. Je ngthVariation;
for (inti= O; i < p.Je ngthVariation; i++)
bestRoJJo ut [n] [i] =p . variation [i);
els e {
201
void Jo ad (int nb , const char *name ) {
FILE * fp = fopen (name , "r" );
}
if (fp != NULL) {
}
for (int i = O; i < nb; i++)
probJe m [ i]. Jo ad (fp) ;
fc lose ( fp );
el se
cerr << "pb�ouverture�" << name << "\ n";
int Je ngthBestRoJJo ut [10) , scoreBestRoJJout [10);
Move bestRoJJo ut [10) [MaxSize * MaxSize ];
Move nestedMoves [ 10] [ MaxSize * MaxSize ];
int nestedRollout (ProbJe m & pb , int n) {
int bestScore , scoreRollout , bestEvaJu ation;
Move bestMove;
int tabu = pb . bestCoJo r ();
pb . findMoves (ta bu );
for (int i = O; i < pb . nbMoves; i++)
nestedMoves [ n] [ i ] = moves [ i ] ;
Je ngthBestRollout [n] = O;
scoreBestRollout [n] = O;
while ( true) {
if ( pb . nbMoves == 0)
break;
bestScore = scoreBestRoJJo ut [n];
bestMove = bestRoJJo ut [n] [pb. Je ngthVariation ];
for (inti= O; i < pb . nbMoves; i++) {
if ( n == 1) {
ProbJem p = pb;
}
p. pJayMove ( nestedMoves [ n] [ i ]) ;
p. pJayout ();
scoreRoJJo u t = p. score;
if ( scoreRoJJo ut > bestScore ) {
}
bestScore = score RoJJo ut;
bestMove = nestedMoves [ n] [ i ] ;
scoreBestRoJJo ut [n] = bestScore;
Je ngthBestRoJJo ut [n] = p. Je ngthVariation;
for (inti= O; i < p.Je ngthVariation; i++)
bestRoJJo ut [n] [i] =p . variation [i);
els e {
201
