Jeux à deux joueurs : une introduc1on Quelques éléments

publicité
Quelquesélémentsdecontexte
•  Plusieurspointsdevuesurlejeu
–  théoriedesjeux(cf.économie)
–  mul1-agentsenenvironnementcompé11f
Jeuxàdeuxjoueurs:
uneintroduc1on
•  EnIA,souvent:
LicenceMIASHS
2016-2017
StefanGustafsson
parJulienVelcin
Pourquoilesjeux?
•  Unensemblebiendéfinietsouventpe1tderègles
•  Uneconnaissanceapprofondiedesjeuxétudiés(ex.
leséchecsoulego)
•  Espacesderecherchetrèsvastes
•  Remporterunevictoirecontreunêtrehumaindans
undomainedel’intelligence
–  déterministe
–  totalementobservable
–  deuxagentsquijouentchacunleurtour
–  deuxvaleurs«d’u1lité»connuesàlafin,symétriqueset
opposées(onparlede«situa1onsadverses»)
Lesjeuxcommedesproblèmesderecherche
•  Chaqueposi1onestunétat
•  Chaquemouvementestuneopéra1onqui
permetdepasserd’unétatàunautre
•  L’espaced’étatestvraimenttrèsgrand
–  facteurdebranchementdeséchecs~35
–  arbrederechercheprofond(~50pourleséchecs)
Besoind’heuris1ques!
•  L’opposantn’estpasfacilementprédic1ble
•  Lasolu1onestunstratégie
–  quelmouvementenfonc1ondelaréponsede
l’adversaire?
–  prévoirjusqu’àuncertainhorizon
•  Limitesdetemps
–  ilfautdesheuris1quespourréduireletempset
augmenterl’horizon
–  lesagentsdoiventapproximer
Arbre de jeu (2 joueurs,
déterministe, chacun son tour)
Exemplesdejeux
• 
• 
• 
• 
Backgammon–TD-Gammon(1992)
Dames–Chinook(1994)
Chess–DeepBlue(1997)
Othello–Logistello(1997)
–  beginning,middle,andendingstrategy
–  generallyacceptedthathumansarenomatchfor
computersatOthello
•  Bridge(BridgeBarron1997,Jack2006)
–  imperfectinforma1on
–  mul1playerwithtwoteamsoftwo
•  Go– AlphaGo(2016)
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)
…
Fonc1ond’u1lité
•  Enlimitantlaprofondeur,ilfautréussirà
évaluerunesituaiton
•  Parexempleauxéchecs:
–  unefonc1onesttypiquementunecombinaisonlinéairede
variables(features)
eval(s) = w1f1(s) + w2f2(s) + … + wnfn(s)
–  exempledevariables:
w1=9
f1(s)=nbdereinesducas1–nbdereinesducamps2
ElagageAlpha-Beta
•  Alpha=valeurdumeilleurchoixtrouvéjusqu’à
présentpourunnoeudMAX(plusgrandevaleur)
•  Beta=valeurdumeilleurchoixtrouvéjusqu’à
présentpourunnoeudMIN(pluspe(tevaleur)
•  Quandonparcourtl’arbre:
–  siondoitmaximiser,oncoupelesvaleurs<alpha
–  siondoitminimiser,oncoupelesvaleur>beta
Algorithme α-β
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
MIN
A [α,β] MAX
–  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.
B>βMIN
à 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
Algorithme α-β
Exemple
(a)
[−∞, +∞]
[−∞, 3]
(b)
A
[−∞, 3]
B
3
3
(c)
[3, +∞]
[3, 3]
B
3
12
[3, 3]
B
3
12
8
[3, 14]
A
[−∞, 2]
C
2
A
[3, +∞]
A
[−∞, 2]
C
12
•  L’élagage n’affecte pas le résultat final
[3, 3]
B
3
12
8
(f)
[−∞, 14]
14
D
Propriété de α-β
B
(d)
A
8
(e)
[−∞, +∞]
[3, 3]
B
3
12
8
–  é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
2
•  Avec un ordre parfait, complexité en temps = O(bm/2)
[3, 3]
A
[−∞, 2]
C
2
à on peut donc doubler la profondeur de recherche
[2, 2]
D
14
5
2
Références
•  StuartRussellandPeterNorvig.Ar1ficialIntelligence:A
ModernApproach(ThirdEdi1on).Pren1ce-Hall,Englewood
Cliffs,NJ,2010.
•  Nombreuxtransparentsreprisdansdescoursd’Intelligence
Ar1ficielle(parex.M.Scherger,KentStateUniversity,2006,
ouJ.Hoffmann,SaarlandUniversity,2014)
Téléchargement