IFT 702 – Planification en intelligence artificielle Planification par les processus de décision...

Post on 04-Apr-2015

106 views 1 download

Transcript of IFT 702 – Planification en intelligence artificielle Planification par les processus de décision...

IFT 702 – Planification en intelligence artificielle

Planification par les processus de décision markoviens

Froduald KabanzaDépartement d’informatique

Université de Sherbrookeplaniart.usherbrooke.ca/kabanza/cours/ift702

Sujets couverts

● Processus de décision de Markov (MDP)

● Algorithme d’itération de la valeur (value iteration)

● Algorithme d’itération de la politique (policy iteration)

● Processus de décision markoviens partiellement observables (POMDP)

IFT702 Froduald Kabanza 2

3

Problèmes de planification

Prochaine action?

Percepts Actions

Environment

Statique vs. Dynamique

ObservabilitéComplète

vs. Partielle

Vs. Aucune

CapteursParfaits

vs.Bruités

Déterministes vs.

Stochastiques

Discrètes vs.

Continues

Prévisible vs. Imprévisible

IFT702 Froduald Kabanza

Actions

4

Planification classique

Prochaine action?

Percepts Actions

Environment

Statique

ObservabilitéComplète

CapteursParfaits

Déterministes

Discrètes

Prévisible

IFT702 Froduald Kabanza

Actions

5

Planification conformant

Prochaine action?

Percepts Actions

Environment

Statique

ObservabilitéAucne

CapteursParfaits

Déterministes

Discrètes

Prévisible

IFT702 Froduald Kabanza

Actions

6

MDP

Prochaine action?

Percepts Actions

Environment

Statique

ObservabilitéComplète

CapteursParfaits

Stochastiques

Discrètes

Incertain

IFT702 Froduald Kabanza

Actions

7

POMDP

Prochaine action?

Percepts Actions

Environment

Statique

ObservabilitéPartielle

CapteursBruités

Discrètes

Incertain

IFT702 Froduald Kabanza

Actions

Stochastiques

9

MDP

IFT702 Froduald Kabanza

Grille (occupancy grid)

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

0

Degré de désirabilité

-0.4

: +1But

Room 1 Room 5

Room 2

Room 4

Room 3

But

0 1 2 3 ….

0

1

2 3

.

IFT702 Froduald Kabanza 10

Actions aux effets incertains

État courant Action

Go South (S)

50 %25 % 25 %

États successeurs

possibles

IFT702 Froduald Kabanza 11

Processus de décision markovien

● Un processus de décision markovien (Markov decision process, ou MDP) est défini par: un ensemble d’états S (incluant un étant initial s0) un ensemble d’actions possibles Actions(s) lorsque je me trouve à l’état s un modèle de transition P(s’|s, a), où a Action(s) une fonction de récompense R(s) (utilité d’être dans l’état s)

● Un MDP est donc un modèle général pour un environnement stochastique dans lequel un agent peut prendre des décisions et reçoit des récompenses

● On y fait une supposition markovienne (de premier ordre) sur la distribution des états visités

● Requière qu’on décrive un objectif à atteindre à partir d’une fonction de récompense basée seulement sur l’état courant

IFT702 Froduald Kabanza 12

Grille (occupancy grid)

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

0

Degré de désirabilité

-0.4

: +1But

Room 1 Room 5

Room 2

Room 4

Room 3

But

0 1 2 3 ….

0

1

2 3

.

IFT702 Froduald Kabanza

S = { positions sur la grille }

R(s) (fonction de récompense)Actions(s) 13

Actions aux effets incertains

État courant Action

Go South (S)

50 %25 % 25 %

États successeurs

possibles

IFT702 Froduald Kabanza

P(s’|s,a) (modèle de transition)

14

N

Décision

● Une décision est un choix d’une action dans un état c’est une règle « if state then action »

(21,12) → Wou(21,12) → E

Exemples:

IFT702 Froduald Kabanza

(21,12) (20,11)

(20,12)(20,13)

W W

0.9

0.2

0.5

S0.1

(21,13)

0.3

(20,10)(1,1)

W

S

SS0.8

0.2

15

N

Plan (politique)

● Un plan est une stratégie: choix d’une action (décision) pour chaque état un plan est également appelé une politique (policy) c’est un ensemble de règles if state then action

(21,12) (20,11)S

(20,12)(20,13)

W0.5

S0.1

(21,13)

0.3

(1,1)

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

IFT702 Froduald Kabanza

(20,10)

W0.2 W

0.9

Exemples:

SS0.8

0.2

16

N

Plan (politique)

● Un plan est une stratégie: choix d’une action (décision) pour chaque état un plan est également appelé une politique (policy) c’est un ensemble de règles if state then action

(21,12) (20,11)

(20,12)(20,13)

W

0.9

0.5

S0.1

(21,13)

(1,1)

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

IFT702 Froduald Kabanza

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

Exemples:

0.3W

0.2 W

(20,10)

S

S

S0.8

0.2

17

Exécution d’un plan (politique)

● Un plan est un ensemble de règles if state then action● Notons π(s) l’action désignée par le plan π dans l’état s● Voici un algorithme d’exécution ou d’application d’un plan

• L’étape 1 peut impliquer de la détection (sensing) et de la localisation• L’état résultant de l’exécution de l’action à l’étape 3 est imprévisible

While (1) {

1. s = état courant du système;2. a = π(s);3. execute a;

}

IFT702 Froduald Kabanza 18

Interprétation/application d’un plan

● L’application d’un plan dans un MDP résulte en une chaîne de Markov sur les états, avec une matrice de transition dont les entrées sont données par P(s’|s, π(s))

● La chaîne se déroule en un arbre potentiellement infini

IFT702 Froduald Kabanza

N(21,12) (20,11)

(20,12)(20,13)

W

0.9

0.5

S0.1

(21,13)

(1,1)

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

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

Exemples:

0.3W

0.2 W

(20,10)

S

S

S0.8

0.2

19

Valeur d’un plan

● R(s): récompense pour l’état s, c-à-d. l’utilité de l’état s

● V(π,s): valeur du plan π à l’état s

V(π,s) = R(s) + γ Σ s’ S P(s’|s, π(s)) V(π, s’)

γ: facteur d’escompte (0 < γ <= 1), indique l’importance relative des récompenses futures par rapport à la récompense actuelle

S: espace d’états π(s): action du plan à l’état s P(s’|s, π(s)): probabilité de la transition du MDP

IFT702 Froduald Kabanza 22

récompenseactuelle

somme des récompenses futures espérée

Plan optimal

● Un plan π domine un plan π’ si les deux conditions suivantes sont réunies: V(π,s) >= V(π’,s) pour tout état s V(π,s) > V(π’,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 (aucun ne domine l’autre)

» la dominance induit une fonction d’ordre partiel sur les plans

● Deux algorithmes différents pour le calcul du plan optimal: itération par valeurs (value iteration) itération par politiques (policy iteration)

IFT702 Froduald Kabanza 23

Équations de Bellman pour la valeur optimale

● Les équations de Bellman nous donnent une condition qui est garantie par la valeur V* des plans optimaux

V*(s) = R(s) + max γ Σ s’ S P(s’|s,a) V*(s’) s S

● Si nous pouvons calculer V*, nous pourrons calculer un plan optimal aisément: il suffit de choisir dans chaque état s l’action qui maximise V*(s)

(c.-à-d. le argmax)

a

IFT702 Froduald Kabanza 24

Algorithme Value Iteration1. Initialiser V(s) à 0 pour chaque état s.2. Répéter (jusqu’à ce que le changement en V soit négligeable).

I. pour chaque état s calculer:V’(s) = R(s) + max γ Σ s’ S P(s’|s,a) V(s’)

II. si Σs S|V(s) - V’(s)| ≤ tolérance, quitter

III. V V’

3. Dériver le plan optimal en choisissant l’action a ayant la meilleure récompense future espérée, pour chaque état s

I.π(s) = argmax Σ s’ S P(s’|s,a) V(s’)

● En mots, on choisit l’action qui maximise l’espérance des sommes de récompenses futures

● Complexité:● (O(|S|4 |A|2 ) [Kaelbling, 1996]● Polynomial pourvu que le nombre d’itérations pour une politique ε-optimale est

polynomial [Littman, Dean, Kaelbling, UAI-95] (chaque itération est O(|S| |A|2 ))IFT702 Froduald Kabanza

a

25

a

● MDP à 3 états: S = {s0, s1, s2}

● But: s2

a21

a10.2 a5 1

a3 1

a41

0.8a1

a21

Exemple de MDP

s2s1s0

IFT702 Froduald Kabanza 26

● MDP à 3 états: S = {s0, s1, s2}

● Le but (atteindre s2) est exprimé par une fonction de récompense: R(s0) = 0, R(s1)= 0, R(s2) = 1

● Le facteur d’escompte est γ=0.5

Exemple de MDP

IFT702 Froduald Kabanza 27

a21

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

Exemple de MDP

● V(s): valeur actuelle l’état s ● V’(s): nouvelle valeur de l’état s

V’(s) = R(s) + max γ Σ s’ S P(s’|s,a) V(s’)

● Notons ri=R(si) et vi = V(si) V’i = ri + γ Σj P(sj|si, π(si)) vj

IFT702 Froduald Kabanza 28

a21

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

● Valeurs initiales fixées à 0:

v0 = 0 v1 = 0 v2 = 0

Value iteration: initialisation

IFT702 Froduald Kabanza

a2

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

29

1

Value iteration: itération #1

● Mise à jour droite-gauche des valeurs

v’0 0 + 0.5 max{ 0.2 v0 + 0.8 v1, v0 } = 0 + 0.5 max{ 0, 0 } = 0v’1 0 + 0.5 max{ v0, v2 } = 0 + 0.5 max{ 0, 0 } = 0v’2 1 + 0.5 max{ v1, v2 } = 1 + 0.5 max{ 0, 0 } = 1

● Les nouvelles valeurs sont v0 = 0, v1 = 0, v2 = 1

IFT702 Froduald Kabanza 30

a2

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

1

Value iteration: itération #2

● Mise à jour droite-gauche des valeurs

v’0 0 + 0.5 max{ 0.2 v0 + 0.8 v1, v0 } = 0 + 0.5 max{ 0, 0 } = 0v’1 0 + 0.5 max{ v0, v2 } = 0 + 0.5 max{ 0, 1 } = 0.5v’2 1 + 0.5 max{ v1, v2 } = 1 + 0.5 max{ 0, 1 } = 1.5

● Les nouvelles valeurs sont v0 = 0, v1 = 0.5, v2 = 1.5

IFT702 Froduald Kabanza 31

a2

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

1

Value iteration: itération #3

● Mise à jour droite-gauche des valeurs

v’0 0 + 0.5 max{ 0.2 v0 + 0.8 v1, v0 } = 0 + 0.5 max{ 0.8 * 0.5, 0 } = 0.2v’1 0 + 0.5 max{ v0, v2 } = 0 + 0.5 max{ 0, 1.5 } = 0.75v’2 1 + 0.5 max{ v1, v2 } = 1 + 0.5 max{ 0.5, 1.5 } = 1.75

● Les nouvelles valeurs sont v0 = 0.2, v1 = 0.75, v2 = 1.75

IFT702 Froduald Kabanza 32

a2

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

1

Value iteration: itération #3

● Si on arrêtait à la 3e itération, le plan retourné serait

π(s0) = argmax{ 0.2 v0 + 0.8 v1, v0 } = argmax{ 0.2*0.2+0.8*0.75, 0.2} = a1

π(s1) = argmax{ v0, v2 } = argmax{ 0.2, 1.75 } = a3

π(s2) = argmax{ v1, v2 } = argmax{ 0.75, 1.75 } = a5

● Même si les valeurs n’ont pas tout à fait convergé, on a déjà le plan optimal ça aurait pu ne pas être le cas, seulement garanti si la tolérence est égale à zéro

IFT702 Froduald Kabanza 33

a2

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

1

IFT702 © Froduald Kabanza

34

Démonstration de Value iteration

Démo de l’algorithme value iteration: http://planiart.usherbrooke.ca/kabanza/cours/demos/vi/vi.htm

Algorithme Policy Iteration

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

I. π:= π’II. pour tout s dans S, calculer V(π,s) en résolvant le système

de |S| équations et |S| inconnues V(π,s) = R(s) + γ Σ s’ S P(s’|s, π(s)) V(π,s’)

III. pour tout s dans S, s’il existe une action a telle que [ R(s) + γ Σ s’ S P(s’|s,a) V(π,s’) ] > V(π,s)

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

3. Retourne π

● Converge en temps polynomial pourvu que le nombre d’itérations pour une politique ε-optimale est polynomial [Littman, Dean, Kaelbling, UAI-95]: Chaque itération (calcul de la valeur d’un plan) est O(|S|3 ) Le nombre d’itérations est O(|S| |A|2 )

IFT702 Froduald Kabanza 35

Policy iteration: initialisation

● Plan initial choisi arbitrairement: π’ = { s0 → a2,

s1 → a2,

s2 → a4 }

IFT702 Froduald Kabanza

a21

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

37

Policy iteration: itération #1

I.π = π’II.Équations: v0=0+0.5*(1*v0); v1=0+0.5*(1*v0); v2=1+0.5*(1*v1)Solution: v0=0, v1=0, v2=1

III. 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 π’ = { s0 → a2 , s1 → a3 , s2 → a5 }

IFT702 Froduald Kabanza

a21

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

38

Policy iteration: itération #2

I. π = π’II. Équations: v0=0+0.5*(1*v0);

v1=0+0.5*(1*v2); v2=1+0.5*(1*v2)Solution: v0=0, v1=1, v2=2

III. 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 π’ = { s0 → a1 , s1 → a3 , s2 → a5 }

IFT702 Froduald Kabanza

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

a21

39

I.π = π’II.Équations: v0=0+0.5*(0.2*v0+0.8*v1); v1=0+0.5*(1*v2); v2=1+0.5*(1*v2)Solution: v0=4/9, v1=1, v2=2

III. s0 → a2: 0+0.5(1*0.4)=0.2 < 4/9; 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 π’ = { s0 → a1 , s1 → a3 , s2 → a5 }, c-à-d. π

•Solution finale: π

1 a2

Policy iteration: itération #3

IFT702 Froduald Kabanza

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

40

Fonctions de récompenses complexes

● 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 visiter le local 1 (c-à-d., R=1) et visiter le local 2 (c-à-d., R=2)

● Ce genre de but nécessite d’étendre au préalable l’espace d’états de manière à attribuer des récompenses à des comportements (pas seulement à un état)

● 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) 3

1

2

4

5

IFT702 Froduald Kabanza 44

Aspects avancés des MDP …

● Les algorithmes value-iteration et policy-iteration sont lents sur des grands espaces d’état Améliorations:

» Real-Time Dynamic Programming (RTPD)» Labeled RTDP» Approches Monte-Carlo (échantillonage)» Représentations compactes de l’espace d’états

IFT702 Froduald Kabanza 45

46

POMDP

IFT702 Froduald Kabanza

© Froduald Kabanza 47

Rappel- Planification conformant

• L’agent n’a aucun capteur. Il ne sait pas précisément dans quel état il se trouve. Il doit malgré tout attendre le but.

• Nous avions ramener le problème à un problème de planification par recherche dans l’espace des croyances.

IFT702

Rappel - Exemple (Vacuum World)

● Avec capteurs, on aurait des données sensorielles : position et état des lieux

Par exemple : [A,Clean], [A,Dirty], [B,Clean],

● Actions : Left, Right, Suck, NoOp

IFT615 Froduald Kabanza 48

Rappel - Espace d’états avec capteurs

IFT615 Froduald Kabanza 49

Rappel - Exemple (Vacuum World)

● Sans capteur, le robot ne sait pas quelle pièce il est, ni dans si la pièce est salle ou non.

● Les actions sont inchangées : Left, Right, Suck, NoOp

● Comment planifier pour qu’il fasse quand même le travail? Réponse: explorer l’espace des croyances

IFT615 Froduald Kabanza 50

Rappel - Espace des croyances

IFT615 Froduald Kabanza 51

Processus de décision markovien partiellement observable

● Un processus de décision markovien partiellement observable (Partially Observable MDP, ou POMDP) est défini par: un ensemble d’états S (incluant un étant initial s0) un ensemble d’actions possibles Actions(s) lorsque je me trouve à l’état s un modèle de transition P(s’|s, a), pour s et s’ S et a Action(s) une fonction de récompense R(s) (utilité d’être dans l’état s) Un modèle d’observation P(o|s, a) s S et a Action(s), c-à-d., la probabilité

d’observer o dans l’état s, après avoir exécuté l’action a.

» Lorsque le modèle d’observation dépend seulement de l’état (mais pas de comment on y est arrivé), il est réduit à P(o|s).

IFT702 Froduald Kabanza 52

Exemple

● Supposons deux observations O ={d,c}, c-à-d., B is dirty (d) et B is clean (c) ● Nous pouvons alors décrire le modèle d’observation du robot en spécifiant P(o|s) pour

chacun des états s {s1, s2 , s3 , s4 } : P(d| s1) = P(c| s1) = P(d| s2) = P(c| s2) = 0.5 P(d| s4) = P(c| s3) = 1 P(d| s3) = P(c| s4) = 0

● Remarquez que les états s1 et s1 sont non distinguables.IFT615 Froduald Kabanza 53

A B

A BA B

A B

at(R,A) at(R,B)

at(R,A), dirty(B) at(R,B), dirty(B)

s2

s1 s4

s3

R

L

R

L

États de croyance dans un POMDP

● La différence fondamentale entre un POMDP et un MDP est que la politique est définie sur l’espace d’états de croyance (belief states) plutôt que l’espace d’états.

● Contrairement à la planification conformant, l’état de croyance est une distribution de probabilité sur l’ensemble des états, plutôt que simplement un sous ensemble des états.

B est l’ensemble d’états de croyance (de distributions de probabilité sur les états)

b B est un état de croyance (distribution de probabilité sur les états) b(s) est la probabilité que l’état réel soit s, selon l’état de croyance b.

IFT702 Froduald Kabanza 54

Exemple

IFT615 Froduald Kabanza 55

A B

A BA B

A B

at(R,A) at(R,B)

at(R,A), dirty(B) at(R,B), dirty(B)

b(s2 )=0.5

R

L

R

L

belief state b

b(s1 )=0.5

b(s3 )=0

b(s4 )=0

Mise à jour des états de croyance

● Étant donné un état de croyance b, l’exécution d’une action a résulte en un nouvel état de croyance ba(s) calculé comme suit:

ba(s) = Σ s’ S P(s|s’,a) b(s’)

● Cet équation nous indique que l’on peut générer un automate stochastique sur les états des croyances.

● On peut facilement étendre la fonction des récompenses aux états de croyance: ρ(b) =

● Ainsi on réduit le problème POMDP à un MDP sur les croyances.

● Sauf que les croyances sont continues (distributions de probabilités). Il faut adapter les algorithmes pour les MDPs [Section 17.4, Rusell & Norvig, AIMA.]

IFT702 Froduald Kabanza 56

Exemple

IFT615 Froduald Kabanza 57

A B

A BA B

A B

at(R,A) at(R,B)

at(R,A), dirty(B) at(R,B), dirty(B)

b(s2 )=0.5

R

L

R

L

belief state b

b(s1 )=0.5

b(s3 )=0

b(s4 )=0

A B

A BA B

A B

at(R,A) at(R,B)

at(R,A), dirty(B) at(R,B), dirty(B)

b(s2 )=0

R

L

R

L

belief state b’

b(s1 )=0

b(s3 )=0.5

b(s4 )=0.5

R

Calcul de la probabilité d’une observation

● Après la mise à jour de l’état de croyance, on calcule ensuite la probabilité d’une observation o ϵ O après l’exécution d’une action a comme suit:

ba(o) = Σ s S P(o|s,a) b(s)

IFT702 Froduald Kabanza 58

Exemple

IFT615 Froduald Kabanza 59

A B

A BA B

A B

at(R,A) at(R,B)

at(R,A), dirty(B) at(R,B), dirty(B)

b(s2 )=0.5

R

L

R

L

belief state b

b(s1 )=0.5

b(s3 )=0

b(s4 )=0

A B

A BA B

A B

at(R,A) at(R,B)

at(R,A), dirty(B) at(R,B), dirty(B)

b(s2 )=0

R

L

R

L

belief state b’

b(s1 )=0

b(s3 )=0.5

b(s4 )=0.5

R

Calcul de la probabilité d’un état

● On peut finalement calculer la probabilité d’un état après avoir executé l’action a dans l’état de croyance b et observé o:

ba,o(s) = P(o|s,a) ba(s)/ba(o)

IFT702 Froduald Kabanza 60

Exemple

IFT615 Froduald Kabanza 61

A B

A BA B

A B

at(R,A) at(R,B)

at(R,A), dirty(B) at(R,B), dirty(B)

b(s2 )=0.5

R

L

R

L

belief state b

b(s1 )=0.5

b(s3 )=0

b(s4 )=0

A B

A BA B

A B

at(R,A) at(R,B)

at(R,A), dirty(B) at(R,B), dirty(B)

b(s2 )=0

R

L

R

L

belief state b’

b(s1 )=0

b(s3 )=0.5

b(s4 )=0.5

R

Résumé

● L’approche MDP 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 (qu’on verra bientôt)

● Elle est notamment populaire dans les applications de robots mobiles

● Dans un POMDP, la politique (le plan) spécifie des actions pour des états de croyance.

● Les POMDP sont plus difficiles à résoudre parce que les MDP parce que les états de croyances sont des distributions de probabilités (donc continues).

IFT702 Froduald Kabanza 62