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