Les jeux (méthodes min-max et -)

Slides:



Advertisements
Présentations similaires
Résolution Graphique d'un Programme Linéaire
Advertisements

La Méthode de Simplexe Standardisation
Probabilités et statistiques au lycée
La méthode du simplexe.
La coupe des matériaux: identification des paramètres
Modèle des jeux et des mécanismes
1 Modèles Economiques en Informatique Michel de Rougemont Université Paris II.
Calculs de complexité d'algorithmes
CHAP 1. Les critères de décision en univers non mesurable
CHAPITRE 2. Les critères de décision en univers mesurable
Cours d'algorithmique 4 - Intranet 1 16 novembre 2006 Cours dAlgorithmique Lalgorithme alpha-beta. Sous-arbres alpha et beta dun arbre minimax et propriétés.
Corrélations et ajustements linéaires.
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Utilisation des tableaux
Comment dimensionner une pièce Notions de RDM
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Systèmes d’équations du premier degré à deux variables
Systèmes d’équations du premier degré à deux variables
Algorithmes Branch & Bound
MinMax et Alpha-Beta.
Heuristiques A. Introduction B. Recherche d ’une branche
Jeu dOthello Projet dAlgorithmique et Programmation.
Management d'entreprise et stratégie du Go Un autre regard sur lentreprise Francis TOUAZI et Cécile GEVREY septembre 1994 Synthèse réalisée par Alexandre.
Optimisation linéaire
A B LE BUT TIRÉ EN A EST DEVIÉ PAR UN JOUEUR AVANT DE SIMMOBILISER EN B. QUE SE PASSE-T-IL ? LE BUT N ÉTAIT PAS MARQUÉ IL RESTE EN PLACE (EN B) LE BUT.
Recherche adversiale (Jeux à 2 joueurs) Chapter 6 Section 1 – 4.
Introduction aux probabilités
3.6 Les équations de la cinématique à accélération constante MRUA
Algorithmes au lycée. Extrait Bac S Métropole Juin 2012.
Méthodes de prévision (STT-3220)
Éric Beaudry Département d’informatique Université de Sherbrooke
Froduald Kabanza Département d’informatique Université de Sherbrooke
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
CSI 4506: Introduction à l'intelligence artificielle La recherche aveugle.
CSI 4506: Introduction à l’intelligence artificielle
1 CSI 4506: Introduction à lintelligence artificielle La recherche adversairiale.
Algorithmes d ’approximation
STT-3220 Méthodes de prévision Section 2 Modèle avec deux variances inconnues: Méthode reposant sur un test préliminaire Version: 21 janvier 2008.
GPA750 – Gestion de Projets
Tutorat en bio-informatique Le 21 novembre Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez.
Programmation linéaire en nombres entiers : les méthodes de troncature
Analyse des Algorithmes
Chapitre 5 Prévisions.
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
LA SEANCE 1. Qu ’est-ce que je veux faire? (choisir ses objectifs)
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
Programmation dynamique
Projet IAMR T : Réalisation d’intelligence artificielle pour le jeu Puissance 4 Juliet Eichen, Patrick Sterlin, Charles Letaillieur Réalisation d’intelligence.
Deep Blue Champion d'échecs processeurs Logiciel d'ouvertures
Prise de decision en avenir incertain.
Programmation linéaire en nombres entiers
Algorithmes Branch & Bound
I.A. Session 2009/2010 E.P.S.I. Bordeaux – C.S.I.I – 2 ème Année – Cours n°6.
Intelligence Artificielle
CSI 4506: Introduction à l’Intelligence Artificielle
Exploration systématique de graphes
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
TIPE Les dames chinoises
Quinze règles.
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Thème 4 : Les éléments naturels. Cours 2 : L’eau dans la nature et chez les êtres vivants. Mathématiques Guide du Maître Thème : Numération. Cours 17 :
Le Jeu et l’intelligence artificielle
Points de victoires : faire la somme des points des unités ennemies détruites (page 86) y ajouter le nombre de points de vos unités opérationnelles et/ou.
1 CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Adversariale.
AIDE à la DECISION Critères IAE de Picardie - LP1.
Tournoi 2 Élimination simple avec consolation et élimination double.
Programmation par contraintes Réalisé par: WETCHA Chaima MOKDED Mohamed Ali FIA3-GL-AL 1 1.
C9-1 Modèles décisionnels en gestion Introduction Les modèles linéaires La résolution des modèles linéaires continus La programmation linéaire en nombres.
1 A. Cornuéjols Introduction à l’intelligence artificielle Introduction à l’Intelligence Artificielle (Cours n°3) Recherche informée dans les graphes Antoine.
Techniques d'Optimisation Master
Transcription de la présentation:

Les jeux (méthodes min-max et -) L3 MI

Introduction (1) Algorithme du minimax (ou min-max) Recherche du meilleur coup Jeux à somme nulle Jeu confrontant deux joueurs, S'achève à la victoire d'un des joueurs ou après un match nul. Exemples : dames, échecs, puissance 4, …

Introduction (2) Principe de fonctionnement : comparaison entre les différents choix proposés à l'ordinateur Aboutir à une situation paraissant avantageuse, Il est essentiel de pouvoir apprécier une situation donnée c’est-à-dire de pouvoir la noter de façon numérique.

Fonction d’évaluation Estime la force d’une position. Exemple de valeurs : f(n) > 0 : position favorable au programme et défavorable à l’adversaire f(n) < 0 : position défavorable au programme et favorable à l’adversaire f(n) = 0 : position équilibrée f(n) = + ∞ : le programme gagne f(n) = - ∞ : l’adversaire gagne Généralement, fonction linéaire : ce que l’un des joueurs gagne l’autre le perd.

Une méthode naïve Nœud terminal le plus favorable = nœud I (valeur 9). -5 C D 2 E 3 F -7 G H I J -6 K L M 1 N O Actions possibles du programme Actions possibles de l’adversaire États terminaux Nœud terminal le plus favorable = nœud I (valeur 9). Le programme joue C qui permet d'atteindre l'état I. L'adversaire doit choisir entre les états H, I et J. Il joue logiquement J qui l'amène dans un état favorable  Le programme perd. Les états D et E auraient été préférables.

Principe du min-max (1) Exemple précédent : en jouant le coup étant susceptible de l'amener dans la meilleure situation possible, le programme a perdu. Raison : on ignore les mouvements de l'adversaire. Solution : toujours se préparer au pire (c’est-à-dire que l'adversaire jouera le meilleur coup possible pour lui).

Le principe de la méthode min-max (2) Choisir les actions qui maximisent la fonction d'évaluation en supposant que l'adversaire choisira les actions qui la minimiseront. Etendre l'arbre de jeu jusqu'au nœuds terminaux (ou à une profondeur déterminée), Calculer la valeur de la fonction de gain pour chaque nœud terminal, Propager ces valeurs aux nœuds parents (non-terminaux) en affectant à un nœud : La valeur minimum de ses fils lorsqu'ils résultent d'action de l'adversaire, La valeur maximum de ses fils lorsqu'ils résultent d'action du programme. Dans le premier cas, le parent est dit MIN, MAX dans le second.

MIN-MAX A 3 B -5 C 3 D E -7 F 4 G -5 H 3 I 8 J 9 K 5 L 2 M -7 N 4 O -5 E -7 F 4 G -5 H 3 I 8 J 9 K 5 L 2 M -7 N 4 O -5 S 3 T 5 U -7 V -9 P 9 Q -6 R W -3 X -5 Programme - max Z # Etats terminaux Adversaire - min

Le principe de l’élagage - (1) Certaines actions ne seront pas choisies par un adversaire intelligent. Il faut élaguer ces parties de l’arbre, c’est-à-dire ne pas la développer. Etendre l’arbre de jeu jusqu’à une profondeur N par recherche en profondeur, Ne plus développer les successeurs d’un nœud dès qu’il est évident que ce nœud ne sera pas choisi (compte tenu des nœuds déjà examinés), Chaque nœud MAX garde la trace d’une α-valeur égale à la valeur de son meilleur successeur trouvé jusqu’ici, Chaque nœud MIN garde la trace d’une ß-valeur égale à la valeur de son plus mauvais successeur trouvé jusqu’ici.

Règles d’élagage Interrompre la recherche d’un nœud MAX si sa α-valeur ≥ β-valeur de son parent Interrompre la recherche d’un nœud MIN si sa β-valeur ≤ α-valeur de son parent

- A B C D E F G -5 H 3 I 8 J K L 2 M N 4 O S 3 T 5 U -7 V -9 P 9 Q =3 B =-5 C =3 D E =2 F =4 G -5 H 3 I 8 J =9 K =5 L 2 M N 4 O =-3 S 3 T 5 U -7 V -9 P 9 Q -6 R W -3 X -5 Programme - max Z # Etats terminaux Adversaire - min

Statistiques Voici un exemple de comparaison de coût sur un algo min-max avec et sans coupures α-β. Ces mesures ont été prises sur un programme jouant au jeu Othello et analysant 5 coups à l'avance (profondeur de l'arbre = 5)

En résumé Les algorithmes de jeux utilisent des arbres de recherche représentant alternativement les actions du programme et celles de l’adversaire. La fonction d’évaluation estime la qualité d’une situation pour chaque joueur : une valeur positive correspond à une situation favorable au programme une valeur négative correspond à une situation défavorable au programme une valeur nulle correspond à un équilibre Min-max est une procédure qui choisit les actions en supposant que l’adversaire choisira toujours sa meilleure action. L’élagage α-β est une procédure qui peut éliminer une grande partie de l’arbre de recherche permettant ainsi d’augmenter la profondeur de recherche. A l'origine les stratégies de jeux ont été étudiées pour aider la recherche en intelligence artificielle mais leur force réside principalement dans la puissance de calcul des machines.