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)