• Aucun résultat trouvé

Quelques éléments de contexte. Jeux à deux joueurs : une introduction. Pourquoi les jeux? Les jeux comme des problèmes de recherche

N/A
N/A
Protected

Academic year: 2022

Partager "Quelques éléments de contexte. Jeux à deux joueurs : une introduction. Pourquoi les jeux? Les jeux comme des problèmes de recherche"

Copied!
6
0
0

Texte intégral

(1)

Jeux à deux joueurs : une introduction

par Julien Velcin Licence MIASHS

2020-2021

Stefan Gustafsson

Quelques éléments de contexte

• Plusieurs points de vue sur le jeu

– théorie des jeux (cf. économie)

– multi-agents en environnement compétitif

• En IA, souvent :

– déterministe

– totalement observable

– deux agents qui jouent chacun leur tour

– deux valeurs « d’utilité » connues à la fin, symétriques et opposées (on parle de « situations adverses »)

Pourquoi les jeux ?

• Un ensemble bien défini et souvent petit de règles

• Une connaissance approfondie des jeux étudiés (ex.

les échecs ou le go)

• Espaces de recherche très vastes

• Remporter une victoire contre un être humain dans un domaine de l’intelligence

Les jeux comme des problèmes de recherche

• Chaque position est un état

• Chaque mouvement est une opération qui permet de passer d’un état à un autre

• L’espace d’état est vraiment très grand

– facteur de branchement des échecs ~35

– arbre de recherche profond (~50 pour les échecs)

(2)

Besoin d’heuristiques !

• L’opposant n’est pas facilement prédictible

• La solution est un stratégie

– quel mouvement en fonction de la réponse de l’adversaire ? – prévoir jusqu’à un certain horizon

• Limites de temps

– il faut des heuristiques pour réduire le temps et augmenter l’horizon

– les agents doivent approximer

Exemples de jeux

• Backgammon – TD-Gammon (1992)

• Dames – Chinook (1994)

• Chess – Deep Blue (1997)

• Othello – Logistello (1997)

– beginning, middle, and ending strategy

– generally accepted that humans are no match for computers at Othello

• Bridge (Bridge Barron 1997, Jack 2006)

– imperfect information

– multiplayer with two teams of two

• Go – AlphaGo (2016)

Mais aussi…

(3)

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 atteignablescontre 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

(4)

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)

Fonction d’utilité

• En limitant la profondeur, il faut réussir à évaluer une situation

• Par exemple aux échecs :

– une fonction est typiquement une combinaison linéaire de variables (features)

eval(s) = w1f1(s) + w2f2(s) + … + wnfn(s) – exemple de variables :

w1= 9

f1(s) = nb de reines du cas 1 – nb de reines du camps 2

Elagage Alpha-Beta

• Alpha = valeur du meilleur choix trouvé jusqu’à présent pour un noeud MAX (plus grande valeur)

• Beta = valeur du meilleur choix trouvé jusqu’à présent pour un noeud MIN (plus petite valeur)

• Quand on parcourt l’arbre :

– si on doit maximiser, on coupe les valeurs < alpha – si on doit minimiser, on coupe les valeur > beta

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

B >β MIN MIN

(5)

Algorithme α-β Algorithme α-β

Exemple

(a) (b)

(c) (d)

(e) (f)

3 3 12

3 12 8 3 12 8 2

3 12 8 2 14 3 12 8 2 14 5 2

A

B

A

B

A

B C D

A

B C D

A

B

A

B C

[−, +] [−, +]

[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 doublerla profondeur de recherche

(6)

Références

• Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach (Third Edition). Prentice-Hall, Englewood Cliffs, NJ, 2010.

• Nombreux transparents repris dans des cours d’Intelligence Artificielle (par ex. M. Scherger, Kent State University, 2006, ou J. Hoffmann, Saarland University, 2014)

Références

Documents relatifs

Au sein de la recherche philosophique et linguistique, trois groupes utilisant les outils de la th´ eorie math´ ematique des jeux, en grande partie mutuellement ind´ ependants l’un

[r]

Bordures crées par The 3AM Teacher Teacher http://the3amteacher.blogspot.com/. Jeux mathématiques Jeu x

• Un « agent » du Calcul (programme, preuve, λ-terme) est représenté par une structure décrivant toutes ses!. interactions possibles avec

au milieu du dernier siècle encore, au moment du coucher des enfants, lEs parents les confiaient à Safa, une main sur leur tête, l'autre sur la chaîne. C'est aussi en

JEUX DE SOCIÉTÉ Jeux de société. Jeux

[r]

La 3 ième colonne indique la liste des contraintes qui doivent être vérifiées pour que les usagers du SP aient un débit suffisant (chaque contrainte est séparée par un espace et