Title: GENERATION DE COMPORTEMENTS AUTONOMES POUR LA SCD
1GENERATION DE COMPORTEMENTS AUTONOMES POUR LA
SCD
- CEDRIC SANZA
- IRIT
- Équipe Synthèse dImages
2Thème de recherche
- Simulation Comportementale
- Donner une autonomie de comportement aux entités
qui composent un environnement virtuel - Décentraliser les mécanismes fonctionnels du
système afin que les entités sadaptent
elles-mêmes aux contraintes qui leurs sont
imposées - Apprentissage aucune connaissance initiale
- Évolution aptitude à sadapter à
lenvironnement - Coopération comportement de groupe
- Communication avec dautre entités ou
utilisateurs - Interaction avec dautre entités ou utilisateurs
- Applications en SCD
3Simulation comportementale
- Méthodes de génération de comportements
- Approche procédurale
- Un comportement est défini par un programme écrit
dans un langage traditionnel (C, C, JAVA)
cinématique ou dynamique inverse - Approche logique
- Un comportement est défini par un ensemble de
règles interprétées par un moteur dinférences
(PROLOG) - Approche neuronale
- Un comportement est défini par un ou plusieurs
réseaux de neurones ayant subi, au préalable, une
phase dentraînement - Approche évolutionnaire
- On définit un comportement de manière implicite
en spécifiant la pression quexerce
lenvironnement sur un ensemble de solutions (AG,
PG)
4Exemples
1994 and 1998 Walt Disney Pictures
5Exemples
2000 Koei and Electronic Arts
2000 Blizzard Entertainment
6Comportements de foules
- Reynolds (1987) nuée d'oiseaux et banc de
poissons - Pas d'attribution statique de trajectoires mais
des - comportements connus pour les personnages
principaux - comportements autonomes pour les autres
- Chaque individu définit ainsi son action de
manière locale - en acquérant de l'information sur son
environnement - en déduisant de cette information sa nouvelle
position par application de lois simples - éviter les collisions avec ses voisins et avec la
scène - réguler sa vitesse sur celle de ses voisins les
plus proches - rester à côté de ses voisins les plus proches
7Comportements de foules
8Les modules comportementaux
- Terzopoulos (1994) système complet d'animation
de poissons - Simulation du comportement des différents
poissons - Implante les comportements de haut niveau
- un générateur d'intention
- un module de comportement
- Simulation physique de l'environnement et des
poissons - Mouvement du poisson gt déplacement d'eau gt
avancement
9Les modules comportementaux
10 Evolved Virtual Creatures
- Sims (1994) créatures cubiques générées par un
réseau de neurone - Le réseau de neurones est la meilleure solution
calculée avec un algorithme génétique - Le système génère
- le comportement
- la morphologie associée
11 Framsticks
- Komosinski (1998) créatures composées de
bâtonnets - Le cerveau de la créature fonctionne grâce à un
réseau de neurones qui agit sur les jointures
12Les outils informatiques utilisés
- Les réseaux de neurones
- Les algorithmes génétiques
- La programmation génétique
- Les systèmes de classifieurs
13Les réseaux de neurones
- Un neurone est une cellule pouvant être reliée à
dautres neurones - La sortie dun neurone fournit un potentiel
électrique - L'interconnexion des neurones permet de créer un
réseau de neurones - Un réseau de neurones est simulé en calculant
pour chaque neurone la valeur de sortie en
fonction de ses valeurs d'entrées - Cette valeur de sortie peut devenir une valeur
d'entrée pour d'autres neurones - Le nombre de couches, la topologie des
connexions, les poids associés sont autant de
paramètres définissant le comportement du réseau - La phase d'apprentissage permet de configurer le
réseau pour obtenir un comportement particulier
14Les algorithmes génétiques
- Algorithmes génétiques
- De tels systèmes peuvent être vus comme un
ensemble dopérations faisant converger une
population vers la solution dun problème - Les opérateurs appliqués sur les éléments de la
population sont - la sélection
- la mutation
- le croisement
15Les algorithmes génétiques
- La phase de sélection
- Permet de conserver les meilleures solutions au
problème - La phase de modification
Parents
Enfants
Croisement
Point de croisement
Parents
Enfant
Mutation
Position de mutation
16La programmation génétique
- La programmation génétique est une extension des
AG - La programmation génétique travaille directement
sur un codage de la solution du problème - Lindividu étudié est alors un programme
- Lespace de recherche de lalgorithme génétique
sera ainsi lensemble de tous les programmes
pouvant être ainsi définis - Lévaluation dun individu doit tenir compte de
- la taille du programme
- son temps dexécution
- son efficacité
17Les systèmes de classifieurs (LCS)
- Un système de classifieurs est un système
dapprentissage adaptatif de règles syntaxiques - Ensemble de règles
- SI condition(s) ALORS action(s)
- Règles basées sur le triplet
- Condition-Action-Force
- Représentation par chaîne binaire ( symbole
) - Principe de fonctionnement
- Initialisation aléatoire des règles
- Interface entre lenvironnement et la base de
règles - Ensemble de capteurs/effecteurs
- Apprentissage par renforcement (fitness)
18Les systèmes de classifieurs (LCS)
- Codage des informations provenant de
lenvironnement - Sélection dune règle
- Activation
- Rétribution
- Algorithme génétique
19Les systèmes de classifieurs (LCS)
- Sélection dun classifieur en fonction de
- Sa condition
- Sa force
- Sa spécificité
- Classifieur généralisé
- Classifieur spécialisé
- Exemple
- message entrant 011
- 001 condition
- 011 spécificité 1
- 01 spécificité 2/3
- 1 spécificité 1/3
20Les systèmes de classifieurs (LCS)
- Le système de rétribution
- Augmenter la force des règles efficaces
- Réduire la force de celles qui sont inefficaces
- Algorithme Bucket Brigade
- Fitness ? Rétribution R
- S(t) ? S(t-1) R(t) - ?.S(t-1)
- ??01
- Réduire la force de celles qui sont inactives
- Taxation des règles
- S(t) ? ?.S(t-1)
- ??01
21Travaux réalisés
22?CS Sanza2001
- Génération de comportements
- Système comportemental dentités virtuelles
- Définition dun modèle générique pour des entités
virtuelles - Caractéristiques
- Multi-objectif
- Coopération
- Communication
Communication Coopération
23?CS Sanza2001
- Coopération
- Obtenue par émergence
- Ajout de fonctions de fitness indirectes
(globales) - Déclenchées par des événements précis
- Agissent sur des groupes dentités
- Rétribution immédiate
FF ind.
FF
FF
E1
E2
Événement
E4
E5
FF
E3
24?CS Sanza2001
- Communication entité-entité
- Intérêt partage de règles
- Déclenchement par le module de supervision
- Codage et envoi du message entrant
- Réception des réponses
25?CS Sanza2001
- Communication utilisateur-entité
- Réalisée grâce à linterface graphique
- Principe
- Envoi dun message par une entité
- Réponse de lutilisateur
E1
Langage universel
Générateur syntaxique 1 aller à droite 2 aller à
gauche 3 aller en haut ...
3
3 ? 000 000 100 000
E2
E3
E4
26NEVIS Sanza2001
- Simulation distribuée de football virtuel
- Deux équipes de 11 joueurs
- Joueurs autonomes (?CS)
- Joueurs pilotés
- Immersion dun ou plusieurs utilisateurs
- Interaction (spacemouse)
- Communication (interface graphique)
- Distribution sur deux machines avec WorldToWorld
- Principe
- Propriétés de partage des objets
- Transmission des translations et rotations
- Intérêt
- Chaque équipe sexécute sur une machine en envoie
ses modifications à lautre machine
27NEVIS Sanza2001
- Résultats
- Émergence de comportements
- Spécialisation des joueurs
- Coopération active
28Travaux en cours
- Simulateur dinterventions de pompiers
- Simulation de véhicules autonomes
- Prédictif en environnement virtuel
29Simulateur dinterventions de pompiers
- Thèse Eric PERDIGAU
- Interaction entre utilisateurs et entités
autonomes sur des simulations dinterventions de
pompiers - Environnement urbain (VIRTools)
- HLA
- Animation de personnages autonomes
- Exécuter les ordres du chef dagrès
- Prendre des initiatives en cas de besoin
30Simulation de véhicules autonomes
- DEA Freddy CASIMIR
- Simulation distribuée
- Environnement urbain (Performer)
- HLA
- Animation de véhicules par Systèmes de
Classifieurs - Capteurs vision du conducteur
- Effecteurs actions sur la vitesse, le
changement de voie - Fitness respect des règles du code de la route
31Prédiction en environnement virtuel
- DEA Trung Hau TRAN
- Hypothèse le mouvement dune entité dépend des
objets quelle perçoit - Méthode des champs de potentiels
(attraction/répulsion) - Le mouvement est une combinaison de ces champs
- On peut prédire la trajectoire si on connaît la
valeur de ces champs - Application problème proie-prédateur
- La proie a un comportement pré-programmé
- Le prédateur anticipe les déplacements
- de la proie
32Prédiction en environnement virtuel
33Application de la prédiction en SCD
- Behavioral Dead-Reckoning
- Le Dead-Reckoning permet danticiper la
position des objets des fédérés distants (bas
niveau) - Le Behavioral Dead-Reckoning pourrait
anticiper le comportement des objets des fédérés
distants (haut niveau) - A anticipe les actions de B grâce au système de
prédiction afin déviter lenvoi des paramètres
de déplacement de B vers A - Méthode du dead-reckoning pour calculer lerreur
A
A B
A B
B
34Systèmes de classifieurs évolués
- Mono-objectifs ZCS, XCS, ACS
- Multi-objectifs MCS, ?CS
35ZCS Wilson94
- Simplification du LCS
- Message de lenvironnement unique
- Liste de message supprimée
- Sélection probabiliste basée sur les effecteurs
- Opérateur de covering
- Message entrant 1010
- 01001 28
- 10101 42
- 011 12
- 0011 11
70 23
36ZCS Wilson94
environnement
1010
01
capteurs
effecteurs
liste des classifieurs
M
01001 28 011 12 10101 42 0011
11 01110 12 10100 25 ...
rétribution
A
01001 28 011 12 10101 42 0011 11
01001 28 10101 42
AG covering
37XCS Wilson95
- LCS basé sur la prédiction du paiement
- Favorise la création de règles toujours plus
généralisées - Favorise la création de solutions optimales
- Construit des cartes
- Condition x Action ? Prédiction
- Un XCS utilise 3 paramètres
- La prédiction du paiement p
- Lerreur de prédiction e
- La fitness F
- Numérotation pour classifieurs identiques
- Macroclassifieurs
p p ?.P-p e e ?.( P-p - e ) F F
?.(k(e) F)
38ACS Stolzmann98
- Anticipation du message entrant suivant
- Règle en 3 parties
- S condition
- R action
- E prédiction de létat suivant
- Deux forces pour chaque règle
- Force de la règle
- Force danticipation
- Intérêt
- Enchaînement de comportements
39ACS Stolzmann98
- Enchaînement de comportements
40MCS Multiple Classifier System
- Cohabitation de plusieurs LCS
- Cascade de LCS
- Communication
- Exemples
- AlecSys Dorigo93
- NHCS Lattaud98
capteurs
SC SWITCH
SC 1
SC 2
effecteurs
41?CS Sanza2001
- Construction du message entrant
- Alphabet binaire 0,1
- Chaque bit fait référence à un capteur
- Capteur actif 1
- Absence dinformation 0
- Pas de symbole
- Partie condition
- Longueur nombre de capteurs
capteur1 capteur2 capteur3 capteur4 capteur5 capte
ur6 capteur7
1 0 ? 0 ? 1 1 message entrant
1000011
42?CS Sanza2001
- Présélection grâce au message entrant
- Application dun opérateur de comparaison (lt)
- Calcul de la concordance D
- Exemple
- Sélection grâce à la force
- Enchère Spec . S
- Spec 1 D
Message entrant 11011 classifieur 1 11011 ?
4/4 1 classifieur 2 10001 ? 2/4 0.5
classifieur 3 11111 ? 0
43?CS Sanza2001
- Longueur (1?).NbEff
- NbEff nombre deffecteurs
- ? contrôle des effecteurs
- Calcul de leffecteur
- Sous-chaîne de poids le plus
- fort la plus à gauche
- Exemple avec ? 1 et NbEff 2
- Intérêt
- Définit une priorité implicite des effecteurs
"01 10" ? effecteur 2 "11 10" ? effecteur 1 "11
11" ? effecteur 1
44?CS Sanza2001
- Activation des fonctions de fitness
- Récupération du message entrant
- Aiguillage vers le sous-réseau
- Mise à jour des poids
- Calcul de la rétribution R
message entrant
nuds Nj
1 2 3 n
1 2 3 n
R
?
F1 F2 F3 Fn
fitness
?
aiguillage vers le sous-réseau
k
modifications
45?CS Sanza2001
UpD( Fi)
Fj Wij Nj
MA
1 2 3 n
1 2 3 n
R
Fi
MR
-MR
?
-MA
2
1
1
(ij)
Rétribution
46?CS Sanza2001
- Algorithme génétique avec mutation multiple
- Etape 1
- choix de la partie qui va subir la mutation
- Etape 2
- partie condition ? mutation classique
- partie action ? mutation optimisée
- Application dun système de pondération sur les
bits afin de favoriser ceux qui sont de poids fort
Partie action Poids
1 0 1 0 2 1 2 1