12.11 Corrigés des exercices
var [i] [j ]. aff ecte (val [k]);
if (consistant (i , j, val [k])) {
if ( n == 1) {
}
int lengthPlayout = sample (nbPrefix + 1);
if (lengthPlayout > best ) {
}
best = lengthPlayout;
bestMove = m;
nbBestRollout [n] = best;
bestRollout [n] [nbPrefix] = m;
for ( int 1 = nbPrefix + 1;
1 < lengthPlayout; !++ )
bestRollout [n] [l] =v ariation [! ];
else {
int lengthPlayout = nested ( nbPrefix + 1,
prefix , n - l);
if ( lengthPlayout > best ) {
best = lengthPlayout;
bestMove = m;
nbBestRollout [n] = best;
bestR ollout [n] [nbPrefix] = m;
for (int 1 = nbPrefix + 1;
l < lengthPlayou t; 1 ++ )
bestRollout [n] [! ] =
217
bestR ollout [n - 1] [! ];
}
}
}
}
}
i f ( b e s t == t a i 11 e * t a i 11 e )
ret urn best;
remet ();
var [i] [j ]. desaffecte ();
var [bestMove ._i]
[bestMove ._j ]. affecte (bestMove ._value );
if (consistant (bestMove ._i , bestMove ._j ,
bestMove ._value )) {
prefix [nbPrefix] = bestMove;
nbPrefi x++;
}
el se
break;
if (nbPrefix == taille * taille )
return nbPrefix;
for ( int n = nbPrefix - 1; n >= nbPrefixStart; n--) {
var [i] [j ]. aff ecte (val [k]);
if (consistant (i , j, val [k])) {
if ( n == 1) {
}
int lengthPlayout = sample (nbPrefix + 1);
if (lengthPlayout > best ) {
}
best = lengthPlayout;
bestMove = m;
nbBestRollout [n] = best;
bestRollout [n] [nbPrefix] = m;
for ( int 1 = nbPrefix + 1;
1 < lengthPlayout; !++ )
bestRollout [n] [l] =v ariation [! ];
else {
int lengthPlayout = nested ( nbPrefix + 1,
prefix , n - l);
if ( lengthPlayout > best ) {
best = lengthPlayout;
bestMove = m;
nbBestRollout [n] = best;
bestR ollout [n] [nbPrefix] = m;
for (int 1 = nbPrefix + 1;
l < lengthPlayou t; 1 ++ )
bestRollout [n] [! ] =
217
bestR ollout [n - 1] [! ];
}
}
}
}
}
i f ( b e s t == t a i 11 e * t a i 11 e )
ret urn best;
remet ();
var [i] [j ]. desaffecte ();
var [bestMove ._i]
[bestMove ._j ]. affecte (bestMove ._value );
if (consistant (bestMove ._i , bestMove ._j ,
bestMove ._value )) {
prefix [nbPrefix] = bestMove;
nbPrefi x++;
}
el se
break;
if (nbPrefix == taille * taille )
return nbPrefix;
for ( int n = nbPrefix - 1; n >= nbPrefixStart; n--) {
