SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
PROJET IMPACT
Matthieu Macret
1
CONTEXTE
• Intelligence Artificielle : Systèmes Multi-agents
• Equipe SMAC (Système Multi-Agents et Comportement)
2
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
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
PLAN
• Modèle normatif
• Modèle de simulation
• Implémentation
• Démonstration
5
MODÈLE NORMATIF
6
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
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
EXEMPLE : CREATURE
CREATOR
Paramètre Ensemble de
dé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
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
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 %
Normes
11
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
EXEMPLE : CREATURE
CREATOR
Paramètre Janot Lapin
Janot LapinTueur
(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
MODÈLE DE SIMULATION
14
CHOIX DES CARACTÉRISTIQUES
DES
AGENTS
• Agressivité
• Nombre d’enfants
• Pas de déplacement
• Taille
15
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
IMPLÉMENTATION
17
IMPLÉMENTATION EN JAVA
• JDK 1.5
• IDE : NetBeans
• UML
• Utilisation d’un SVN
• Plate forme de gestion de bugs
18
IMPLÉMENTATION:
MODÈLE DE SIMULATION
19
MODÈLE DE SIMULATION:
AGENT
• Un comportement
• Un indice de fatigue
• Une position
20
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
GESTION DUTEMPS
• 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
MODÈLE DE DÉPLACEMENT
23
Agent
Vecteur aléatoireVecteur direction Nouveau vecteur direction
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
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 reproduction
25
Dire d’ou ca vient
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
INTERACTIONS COMBAT
ET
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
MODÈLE DE GÉNÉRATION
28
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
MOTEUR DE
GÉ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
GÉNÉRATION DE
COMPORTEMENTSVIOLATEURS
• 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
DÉMONSTRATION : IHM
32
LIMITES
33
• Gestion du temps
• Détection des agents et Pas de déplacement
• Parcours des listes
CONCLUSIONS
34

Contenu connexe

En vedette

Projet live and breath
Projet live and breathProjet live and breath
Projet live and breathClara Bftn
 
Brainsonic sur Windows Azure
Brainsonic sur Windows AzureBrainsonic sur Windows Azure
Brainsonic sur Windows AzureMicrosoft Ideas
 
Petites oreilles booklet
Petites oreilles bookletPetites oreilles booklet
Petites oreilles bookletfrisotte1
 
Market profile 5
Market profile 5Market profile 5
Market profile 5Jose Guerra
 
Gilbert becaud l'important..
Gilbert becaud  l'important..Gilbert becaud  l'important..
Gilbert becaud l'important..Beatrice Vaisman
 
Reglement Eurobot Junior 2013
Reglement Eurobot Junior 2013Reglement Eurobot Junior 2013
Reglement Eurobot Junior 2013napalme
 
Observaciones generales sobre la naturaleza y virtudes de las aguas minerales...
Observaciones generales sobre la naturaleza y virtudes de las aguas minerales...Observaciones generales sobre la naturaleza y virtudes de las aguas minerales...
Observaciones generales sobre la naturaleza y virtudes de las aguas minerales...Fer Alvarez
 
Clonación de equipos a través de una red local
Clonación de equipos a través de una red localClonación de equipos a través de una red local
Clonación de equipos a través de una red localJVKMBV
 
SALÓN DEL CÓMIC DE GETXO 2011
SALÓN DEL CÓMIC DE GETXO 2011SALÓN DEL CÓMIC DE GETXO 2011
SALÓN DEL CÓMIC DE GETXO 2011Anabel Lee
 
Xarxes socials xsav
Xarxes socials xsavXarxes socials xsav
Xarxes socials xsavXSAV
 
Facebook Timeline para Fan Pages
Facebook Timeline para Fan PagesFacebook Timeline para Fan Pages
Facebook Timeline para Fan PagesUnited Virtualities
 
Infrastructure nationale de données géographiques en Suisse
Infrastructure nationale de données géographiques en SuisseInfrastructure nationale de données géographiques en Suisse
Infrastructure nationale de données géographiques en SuisseBéatrice Simos-Rapin
 
éClairage industriel
éClairage industrieléClairage industriel
éClairage industrielIHMEX Trading
 
BistrO juin 2012 - Des politiques basées sur des preuves
BistrO juin 2012 - Des politiques basées sur des preuvesBistrO juin 2012 - Des politiques basées sur des preuves
BistrO juin 2012 - Des politiques basées sur des preuvesGret
 

En vedette (20)

Diaporama
DiaporamaDiaporama
Diaporama
 
Projet live and breath
Projet live and breathProjet live and breath
Projet live and breath
 
Brainsonic sur Windows Azure
Brainsonic sur Windows AzureBrainsonic sur Windows Azure
Brainsonic sur Windows Azure
 
Redes neuronales artificiales
Redes neuronales artificialesRedes neuronales artificiales
Redes neuronales artificiales
 
U2 drive2
U2 drive2U2 drive2
U2 drive2
 
André Citröen
André Citröen André Citröen
André Citröen
 
Petites oreilles booklet
Petites oreilles bookletPetites oreilles booklet
Petites oreilles booklet
 
Market profile 5
Market profile 5Market profile 5
Market profile 5
 
Gilbert becaud l'important..
Gilbert becaud  l'important..Gilbert becaud  l'important..
Gilbert becaud l'important..
 
Reglement Eurobot Junior 2013
Reglement Eurobot Junior 2013Reglement Eurobot Junior 2013
Reglement Eurobot Junior 2013
 
Observaciones generales sobre la naturaleza y virtudes de las aguas minerales...
Observaciones generales sobre la naturaleza y virtudes de las aguas minerales...Observaciones generales sobre la naturaleza y virtudes de las aguas minerales...
Observaciones generales sobre la naturaleza y virtudes de las aguas minerales...
 
Clonación de equipos a través de una red local
Clonación de equipos a través de una red localClonación de equipos a través de una red local
Clonación de equipos a través de una red local
 
I cookbrochure
I cookbrochureI cookbrochure
I cookbrochure
 
Ass et voiri rapport
Ass et voiri rapportAss et voiri rapport
Ass et voiri rapport
 
SALÓN DEL CÓMIC DE GETXO 2011
SALÓN DEL CÓMIC DE GETXO 2011SALÓN DEL CÓMIC DE GETXO 2011
SALÓN DEL CÓMIC DE GETXO 2011
 
Xarxes socials xsav
Xarxes socials xsavXarxes socials xsav
Xarxes socials xsav
 
Facebook Timeline para Fan Pages
Facebook Timeline para Fan PagesFacebook Timeline para Fan Pages
Facebook Timeline para Fan Pages
 
Infrastructure nationale de données géographiques en Suisse
Infrastructure nationale de données géographiques en SuisseInfrastructure nationale de données géographiques en Suisse
Infrastructure nationale de données géographiques en Suisse
 
éClairage industriel
éClairage industrieléClairage industriel
éClairage industriel
 
BistrO juin 2012 - Des politiques basées sur des preuves
BistrO juin 2012 - Des politiques basées sur des preuvesBistrO juin 2012 - Des politiques basées sur des preuves
BistrO juin 2012 - Des politiques basées sur des preuves
 

Similaire à Generating virtual agents in multi-agents systems environments

Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...
Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...
Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...Tarik Zakaria Benmerar
 
Management des risques ibtissam el hassani-chapitre3 : MADS/MOSAR
Management des risques   ibtissam el hassani-chapitre3 : MADS/MOSARManagement des risques   ibtissam el hassani-chapitre3 : MADS/MOSAR
Management des risques ibtissam el hassani-chapitre3 : MADS/MOSARibtissam el hassani
 
Module_Simulation Cours N° 1 Introduction à la simulation (1).pptx
Module_Simulation Cours N° 1 Introduction à la simulation (1).pptxModule_Simulation Cours N° 1 Introduction à la simulation (1).pptx
Module_Simulation Cours N° 1 Introduction à la simulation (1).pptxbochramiinfo
 
Complexité et systèmes opérables - Fred Hébert
Complexité et systèmes opérables - Fred HébertComplexité et systèmes opérables - Fred Hébert
Complexité et systèmes opérables - Fred HébertWeb à Québec
 
Design patterns comportementaux
Design patterns comportementauxDesign patterns comportementaux
Design patterns comportementauxYannick Chartois
 
Mise en place de système d’information
Mise en place de système d’informationMise en place de système d’information
Mise en place de système d’informationPatrick Ostertag
 

Similaire à Generating virtual agents in multi-agents systems environments (8)

Jade dimax
Jade dimaxJade dimax
Jade dimax
 
Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...
Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...
Design patterns et Design Emergeant - Micro Days - Modern Software Developmen...
 
Management des risques ibtissam el hassani-chapitre3 : MADS/MOSAR
Management des risques   ibtissam el hassani-chapitre3 : MADS/MOSARManagement des risques   ibtissam el hassani-chapitre3 : MADS/MOSAR
Management des risques ibtissam el hassani-chapitre3 : MADS/MOSAR
 
Module_Simulation Cours N° 1 Introduction à la simulation (1).pptx
Module_Simulation Cours N° 1 Introduction à la simulation (1).pptxModule_Simulation Cours N° 1 Introduction à la simulation (1).pptx
Module_Simulation Cours N° 1 Introduction à la simulation (1).pptx
 
Complexité et systèmes opérables - Fred Hébert
Complexité et systèmes opérables - Fred HébertComplexité et systèmes opérables - Fred Hébert
Complexité et systèmes opérables - Fred Hébert
 
Design patterns comportementaux
Design patterns comportementauxDesign patterns comportementaux
Design patterns comportementaux
 
Analyzing a churn data set
Analyzing a churn data set Analyzing a churn data set
Analyzing a churn data set
 
Mise en place de système d’information
Mise en place de système d’informationMise en place de système d’information
Mise en place de système d’information
 

Generating virtual agents in multi-agents systems environments

  • 2. CONTEXTE • Intelligence Artificielle : Systèmes Multi-agents • Equipe SMAC (Système Multi-Agents et Comportement) 2
  • 3. 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
  • 4. 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
  • 5. PLAN • Modèle normatif • Modèle de simulation • Implémentation • Démonstration 5
  • 7. 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
  • 8. 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
  • 9. EXEMPLE : CREATURE CREATOR Paramètre Ensemble de dé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
  • 10. 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
  • 11. 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 % Normes 11
  • 12. 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
  • 13. EXEMPLE : CREATURE CREATOR Paramètre Janot Lapin Janot LapinTueur (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
  • 15. CHOIX DES CARACTÉRISTIQUES DES AGENTS • Agressivité • Nombre d’enfants • Pas de déplacement • Taille 15
  • 16. 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
  • 18. IMPLÉMENTATION EN JAVA • JDK 1.5 • IDE : NetBeans • UML • Utilisation d’un SVN • Plate forme de gestion de bugs 18
  • 20. MODÈLE DE SIMULATION: AGENT • Un comportement • Un indice de fatigue • Une position 20
  • 21. 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
  • 22. GESTION DUTEMPS • 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
  • 23. MODÈLE DE DÉPLACEMENT 23 Agent Vecteur aléatoireVecteur direction Nouveau vecteur direction
  • 24. 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
  • 25. 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 reproduction 25 Dire d’ou ca vient
  • 26. 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
  • 27. INTERACTIONS COMBAT ET 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
  • 29. 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
  • 30. MOTEUR DE GÉ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
  • 31. GÉNÉRATION DE COMPORTEMENTSVIOLATEURS • 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
  • 33. LIMITES 33 • Gestion du temps • Détection des agents et Pas de déplacement • Parcours des listes