Cinquième partie V. 5. Programmation des jeux de réflexion. Plan. Programmation des jeux vs. résolution de problèmes. En bref...



Documents pareils
Cours de Master Recherche

Arbres binaires de recherche

Les structures de données. Rajae El Ouazzani

Les arbres binaires de recherche

>> TECHNIQUES DE COMPTABILITÉ ET DE GESTION 410.B0

Conception et Développement d un moteur d intelligence artificielle pour un jeu d échecs multiplateformes

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

1 Modélisation d être mauvais payeur

Jeux sous forme extensive (Jeux dynamiques)

Algorithmes de recherche

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

ARBRES BINAIRES DE RECHERCHE

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Théorie des Jeux Et ses Applications

Introduction à la Théorie des Jeux p.1/77

Chapitre 7. Récurrences

Intelligence Artificielle Distribuée. Dossier technique. IAD TeamZ

Chapitre 10. Intelligence artificielle et jeux.

Quelques Algorithmes simples

Arbres binaires de décision

PROGRAMME AEC COMPTABILITÉ FINANCIÈRE INFORMATISÉE

Programmation par contraintes. Laurent Beaudou

Huitième partie VIII. Logique du premier ordre. Plan. En bref... Avantages et inconvénients de la logique propositionnelle. Avantages.

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Big Data et Graphes : Quelques pistes de recherche

Décision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck)

Big Data et Graphes : Quelques pistes de recherche

Examen Médian - 1 heure 30

Qualité du logiciel: Méthodes de test

Optimisation Discrète

10 tâches quotidiennes que devrait maîtriser votre système de sauvegarde des données

CORRECTION EXERCICES ALGORITHME 1

Igor Štohl - Les meilleures parties de Garry Kasparov / Volume 1 PARTIE 13

Le Pavé Mosaïque. Temple?» C est la question que je me posais la première fois que je vis le Pavé Mosaïque à

Cours 1 : La compilation

Algorithmes d'apprentissage

Dossier projet isn 2015 par Victor Gregoire

INF601 : Algorithme et Structure de données

Chapitre 5 : Flot maximal dans un graphe

Efficience des marchés et finance comportementale

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Quatrième partie IV. Test. Test 15 février / 71

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Intelligence Artificielle et Robotique

L apprentissage automatique

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

à la fonction remplie par la pièce. AMP 1200 est un système de ventilation décentralisée d'applications. AMP 1200 est une centrale

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Spécificités, Applications et Outils

Initiation à l algorithmique

Algorithmique I. Algorithmique I p.1/??

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Stratégie de recherche adaptative en programmation par contrainte

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Joueur B Pierre Feuille Ciseaux Pierre (0,0) (-1,1) (1,-1) Feuille (1,-1) (0,0) (-1,1) Ciseaux (-1,1) (1,-1) (0.0)

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation

Recherche dans un tableau

Programmation linéaire

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

QUI VEUT JOUER AVEC MOI?

Améliorer les performances du site par l'utilisation de techniques de Web Mining

Gestion mémoire et Représentation intermédiaire

Corrigé des TD 1 à 5

Intelligence Artificielle Planification

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Algorithmes de recherche d itinéraires en transport multimodal

CH.6 Propriétés des langages non contextuels

Les Cartes et leur Valeur

hp 10BII calculatrice financière

Comment faire passer un message

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

Poker. A rendre pour le 25 avril

Intelligence Articielle (1) Introduction

Samuel Bassetto 04/2010

«Valuation» et gestion du risque dans la biotech. 5 Février 2007

Anticiper et prédire les sinistres avec une approche Big Data

Organigramme / Algorigramme Dossier élève 1 SI

données en connaissance et en actions?

Classes et Objets en Ocaml.

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition

Intégration de la dimension sémantique dans les réseaux sociaux

À QUOI VOUS ATTENDRE SI VOUS ATTENDEZ [UN LOGO].

4AI04 - RIA Initiation à l Intelligence Artificielle. Raja Chatila Raja.Chatila@isir.upmc.fr Instructeurs TP: Mata Khalili, Alexandre Bazin

Master IMEA 1 Calcul Stochastique et Finance Feuille de T.D. n o 1

Métriques de performance pour les algorithmes et programmes parallèles

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives

Chapitre 7. Circuits Magnétiques et Inductance. 7.1 Introduction Production d un champ magnétique

MATH ELEMENTS DU CALCUL DES PROBABILITES

Retrouvez une explication vidéo sur scorpionmasque.com ou directement avec ce code QR.

Collection «Poker Expert» Sous la direction de François Montmirel. Parution le 25 février Poker Cash 1

Jeux mathématiques en maternelle. Activités clés. Jeu des maisons et des jardins (Yvette Denny PEMF)

DG-ADAJ: Une plateforme Desktop Grid

ESSEC. Cours «Management bancaire» Séance 3 Le risque de crédit Le scoring

Probabilités Loi binomiale Exercices corrigés

CHAPITRE 5. Stratégies Mixtes

Probabilités. I - Expérience aléatoire. II - Evénements

Big Data -Comment exploiter les données et les transformer en prise de décisions?

S initier aux probabilités simples «Question de chance!»

Transcription:

Plan Cinquième partie V Programmation des jeux de réflexion 1. ntroduction à l intelligence artificielle 2. Agents intelligents. Algorithmes classiques de recherche en A 4. Algorithmes et recherches heuristiques 5. Programmation des jeux de réflexion 6. Problèmes de satisfaction de contraintes 7. Agents logiques 8. Logique du premier ordre 9. nférence en logique du première ordre 10. ntroduction à la programmation logique avec Prolog 11. Planification 12. Apprentissage UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 114 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 115 / 415 En bref... Programmation des jeux vs. résolution de problèmes L élagage - L adversaire est imprévisible ) la solution doit être contingente Un temps limite est imposé ) quand il n est pas possible d atteindre le but il faut être capable de l approximer Pistes étudiées : 1. algorithme pour joueur parfait (Von Neumann, 1944) 2. horizon fini, évaluation approaximative (Zuse, 1945 ; Shannon 1950). élagage pour réduire le coût de recherche (McCarthy, 1956) Jeux non-déterminsites UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 116 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 117 / 415

Programmation des jeux de réflexion Les jeux de stratégies L arbre de recherche MiniMax Arbre de jeux du morpion () Les di érents types de jeux MN(O) imformation déterministe hasard parfaite é c h e c, r e v e r s i, g backgammon, o, monopoly morpion imparfaite bridge, pocker, scrabble () MN(O) O O O O O O Terminal O O O O O O O O O O Utilité -1 0 +1 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 118 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 119 / 415 L algorithme recherche MiniMax Donne le coup parfait pour un jeu déterministe à information parfaite dée : choisir le meilleur coup vers la position avec la meilleure valeur minimax = meilleur valeur possible contre le meilleur jeu de l adversaire Exemple d un jeu à deux coups : MN A1 A2 A 2 2 A11 A12 A1 A21 A22 A2 A1 A2 A 12 8 2 4 6 14 5 2 Algorithme funtion Minimax-Decision(game) returns an operator foreach op in Operators[game] do Value[op] Minimax-Value(Apply(op, game), game) return the op with the highest Value[op] funtion Minimax-Value(state, game) returns an utility value if Terminal-Test[game](state) then return Utility[game](state) else if Max is to move in state then return the highest Minimax-Value of Successors(state) else return the lowest Minimax-Value of Successors(state) UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 120 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 121 / 415

L e lagage - Jeux non-de terminsites Proprie te de MiniMax Ressources limite es Minimax s arre te toujours si l arbre est fini Optimal, si l adversaire est optimal Si b est le nombre de coups possibles par situation et m la profondeur maximale de l arbre, minimax a une complexite en temps de O(b m ) en espace O(bm) L e lagage - Jeux non-de terminsites Par exemple, on a 100 secondes et on peut explorer 104 nœuds par secondes. Donc, on peut regarder 106 nœuds par coup. Approches standard : Test d arre t (cuto ) : par exemple limiter la profondeur Fonction d e valuation = valeur estime e d une position Pour les e checs par exemple : b 5, m 100 ) solution exacte impossible UPMF Dept. nformatique ntroduction a l intelligence artificielle et a la robotique 122 / 415 L e lagage - Jeux non-de terminsites Fonction d e valuation L e et horizon Noir joue Blanc joue (blanc en meilleur position) (noir gagne) UPMF Dept. nformatique ntroduction a l intelligence artificielle et a la robotique 12 / 415 L e lagage - Jeux non-de terminsites Aux e checs on choisit par exemple une somme line aire ponde re e de caracte ristiques. Eval(s) = w1 f1 (s) + w2 f2 (s) +... + wn fn (s) Dans cette position Noir peut mettre le roi blanc en e chec un certain nombre de fois mais le pion blanc va se transformer ine vitablement en reine. On en s aperc oit tre s tard. e.g., w1 = 9 et f1 = (le nombre de reines blanches) - (le nombre de reines noires), etc. ntroduction a l intelligence artificielle et a la robotique UPMF Dept. nformatique 124 / 415 ntroduction a l intelligence artificielle et a la robotique UPMF Dept. nformatique 125 / 415

Arrêter la recherche On peut facilement modifier l algorithme minimax en ajoutant un test d arrêt (remplacer Terminal-Test par Cutoff-Test et en remplaçant Utility par Eval. En pratique : problèmes de performances, e.g., b m =10 6 et b =5. Donc m =4. Aux échecs on ne pourrait que regarder 4 demi-coups en avance Un humain normal 4 coups d avance Un ordinateur classique et un expert humain 8 coups d avance Deep Blue, Kasparov 12 coups d avance dée : Élaguer des branches inutiles ) algorithme - MN 12 8 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 126 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 127 / 415 MN 2 MN 2 14 12 8 2 12 8 2 14 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 127 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 127 / 415

MN 2 14 5 MN 2 14 5 2 12 8 2 14 5 2 12 8 2 14 5 2 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 127 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 127 / 415 Propriétés Pourquoi ce nom? L élagage n a ecte pas le résultat final Un bon choix améliore l e cacité de l élagage Avec un choix parfait la complexité en temps est O(b m/2 ) ) double la profondeur de recherche par rapport à Minimax ) peut facilement atteindre des profondeurs de l ordre de 8 coups d avance aux échecs MN V est la meilleure valeur (la plus grande) pour trouvée jusqu à présent en dehors du chemin actuel Si V est pire que va l éviter ) élaguer la branche Définir d une manière similaire pour MN : est la meilleur valeur (la plus petite) pour MN jusqu à présent UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 128 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 129 / 415

L algorithme Max-Value L algorithme Min-Value Algorithme funtion Max-Value(state, game,, ) returns the minimax value of state state, currentstateingame input: game, gamedescription, the best score for Max along the path to state, the best score for Min along the path to state if Cutoff-Test(state) then return Eval(state) foreach s in Successors(state) do Max(,Min-Value(s, game,, )) if then return return Algorithme funtion Min-Value(state, game,, ) returns the minimax value of state state, currentstateingame input: game, gamedescription, the best score for Max along the path to state, the best score for Min along the path to state if Cutoff-Test(state) then return Eval(state) foreach s in Successors(state) do Min(,Min-Value(s, game,, )) if then return return UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 10 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 11 / 415 Valeur exacte des nœuds n est pas importante Remarques MN 1 1 2 2 1 2 4 Seulement l ordre est important 20 1 20 20 40 Le comportement est préservé pour chaque transformation monotone de la fonction Eval L ordre dans lequel on visite les fils est important Si on trouve rapidement une bonne valeur, on élague plus de nœuds On peut trier les fils par leur utilité l y a d autres améliorations Au mieux, on visite p n nœuds au lieu de n = b m pour minimax Aux échecs on utilise au début du jeu des bases de données d ouverture, au milieu - et à la fin des algorithmes spéciaux UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 12 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 1 / 415

Définition : Une stratégie (complète) pour le joueur max, étant donné un arbre de jeux A, estunsous-arbre,qui contient la racine de A dont chaque nœud Max a exactement un fils dont chaque nœud Min a tous ses fils Une stratégie partielle pour le joueur max, étant donné un arbre de jeux A, est un sous-arbre de A, qui contient sa racine dont chaque nœud Max a au plus un fils Une stratégie partielle S représente implicitement toutes les stratégies complètes C S auxquelles on aboutie en développant S La valeur d une stratégie est le minimum des valeurs des feuilles La valeur d une stratégie partielle S donne une borne supérieur pour toutes ses stratégies complètes C S dée : On recherche a compléter les stratégies partielles suivant leur valeur jusqu à présent Une fois quand a trouvé la stratégie optimale complète à partir d un nœud x on ne considère plus les autres de x UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 14 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 15 / 415 Exemple Exemple a a MN b c d MN b c d e f g h i j k e f g h i j k l m n o p q r s t u v w x y 9 7 2 9 2 9 2 8 10 2 l m n o p q r s t u v w x y 9 7 2 9 2 9 2 8 10 2 Trois stratégies partielles UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 16 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 16 / 415

Exemple Exemple a a MN b c d MN b c d e f g h i j k e f g h i j k l m n o p q r s t u v w x y l m n o p q r s t u v w x y 9 7 2 9 2 9 2 8 10 2 9 7 2 9 2 9 2 8 10 2 On a trouvé une startégie complète (par construction la meilleur) On développe la meilleure stratégie, puis on voit que la troisième pourrait être meilleure UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 16 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 16 / 415 Détails de l algorithme L algorithme Successors(x) donne pour tout nœud x la liste des successeurs Eval(x) donne l évaluation d un noeud x Max(x) est vrai si et seulement si x est un nœud max On utilise une pile P pour mettre les nœuds encore à traités Ordonnate(P, hx, f, hi) met hx, f, hi dans la pile, ordonnée en ordre descendant par les valeurs h. SidansP il y a déjà un élément avec la même valeur h on range hx, f, hi avant. l y a deux types de nœuds : f :fermé(lastratégieoptimalepourluiestconnu) v :vivant Algorithme funtion Valeur(x 0 :node)returns un réel P (hx 0, v, 1i) repeat hx, s, hi First(P) ; P Rest(P) ; x 1, x 2,...,x m S(x) if s = v then if m =0then Ordonnate(P, hx, f,min(h,eval(x))i) else if Max(x) then Stack(P, hx 1, v, hi,...,hx m, v, hi) else Stack(P, hx 1, v, hi) else if Max(x) then if x has a child y then Stack(P, hy, v, hi) else z Parent(x) ; Stack(P, hz, f, hi) else z Parent(x) ; Stack(P, hz, f, hi) ; Remove-All-Child(z) until P = hx, f, hi return h UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 17 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 18 / 415

Traces Jeux non-déterministes ha, v, 1i hb, v, 1ihc, v, 1ihd, v, 1i he, v, 1ihc, v, 1ihd, v, 1i hl, v, 1ihm, v, 1ihc, v, 1ihd, v, 1i hm, v, 1ihc, v, 1ihc, v, 1ihl, f, 9i hc, v, 1ihd, v, 1ihl, f, 1ihm, f, i hh, v, 1ihd, v, 1ihl, f, 1ihm, f, i hr, v, 1ihs, v, 1ihd, v, 1ihl, f, 9ihm, f, i hs, v, 1ihd, v, 1ihl, f, 9ihr, f, ihm, f, i hd, v, 1ihl, f, 9ihr, f, ihm, f, ihs, f, 2i hj, v, 1ihl, f, 9ihr, f, ihm, f, ihs, f, 2i hv, v, 1ihw, v, 1ihl, f, 9ihr, f, ihm, f, ihs, f, 2i hw, v, 1ihl, f, 9ihv, f, ihr, f, ihm, f, ihs, f, 2i hl, f, 9ihw, f, 8ihv, f, ihr, f, ihm, f, ihs, f, 2i etc. Dans le Backgammon par exemple, le lancer des dés détermine les coups corrects. Exemple simplifié avec lancer d une pièce de monnaie : CHANCE MN 2-1 0.5 0.5 0.5 0.5 2 4 7 4 4 0-2 6 0 5-2 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 19 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 140 / 415 Algorithmes pour les jeux non-déterministes Valeur exacte des nœuds est importante Expectimax donne coup parfait comme Minimax On doit considérer les nœuds CHANCE On doit ajouter dans l algorithme : if state is a chance node then return average of Expectimax-Value of Successors(state) CHANCE MN A1 A2 2.1 1. 0.9 0.1 0.9 0.1 2 1 4 A1 A2 21 40.9 0.9 0.1 0.9 0.1 20 0 1 40 peut être adapté, si Eval est bornée. 2 2 1 1 4 4 20 20 0 0 1 1 40 40 Le comportement est préservé seulement pour chaque transformation positive et linéaire de EVAL Eval doit être proportionnelle au gain attendu UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 141 / 415 UPMF Dept. nformatique ntroduction à l intelligence artificielle et à la robotique 142 / 415