ENSTA : cours IN204 Introduction JAVA et UML - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

ENSTA : cours IN204 Introduction JAVA et UML

Description:

On peut empiler des t ches interm diaires. Quand on d pile, on reprend ... l o je touche souvent mes adversaires, l o ils se planquent = associer ces ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 43
Provided by: sig9
Category:

less

Transcript and Presenter's Notes

Title: ENSTA : cours IN204 Introduction JAVA et UML


1
ENSTA cours IN204 Introduction à JAVA et UML
  • Olivier Sigaud
  • LIP6/AnimatLab
  • olivier.sigaud_at_lip6.fr
  • 01.44.27.88.53

2
Plan du cours 8
  • Conception d'un bot
  • Architecture pile de tâches
  • Navigation
  • Systèmes de classeurs

3
Architecture d'un bot
4
Sélection de l'action
Situation
Quelle action déclencher compte-tenu du contexte
courant (et précédent) ?
test1
test2

testK
Action
A1
A2
A3
A4
5
Perception
Capteurs
Situation
d1
test1
x2
test2


s1
testK
Menacé?
6
Liste de tâches
  • Définir une liste de tâches de haut niveau
  • Naviguer vers X
  • Poser une bombe en X
  • Moi vois, moi tue
  • Changer d'arme
  • Se soigner
  • Se cacher

7
Gestion des tâches
  • Utilisation d'une pile de tâches
  • La tâche courante est sur le sommet de la pile
  • On peut empiler des tâches intermédiaires
  • Quand on dépile, on reprend la tâche d'en dessous
  • Cas spécifiques suppression de tâches
    obsolètes
  • Si l'agent est en X et choisit d'aller en A
    plutôt qu'en B, mais qu'un combat le rapproche de
    B, changer de but
  • Ou bien fuir en direction de A plutôt que vers B

8
Reconfiguration de pile
Y
B
A
X
9
Réalisation d'une tâche T
  • Associations de contextes élémentaires à des
    actions élémentaires
  • Si S0 et S1, faire A1
  • Si S2 et S3 et S4, faire A2
  • Si S5, faire A2
  • Peut se ramener à une base de règles
  • Systèmes de classeurs

10
Navigation
11
Graphe de waypoints
12
L'algorithme A
  • Heuristique H(n) évaluation de la distance au
    but
  • H(n) doit être toujours inférieure ou égale à la
    vérité
  • C(n) coût du départ à n
  • F(n) C(n) H(n)
  • On développe le nud pour lequel F est minimal

n1
n2
n3
n4
n5
n6
n9
n7
n8
n10
n12
n13
n14
n11
n15
13
L'algorithme A
F(n2) 8 23 31 F(n3) 6 17 23 F(n4) 4
14 18 F(n5) 5 24 29 F(n6) 6 19 25
n1
6
8
5
6
4
n2
n3
n4
n5
n6
23
24
17
14
19
n9
n7
n8
n10
n12
n13
n14
n11
On développe n4
n15
14
L'algorithme A
F(n8) (4 4) 10 18 F(n9) (4 5) 7 16
n1
6
8
5
6
4
n2
n3
n4
n5
n6
23
24
17
14
19
On développe n9
5
4
n9
n7
n8
n10
7
10
n12
n13
n14
n11
n15
15
L'algorithme A
F(n14) (4 5 3) 3 15
n1
6
8
5
6
4
n2
n3
n4
n5
n6
23
24
17
14
19
5
4
n9
n7
n8
n10
7
10
3
n14
n12
n13
n11
3
n15
16
L'algorithme A
F(n15) (4 5 3 4) 16
n1
6
8
5
6
4
n2
n3
n4
n5
n6
23
24
17
14
19
5
4
n9
n7
n8
n10
7
10
3
n14
n12
n13
n11
3
4
n15
17
Contournement dobstacles
18
Contournement dobstacles
19
Contournement dobstacles
20
Contournement dobstacles
21
Contournement dobstacles
22
Contournement dobstacles
23
Contournement dobstacles
24
Pose de Waypoints
25
Pose de Waypoints
26
Pose de Waypoints
27
Pose de Waypoints
28
Systèmes de classeurs
29
Mécanismes adaptatifs
  • Un système est adaptatif s'il peut modifier son
    comportement
  • Adaptation ltlt en ligne gtgt (au cours de sa durée
    de vie)
  • Adaptation ltlt hors-ligne gtgt (entre deux essais)
  • Gain en temps de développement et de mise au
    point
  • Adaptation aux joueurs humains
  • Caractère ltlt imprédictible gtgt
  • Méthodes insuffisantes pour les problèmes durs

30
Systèmes de classeurs (Holland 75)
Condition
Act.
Force
Interface d'entrée
Interface de sortie
...
...
...
  • Règles compréhensibles par l'humain
  • Algo. génétiques Apprentissage / Renforcement
  • Capacité de généralisation
  • Amélioration reposant sur laléatoire

31
Processus de décision markoviens
Environnement
Récompense
Action
Sensation
Agent
Modèle état/actions discret
  • Modèle stochastique et discret de la dynamique

32
Algorithmes génétiques
  • Création dune population aléatoire (ou ad hoc)
    d'agents dotés dun génome 000101101
  • Evaluation des individus en f(comportement)
  • Fonction de fitness (ex nb ennemis tués/nb
    blessures)
  • Elimination des individus les moins aptes
  • Reproduction des individus les plus aptes
  • (mutations et cross over)
  • Méthodes d'optimisation

33
Apprentissage par renforcement
  • Refaire ce qui conduit à la récompense, ne pas
    refaire ce qui conduit à la punition
  • Equation de Bellman propagation de la valeur
    des états
  • Q-learning maximise la récompense sur le long
    terme

a2
Etat3
a1
Etat1
Etat5
a3
a3
Etat0
a1
a2
Etat4
Etat2
Etat6
34
ZCS et XCS
  • Systèmes de classeurs de Holland trop complexes
  • Wilson 1994 simplification radicale ZCS
  • Wilson 1995 amélioration substantielle XCS
  • Dans ZCS, la fitness des classeurs est égale à
    leur quantité de récompense espérée
  • Dans XCS, elle est égale à la précision de leur
    prédiction de la récompense qu'ils vont recevoir
  • Permet une meilleure couverture des états

35
MACS Anticipation
Qact
Condition
Act.
Effet
Qant
0.8
0.9
01
011101
011101
0.7
0.4
00
010
010
0.6
0.1
11
01101
01101
Interface d'entrée
Interface de sortie
0.4
0.4
10
011101
011101
0.2
0.2
00
010010
010010
...
...
...
...
...
  • Observation action gt observation
  • ex Si je suis placé et si je tire, l'ennemi
    sera blessé
  • Regard en avant gt planification
  • Objectif explicite
  • Convergence beaucoup plus rapide

36
MACS
37
MACS
38
MACS
39
Doc de conception de MACS
  • Voir http//animatlab.lip6.fr/Sigaud/MACS/macs_onl
    ine.html

40
Extensions
41
Moi vois, moi tue
  • Les bots "parfaits" découragent les joueurs
    humains
  • Bot "omniscient" qui voit à travers les murs et
    dans son dos
  • Bot "tireur d'élite" qui touche au cur pendant
    son salto arrière
  • Mimer une perception "humaine" en ne voyant
    (imparfaitement) que ce qui est dans le champ de
    vision
  • Bruiter le tir

42
Evaluation des lieux
  • Bonne position de snipe voir large et être peu
    vu
  • Bonne planque pour se soigner
  • Endroit dangereux (vu par N positions de snipe)
  • Eventuellement, utiliser l'expérience là où je
    suis souvent blessé, là où je touche souvent mes
    adversaires, là où ils se planquent gt associer
    ces infos aux waypoints
Write a Comment
User Comments (0)
About PowerShow.com