Bonjour,
Je voudrais une explication par rapport à ce code :
En première lecture je pensais à une erreur d'indentation en ligne 6 , mais j'ai trouvé la même chose en différents endroits sur internet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 int alphabêta(int depth, int alpha, int bêta) { if (game over or depth <= 0) return winning score or eval(); move bestmove ; for (each possible move m) { make move m; int score = -alphabêta(depth - 1, -bêta, -alpha) unmake move m; if (score >= alpha){ alpha = score ; bestMove = m ; if (alpha >= bêta) break; } } return alpha; }
Je ne comprend pas : la première fois que l'on appelle alphabeta() on ne passe pas dans le if ligne 4 donc on commence systématiquement par jouer "bestmove" mais d'où sort-il ? On n'a pas encore déterminé m !
Je vous remercie par avance pour une explication éclairée
Partager