Correction (alpha

Transcription

Correction (alpha
MIA – Correction TD 7 - exercice 4
Exercice 1 - MINIMAX et ALPHA-BÉTA.
L’algorithme Alpha-Béta est rappelé dans l’encadré ci-dessous (http ://fr.wikipedia.org/wiki/Élagage alphabeta) :
Nous observons que l’algorithme alpha-béta parcours un arbre de jeux en profondeur main gauche
et évalue les noeuds selon un ordre infixe. L’algorithme alpha-béta, appliqué à l’arbre suivant :
A
B
C
D
évalue les coupes alpha-béta des noeuds selon l’ordre suivant : B, A, C, A, D, A. Les noeuds évalués
dans cet ordre sont alors élagués en fonction des valeurs courantes de α et de β (i.e. si valeur remontee ≤
α sur un noeud MIN ou bien si valeur remontee ≥ β sur un noeud MAX).
Notons que sur un noeud MIN, seul β peut être mis-à-jour. Sur un noeud MAX, seul α peut être
mis-à-jour. Par ailleurs, la valeur de α (resp. β) courante correspond au maximum (resp. minimum)
des valeurs α (resp. β) calculées à ce point dans le calcul.
Pour la question 1 de l’exercice 4, nous nous proposons dans un premier temps de relever le parcours
des noeuds puis de noter à chaque étape, les valeurs courantes de α et de β. Lorsque evaulation ≤ α
sur un noeud MIN, nous identifions une coupe α. Lorsque evaulation ≥ β sur un noeud MAX, nous
identifions une coupe β.
Les valeurs α et β sont respectivement initialisées à −∞ et +∞.
Responsable du cours : GANASCIA Jean-Gabriel
Chargé de TD/TME : DZOGANG Fabon
1
A1
α=5
β = +∞
c1
c2
c3
B1
B2
B3
α = −∞
α=3
α=3
β =3
β =2
β =5
A2
A3
A4
α=3
α=6
α=3
β = +∞
β =3
β = +∞
B10
B4
B5
B6
α = −∞
α=3
α = −∞
β =3
β =1
β =3
3
9
1
8
6
12
B7
0
20
13
B8
B9
α=3
α=3
β =2
β =1
2
4
A6
A7
α=5
α=8
β = +∞
β =5
A5
1
5
2
8
B11
21
14
2
B12
B13
B14
α=3
α=3
α=3
β =2
β =5
β =5
4
7
7
5
8
B15
11
4
13
Ci-dessus figure l’arbre que nous obtenons une fois l’algorithme alpha-béta appliqué. Les valeurs
α et β à chaque noeud de l’arbre correspondent aux dernières valeurs des variables α et β à ce niveau
du parcours de l’arbre.
Plus de détails sont fournis dans le tableau ci-dessous : ce dernier indique l’ordre de parcours de
l’arbre. Pour chaque passage sur un noeud, il est indiqué : la valeure courante de α et de β, le type,
l’évaluation (valeur remontée) si il en existe une à cet instant), le type de coupe (si nous somme sur
une position infixe et que l’évaluation aboutit à sur une coupe).
Responsable du cours : GANASCIA Jean-Gabriel
Chargé de TD/TME : DZOGANG Fabon
2
noeud
A1
B1
A2
B4
B4
A2
B5
B5
A2
B1
A3
B6
B6
B6
B6
A3
B1
A1
B2
A4
B8
B8
A4
B9
B9
A4
B2
A1
B3
A6
B 12
B 12
A6
B 13
B 13
B 13
A6
B3
A7
B 14
B 14
B 14
A7
B3
A1
α
−∞
−∞
−∞
−∞
−∞
max(−∞,3) = 3
3
3
max(3, 1) = 3
−∞
−∞
−∞
−∞
−∞
−∞
max(−∞, 6) = 6
−∞
max(−∞, 3) = 3
3
3
3
3
max(3, 2) = 3
3
3
max(3, 1) = 3
3
max(3, 2) = 3
3
3
3
3
max(3,2) = 2
3
3
3
max(3, 5) = 5
3
3
3
3
3
max(3, 8) = 8
3
max(3,5) = 5
β
+∞
+∞
+∞
+∞
min(+∞,3) = 3
+∞
+∞
min(+∞, 1) = 1
+∞
min(+∞,3) = 3
3
3
min(3, 6) = 3
min(3,12) = 3
min(3,20) = 3
3
min(3,6) = 3
+∞
+∞
+∞
+∞
min(+∞, 2) = 2
+∞
+∞
min(+∞,1) = 1
+∞
min(+∞, 2) = 2
+∞
+∞
+∞
+∞
min(+∞, 2) = 2
+∞
+∞
min(+∞, 7) = 7
min(7, 5) = 5
+∞
min(+∞, 5) = 5
5
5
min(5, 8) = 5
min(5, 13) = 5
5
min(5,8) = 5
+∞
type de coupe
évaluation
3
α≥1
β≤6
1
max(3, 1) = 3
6
min(6,12) = 6
min(6,20) = 6
6
min(6,3) = 3
α≥2
2
α≥1
α≥2
1
max(1,2) = 2
2
α≥2
2
7
min(7,5) = 5
max(2,5) = 5
β≤8
8
min(8,13) = 8
8
min(5,8) = 5)
max(2,5) = 5
– Les coupes identifiées sont donc (nous notons F x pour la feuille évaluée x) :
1. (β, B5 , F8 )
2. (α, A3 , B7 )
3. (β, B8 , F4 )
4. (β, B9 , F5 )
5. (β, B2 , A5 , B10 , B11 )
Responsable du cours : GANASCIA Jean-Gabriel
Chargé de TD/TME : DZOGANG Fabon
3
6. (β, B12 , F4 , F7 )
7. (α, A7 , B1 5)
– La proportion de positions qui n’ont pas besoin d’être examinées est de : 1 − 48−18
48 = 38%
Ci-dessous figure le résultat de l’agorithme alpha-béta sur le deuxième arbre de l’exercice :
A1
α = −1
β = +∞
c1
c2
B1
α = −∞
β = −1
B2
α = −1
β =0
A2
α = −1
β = +∞
B4
α = −∞
β = −1
A3
α = −1
β =2
B5
α = −1
β = −3
B6
α = −∞
β = −1
B7
0
5
-1
-3
4
9
A4
α=4
β = +∞
B9
α = −1
β = −1
B8
13
0
A5
α=0
β =4
B10
α = −1
β =4
B11
α = −1
β =0
A6
α = 18
β =0
B12
α=0
β = −2
B13
α = −1
β =0
-4
2
12
-1
7
6
4
0
7
-2
-3
B15
α = −1
β =0
B14
5
8
A7
α=5
β =0
B16
1
18
15
8
8
7
5
– Les coupes identifiées sont :
1. (β, B5 , F4 )
2. (α, A3 , B7 , B8 )
3. (β, B12 , F−3 )
4. (α, A6 , B1 4)
5. (α, A7 , B16 )
– La proportion de positions qui n’ont pas besoin d’être examinées est de : 1 − 50−14
50 = 28%
En effectuant un parcours main droite, nous visitons les noeuds dans l’ordre inverse. Par exemple,
étant donné l’arbre ci-dessous :
A
B
C
D
Les coupes alpha-béta sont évaluées dans l’ordre : D, A, C, A, B, A
L’application de l’algorithme alpha-béta donne, en parcours main droite :
A1
α=0
β = +∞
c1
c2
B1
α=0
β = −1
B2
α = −∞
β =0
A2
α=0
β =2
B4
α=0
β = −1
A3
α=2
β = +∞
B5
α=0
β = −3
B6
α=0
β =2
B7
α=0
β =0
A4
α=4
β =0
B8
α=0
β = −4
-1
-3
4
9
2
0
13
0
B10
α = −∞
β =0
B9
8
5
A5
α=0
β =7
12
A6
α = 18
β =7
B11
α = −3
β =0
B12
α = −∞
β = −3
0
-2
A7
α=7
β = +∞
B13
B14
α = 1 α = −∞
β =7
β =1
B15
α=7
β =5
B16
α = −∞
β =7
-1
-4
7
6
4
7
-3
18
5
1
8
8
5
15
– Les coupes identifiées sont donc (nous notons F x pour la feuille évaluée x) :
1. (β, B15 , F8 , F8 )
2. (α, A4 , B9 )
3. (β, B4 , F5 )
Responsable du cours : GANASCIA Jean-Gabriel
Chargé de TD/TME : DZOGANG Fabon
4
7
– La proportion de positions qui n’ont pas besoin d’être examinées est de : 1 − 50−8
50 = 16%
– Nous notons que sur cet arbre, un parcours main droite est moins efficace qu’un parcours main
gauche. De manière plus générale, l’ordre d’évaluation des noeuds influe sur les performances de
l’algorithme alpha-béta (ouvre la voie vers des optimisations possibles, en particulier sur le trie
des noeuds lors de la construction de l’arbre de jeux).
Responsable du cours : GANASCIA Jean-Gabriel
Chargé de TD/TME : DZOGANG Fabon
5