Froduald Kabanza Département d’informatique Université de Sherbrooke

Slides:



Advertisements
Présentations similaires
GESTION DE PORTEFEUILLE chapitre n° 4 C. Bruneau
Advertisements

GESTION DE PORTEFEUILLE chapitre n° 4 C. Bruneau
Modèle des jeux et des mécanismes
1 Modèles Economiques en Informatique Michel de Rougemont Université Paris II.
Modèle des jeux et des mécanismes
Algorithmes et structures de données avancés
Chapitre 2 : Les théories de la décison
La théorie des jeux.
Journée Francilienne de recherche Opérationnelle Politiques de gestion de coûts de transit dans lInter domaine basé sur BGP Loubna ECHABBI Dominique BARTH,
Capital Structure and Signaling Game Equilibria
Introduction à la théorie des jeux
IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département d’informatique.
Génération de colonnes
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Prise de décision dans les shooters TER 08/09 Sandrine Buendia
IFT 702 – Planification en intelligence artificielle Planification par recherche heuristique dans un espace d’états Froduald Kabanza Département d’informatique.
Les jeux (méthodes min-max et -)
Behavioral economics Economie comportementale Claudia Senik Université Paris-4 Sorbonne Paris School of Economics
IFT313 Introduction aux langages formels
IFT 615 – Intelligence Artificielle Satisfaction de contraintes
Froduald Kabanza Département d’informatique Université de Sherbrooke
Froduald Kabanza Département d’informatique Université de Sherbrooke
IFT 615 – Intelligence Artificielle Satisfaction de contraintes
Éric Beaudry Département d’informatique Université de Sherbrooke
Froduald Kabanza Département d’informatique Université de Sherbrooke
Intelligence artificielle dans les jeux RTS
Microéconomie et Finance
GPA750 Les ateliers multigammes Chapitre 5
1 CSI 4506: Introduction à lintelligence artificielle La recherche adversairiale.
Algorithmes d ’approximation
Vincent Thomas Christine Bourjot Vincent Chevrier
Simon Langevin Mathieu Poisson
GPA750 – Gestion de Projets
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Réseaux bayésiens: Inférence
Dans Man, the State, and War (1959), première grande contribution de Kenneth Waltz à la science politique, ce dernier propose une typologie des causes.
Eléments de correction du galop
Dév. d’application interactive III Recherche de chemin.
Programmation dynamique
Gestion du portefeuille 06 A – Capital Asset Pricing Model
Programmation linéaire en nombres entiers
L’économie de concurrence parfaite
IFT 615 – Intelligence artificielle Réseaux bayésiens
IFT 702 – Planification en intelligence artificielle Planification par recherche dans un espace de plans Froduald Kabanza Département d’informatique Université.
Foued Mnasri Weal Rekik
Cours 11 - Théorie des jeux et stratégies en concurrence
Intelligence Artificielle
Jeux répétés.
IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique.
Exploration systématique de graphes
Recherches locales et méta-heuristiques
Équilibre de satisfaction
TIPE Les dames chinoises
Distributed Planning Distributed Problem Solving, motivations, strategies. Distributed Planning : Centralized planning for distributed plans. Distributed.
Trajectory Tree [1] Patrick Cinq-Mars. © Name – Month YEAR2 / TOTAL PAGES TTree: Tree-Based State Generalization with Temporally Abstract Actions William.
IFT 615 – Intelligence artificielle Consignes pour l’examen final
- 5 - Optimisation linéaire et non-linéaire
Le chaos pourquoi ? Permet de modéliser un type de mouvement récent qui n’est ni uniforme, ni accéléré. Des dynamiques chaotiques ont été mises en évidence.
Décision incertaine et logistique : Grille typologique
Programmation dynamique
CHAPITRE 5. La théorie de l’assurance
Le Dilemme du prisonnier
Les systèmes de jeux deviennent de plus en plus complexes, nécessitant que l’Intelligence Artificielle progresse elle aussi en parallèle. Dans ce contexte,
IFT – Ingénierie des connaissances Exposé d’article
1 CSI 4506: Introduction à l’Intelligence Artificielle La Recherche Adversariale.
Programme linéaire - solution graphique
Programmation par contraintes Réalisé par: WETCHA Chaima MOKDED Mohamed Ali FIA3-GL-AL 1 1.
Froduald Kabanza Département d’informatique Université de Sherbrooke
Froduald Kabanza Département d’informatique Université de Sherbrooke
Transcription de la présentation:

IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702

Sujets couverts Catégories de problèmes de planification multi-agent Approches de coordination Planification adversariale et la théorie des jeux Références: Yoav Shoham and Kevin Leyton-Brown. Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations. Chapitres 1 à 2 et Chapitre 5. Browne et al. A Survey of Monte Carlo Tree Search Methods. IEEE Transactions on Computational Intelligence and AI in Games, VOL. 4, NO. 1, March 2012 © Froduald Kabanza IFT702

Planification multi-agents Planification multi-agent signifie planifier pour plusieurs agents Un seul agent qui planifie pour plusieurs Plusieurs agents qui planifient en même temps (ensemble ou en compétition) Pourquoi plusieurs agents? Chercher l’efficacité (en temps de calcul) Chercher la robustesse – un agent peut tomber en panne, les autres vont assurer la solution du problème. Le problème implique intrinsèquement plusieurs agents Nouveaux défis: Coordination des agents Repenser les algorithmes pour assurer l’optimalité. California Institute of Technology © 2004 r1 r2 r5 r4 r3 Coordination signifie essentiellement: Gérer la communication Gérer les conflits Livraison de colis © Froduald Kabanza IFT702

Catégories de problèmes IFT615 © Froduald Kabanza

Types de problèmes de planification multi-agent Coopératif : but commun, fonction d’utilité commune. Exemple: Réseau de capteurs distribués. Adversarial : buts ou fonctions d’utilité opposées Exemple: Jeux RTS Coalition: Jeux RTS multi-joueurs Robot soccer Quel intérêt pour avoir plusieurs agents ? Il y a des tâches qu’un seul agent ne peut pas faire tout seul : e.g., soulever des charges, marquer des buts au soccer. Une équipe peut faire des tâches plus rapidement: explorer un grand territoire sur mars, se localiser en échangeant les informations. Certaines tâches sont naturellement multi-agents: e.g., montage automobile. Réseau de capteurs distribués qui poursuit un véhicule ou une personne dans un habitat intelligent © Froduald Kabanza IFT702

Approches de coordination IFT615 © Froduald Kabanza

Planification centralisée Planificateur central Exécution de plans individuels Planification centralisée, exécution décentralisé Le planificateur central doit être capable de traiter des Activités concurrentes Buts temporels Les algorithmes de planification vus jusqu’ici (pour un seul agent) conviendraient, mais seraient inefficaces: Il faut ajouter un middleware de communication entre les agents. IFT702 © Froduald Kabanza 7

Planification décentralisée – fusion de plans (plan merger) Planificateur individuel Planificateur individuel Planificateur individuel Exécution de plans individuels Des plans individuels peuvent être générés séparément et fusionnés ensuite (plan merging). Des algorithmes de fusion de plans existent: voir quelques références dans la section 24.4 du livre. Fusion de plans: Étant donné les plans individuels pour chacun des agents: - examiner toutes les combinaisons possibles (par exemple, tous les entralacements ou par une recherche dans l’espace de plans). - résoudre les inconsistences par les mêmes techniques que la planification ordinaire (ajouts de contraintes, backtracking, etc.) IFT702 © Froduald Kabanza 8

Planification complètement décentralisée Exécution de plans individuels Indor sensor network Dans une approche complètement distribuée, chaque agent calcule son plan en échangent des données avec les autres. Exemple: Distributed CSP (DCSP): Chapitre 1 & 2 de [Shoam et Leyton-Brown] Problème: Allouer des capteurs aux cibles, étant donné des contraintes de visibilité (obstacles) et de compatibilité, de sorte que l’on puisse suivre les cibles en tout temps et le choix des fréquences des capteurs ne cause pas des interférences. Il y a interférence quand deux capteurs ayant des rayons d’action qui se chevauchent utilise la même fréquence. IFT702 © Froduald Kabanza 9

Distributed CSP Une généralisation à plusieurs agents de backtracking-search pour CSP (IFT615) Pour des problèmes de planification coopérative Exemple: Réseau de capteurs distribués (SensorDCSP) Chapitre 1 de [Shoam et Leyton-Brown] Outdoor sensor network Indor sensor network © Froduald Kabanza IFT702

Sensor DCSP - Enoncé du problème Plusieurs capteurs: s1, …, sm Chaque capteur a un rayon d’action Peut être obstrué par des obstacles dans l’environnement Peut fonctionner sur des fréquences différentes Les rayons d’action des capteurs peuvent se chevaucher Plusieurs cibles à suivre: t1, …, tn. Problème: Allouer des capteurs aux cibles, de sorte que l’on puisse suivre les cibles en tout temps et qu’il n’y ait pas d’interférences entre les capteurs. Il y a interférence lorsque deux capteurs avec des rayons d’action qui se chevauchent utilisent la même fréquence. Peut se modéliser comme un problème CSP © Froduald Kabanza IFT702

Rappel IFT615 – Problème CSP Formellement, un problème de satisfaction de contraintes (ou CSP pour Constraint Satisfaction Problem) est défini par: Un ensemble fini de variables X1, …, Xn. Chaque variable Xi a un domaine Di de valeurs permises. Un ensemble fini de contraintes C1, …, Cm sur les variables. Une contrainte restreint les valeurs pour un sous-ensemble de variables. Un état d’un problème CSP est défini par une assignation de valeurs à certaines variables ou à toutes les variables. {Xi=vi,Xn=v1,…}. Une assignation qui ne viole aucune contrainte est dite consistante ou légale. Une assignation est complète si elle concerne toutes les variables. Une solution à un problème CSP est une assignation complète et consistante. Parfois, la solution doit en plus maximiser une fonction objective donnée. IFT615 © Froduald Kabanza

Rappel IFT615 - Exemple : Colorier une carte On vous donne une carte de l’Australie : Et on vous demande d’utiliser seulement trois couleurs (rouge, vert et bleu) de sorte que deux états frontaliers n’aient jamais les mêmes couleurs. On peut facilement trouver une solution à ce problème en le formulant comme un problème CSP et en utilisant des algorithmes généraux pour CSP. IFT615 © Froduald Kabanza

Rappel IFT615 - Graphe de contraintes Pour des problèmes avec des contraintes binaires (c-à-d., entre deux variables), on peut visualiser le problème CSP par un graphe de contraintes. Un graphe de contraintes est un graphe dont les nœuds sont des variables (un nœud par variable) et les arcs sont des contraintes entre les deux variables. WA≠ NT WA≠ SA NT≠ Q NT≠ SA Q≠ SA Q≠ NSW NSW≠ V SA≠ V SA≠ NSW IFT615 © Froduald Kabanza

Rappel IFT615 - Backtracking search function BACKTRACKING-SEARCH(csp) return a solution or failure return BACKTRACK({} , csp) function BACKTRACK(assignment, csp) return a solution or failure if assignment is complete then return assignment var  SELECT-UNASSIGNED-VARIABLE(var, assignment, csp) for each value in ORDER-DOMAIN-VALUES(var, assignment, csp) do if value is consistent with assignment then add {var=value} to assignment inferences  INFERENCES(csp, var, value) // e.g., AC-3 if inferences  failure then add inferences to assignment result  BACTRACK (assignment, csp) if result  failure then return result remove {var=value} and inferences from assignment return failure Puisque la représentation du domaine est standardisée, pas besoin de spécifier les fonctions successeurs et le but. Elles sont implicites. BACKTRACK est une recherche en profondeur. Pas besoin de maintenir un graphe de nœuds (closed). Open implicitement représenté par la pile de récursivité. On aurait pu être tenté d’utiliser une recherche dans un graphe classique telle que chaque nœud du graphe est une assignation partielle et une action consiste à ajouter var=value à l’assignation. Supposons n variable avec un domaine de taille d pour chaque variable. Cela donne nd nœuds au premier niveau du graphe. Au second niveau, le facteur de branchement est (n-1)d et ainsi de suite. En tout, l’arbre aurait n!*d^n feuilles, mêmes s’il y a seulement d^n assignations complètes possibles. Le problème avec cette formulation naïve est qu’elle ignore la commutativité des assignations! (Voir Page 214). BACKTRACK considère seulement une seule variable à chaque niveau de l’arbre. IFT615 © Froduald Kabanza

DCSP Dans DCSP, chaque variable est possédée par un agent. Le problème demeure de trouver une assignation qui satisfait les contraintes. Chaque agent décide de la valeur de sa variable avec une certaine autonomie. Et les agents le font en parallèle. Chaque agent n’a pas une vue globale des assignations, mais il peut communiquer avec les agents voisins (selon le graphe des contraintes) pour connaître leurs valeurs. Un algorithme DCSP consiste à avoir les agents qui communiquent avec leurs voisins, chacun mettant à jour sa valeur, de sorte que le processus converge éventuellement vers une assignation complète et satisfaisante. Le chapitre 1 [Shoam et Leyton-Brown] décrit deux algorithmes en détail. © Froduald Kabanza IFT702

Planification adversariale IFT615 © Froduald Kabanza

Théorie des jeux Modéliser des situations où les décisions de l’agent sont influencées par celles des autre agents (et vice-versa) Pas seulement des situations de compétition Mais aussi des situations de coopération (exemple, entre des firmes pour former un cartel) et de coalition. Ici je couvre seulement les jeux entre adversaires. IFT702 18

Théorie des jeux Très utilisée en économie Hypothèses Modélise des situations économiques de coopération/compétition Hypothèses Rationalité: maximiser l’utilité espérée Où l’utilité dépend des décisions des autres agents Égoïsme: indifférence face à l’utilité des autres joueurs p(i)*u(xi), comment trouver p(i)? i IFT702 19

Théorie des jeux Types de jeux Coopératif / Non coopératif Somme nulle / Somme générale Simultanés / Séquentiels Information complète / incomplète Information parfaite / imparfaite Types de représentation Normale (matricielle) Extensive (arbre de jeu) Ici, j’utilise une représentation extensive Somme nulle = somme des utilités toujours égale à 0 Somme constante = somme des utilités toujours égale à une constante c (e.g. jeu d’échecs avec 0 point pour défaite, ½ pour une nulle et 1 pour une victoire) Peut être transformé trivialement en jeu à somme nulle en soustrayant une constante à chaque utilité Somme générale IFT702 20

Concepts basiques Comment dans la planification MDP, le but est pour chaque agent de maximiser sa fonction d’utilité. La différente notable est que nous avons maintenant plusieurs agents, possiblement avec des fonctions d’utilité opposées. L’équivalent d’un plan (ou politique) dans les jeux est une stratégie Choix d’actions pour un jouer pour toutes les phases du jeu. Stratégie pure (fixée pour chaque état du jeu) vs stratégie mixte (aléatoire) Au lieu de plan/stratégie optimal, on parle de concept d’équilibre. Il y a plusieurs concept d’équilibres. Somme nulle = somme des utilités toujours égale à 0 Somme constante = somme des utilités toujours égale à une constante c (e.g. jeu d’échecs avec 0 point pour défaite, ½ pour une nulle et 1 pour une victoire) Peut être transformé trivialement en jeu à somme nulle en soustrayant une constante à chaque utilité Somme générale IFT702 21

Équilibre de Nash Étant donné un ensemble de stratégies (une pour chaque agent), elles sont en équilibre de Nash si et seulement si chaque stratégie est la meilleure réponse face aux autres stratégies Autrement dit, aucun agent n’a intérêt à dévier de sa stratégie si les stratégies des adversaires restent fixes. L’équilibre de Nash est conservatrice Donne une stratégie optimale si effectivement les autres agents jouent selon l’équilibre (jouent de façon optimale) Elle n’exploite pas les faiblesses éventuelles des autres agents Selon notre définition de rationalité, un agent rationnel se comporte donc aléatoirement. IFT702 22

Jeux sous forme normale Exemple à somme générale: dilemme des prisonniers Se taire Dénoncer (-0.5, -0.5) (-10, 0) (0, -10) (-5, -5) Solution: équilibre de Nash Dans cet exemple: { (Dénoncer), (Dénoncer) } IFT702 23

Jeux sous forme normale Exemple à somme nulle: build orders Solution: équilibre de Nash Dans cet exemple: { (25% Proxy Gates, 50% 2 Gates, 25% Fast Expand), (17% 4 Pool, 48% 9 Pool, 35% 12 Pool, 0% 12 Hatch) } IFT702 24

Résolution Jeu matriciel à 2 joueurs à somme nulle Problème d’optimisation linéaire Jeu matriciel à 2 joueurs à somme générale Problème d’optimisation quadratique Algorithme de Lemke-Howson Algorithme d’énumération des supports (Support enumeration) Jeu matriciel à n joueurs Govindan and Wilson’s continuation method Algorithmes itératifs (temps réel) Échantillonnage Monte Carlo Élagage (pruning) de stratégies strictement dominées Recherche heuristique Optimisation linéaire: simplexe, points intérieurs… Optimisation quadratique: gradient conjugué, lagrangiens augmentés… IFT702 25

Jeux répétés Séquence du même jeu matriciel Horizon fini ou infini … IFT702 26

Jeux répétés Séquence du même jeu matriciel Horizon fini ou infini Chaque agent doit prendre en compte l’impact futur de ses décisions (sa « réputation ») Représailles potentielles des autres agents La meilleure décision n’est pas nécessairement de toujours jouer l’équilibre de Nash du jeu matriciel Solutions contingentes à l’historique (stratégies des autres agents) … IFT702 27

Jeux (séquentiels) à information parfaite Décision tour à tour Minimax Optimisation: alpha-beta pruning Information complète: État du jeu, règles du jeu et fonction d’utilité complètement connus. Monte-Carlo-Tree Search. IFT702 28

Monte-Carlo Tree-Search (Approche de base) Information complète: État du jeu, règles du jeu et fonction d’utilité complètement connus. Browne et al. A Survey of Monte Carlo Tree Search Methods. IEEE Transactions on Computational Intelligence and AI in Games, VOL. 4, NO. 1, March 2012 IFT702 29

Jeu séquentiels à information incomplète Algorithme Expectimax Un model probabiliste des comportement des l’opposant: Le modèle peut être une simple distribution de probabilités Le modèle peut être plus sophistiqué, demandant des inférences/calculs élaborés Le modèle peut représenter des actions stochastiques/incontrôlables (à cause de de l’opposant, l’environnement) Le modèle pourrait signifier que des actions de l’adversaire sont probables Pour cette leçon, supposer que (de façon magique) nous avons une distribution de probabilités à associer aux actions de l’adversaire/environnement Information complète: État du jeu complètement connus. Mais on ne connait pas forcément les coups que va jouer l’autre (règles du jeu). Avoir une croyance probabiliste sur les actions d’un agent ne signifie pas que l’agent lance effectivement un dé! IFT702 30

Algorithme Expectimax EXPECTIMAX (n) = UTILITY(n) Si n est un nœud terminal maxs  successors(n) MINIMAX-VALUE(s) Si n est un nœud Max mins  successors(n) MINIMAX-VALUE(s) Si n est un nœud Min s  successors(n) P(s) * EXPECTEDMINIMAX(s) Si n est un nœud chance Ces équations donne la programmation récursive des valeurs jusqu’à la racine de l’arbre. Le nom fréquent est EXPECTIMAX. Dans le livre: EXPECTIMINMAX. Le livre a plutôt raison, parce qu’on ajoute EXPECTED-UTILITY à MINIMAX. Mais je préfère garder le nom le plus fréquent. Note: Contrairement à minmax et alpha-beta pruning qui ne sont pas sensibles aux transformations monotones de la fonction d’utilité (scores), expectimax l’est. Ça prend une transformation linéaire de l’utilité espéré pour que expectimax ne soit pas sensible. IFT615 IFT615 © Froduald Kabanza

Jeu séquentiels à information imparfaite État partiellement observable Modélisé par un ensemble d’information (information set). Information complète: État du jeu complètement connus. Mais on ne connait pas forcément les coups que va jouer l’autre (règles du jeu). IFT702 32

Résumé La planification multi-agent concerne la planification pour plusieurs agents. La théorie des jeux fournit les concepts de solution (équilibres) et les algorithmes de prise de décision. L’intelligence artificielle distribuées fournit des méthodes de coordination centralisées, décentralisées, ou hybrides. Dans ce cours, j’ai surtout abordée l’aspect adversariale. Pour la planification coopérative, les approches de planification par recherche dans l’espace de plans, combinées avec DCSP offrent un cadre de résolution fréquemment rencontré dans la littérature. © Froduald Kabanza IFT702