1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
fonction alphabeta(nud, alpha, Beta) /* α est toujours inférieur à β */
si nud.isFeuille alors
retourner nud.Valeur
sinon
si nud est de type Min alors // Cas Negatif
v = +999999999999 // Afectation
pour tout fils de nud faire
v = min(v,alphabeta(fils, alpha, Beta)) // Affectation selon la résultante (fils = branche )
si alpha >= v alors /* coupure alpha */
retourner v
Beta = min(Beta, v)
sinon // Cas Possitif
v = -999999999999 // Afectation
pour tout fils de nud faire
v = max(v, alphabeta(fils, alpha, Beta)) // Affectation selon la résultante (fils = branche )
si v >= Beta alors /* coupure beta */
retourner v
alpha = max(alpha, v)
retourner v |
Partager