Introduction Le min-MAX La conception
Exemple de conception
les jeux `a 2 joueurs
Conception Orient´
ee Objet
Jean-Christophe Routier
Licence mention Informatique
Universit´
e Lille 1
Universit´
e Lille 1 - Licence Informatique Conception Orient´
ee Objet 1
Introduction Le min-MAX La conception
Algorithme min-MAX
Iun exemple de conception sur un algorithme “g´
en´
erique”
Contexte :
Ijeux `
a deux joueurs `
a information compl`
ete et `
a somme nulle
,dames, puissance 4, ´
echecs, othello, etc.
Iles joueurs jouent un coup chacun leur tour,
Ion veut faire jouer le programme,
Universit´
e Lille 1 - Licence Informatique Conception Orient´
ee Objet 2
Introduction Le min-MAX La conception
Pr´esentation du probl`eme
Le d´
eroulement des parties d’un jeu peut ˆ
etre repr´
esent´
e par un arbre de
jeu :
Iracine = situation initiale,
Inœuds = une situation l´
egale du jeu
Ifils d’un nœud = situations filles, c-`
a-d que l’on peut atteindre `
a partir
de ce nœud en respectant les r`
egles du jeu
Iune branche = une s´
equence de coups (l´
egaux) dans une partie
Faire jouer le programme :
Ichoisir parmi les fils de la racine le “meilleur” coup `
a jouer
Icela se fait en anticipant sur le devenir des situations (pas de calcul `
a
court terme) : “on calcule des coups en avant”
Universit´
e Lille 1 - Licence Informatique Conception Orient´
ee Objet 3
Introduction Le min-MAX La conception
Le min-MAX
IIl faut disposer d’un fonction num´
erique φqui attribue une valeur
num´
erique `
a une situation de jeu
φ:Situation 7→ Nombre
cette fonction est croissante avec la qualit´
e de la situation.
ILe but du programme est de maximiser la situation atteignable.
Le but de son adversaire est inverse : il cherche `
a minimiser la
situation atteignable
IIl faut simuler le jeu de l’adversaire dans le calcul de l’anticipation des
coups jou´
es
,le programme suppose que l’adversaire joue au mieux
,et donc qu’il joue comme le programme (avec un objectif oppos´
e)
Universit´
e Lille 1 - Licence Informatique Conception Orient´
ee Objet 4
Introduction Le min-MAX La conception
L’algorithme
minmax(situation, profondeur, joueur)
situation la situation courante (racine de l’arbre de jeu)
profondeur le nombre de coups d’anticipation
joueur min ou MAX
appel : minmax(situation initiale,profondeur,MAX)
minmax(situation, prof, joueur) =
si prof = 0 ou situation est terminale
retourner φ(situation )
sinon
situFilles = les situations filles l´egales de situation
si joueur = MAX
retourner maxfillesituFilles {minmax(fille,prof 1,min)}
sinon // joueur = min
retourner minfillesituFilles {minmax(fille,prof 1,MAX)}
fin si
fin si
Universit´
e Lille 1 - Licence Informatique Conception Orient´
ee Objet 5
1 / 15 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !