108
}
} ;
}
joue (inter , couleur );
i f ( c o u l e u r == Noir )
couleur = Blanc ;
else
couleur = Noir ;
calculeScores ();
Rec herc he arborescente Monte-Carlo
5.9.2 Monte-Carlo basique
Go go ;
Intersection meilleurCoupSampling ( int couleur ) {
fl oat meilleurScore = O;
}
Intersection meilleur (0 , O);
fo r (int i = l; i <= Taille ; i++)
fo r ( in t j = 1 ; j <= Tai 11 e ; j ++) {
Intersection inter (i , j );
}
fl oat somme = O;
if (go. coupLegal (inter , couleur ) &&
!go. oeil (inter , couleur )) {
}
for (int k = O; k < 100; k++) {
Go tmpgo = go ;
}
tmpgo . joue (inter , couleur );
if ( c o u le u r == Noir )
tmpgo . playout (Bl anc );
el se
tmpgo . playout (Noir );
somme += tmpgo . score [couleur ];
if ( somme > me i Il e u r Score ) {
meilleurScore = somme ;
meilleur = inter ;
}
return meilleur ;
void interface () {
while ( true ) {
Intersection inter = meilleurCoupSampling (Noir );
cout << "meilleur.... ., coup .... .,
en .... .. " << inter ._x << " "< <
inter ._y << end! ;
}
} ;
}
joue (inter , couleur );
i f ( c o u l e u r == Noir )
couleur = Blanc ;
else
couleur = Noir ;
calculeScores ();
Rec herc he arborescente Monte-Carlo
5.9.2 Monte-Carlo basique
Go go ;
Intersection meilleurCoupSampling ( int couleur ) {
fl oat meilleurScore = O;
}
Intersection meilleur (0 , O);
fo r (int i = l; i <= Taille ; i++)
fo r ( in t j = 1 ; j <= Tai 11 e ; j ++) {
Intersection inter (i , j );
}
fl oat somme = O;
if (go. coupLegal (inter , couleur ) &&
!go. oeil (inter , couleur )) {
}
for (int k = O; k < 100; k++) {
Go tmpgo = go ;
}
tmpgo . joue (inter , couleur );
if ( c o u le u r == Noir )
tmpgo . playout (Bl anc );
el se
tmpgo . playout (Noir );
somme += tmpgo . score [couleur ];
if ( somme > me i Il e u r Score ) {
meilleurScore = somme ;
meilleur = inter ;
}
return meilleur ;
void interface () {
while ( true ) {
Intersection inter = meilleurCoupSampling (Noir );
cout << "meilleur.... ., coup .... .,
en .... .. " << inter ._x << " "< <
inter ._y << end! ;
