Upload
zeindine-ahmednah
View
88
Download
3
Embed Size (px)
Citation preview
Pr. Imade BENELALLAM IA
Pr. : Imade BENELALLAM
e-mail : [email protected]
Année : 2011/2012
Intelligence Artificielle
Chapitre 2 : Résolution des Problèmes et Jeux
INSEA, Département Informatique, Bureau Numéro 3
Pr. Imade BENELALLAM IA
• Comment résoudre un problème ? – Recherche des solutions.
– Recenser les états d’un système donné et trouver parmi ces
états une ou plusieurs solutions.
• Comment ? – Le passage d’un état à un autre se fait par l’application d’une
action donnée.
– Développement d’un arbre de recherche + une stratégie de
recherche.
Objectifs
Pr. Imade BENELALLAM IA
• 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
Machine déterministe
Pr. Imade BENELALLAM IA
• 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
Machine Non
déterministe
Pr. Imade BENELALLAM IA
• Tout est Problème
– 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.
Système de Résolution
de Problème
Pr. Imade BENELALLAM IA
• =/= 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
Système de Résolution
de Problème
Pr. Imade BENELALLAM IA
• En étudiant les différents systèmes « cognitifs » (Raisonnement,
Planification, Compréhension, etc.), on découvre encore et encore
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)
– Etc.
Système de Résolution
de Problème
Pr. Imade BENELALLAM IA
• 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: tq;
– 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
Composantes d ’un
SRP
Pr. Imade BENELALLAM IA
Espace des états possibles Le Tic-tac-toe est un jeu de réflexion se
pratiquant à deux joueurs au tour par tour et
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
Ainsi, dans ce cas la résolution d’un problème va consister en trois é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;
2. 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 ;
3. 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.
Etapes de Résolution
Pr. Imade BENELALLAM IA
• 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 ».
Exemple 1
Pr. Imade BENELALLAM IA
State(Farmer, Wolf, Goat, Cabbage)chacun est soit à la position w(est) ou e(ast)
Exemple de séquence sans tenir compte des contraintes:
Pr. Imade BENELALLAM IA
• 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)
Exemple 2: Micro-
monde des blocs
Pr. Imade BENELALLAM IA
– 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)
Exemple 2: Micro-
monde Robot
Pr. Imade BENELALLAM IA
• 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.
Stratégies de
recherche
Pr. Imade BENELALLAM IA
• 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.
Recherche
systématique
Pr. Imade BENELALLAM IA
• 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
Stratégies de
recherche
Pr. Imade BENELALLAM IA
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.
Stratégies de
recherche
Pr. Imade BENELALLAM IA
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.
Stratégies de
recherche
Pr. Imade BENELALLAM IA
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
Stratégies de
recherche
Pr. Imade BENELALLAM IA
E1
E2 E8 E9
E3 E7
E4 E5 E6
Note:
Le mémoire est
gérée comme
une pile
Recherche en
profondeur d’abord
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
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 de ce problème avec la stratégie en profondeur
d’abord
Problème de k-reines
Pr. Imade BENELALLAM IA
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).
Propriétés
Pr. Imade BENELALLAM IA
E1
E2 E3 E4
E5 E6
E7 E8 E9
Note:
Le mémoire est
gérée comme
une file
Recherche en Largeur
d’abord
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
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) .
Propriétés
Pr. Imade BENELALLAM IA
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
Recherche avec
information sur le nœud
Pr. Imade BENELALLAM IA
• 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
La stratégie de recherche
Best-First
Pr. Imade BENELALLAM IA
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
La stratégie de recherche
Best-First
Pr. Imade BENELALLAM IA
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.
La stratégie de recherche
Best-First
Pr. Imade BENELALLAM IA
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.
Jeux de taquin: Best-
First
Pr. Imade BENELALLAM IA
• 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.
La stratégie de recherche
A*
Pr. Imade BENELALLAM IA
A
B
C
D
E
F
G
3
2
5
8
2
7
4 1
6
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.
Chemin optimal A*
Pr. Imade BENELALLAM IA
• 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.
Les étapes de base A*
Pr. Imade BENELALLAM IA
• 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.
s
n g(n)
h(n) (n .. s)
a p1
h(a)
(a n .. s)
g(a) = g(n) + p1
f(a) = g(a) + h(a)
b p2 h(b)
(b n .. s) g(b) = g(n) + p2
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)
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
• 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.
Algorithmes de jeux
Pr. Imade BENELALLAM IA
• 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, etc.
• Le premier critère est celui utilisé dans la classification des jeux
Classification des jeux
Pr. Imade BENELALLAM IA
• 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) et 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
Jeux à information
complète et déterministe
Pr. Imade BENELALLAM IA
• 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 et des jeux de cartes comme le bridge, le
poker, le black-jack, etc.
Jeux à information
incomplète
Pr. Imade BENELALLAM IA
• Entre les deux catégories ci-dessus, 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,
Jeux à information
complète et non-
déterministe
Pr. Imade BENELALLAM IA
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.
Stratégies de recherche
Pour les Jeux
Pr. Imade BENELALLAM IA
• 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 … ?
Stratégies de recherche
Pour les Jeux
Pr. Imade BENELALLAM IA
• 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
E2 E5 E6
E3 E4
MAX
MIN
MAX
La stratégie de jeu
MINIMAX
Pr. Imade BENELALLAM IA
• 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.
La stratégie de jeu
MINIMAX
Pr. Imade BENELALLAM IA
• 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
B C D
E F
MAX
MIN
MAX
G H J I K L M MIN
3 8 5 1 9
10 2
8 10
8
exploration en
Profondeur MINIMAX
Pr. Imade BENELALLAM IA
• 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 :
Exemple : jeu du Tic-
Tac-Toe
Pr. Imade BENELALLAM IA
• Avec MINIMAX, exploration exhaustive de l’espace, ..
selon le niveau de profondeur requis.
a
b c d
e g
f
h j
i
k n
l m
7
9
5 4
10
2 7
3 9
1
5 2 1
A-t-on besoin d’une recherche exhaustive ?
ALPHA-BETA
Pr. Imade BENELALLAM IA
• 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
h e
7 f 9
g 5
4
= +
a MAX
b MIN d
k
7
7
l
3
3 c
= -
4
, 7 , 5
, 5
ALPHA-BETA