IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza...

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

Transcript of IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza...

Page 1: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

IFT 702 Planification en intelligence artificielle

Planification Multi-Agents

Froduald Kabanza

Département d’informatique

Université de Sherbrookeplaniart.usherbrooke.ca/kabanza/cours/ift702

Page 2: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

© Froduald Kabanza IFT702 2

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

Page 3: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

© Froduald Kabanza IFT702 3

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

r4r3

Livraison de colis

Page 4: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

CATÉGORIES DE PROBLÈMES

IFT615 © Froduald Kabanza 4

Page 5: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

© Froduald Kabanza IFT702 5

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

Page 6: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

APPROCHES DE COORDINATION

IFT615 © Froduald Kabanza 6

Page 7: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

Planification centralisée

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.

Planificateur central

Exécution de plans individuels

© Froduald Kabanza 7IFT702

Page 8: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

Planification décentralisée – fusion de plans

Des plans individuels peuvent être généréssé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(plan merger)

Exécution de plans individuels

Planificateur individuel

Planificateur individuel

Planificateur individuel

© Froduald Kabanza 8IFT702

Page 9: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

Planification complètement décentralisée

Dans une approche complètement distribuée, chaqueagent calcule son plan en échangent des donnéesavec les autres.

Exemple: Distributed CSP (DCSP):

Chapitre 1 & 2 de [Shoam et Leyton-Brown]

Exécution de plans individuels

© Froduald Kabanza 9IFT702

Indor sensor network

Page 10: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

© Froduald Kabanza IFT702 10

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

Page 11: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

© Froduald Kabanza IFT702 11

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 quand deux capteurs avec des

rayons d’action qui se chevauchent utilise la même fréquence.

Peut se modéliser comme un problème CSP

Page 12: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

© Froduald Kabanza 12IFT615

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.

Page 13: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

© Froduald Kabanza 13IFT615

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.

Page 14: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

© Froduald Kabanza 14IFT615

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≠ SAQ≠ NSW

NSW≠ VSA≠ V

SA≠ NSW

Page 15: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

© Froduald Kabanza 15IFT615

Rappel IFT615 - Backtracking searchfunction 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 assignmentvar 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 assignmentreturn failure

Page 16: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

© Froduald Kabanza IFT702 16

DCSP Dans DCSP, chaque variable est possédée par un agent. Le problème demeure de de trouver une assignation qui satisfait

les contraintes. Par contrainte, 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.

Page 17: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

PLANIFICATION ADVERSARIALE

IFT615 © Froduald Kabanza 17

Page 18: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

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 situationsde 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.

18IFT702

Page 19: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

Théorie des jeux

Très utilisée en économie 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

19IFT702

i

p(i)*u(xi), comment trouver p(i)?

Page 20: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

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 reprséntation Normale (matricielle) Extensive (arbre de jeu)

Ici, j’utilise une représentation extensive

20IFT702

Page 21: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

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.

21IFT702

Page 22: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

Équilibre de Nash

• Étant donnés 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 reste fixe

– L’équilibre de Nash est conservatrice

• Donne une stratégie optimale si effectivement les autres agents jouent selon l’équilibre (jouent de façon optimal)

• Elle n’exploite pas les faiblesses éventuelles des autres agents

22IFT702

Page 23: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

Jeux (séquentiels) à information parfaite

Décision tour à tour Minimax Optimisation: alpha-beta pruning

23IFT702

Autres alternatives intéressantes potentiellement plus adaptées aux jeux RTS: Monte-Carlo-Tree Search.

Page 24: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

Monte-Carlo Tree-Search (Approche de base)

24IFT702

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

Page 25: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

Jeu séquentiels à information incomplète

Algorithme Expectimax

25IFT702

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

Avoir une croyance probabiliste sur les actions d’un agent ne signifie pas que l’agent lance effectivement un dé!

Page 26: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

Algorithme Expectimax

© Froduald Kabanza 26IFT615

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.

IFT615

Page 27: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

Jeu séquentiels à information imparfaite

27IFT702

État partiellement observable Modélisé par un ensemble

d’information (information set).

Page 28: IFT 702 Planification en intelligence artificielle Planification Multi-Agents Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702.

© Froduald Kabanza IFT702 28

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.