ift 702 – planification en intelligence artificielle planification avec des processus de décision...

39
IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/ kabanza Modifications par Simon Chamberland

Upload: marie-carlier

Post on 03-Apr-2015

124 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 – Planification en Intelligence Artificielle

Planification avec des processus de décision de Markov

Froduald KabanzaDépartement d’informatiqueUniversité de Sherbrooke

planiart.usherbrooke.ca/kabanza

Modifications par Simon Chamberland

Page 2: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

2

Sujets couvertsSujets couverts

• Introduction

• Processus de décision de Markov

– Algorithme value-iteration

– Algorithme policy-iteration

– Autres algorithmes

• Généralisations

Page 3: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

3

Sujets couvertsSujets couverts

• Introduction

• Processus de décision de Markov

– Algorithme value-iteration

– Algorithme policy-iteration

– Autres algorithmes

• Généralisations

Page 4: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

4

Exemple

Room 1

Room

2

Room 5

Room 4

Room 3

Goal

Page 5: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

5

Architecture de contrôle

En

vir

on

nem

en

t

Capteurs

Effecteurs

Éta

t du sy

stèm

e

Planificateurde tâches

Modèles: -actions -environnement - stratégies de planification - heuristiques

Bu

t

Plan = règles« état→action»

Suivi de l’exécution

Module d’apprentissage

Action

Planificateurde trajectoires

Trajectoire

Page 6: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

6

Grille (occupancy grid)

Actions: E: Go east W: Go west S: Go south N: Go north

Exemple0

Degré de désirabilité

-0.4 -1

: +1But

Room 1 Room 5

Room

2

Room 4

Room 3

But

0 1 2 3 ….

0

1

2 3

.

Page 7: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

7

• Une décision est un choix d’une action dans un état.

• C’est une règle if state then action

(21,12) (20,11)

S

(20,12)(20,13)

W W

0.9

0.2

0.5

Décision

S0.1

(21,13)

W0.3

(20,10)

(1,1)

(21,12) → Wou(21,12) → S

Exemples:

Page 8: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

8

• Un plan (policy) est une stratégie : choix d’une action pour chaque état

• C’est un ensemble de règles if state then action.

Plan (policy)

(21,12) (20,11)S

(20,12)(20,13)

W W

0.9

0.2

0.5

S0.1

(21,13)

W0.3

(20,10)

(1,1)

Plan 1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, …}

Exemples:

Page 9: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

9

• Un plan (policy) est une stratégie : choix d’une action pour chaque état

• C’est un ensemble de règles if state then action.

Plan (policy)

(21,12) (20,11)S

(20,12)(20,13)

W W

0.9

0.2

0.5

S0.1

(21,13)

W0.3

(20,10)

(1,1)

Plan 1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, …}

Exemples:

Plan 2 { (21,12) → S, (20,11) → S, (21,10) → E, ….}

Page 10: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

10

Exécution d’un plan

• Un plan est un ensemble de règles if state then action.

• Notons P(s) l’action désignée par le plan P dans l’état s.

• Voici un algorithme d’exécution, interprétation ou application d’un plan

While (1) { 1 s = état courant du système s;2 a = P(s);3 execute a; }

• L’étape 1 implique observation : détection (sensing), localisation, classification, tracking

• L’état résultant de l’exécution de l’action à l’étape 3 est imprévisible.

• L’interprétation (ensemble de séquences possibles) est un arbre infini.

• L’exécution est une séquence infinie (une parmi celles de l’arbre).

Exemple de P(S) S : P(S) { (21,12) : W, (20,13) : S, (21,13) : S, (20,12) : E, …}

Page 11: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

11

Interprétation/application d’un plan

• L’application d’un plan à un automate stochastique donne une chaîne de Markov (un graphe).

• La chaîne se déroule en un arbre infini.

(21,12) (20,11)S

(20,12)(20,13)

W W

0.9

0.2

0.5

S0.1

(21,13)

W0.3

(20,10)

(1,1)

Plan 1 { (21,12) → W, (20,13) → S, (21,13) → S, (20,12) → E, (20,11) → S, …}

Exemples:

Plan 2 { (21,12) → S, (20,11) → S, (21,10) → E, ….}

Page 12: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

12

• La qualité d’un plan est déterminée par l’ensemble des séquences d’états qui peuvent potentiellement en résulter.

– C-à-d., les séquences déroulables de la chaîne de Markov correspondante.

• La qualité peut être formalisée selon :– Une approche logique classique : chaque séquence doit satisfaire une

condition de succès (conduire au but ou satisfaire une formule de logique temporelle)

– Une approche de théorie de l’utilité/théorie de la décision: fonction d’utilité ou de récompense.

– Une combinaison des deux.

• Chaque approche donne lieu à une méthode de calcul du plan différente.– Recherche dans un graphe et/ou pour l’approche logique classique– Programmation dynamique pour l’approche de théorie de la décision

• Des prototypes existent pour les différentes approches

Interprétation/application d’un plan

Page 13: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

13

Sujets couvertsSujets couverts

• Introduction

• Processus de décision de Markov

– Algorithme value-iteration

– Algorithme policy-iteration

– Autres algorithmes

• Généralisations

Page 14: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

14

Théorie de l’utilité

• Relations de désirabilité entre des états

• Axiomes contraignant les relations– Par exemple, transitivité: s1 < s2 et s2 < s3 -> s1 < s3

• Des axiomes découle l’existence d’une fonctiond’utilité u: S -> R – Telle que sx < sy ssi u(sx) < u(sy)

– Et sx = sy ssi u(sx) = u(sy)

s1 s2 s3< <

Page 15: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

15

Théorie de l’utilité

• Principe de rationalité– Maximiser l’utilité espérée

– Par opposition à maximiser le meilleur cas, minimiser le pire cas, etc.

– Dans les MDPs, on veut discriminer la désirabilité de séquences d’états plutôt que d’états individuels

i

p(i)*u(xi)

s1 s2 s3 t1 t2 t3<

Page 16: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

16

Processus de décision de Markov

• État initial: s0

• Modèle de transition: pr(s,a,s’)

• Fonction de récompense: R(s)

Hypothèses• Environnement totalement observable

• Un seul agent

• Modèles de transition/récompense indépendant du temps

Page 17: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

17

Fonction d’utilité/récompense et qualité des plans

• Une fonction récompense, R(s), assigne un nombre réel à chaque état s.– R(s) désigne le degré de désirabilité de l’état s.

• Le but et le coût des actions sont indirectement modélisés par la fonction de récompense.

• Ainsi, la qualité d’un plan est déterminée par l’espérance des récompenses qu’on peut potentiellement obtenir en suivant/exécutant le plan– Un plan optimal est celui qui maximise les récompenses. – Plus un plan est proche de du plan optimal, plus il est de qualité.

• Ainsi un plan fait un compromis entre:– La maximisation de la probabilité d’atteindre le but (réduction de la

probabilité d’échec).– La maximisation des récompenses (optimisation du coût des actions).

Page 18: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

18

Horizon

• Fini– Politique non-stationnaire (dépend du temps)

• Infini (pas de deadline fixe)– Politique stationnaire (plus simple)

Les prochaines slides vont traiter le cas infini.

Page 19: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

19

Valeur d’un plan

• R(s) : récompense pour l’état s

• Hypothèses:– Processus Markovien

– Récompenses temporairement atténués (discounted rewards)

• U(P,s) : Valeur d’utilité du plan P dans l’état s

U(P,s) = R(s) + df × pr(s,P(s),s’) × U(P,s’)

– df : facteur de pondération (0 <= df < 1)

– S : espace d’états

– P(s) : action dans s donnée par le plan P

– pr(s,P(s),s’) : probabilité de la transition

s’ in S

(21,12)

(20,11)

S

(20,12)(20,13)

W W

0.9

0.2

0.5

S0.1

(21,13)

W0.3

(20,10)

Page 20: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

20

Plan optimal

• Un plan P domine un plan P’ si les deux conditions suivantes sont réunies:

– U(P,s) >= U(P’,s) pour tout état s– U(P,s) > U(P’,s) pour au moins un s

• Un plan est optimal s’il n’est pas dominé par un autre.

• Il peut y avoir plusieurs plans optimaux, mais ils ont tous la même valeur

• On peut avoir deux plans incomparables (la dominance induit une fonction d’ordre partiel sur les plans)

• Deux algorithmes différents pour le calcul du plan (parmi plusieurs) :

– value iteration– policy iteration

Page 21: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

21

Équations de Bellman pour la valeur optimale

• Les équations de Bellman nous donnent la valeur d’utilité U* des plans optimaux

U*(s)= R(s) + max df × pr(s,a,s’) × U*(s’)

• Si nous pouvons calculer U*, nous pourrons calculer un plan optimal aisément:

– Il suffit de choisir dans chaque état s une action qui maximise U*(s)

s’ in Sa

Page 22: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

22

Sujets couvertsSujets couverts

• Introduction

• Processus de décision de Markov

– Algorithme value-iteration

– Algorithme policy-iteration

– Autres algorithmes

• Généralisations

Page 23: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

23

Algorithme Value iteration

1. Initialiser U(s) à 0 pour chaque état s2. Répéter (jusqu’à ce que le changement en U soit négligeable)

a. Pour chaque état s U’(s) = R(s) + max df × pr(s,a,s’) × U(s’)

b. U=U’ (ou |U| - |U’| ≤ tolérance)

3. Le plan optimal est obtenu en choisissant pour chaque s état l’action a telle que la valeur df × pr(s,a,s’) × V(s’) est la plus élevée.

(En d’autres mots, on choisit l’action qui maximise l’espérance des valeurs des successeurs).

Complexité: O(N4M) où N est le nombre d’états et M le nombre d’actions.

s’ dans S

s’ dans S

a

Page 24: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

24

Démonstration de Value iteration

Démo de l’algorithme value iteration:

http://planiart.usherbrooke.ca/kabanza/cours/ift615/demos/vi/vi.htm

Page 25: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

25

Sujets couvertsSujets couverts

• Introduction

• Processus de décision de Markov

– Algorithme value-iteration

– Algorithme policy-iteration

– Autres algorithmes

• Généralisations

Page 26: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

26

Algorithme Policy iteration

1. Choisir un plan arbitraire P’2. Répéter jusqu’à ce que P devienne inchangé :

a. P := P’;b. Pour tout s dans S, calcule U(P,s) en résolvant le système de |S| équations

en |S| inconnus U(P,s) = R(s) + df × pr(s,P(s),s’) × U(P,s’)

c. Pour tout s dans S, s’il existe une action a telle que [ R(s) + df × pr(s,a,s’) × U(P,s’)] > U(P,s)

alors P’(s) := a sinon P’(s) := P(s)

3. retourne P

Converge au plan optimal en temps pseudopolynomial.

s’ in S

s’ in S

Page 27: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

27

• Actions

• But: S2

0.8

S2S1S0

a3a1 1

a1

a2a2 a4

a50.2 1

111

Exemple (policy iteration)

Page 28: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

28

• Le but (atteindre S2) est exprimé par une fonction de récompenses: S0 : 0, S1: 0, S2: 1

et le facteur de pondération df=0.5

a1 a50.2 10.8

S2S1S0

a3a1 1

a2a2 a411

1

0

0 1

Exprimer le but

Page 29: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

29

Notons ri=R(si) et vi=U(P,si) :

ui = ri + df × pr(si,P(si),sj) × uj

a1 a50.20.8

S2S1S0

a3a1 1

a2a2 a4

1

111

0

0 1

s’ in S

Rappel : équation de la valeur d’utilité d’un plan

U(P,s) = R(s) + df × pr(s,P(s),s’) × U(P,s’)s’ in S

Page 30: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

30

Plan initial choisi arbitrairement :

P’ = { S0 → a2,

S1 → a2,

S2 → a4 }

0.8

S2S1S0a3a1 1

a1

a2a2 a4

a50.2 1

111

0

0 1

Initialisation

Page 31: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

31

a. P = P’ Équations : u0=0+0.5*(1*u0); u1=0+0.5*(1*u0); u2=1+0.5*(1*u1)b. Solution : u0=u1=0, u2=1c. s0 → a1 : 0+0.5*(0.2*0+0.8*0)=0; ne change pas s1 → a3 : 0+0.5*(1*1)=0.5 > 0; change s2 → a5 : 1+0.5*(1*1)=1.5 > 1; change

P’ = { S0 → a2 , S1 → a3 , S2 → a5 }

0.8

S2S1S0

a3a1 1

a1

a2a2 a4

a50.2 1

111

0

0 1

Itération #1

Page 32: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

32

a. P = P’ Équations : u0=0+0.5*(1*u0); u1=0+0.5*(1*u2); u2=1+0.5*(1*u2)b. Solution : u0=0, u1=1, u2=2c. s0 → a1 : 0+0.5(0.2*0+0.8*1)=0.4 > 0; change s1 → a2 : 0+0.5(1*0)=0 < 1; ne change pas s2 → a4 : 1+0.5(1*1)=1.5 < 2; ne change pas P’ = { S0 → a1 , S1 → a3 , S2 → a5 }

Itération #2

0.8

S2S1S0

a3a1 1

a1

a2a2 a4

a50.2 1

111

0

0 1

Page 33: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

33

a. P = P’ Équations : u0=0+0.5(0.2*u0+0.8u1); u1=0+0.5(1*u2); u2=1+0.5(1*u2)b. Solution : u0=0.4, u1=1, u2=2c. s0 : a2: 0+0.5(1*0.4)=0.2 < 0.4; ne change pas s1 : a2: 0+0.5(1*0.4)=0.2 < 1; ne change pas s2 : a4: 1+0.5(1*1)=1.5 < 2; ne change pas P’ = { S0 : a1 , S1 : a3 , S2 : a5 }, c-à-d. P

Solution finale : P

Itération # 3

0.8

S2S1S0

a3a1 1

a1

a2a2 a4

a50.2 1

111

0

0 1

Page 34: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

34

Sujets couvertsSujets couverts

• Introduction

• Processus de décision de Markov

– Algorithme value-iteration

– Algorithme policy-iteration

– Autres algorithmes

• Généralisations

Page 35: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

35

Autres algorithmes

• RTDP (Real-Time Dynamic Programming)

• LRTDP (Labelled Real-Time Dynamic Programming)

• UCT (Upper-Confidence Bounds for Trees)

• Q-Learning (si modèles de transition/récompense pas connu)

Page 36: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

36

Sujets couvertsSujets couverts

• Introduction

• Processus de décision de Markov

– Algorithme value-iteration

– Algorithme policy-iteration

– Autres algorithmes

• Généralisations

Page 37: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

37

• Notons : « R=i » le fait que le robot est dans le local numéro i, G={i,..,k} le but spécifiant que le robot doit visiter les locaux {1, …, k}

• Ainsi G={1,2} signifie que le robot doit inévitablement visiter le local 1 (c-à-d., R=1) et inévitablement visiter le local 2 (c-à-d., R=1)

• Ce genre de but nécessite d’étendre au préalable l’espace d’états de manière à attribuer des récompenses à des comportements.

• Une façon élégante de le faire est d’attribuer les récompenses à des formules de logique temporelle satisfaisant les comportements désirés [Thiébaux et al., JAIR 2006]

R=1G={2}

R=3G={1,2

}

R=2G={1

}

goto(1)

goto(3) goto(3)

goto(2)

Fonctions de récompenses complexes

3

1

2

4

5

Page 38: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

38

• Environnement partiellement observable

– POMDP (Partially-Observable MDP)

– Réseaux de décision / diagrammes d’influence

• Plusieurs joueurs– Jeux stochastiques (SG – Stochastic Game)

• Environnement partiellement observable + plusieurs joueurs– Jeux stochastiques partiellement observables

(POSG – Partially Observable Stochastic Game)

Autres généralisations

Page 39: IFT 702 – Planification en Intelligence Artificielle Planification avec des processus de décision de Markov Froduald Kabanza Département dinformatique

IFT 702 © Froduald Kabanza

39

RésuméRésumé

• L’approche Markovienne est très attrayante parce qu’elle combine raisonnement probabiliste et optimisation avec élégance.

• C’est une des approches les plus étudiées actuellement pour :– La planification

– L’apprentissage par renforcement.

• Elle est notamment populaire dans les applications de robots

mobiles.