34
PROJET IMPACT Matthieu Macret 1

Generating virtual agents in multi-agents systems environments

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Generating virtual agents in multi-agents systems environments

PROJET IMPACTMatthieu Macret

1

Page 2: Generating virtual agents in multi-agents systems environments

CONTEXTE

• Intelligence Artificielle : Systèmes Multi-agents

• Equipe SMAC (Système Multi-Agents et Comportement)

2

Page 3: Generating virtual agents in multi-agents systems environments

OBJECTIF DU PROJET

• Coeur de mon projet :

Un modèle de génération d’agents permet d’augmenter la diversité de la population présente dans la simulation

• Vers plus de réalisme, vers une meilleure validité des résultats

• Mon projet :

Concevoir et développer une applet Java de démonstration illustrant les possibilités de ce nouveau modèle de génération de comportements.

3

Ajouter les atouts pour la simulation

Page 4: Generating virtual agents in multi-agents systems environments

ILLUSTRER CE MODÈLE

• Utiliser une simulation où l’on pourra visualiser aisément l’influence des différents paramètres du modèle.

• Scénario nominal de la simulation : «Creature Creator»

«Des créatures issues de plusieurs espèces différentes sont générées, se déplacent dans un environnement et ont la possibilité d'interagir entre elles en fonction de leurs caractéristiques et de leur appartenance à telle ou telle espèce.»

4

Page 5: Generating virtual agents in multi-agents systems environments

PLAN

• Modèle normatif

• Modèle de simulation

• Implémentation

• Démonstration

5

Page 6: Generating virtual agents in multi-agents systems environments

MODÈLE NORMATIF

6

Page 7: Generating virtual agents in multi-agents systems environments

PRÉSENTATION DU MODÈLE

• Introduction de la notion de normes qui permettent de:

• Spécifier le comportement des agents.

• Contrôler le respect de ces spécifications.

• Générer des comportements dits «Violateurs»

7

Page 8: Generating virtual agents in multi-agents systems environments

INSTITUTION

• Entité qui contient :

• Tous les paramètres dont est composé le comportement d’un agent.

• Les ensembles de définition de ces paramètres dans lesquels ils doivent être instanciés.

• Un paramètre σ qui donne la tendance d’une institution à générer des comportements violateurs.

• Dans Creature Creator,

Institution = «Soupe originelle» contenant toutes les caractéristiques possibles pour une créature

8

Page 9: Generating virtual agents in multi-agents systems environments

EXEMPLE : CREATURE CREATOR

Paramètre Ensemble dedéfinition

Agressivité [0,1]

Taille [10,20]

Pas de déplacement [20,25]

Nombre d’enfants par portée {0,1,2,3}

Institution

9

Page 10: Generating virtual agents in multi-agents systems environments

NORME

• Une norme est une sorte de «sous ensemble» de l’institution. Elle contient :

• Une liste d’un, plusieurs ou tous les paramètres contenus dans l’institution.

• Des ensembles de définitions pour chacun de ces paramètres qui doivent être inclus dans ceux spécifiés dans l’institution.

• Un paramètre τn qui spécifie la tendance d’une norme à générer des comportements «violateurs»

• Un paramètre δ qui spécifie la distance admissible à la norme.

• Norme = Une espèce de créatures qui mettra des contraintes sur une, plusieurs ou toutes les caractéristiques institutionnelles.

10

Page 11: Generating virtual agents in multi-agents systems environments

EXEMPLE : CREATURE CREATOR

Paramètre Espèce 1 :Gentils lapins

Espèce 2 :Gros méchants

Rappel de l’institution

Agressivité [0.5,1.0] [0.6,0.9] [0,1]

Taille [10,15] [15,20] [10,20]

Pas de déplacement [23,25] [20,22] [20,25]

Nombre d’enfants par portée {3} {0,1} {0,1,2,3}

δ 20 % 20 %

Normes11

Page 12: Generating virtual agents in multi-agents systems environments

COMPORTEMENT

• Un comportement contient :

• Une norme à laquelle il est rattaché.

• L’ensemble des paramètres de l’institution instanciés suivant les contraintes de la norme.

• Comportement = Ensemble des caractéristiques institutionnelles instanciées respectant la norme associée.

12

Page 13: Generating virtual agents in multi-agents systems environments

EXEMPLE : CREATURE CREATOR

Paramètre Janot Lapin Janot Lapin Tueur(violateur)

Rappel de la norme : Espèce 1

Rappel de l’institution

Agressivité 79 % 90 % [0.5,1.0] [0,1]

Taille 12 px 20 px [10,15] [10,20]

Pas de déplacement 23 px 24 px [23,25] [20,25]

Nombre d’enfants par portée 3 3 {3} {0,1,2,3}

δ 20 %

Formule Distance : Calcul Distance :

Comportements

13

Page 14: Generating virtual agents in multi-agents systems environments

MODÈLE DE SIMULATION

14

Page 15: Generating virtual agents in multi-agents systems environments

CHOIX DES CARACTÉRISTIQUES DES

AGENTS

• Agressivité

• Nombre d’enfants

• Pas de déplacement

• Taille

15

Page 16: Generating virtual agents in multi-agents systems environments

CHOIX DES INTERACTIONS

• Reproduction entre deux créatures de la même espèce :

• Génération de nouvelles créatures

• Combat entre deux créatures d’espèces différentes :

• Mort de la plus petite des deux créatures

• Interactions en fonction de l’agressivité

16

Page 17: Generating virtual agents in multi-agents systems environments

IMPLÉMENTATION

17

Page 18: Generating virtual agents in multi-agents systems environments

IMPLÉMENTATION EN JAVA

• JDK 1.5

• IDE : NetBeans

• UML

• Utilisation d’un SVN

• Plate forme de gestion de bugs

18

Page 19: Generating virtual agents in multi-agents systems environments

IMPLÉMENTATION:MODÈLE DE SIMULATION

19

Page 20: Generating virtual agents in multi-agents systems environments

MODÈLE DE SIMULATION: AGENT

• Un comportement

• Un indice de fatigue

• Une position

20

Page 21: Generating virtual agents in multi-agents systems environments

MODÈLE DE SIMULATION:ENVIRONNEMENT

• Une grille = Table de hachage (clef : coordonnées de l’agent, valeur : agent)

• Le rayon maximum d’un agent (en pixels)

21

Page 22: Generating virtual agents in multi-agents systems environments

GESTION DU TEMPS• La tâche «Environment» parcourt la table de hachage

contenant les agents et les active les uns à la suite des autres.

• Une temporisation se fait à la fin du parcours à l’aide d’un sleep d’une durée paramétrable par l’utilisateur.

22

Page 23: Generating virtual agents in multi-agents systems environments

MODÈLE DE DÉPLACEMENT

23

Agent

Vecteur aléatoireVecteur direction Nouveau vecteur direction

Page 24: Generating virtual agents in multi-agents systems environments

DÉTECTION DES AGENTS

• A chaque pas de temps, chaque agent calcule un point de destination.

• Il parcourt la grille dans l’ordre et vérifie qu’aucun autre agent ne se situe à Rmax près de ce point.

• Si non, il se déplace sur ce point.

• Si oui, il y a interaction.

24

Page 25: Generating virtual agents in multi-agents systems environments

GESTION DE LA FATIGUE

• Le niveau de fatigue est décrémenté :

• A chaque déplacement de l’agent.

• A chaque interaction avortée.

• Le niveau de fatigue est mis à 30 :

• Après chaque combat

• Après chaque reproduction25

Dire d’ou ca vient

Page 26: Generating virtual agents in multi-agents systems environments

INTERACTIONS

• On teste d’abord le niveau de fatigue des deux agents :

• Si l’un des deux est non nul, l’interaction n’a pas lieu

• On teste ensuite le niveau d’agressivité de l’agent initiateur de l’interaction :

• On compare ce niveau à un random entre 0 et 1 :

• Si ce test est faux, l’interaction n’a pas lieu.

• Si ce test est vrai alors il y a interaction.26

Page 27: Generating virtual agents in multi-agents systems environments

INTERACTIONS COMBATET

REPRODUCTION

• Si les deux agents sont d’espèces différentes, ils se battent entre eux :

• Le plus petit des deux est retiré de l’environnement. (si même taille, c’est l’agent initiateur qui gagne le combat)

• Si les deux agents sont de la même espèce, ils se reproduisent :

• Un nombre de nouveaux agents ,défini dans le paramètre (nbChildren) de l’agent initiateur, est ajouté dans l’environnement.

27

Page 28: Generating virtual agents in multi-agents systems environments

MODÈLE DE GÉNÉRATION

28

Page 29: Generating virtual agents in multi-agents systems environments

MOTEUR DE GÉNÉRATION

• Tout d’abord, il crée un comportement.

• A l’aide d’une distribution uniforme, il instancie chaque paramètre de la norme en respectant les contraintes imposées par cette dernière.

• Ensuite il complète le comportement en ajoutant et en instanciant les paramètres institutionnels non spécifiés dans la norme.

29

Page 30: Generating virtual agents in multi-agents systems environments

MOTEUR DEGÉNÉRATION DE COMPORTEMENTS

VIOLATEURS

• Tout d’abord, il crée un comportement.

• A l’aide d’une distribution uniforme, il instancie chaque paramètre en respectant les contraintes imposées par l’institution.

• Ensuite il calcule l'écart à la norme et vérifie si le comportement généré est admissible sinon il régénère un nouveau comportement.

30

Page 31: Generating virtual agents in multi-agents systems environments

GÉNÉRATION DE COMPORTEMENTS VIOLATEURS• On tire un nombre entre 0 et 1 suivant une distribution uniforme.

• On le compare avec le σ de l’institution :

• Si c’est supérieur, on utilise le moteur de génération «normal».

• Si c’est inférieur, on tire un autre nombre entre 0 et 1 et on le compare à τn.

• Si c’est supérieur, on utilise le moteur de génération «normal»

• Si c’est inférieur, on utilise le moteur de génération «violateur»

31

Page 32: Generating virtual agents in multi-agents systems environments

DÉMONSTRATION : IHM

32

Page 33: Generating virtual agents in multi-agents systems environments

LIMITES

33

• Gestion du temps

• Détection des agents et Pas de déplacement

• Parcours des listes

Page 34: Generating virtual agents in multi-agents systems environments

CONCLUSIONS

34