Vous êtes sur la page 1sur 71

Intelligence Artificielle

Chapitre 2 : Résolution des Problèmes et Jeux

Pr. : Imade BENELALLAM


e-mail : i.benelallam@insea.ac.ma
Année : 2016/2017

Pr. Imade BENELALLAM IA


Objectifs

• Comment ?
– Modéliser un Problème.
– Modéliser un Jeu .
• Comment ?
– Passer d’un état à un autre par l’application d’une action donnée.
– Développer un arbre de recherche.
– Appliquer une stratégie de recherche.
• Comment ?
– Rechercher des solutions.
– Recenser les états d’un système donné et trouver parmi ces états une
ou plusieurs solutions.

Pr. Imade BENELALLAM IA


Machine déterministe

• L’Humain résout un problème, la machine exécute la


solution
• Machine/Système algorithmique (non intelligent)
• Système d ’exécution de la solution,
• Machine déterministe à états finis,
• A tout moment durant l ’exécution, la prochaine instruction à
exécuter est bien déterminée

Pr. Imade BENELALLAM IA


Machine Non
déterministe

• L’Humain définit le problème, la machine le résoud.


• Système de résolution (automatique) de Problèmes
• La Machine/Système est appelé à trouver lui-même la
solution à un problème donné: Système de résolution
(automatique) de problèmes,
• Espace de recherche (espace d ’états, de buts..)
• Stratégies de recherche; exploration de l’espace
• Prise de décision, devant différents choix

Pr. Imade BENELALLAM IA


Système de Résolution
de Problème
• Types de Problèmes:
– Résoudre des problèmes explicites (en Mathématique, en Physique, en
Mécanique, en Informatique, en Ingénierie, … dans la Vie Quotidienne, etc.)
– Démontrer la véracité d’une proposition/argument constitue un problème =>
Raisonnement
– Atteindre un Objectif/But constitue un Problème => Planification
– Prendre une décision; effectuer un choix, constitue un problème
=> Prise de Décision
– Comprendre/Interpréter une situation, un texte, un discours … constitue un
problème
=> Compréhension/Interprétation
– Communiquer constitue un problème => Communication
– Gagner dans un Jeu (situation de compétition) constitue un problème => Jeux
– Etc.

Pr. Imade BENELALLAM IA


Système de Résolution
de Problème
• =/= types de problèmes => =/= types de
systèmes de résolution de problèmes:
– Système de Résolution de Problèmes (changement
d’états)
– Système de Raisonnement
– Système de Planification
– Système de Prise de Décision
– Système de Compréhension et d’Interprétation
– Système de Communication
– Etc

Pr. Imade BENELALLAM IA


Système de Résolution
de Problème

• En étudiant les différents systèmes « cognitifs »


on découvre les mêmes concepts caractérisant
le Système de Résolution de Problèmes:
– Espace de Recherche
– Ensemble de règles de transformation/production
– Stratégie de Recherche
– Connaissance supplémentaire (Heuristique)

Pr. Imade BENELALLAM IA


Composantes d ’un
SRP
• Un espace de recherche
– Nature: espace d’états, de problèmes, de plans..
– Représentation: LP, Réseaux Sémantiques, …
• Un ensemble de règles de production: t→q;
– Une règle est une unité du comportement; elle permet de transformer l’état de
l’espace faisant ainsi avancer la recherche.
– ex: ``la configuration de l’échiquier correspond à la situation A`` → ``déplacer la
tour à la case X``
• Un mécanisme de contrôle qui choisit la règle à déclencher parmi les règles
applicables.
– Une règle est applicable si sa tête s’unifie avec l ’état courant de l ’espace.
– Plusieurs règles peuvent être applicables à un moment donné.
– Le mécanisme de contrôle/choix correspond à la stratégie de recherche
adoptée pour explorer l ’espace.
• Etats initiaux.
• Etats finaux. Si état courant = état final → Fin recherche

Pr. Imade BENELALLAM IA


Le Tic-tac-toe est un jeu de réflexion se
pratiquant à deux joueurs au tour par tour et Espace des états possibles
dont le but est de créer le premier un
alignement.

Pr. Imade BENELALLAM IA


Modélisation

Remarque : Un état est généralement décrit par un ensemble de variables d’états. Les
valeurs attribuées à ces variables permettront alors de définir de manière univoque un état
donné. Ces variables d’écrivent généralement les attributs des différents objets (ou
situations, faits, …) de l’environnement du problème.

Pr. Imade BENELALLAM IA


Résolution

Pour atteindre l’état but, le processus de résolution doit disposer d’opérateurs


de transformation d’état (dits aussi de transition) qui permettent de passer
progressivement de l’état initial à l’état but. On peut voir ces opérateurs comme
des moyens de réduction de la différence entre l’état initial et l’état but.

Pr. Imade BENELALLAM IA


Etapes de Résolution

Ainsi, dans ce cas la résolution d’un problème va consister en deux étapes :

1. La représentation formelle des états du problème (l’ensemble des


variables d’états) : cette étape peut faire appel à l’un des formalismes de
représentation de connaissances ou directement à des structures de
données comme les listes et les tableaux. Et La représentation formelle
des opérateurs de transformation : les formalismes logiques peuvent
remplir ce rôle ou comme nous allons le voir, l’utilisation des règles de
production peut être un choix judicieux ;
2. Le choix de l’algorithme de recherche qui va choisir quels opérateurs il
va appliquer et sur quels états du problème en vue de trouver l’état but le
plus vite possible. Cet algorithme doit donc disposer de procédures de test
des états pour déterminer s’il a oui ou non atteint son but.

Pr. Imade BENELALLAM IA


Exemple 1

• Le problème du Fermier, du Loup, de la Chèvre, du chou et de la


traversée de la rivière:
« Un fermier avec son loup, sa chèvre et son chou veulent traverser la
rivière. Il y a un canot à bord, mais seul le fermier peut ramer, et il
ne peut contenir que deux entités à la fois (y compris le rameur). Si
le loup reste seul avec la chèvre, il va la manger, si la chèvre reste
seule avec le chou, elle va manger le chou.
Que devrait être la séquence des traversées pour que les quatre soient
sur l’autre bord ».

Pr. Imade BENELALLAM IA


Exemple de séquence sans tenir compte des contraintes:

State(Farmer, Wolf, Goat, Cabbage)chacun est soit à la position w(est) ou e(ast)


Pr. Imade BENELALLAM IA
Portion du graphe de
l’espace d’état

Pr. Imade BENELALLAM IA


Exemple 2: Micro-
monde des blocs
• Le micro-monde des blocs
Un robot : R
Trois boites : B1, B2, B3
Quatre places : a, b, c, d

– Etats : l’ensemble de toutes les formules (prédicats) spécifiant la


position de chaque objet at(B1, x) ∧ at(B2, y) ∧ at(B3, z) ∧
at(R, t) tq x, y, z, t ϵ (a, b, c, d).
– Etat initial :
• Ei (So) : at(B1, b) ∧ at(B2, c) ∧ at(B3, d) ∧ at(R, a)
– Etat final (i.e. état désiré, le But) :
• Eb (Sg) : at(B1, x) ∧ at(B2, x) ∧ at(B3, x)

Pr. Imade BENELALLAM IA


Exemple 2: Micro-
monde Robot
– Fonction de transition : Deux actions : PUSH et GOTO
• PUSH(obj, x, y)
• Pré-conditions (ce qui doit être vrai avant l’exécution de l’action) : at(obj, x)
∧ at(R, x)
• addList (ce qui sera vrai après l’exécution de l’action) : at(R, y); at(obj, y)
• deleteList (ce qui n’est plus vrai après l’exécution de l’action) : at(R, x);
at(obj, x)

Solution :
• Trouver un plan, i.e. une suite d’actions
• Sur un état courant, plusieurs actions sont possible
• Un plan est un chemin parmi plusieurs chemins possible (y compris
les chemins qui ne mènent pas à l’état final)

Pr. Imade BENELALLAM IA


Exemple 2: espace
d’état

Pr. Imade BENELALLAM IA


Stratégies de
recherche
• Dans la session précédente nous avons vu qu’un grand nombre de
problèmes peuvent être représentés de manière formelle sous
forme d’espace d’états et que pour ces problèmes les algorithmes
de recherche constituent une technique générale de résolution.

• En effet, ces algorithmes permettent de guider la recherche d’une


solution en faisant des choix concernant les états à développer et en
gérant le retour sur ces choix tout en évitant l’explosion
combinatoire.

Pr. Imade BENELALLAM IA


Recherche
systématique

• Nous allons nous intéressé à la recherche systématique (méthodique, organisée)


Exemple:
• Combien y a-t-il de triangles de toute grandeur dans cette figure ?

• Démarche. Quatre règles seront appliquées pour rendre la recherche systématique.


1. On trouve les triangles commençant par A, puis par B, etc.
2. On ne considère pas les lettres antérieures à la première. Quand on arrive à C, par
exemple, on considère ni A ni B.
3. On identifie un triangle en plaçant les lettres par ordre alphabétique.
4. La liste des triangles est faite par ordre alphabétique.

Pr. Imade BENELALLAM IA


Stratégies de
recherche
• Les stratégies de recherche permettent de dire à l’algorithme quel état il doit
développer en premier
• Le but de la stratégie est donc d’organiser l’exploration de l’espace d’états d’un
problème.

Soit Struct la structure de données représentant les noeuds en attente de


développement de l’arbre de recherche à chaque étape.

Fonction Recherche ( problème, stratégie)


1. Initialiser Struct au nœud correspondant à l’état initial du problème (la racine de l’arbre)
2. Tant que il existe des nœuds dans Struct faire
3. Choisir l’un des nœuds pour développement en respectant la stratégie
4. Si le nœud choisit correspond à un état but alors sortir et retourner la solution correspondante
5. Sinon développer le nœud choisit en ajoutant ses successeurs à Struct.
6. Fin Tant que
7. Retourner Echec

Pr. Imade BENELALLAM IA


Stratégies de
recherche

Les critères de choix d’une stratégie de recherche sont essentiellement :


• La complétude : Lorsque la méthode garantit de trouver une solution si elle existe ;
• La terminaison (décidabilité) : Même si la solution n’existe pas, il s’arrête en signalant
un échec à condition que l’espace d’états soit fini.
• La complexité en temps : ce critère correspond à l’efficacité algorithmique qui dépend
du nombre d’états développés ;
• La complexité en espace : ce critère se réfère à la quantité mémoire utilisée ;
• L’optimalité (admissibilité): ce critère concerne l’optimalité de la solution trouvée par
rapport à celles qui existent- en se basant sur une fonction de coût.

Pr. Imade BENELALLAM IA


Stratégies de
recherche

La complexité (en temps ou en espace) est mesurée selon :


• b : le facteur de branchement maximal de l’arbre de recherche et qui
correspond au nombre maximal de successeurs pour un état.
• d : la profondeur à laquelle se trouve le (meilleur) nœud solution.
• m : la profondeur maximale de l’arbre de recherche correspondant à
l’espace d’états et qui peut être infinie.

Pr. Imade BENELALLAM IA


Stratégies de
recherche
Trouver un chemin, lors de l’exploration de l’espace, qui mène
de l’état initial à l’état final:
• Recherche systématique non-informée (aveugle):
– En-Profondeur et En-Largeur (couteux)
• Recherche avec Information sur le nœud
– Hill-Climbing, Beam et Best-First
• Recherche Informée sur le nœud et l’arc :
– A*
• Recherches dans les jeux :
– MINIMAX et ALPAH-BETA

Pr. Imade BENELALLAM IA


Recherche en
profondeur d’abord

Pr. Imade BENELALLAM IA


Recherche en
profondeur d’abord
E1

E2 E8 E9

E3 E7

Note:
Le mémoire est
E4 E5 E6 gérée comme
une pile
Pr. Imade BENELALLAM IA
Recherche en
profondeur d’abord

Empiler le nœud correspondant à l’état initial (racine de l’arbre) dans P


Tant que P est non vide faire
Dépiler le sommet N de P
Si N correspond à un état but alors
Sortir de l’algorithme avec cette solution
Sinon
Générer la liste L des successeurs de N
Pour chaque élément S de L (de droite à gauche !) faire
Empiler S (Rq : le plus à gauche sera en sommet)
Fin de Tant que
Retourner Echec

Pr. Imade BENELALLAM IA


Problème de k-reines

Description :
• Il faut placer k reines dans un échiquier de dimension kxk sans
qu'aucune d'entres elles ne soit en prise par une autre. On dit que
deux reines sont en prise, si elles se trouvent sur une même ligne,
une même colonne ou une même diagonale.

• Exercice:
1. Proposer une modélisation pour le problème 4-reines.
2. Donner une solution pour ce problème avec la stratégie en
profondeur d’abord

Pr. Imade BENELALLAM IA


Problème de k-reines
la solution

Pr. Imade BENELALLAM IA


Propriétés

Les propriétés de la recherche en profondeur sont comme suit :


• La complétude : Incomplet si l’espace d’états est infini ou si on peut
tomber sur des nœuds correspondant au même état dans l’arbre de
recherche ce qui entraîne des boucles. Pour remédier à ce problème, il faut
ajouter des tests pour éviter qu’un nœud correspondant à un état déjà traité
par un autre nœud ne soit développé et ce, on sauvegardant dans une liste,
par exemple, les nœuds déjà traités. Sinon il est complet et même si la
solution n’existe pas il s’arrête en signalant un échec;
• La complexité en temps : Le nombre de nœuds développés est de l’ordre
de bm (1+b+b2+..+bm=O(bm)) avec b le facteur de branchement et m la
profondeur maximale de l’arbre.
• La complexité en espace : elle est linéaire de l’ordre de b*m (O(b*m)).
• L’optimalité : Non. Il ne garantit pas de trouver le plus court chemin qui
mène à la solution (en termes de profondeur du nœud solution).

Pr. Imade BENELALLAM IA


Recherche en Largeur
d’abord

Pr. Imade BENELALLAM IA


Recherche en Largeur
d’abord
E1

E2 E3 E4

E5 E6

Note:
Le mémoire est
E7 E8 E9 gérée comme
une file
Pr. Imade BENELALLAM IA
Recherche en Largeur
d’abord
Insérer le nœud correspondant à l’état initial (racine de l’arbre) dans F
Tant que F est non vide faire
Extraire la tête (le nœud le plus ancien) N de F
Si N correspond à un état but alors
Sortir de l’algorithme avec cette solution
Sinon
Générer la liste L des successeurs de N
Pour chaque élément S de L (de gauche à
droite !) faire Insérer S dans F(en fin de la file)
Fin de Tant que
Retourner Echec

Pr. Imade BENELALLAM IA


Problème de 4-reines

Pr. Imade BENELALLAM IA


Propriétés

A la différence de la stratégie de profondeur, la recherche en largeur


possède les propriétés suivantes :

• La complétude/ terminaison : Oui (Si le facteur de branchement b


est fini).
• La complexité en temps : Le nombre de nœuds développés est de
l’ordre de bd (O(bd)) avec b le facteur de branchement et d la
profondeur de la meilleure solution.
• La complexité en espace :à elle est exponentielle de l’ordre de bd.
(car il faut stocker dans la file tous les nœuds développés)
• L’optimalité : Oui (Si la génération de successeurs est sans coût ou
à coût uniforme) .

Pr. Imade BENELALLAM IA


Recherche avec
information sur le nœud

Hill-Climbing & Beam search


• Critère pour sélectionner le prochain fils à générer pour
un nœud n : h(n); fonction heuristique
– Information incertaine mais plausible → Heuristique
– h(n) fournit le coût pour atteindre l’état final.
– h(n) incorpore et représente une source d’information externe à
l’espace de recherche.
– Ex: h(n) = la distance qui sépare la ville n de la ville de
destination.
• En-Profondeur + h(n) = Hill-Climbing search
• En-Largeur + h(n) = Beam search
Pr. Imade BENELALLAM IA
Méthode Hill-Climbing

• Entrée :
– État initial.
– Fonction à optimiser:
• noté VALUE dans l’algorithme;
• parfois noté h aussi.
• Méthode
– Le nœud courant est initialisé à l’état initial.
– Itérativement, le nœud courant est comparé à ses successeurs immédiats.
• Le meilleur voisin immédiat et ayant la plus grande valeur (selon
VALUE) que le nœud courant, devient le nœud courant.
• Si un tel voisin n’existe pas, on arrête et on retourne le nœud courant
comme solution.

Pr. Imade BENELALLAM IA


Pr. Imade BENELALLAM IA
Illustration de l’algorithme hill-
climbing

● Imaginez ce que vous feriez pour arriver au (trouver le) sommet d’une
colline donnée, en plein brouillard et soufrant d’amnésie.
Pr. Imade BENELALLAM IA
Illustration de l’algorithme hill-
climbing

● L’algorithme hill-climbing risque d’être piégé dans des optimums


locaux: s’il atteint un nœud dont ses voisins immédiats sont moins
bons, il arrête!
Pr. Imade BENELALLAM IA
Hill-Climbing avec 8 reines
• h (VALUE): nombre de paires de reines qui s’attaquent mutuellement
directement ou indirectement.
• On veut le minimiser.

● h pour l’état affiché: 17

Pr. Imade BENELALLAM IA


Hill-Climbing avec 8 reines

• Un exemple de minimum local avec h(n)=1

Pr. Imade BENELALLAM IA


Hill-Climbing vs
Parcours en Largeur

Pr. Imade BENELALLAM IA


La stratégie de recherche
Best-First

• Avec Hill-Climbing et Beam, la sélection ne se fait que


sur les fils du nœud courant.
– La sélection est locale

• Best-First considère à tout moment tous les nœuds à


explorer et choisit le nœud au meilleur coût.
– La sélection est globale
– La mémoire est gérée comme une liste

Pr. Imade BENELALLAM IA


La stratégie de recherche
Best-First

Insérer le nœud correspondant à l’état initial (racine de l’arbre) dans F


Tant que F est non vide faire
Extraire la tête N de F(h(N) est la plus petite (ou plus grande)
parmi celle des autres nœuds de F)
Si N correspond à un état but alors
Sortir de l’algorithme avec cette solution
Sinon Générer la liste L des successeurs de N
Pour chaque élément S de L faire
Insérer S dans F(en fin ou en tête de la file)
Trier les éléments n de F selon un ordre croissant
(parfois décroissant) de h(n)
Fin de Tant que
Retourner Echec
Pr. Imade BENELALLAM IA
La stratégie de recherche
Best-First

Heuristique jeux de taquin :


• Une heuristique h1 qui pour chaque nœud elle associe
le nombre de pièces mal placées dans l’état
correspondant ;
• Une heuristique h2 qui calcule pour chaque nœud la
somme des déplacements minimaux pour amener une
pièce à sa place.

Pr. Imade BENELALLAM IA


Jeu de taquin: Best-First

Pr. Imade BENELALLAM IA


Best-First

Les propriétés de la recherche informée meilleur en premier sont les


suivantes :
• La complétude/ terminaison : Oui, si l’espace de recherche est
fini et si on procède à une vérification d’absence de boucle
• La complexité en temps : Le nombre de nœuds développés est de
l’ordre de O(bm).
• La complexité en espace : elle est de l’ordre de O(bm). Car on
garde dans la file tous les nœuds des niveaux précédents.
• L’optimalité : En général, Non, car on ne considère pas la distance
déjà parcourue pour arriver à un nœud, mais seulement ce qui reste
à parcourir pour atteindre le but.

Pr. Imade BENELALLAM IA


La stratégie de recherche
A*

• L’algorithme de recherche A* peut être considéré comme une


amélioration de l’algorithme de recherche meilleur en premier se basant
non seulement sur une fonction heuristique h mais aussi sur une
fonction g d’estimation du coût minimal depuis le nœud correspondant à
l’état initial jusqu’un nœud n.
• Recherche doublement informée
• Un poids est associé à chaque nœud.
• Un poids est associé à chaque arc (action).
• Chercher le meilleur chemin, qui mène de l’état initial à l’état final, en
fonction du coût associé à chaque chemin.
• Le graphe (qui représente l’espace) est construit progressivement
• On part de l’état initial et on développe progressivement les chemins
vers l’état final.
• La mémoire est une liste de chemins pondérés.

Pr. Imade BENELALLAM IA


Chemin optimal A*

CheminOptimal(n,m) = min [cheminOptimal(n,mi) + p(mi,m)];


mi : prédécesseur de m, p(mi,m) : poids de l ’arc mi → m.
E
5
B 2
3 8
7 F 6
A 2
C G
4
1
D

Pr. Imade BENELALLAM IA


Les étapes de base A*

• Sur quel critère s’effectue le choix du prochain


chemin à développer ?
– Selon la fonction f : à chaque chemin est
associé son coût et le coût du dernier nœud n
atteint : f(n) = g(n) + h(n);
• g(n) donne le coût du chemin optimal, du nœud
initial au nœud n;
• h(n) estime le coût du chemin restant, de n au
nœud final.

Pr. Imade BENELALLAM IA


Les étapes de base A*

• Comment développer le chemin (s .. n) ?


– Générer les successeurs de n, déterminer leur
poids et calculer g, h et f pour chaque succ.
g(a) = g(n) + p1
h(a) f(a) = g(a) + h(a)
s a
p1 (a n .. s)
g(n) n
g(b) = g(n) + p2
(n .. s) h(n) p2 b (b n .. s)
h(b) f(b) = g(b) + h(b)
• Eliminer le chemin (s .. n).
• Ajouter tout chemin succ. optimal : (X n .. s) est optimal s’il est le seul chemin
ou si, par rapport à d ’autres (X..s), son g(X) est le plus petit. On conserve
ainsi le chemin optimal (X .. n)
Pr. Imade BENELALLAM IA
Les étapes de base A*

Pr. Imade BENELALLAM IA


• Exercice 1: Dans quels cas la recherche par l’algorithme « Hill Climbing »
serait-elle meilleure que la recherche « meilleure en premier »? Justifiez
votre réponse.
• Exercice 2 : Dans l’espace de recherche ci-dessous, le nombre placé à côté
de chaque arc représente le coût qui lui est associé et h la valeur donnée
par l’heuristique au nœud comme estimation de sa proximité du but.

• a-Donner f(n) pour chacun des nœuds


• b-Donner l’ordre dans lequel les nœuds seront visités par l’algorithme A*.

Pr. Imade BENELALLAM IA
Algorithmes de jeux

• L’étude des jeux est l’un des domaines favoris et fascinants de l’IA, il
concerne l’étude rigoureuse des situations dans lesquelles plusieurs
joueurs (acteurs) sont amenés à effectuer des choix qui détermineront, du
moins en partie, la situation future.
• Dans plusieurs problèmes de jeu, les techniques de recherche vues dans la
session précédente, peuvent être exploitées par les joueurs (notamment les
machines) pour optimiser leurs coups et gagner la partie (atteindre l’état-
but).
• Toutefois, dans certains jeux (les plus intéressants) d’autres techniques
sont souvent nécessaires pour guider et restreindre les choix afin
d’échapper au piège de l’explosion combinatoire et aussi pour prendre en
compte la rivalité entre les joueurs pour les jeux avec plus d’un joueur.

Pr. Imade BENELALLAM IA


Classification des jeux

• Les jeux peuvent être classés suivant différents critères :


– l’information disponible aux joueurs au moment de la prise de
décision ;
– Le nombre de joueurs ;
– le caractère isolé ou répété du jeu ;
– la possibilité ou non de coopération entre les joueurs.
• Le premier critère est celui utilisé dans la classification des jeux

Pr. Imade BENELALLAM IA


Classification des jeux

Hasard+
Déterministe + information
information
complète
complète (chess,...)
(monopoly, …)

Hasard+
information
incomplète
(pocker,
scrabble,...)

Pr. Imade BENELALLAM IA


Jeux à information
complète et déterministe

• Il s’agit des jeux dans lesquels chaque joueur connait en


permanence l’état global du jeu, en termes
– des choix que peut effectuer chacun des joueurs,
– des conséquences de ceux-ci (prochain état du jeu, gains des différents joueurs)
– des motivations de chaque joueur (en général, chaque joueur vise à maximiser
son gain et minimiser celui de son (ses) adversaires ).
• Dans cette catégorie, on trouve des jeux comme les échecs, les
dames …etc

Pr. Imade BENELALLAM IA


Jeux à information
incomplète

• Il s’agit des jeux où les joueurs peuvent manquer de


certaines informations au moment de leur prise de
décision concernant le prochain coup à jouer.
• L’information manquante est souvent due à l’introduction
du facteur du hasard dans les règles du jeu. C’est le cas
des jeux de de cartes comme le bridge, le poker, le
black-jack, etc.

Pr. Imade BENELALLAM IA


Jeux à information
complète et non-
déterministe
• Entre les deux catégories, se trouve une troisième
catégorie : les jeux à information complète mais non
déterministe. Ce sont des jeux où les joueurs ne
connaissent pas le comportement immédiat des autres
joueurs même s’ils connaissent l’ensemble des choix
possibles (concernant les coups à jouer) et leurs
conséquences. C’est le cas des jeux dans lesquels les
coups des joueurs sont simultanés comme les jeux à
Pierre/Ciseaux/Papier,

Pr. Imade BENELALLAM IA


Stratégies de recherche
Pour les Jeux

Les composants de base d'un algorithme de jeu sont généralement


comme suit :
• Un générateur de coups qui génère les coups valides, voire
plausibles, à partir de l'état courant ;
• Un test de terminaison qui vérifie si l'état courant est un gain, une
perte ou un nul ;
• Une fonction d'évaluation statique (dite aussi fonction de gain ou
d'utilité) qui évalue la pertinence d'un état donné indépendamment
des coups passés ou futurs ;
• Une stratégie de recherche heuristique qui permet de choisir entre
différents coups celui qui semble le plus prometteur.

Pr. Imade BENELALLAM IA


Stratégies de recherche
Pour les Jeux

• Dans le cadre du jeu, un nœud de l’espace de


recherche représente une configuration, suite à
un coup de l’un des joueurs.
– On attribut un score à un nœud.
– Au lieu de minimiser le coût, on maximise le score.
• Le développement de l’espace résulte d’une
alternance entre deux joueurs antagonistes.
• Alternance de niveaux MAX/Agent-A et
MIN/Agent-B … ?

Pr. Imade BENELALLAM IA


La stratégie de jeu
MINIMAX
• Niveau MAX : L’agent A choisira le successeur avec
le plus grand score.
• Niveau MIN : Partant d ’une configuration générée
suite à une action de Agent-A, Agent-B devrait choisir
le successeur avec le plus petit score; minimise le
score de son adversaire.
E1 MAX

E2 E5 E6 MIN

E3 E4 MAX

Pr. Imade BENELALLAM IA


La stratégie de jeu
MINIMAX

• Pour effectuer son choix, l’agent-A/MAX ne se limite pas


aux successeurs immédiats, il doit envisager plusieurs
coups à l’avance (si je fais .. mon adversaire fera et moi
…) et en fonction de cela, il décidera du successeur à
prendre.
• Le choix du successeur direct dépendra des séquences
que ce dernier pourrait engendrer.
• La longueur de la séquence; le degré de profondeur de
l’analyse est fixé au départ.
• Idem. pour l’agent-B/MIN.
• Score d’un nœud : calculer ou déterminé directement.

Pr. Imade BENELALLAM IA


exploration en
Profondeur MINIMAX
• score(a) = max(score(b), score(c), score(d));
• score(b) = min(score(e), score(f));
• MAX sait que MIN va prendre le nœud avec le plus
petit score et c’est ce score qui sera associé au père.
A MAX

8 B C D MIN

8 E F 10 MAX

G H I J K L M MIN
3 8 5 1 9 10 2
Pr. Imade BENELALLAM IA
Pr. Imade BENELALLAM IA
Exemple : jeu du Tic-
Tac-Toe

• Supposons que deux joueurs A et B ont procédé à ce jeu, en


choisissant que A va jouer en premier et avec les symboles de type
croix (X) et que B va jouer avec ceux de type cercle (0).
• Au début de la partie, le joueur A (MAX ) a le choix entre 9 cases
vide pour placer son premier X. Ensuite, le joueur B (B) devrait
choisir entre 8 cases vides pour placer son premier O et ainsi de
suite.
• Supposons qu’on est arrivé à l’état suivant et que c’est au tour de A
de jouer :

Pr. Imade BENELALLAM IA


Exemple : jeu du Tic-
Tac-Toe

• valeurs des nœuds terminaux ?

Pr. Imade BENELALLAM IA


ALPHA-BETA

• Avec MINIMAX, exploration exhaustive de l’espace, ..


selon le niveau de profondeur requis.
a

5 c 2 d 1
b

e g h j k n
7 4 2 7 l 1
f 5 i m
9 10 3
9
A-t-on besoin d’une recherche exhaustive ?

Pr. Imade BENELALLAM IA


ALPHA-BETA

• Avec ALPHA-BETA: recherche sélective


• MAX espère que β(b) > α (a) … mais MIN va essayer de
minimiser le β(b)
• Dès que β(b) <= α(a) ⇒ arrêter la recherche du succ
pour b
α = -∞ , 5 a MAX

β = +∞ , 7 , 5
b ≤4 c ≤ 37 d MIN

e g h k l
7 5
f 9 4 7 3
Pr. Imade BENELALLAM IA
Pr. Imade BENELALLAM IA

Vous aimerez peut-être aussi