!"#$%&%'"#$%()#"#*+%,%
#-"%.-/*)'#01)-%
23*%!#4."-%5"40.-%
%
6.0"-0"%789:;:%
<=>?@<=>A%%
%
:/"B3-%C#+/3B++)-%
D#"4E#"+%F4FG"-/+%'"%0)-/"$/"%
• H4#+."#*+%2).-/+%'"%I#"%+#*%4"%("#%
– /JF)*."%'"+%("#$%K0BL%F0)-)G."M%
– G#41@3N"-/+%"-%"-I.*)--"G"-/%0)G2F11B%
• O-%89P%+)#I"-/%,%
– 'F/"*G.-.+/"%
– /)/34"G"-/%)Q+"*I3Q4"%
– '"#$%3N"-/+%E#.%()#"-/%0J30#-%4"#*%/)#*%
– '"#$%I34"#*+%R%'S#14./F%T%0)--#"+%&%43%U-P%+VGF/*.E#"+%"/%
)22)+F"+%K)-%23*4"%'"%R%+./#31)-+%3'I"*+"+%TM%
H)#*E#).%4"+%("#$%W%
• X-%"-+"GQ4"%Q."-%'FU-.%"/%+)#I"-/%2"1/%'"%*YN4"+%
• X-"%0)--3.++3-0"%322*)B)-'."%'"+%("#$%F/#'.F+%K"$L%
4"+%F0J"0+%)#%4"%N)M%
• O+230"+%'"%*"0J"*0J"%/*Y+%I3+/"+%
• Z"G2)*/"*%#-"%I.0/).*"%0)-/*"%#-%[/*"%J#G3.-%'3-+%
#-%')G3.-"%'"%4S.-/"44.N"-0"%
6"+%("#$%0)GG"%'"+%2*)Q4YG"+%'"%*"0J"*0J"%
• \J3E#"%2)+.1)-%"+/%#-%F/3/%
• \J3E#"%G)#I"G"-/%"+/%#-"%)2F*31)-%E#.%
2"*G"/%'"%23++"*%'S#-%F/3/%&%#-%3#/*"%
• 6S"+230"%'SF/3/%"+/%I*3.G"-/%/*Y+%N*3-'%
– B30/"#*%'"%Q*3-0J"G"-/%'"+%F0J"0+%]^_%
– 3*Q*"%'"%*"0J"*0J"%2*)B)-'%K]_=%2)#*%4"+%F0J"0+M%
`"+).-%'SJ"#*.+1E#"+%a%
• 6S)22)+3-/%-S"+/%23+%B30.4"G"-/%2*F'.01Q4"%
• 63%+)4#1)-%"+/%#-%+/*3/FN."%
– E#"4%G)#I"G"-/%"-%B)-01)-%'"%43%*F2)-+"%'"%
4S3'I"*+3.*"%W%
– 2*FI).*%(#+E#S&%#-%0"*/3.-%J)*.b)-%
• 6.G./"+%'"%/"G2+%
– .4%B3#/%'"+%J"#*.+1E#"+%2)#*%*F'#.*"%4"%/"G2+%"/%
3#NG"-/"*%4SJ)*.b)-%
– 4"+%3N"-/+%').I"-/%322*)$.G"*%
O$"G24"+%'"%("#$%
• `30cN3GG)-%d%ef@C3GG)-%K>gg<M%
• f3G"+%d%\J.-))c%K>gghM%
• \J"++%d%f""2%`4#"%K>ggAM%
• i/J"44)%d%6)N.+/"44)%K>ggAM%
– Q"N.--.-NP%G.''4"P%3-'%"-'.-N%+/*3/"NV%
– N"-"*344V%300"2/"'%/J3/%J#G3-+%3*"%-)%G3/0J%B)*%
0)G2#/"*+%3/%i/J"44)%
• `*.'N"%K`*.'N"%`3**)-%>ggAP%!30c%<==?M%
– .G2"*B"0/%.-B)*G31)-%
– G#41243V"*%j./J%/j)%/"3G+%)B%/j)%
• C)%– 942J3C)%K<=>?M%
Arbre de jeu (2 joueurs,
déterministe, chacun son tour)
Minimax
• Décision « parfaite » dans des jeux déterministes
• Idée: choisir un pas vers une position avec la valeur
minimax la plus élevée
= meilleurs rendements atteignables contre le meilleur jeu (en supposant
que l’adversaire essaie de faire la même chose)
• Par ex., jeu à 2 plis
Algorithme Minimax
Propriétés de minimax
• Complète? Oui (si l’arbre est fini)
• Optimal? Oui (contre un joueur optimal qui utilise la même
stratégie)
• Temps? O(bm)
• Espace? O(bm) (exploration en profondeur d’abord)
• Pour les échecs, b ≈ 35, m ≈50 pour un jeu « raisonnable »
à solution exacte infaisable
Limiter la profondeur
• Nombre de plis à développer
– pli (ply) = une couche de jeu, par Max ou par Min
• Changement à faire dans l’algorithme
if TERMINAL-TEST(state) then return UTILITY(state)
If DEPTH-LIMIT(state) then return EVAL(state)
…
k)-01)-%'S#14./F%
• O-%4.G./3-/%43%2*)B)-'"#*P%.4%B3#/%*F#++.*%&%
FI34#"*%#-"%+./#3./)-%
• H3*%"$"G24"%3#$%F0J"0+%,%
– #-"%B)-01)-%"+/%/V2.E#"G"-/%#-"%0)GQ.-3.+)-%4.-F3.*"%'"%
I3*.3Q4"+%KfeaturesM%
"valK+M = w1f1K+M + w2f2KsM + … + wnfnKsM%
– "$"G24"%'"%I3*.3Q4"+%,%
j>%l%g%
B>K+M%l%-Q%'"%*".-"+%'#%03+%>%–%-Q%'"%*".-"+%'#%03G2+%<%
O43N3N"%942J3@`"/3%
• 942J3%l%I34"#*%'#%G".44"#*%0J).$%/*)#IF%(#+E#S&%
2*F+"-/%2)#*%#-%-)"#'%79m%K24#+%grande%I34"#*M%
• `"/3%l%I34"#*%'#%G".44"#*%0J).$%/*)#IF%(#+E#S&%
2*F+"-/%2)#*%#-%-)"#'%78n%K24#+%pe(te%I34"#*M%
• D#3-'%)-%23*0)#*/%4S3*Q*"%,%
– +.%)-%')./%G3$.G.+"*P%)-%0)#2"%4"+%I34"#*+%o%342J3%
– +.%)-%')./%G.-.G.+"*P%)-%0)#2"%4"+%I34"#*%p%Q"/3%
Algorithme α-β – pour ne pas
explorer des nœuds inutiles
• Sur un chemin, on a des limites connues pour
la valeur à trouver [α,β] (initialisées à [-∞,+∞])
• Max a déjà trouvé une solution α, et Min ne
va pas permettre de choisir une solution plus
grande que β sur cette branche
– Pour un nœud Max A, on tente de maximiser.
Si un enfant B génère une valeur > β, alors le
nœud parent (Min) ne va jamais choisir ce nœud A.
à On coupe le reste de la branche.
– Pour un nœud Min, on tente de minimiser. Si un
enfant génère une valeur < α, alors son parent
(Max) ne va jamais choisir le nœud.
à On coupe le reste de la branche
A [α,β] MAX
`%pq%%%%%%%%%%%78n%
78n%
Algorithme α-β
Algorithme α-β
Exemple
(a) (b)
(c) (d)
(e) (f)
3312
3 12 8 3 12 8 2
3 12 8 2 14 3 12 8 2 14 5 2
A
B
A
B
A
BCD
A
BCD
A
B
A
BC
[−∞, +∞][−∞, +∞]
[3, +∞][3, +∞]
[3, 3][3, 14]
[−∞, 2]
[−∞, 2] [2, 2]
[3, 3]
[3, 3][3, 3]
[3, 3]
[−∞, 3][−∞, 3]
[−∞, 2][−∞, 14]
Propriété de α-β
• L’élagage n’affecte pas le résultat final
– élaguer seulement les nœuds qui ne sont pas compétitifs
• La quantité de nœuds élagués dépend de l’ordre de
nœuds
• Avec un ordre parfait, complexité en temps = O(bm/2)
à on peut donc doubler la profondeur de recherche
ZFBF*"-0"+%
• :/#3*/%Z#++"44%3-'%H"/"*%n)*I.NL%9*1U0.34%8-/"44.N"-0",%9%
7)'"*-%922*)30J%KeJ.*'%O'.1)-ML%H*"-10"@;344P%O-N4"j))'%
\4.r+P%n!P%<=>=L%
• n)GQ*"#$%/*3-+23*"-/+%*"2*.+%'3-+%'"+%0)#*+%'S8-/"44.N"-0"%
9*1U0."44"%K23*%"$L%7L%:0J"*N"*P%s"-/%:/3/"%X-.I"*+./VP%<==?P%
)#%!L%;)rG3--P%:33*43-'%X-.I"*+./VP%<=>hM%
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!