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

55
IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift702

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

Page 1: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 2: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 3: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 4: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

4

Planification classique

Prochaine action?

Percepts Actions

Environment

Statique

ObservabilitéComplète

CapteursParfaits

Déterministes

Discrètes

Prévisible

IFT702 Froduald Kabanza

Actions

Page 5: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

5

Planification conformant

Prochaine action?

Percepts Actions

Environment

Statique

ObservabilitéAucne

CapteursParfaits

Déterministes

Discrètes

Prévisible

IFT702 Froduald Kabanza

Actions

Page 6: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

6

MDP

Prochaine action?

Percepts Actions

Environment

Statique

ObservabilitéComplète

CapteursParfaits

Stochastiques

Discrètes

Incertain

IFT702 Froduald Kabanza

Actions

Page 7: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

7

POMDP

Prochaine action?

Percepts Actions

Environment

Statique

ObservabilitéPartielle

CapteursBruités

Discrètes

Incertain

IFT702 Froduald Kabanza

Actions

Stochastiques

Page 8: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

9

MDP

IFT702 Froduald Kabanza

Page 9: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 10: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

Actions aux effets incertains

État courant Action

Go South (S)

50 %25 % 25 %

États successeurs

possibles

IFT702 Froduald Kabanza 11

Page 11: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 12: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 13: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 14: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 15: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 16: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 17: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 18: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 19: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 20: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 21: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

É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

Page 22: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 23: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

● 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

Page 24: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

● 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

Page 25: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 26: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

● 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

Page 27: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 28: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 29: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 30: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 31: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 32: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 33: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 34: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 35: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 36: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 37: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 38: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 39: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

46

POMDP

IFT702 Froduald Kabanza

Page 40: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

© 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

Page 41: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 42: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

Rappel - Espace d’états avec capteurs

IFT615 Froduald Kabanza 49

Page 43: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 44: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

Rappel - Espace des croyances

IFT615 Froduald Kabanza 51

Page 45: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 46: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 47: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

É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

Page 48: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 49: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 50: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 51: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 52: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 53: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 54: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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

Page 55: IFT 702 – Planification en intelligence artificielle Planification par les processus de décision markoviens Froduald Kabanza Département dinformatique.

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