ift 615 – intelligence artificielle processus de décision markoviens (mdp) froduald kabanza...

27
Sujets couverts Processus de décision de Markov (MDP) Algorithme d’itération par valeurs (value-iteration) Algorithme d’itération par politiques (policy- iteration) IFT 615 Froduald Kabanza 2

Upload: bertrand-le-roux

Post on 03-Apr-2015

120 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Sujets couverts

● Processus de décision de Markov (MDP)

● Algorithme d’itération par valeurs (value-iteration)

● Algorithme d’itération par politiques (policy-iteration)

IFT 615 Froduald Kabanza 2

Page 2: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Modèle d’actions

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

Room 1 Room 4

Room 2

Room 3But

0 1 2 3 ….

0

1

2 3

.

IFT 615 Froduald Kabanza 10

EscalierGlissant

Page 3: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Actions aux effets incertains

État courant Action

Go South (S)

50 %25 % 25 %

États successeurs

possibles

IFT 615 Froduald Kabanza 11

Page 4: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Actions aux effets incertains

État courant Action

Go South (S)

50 %25 % 25 %

États successeurs

possibles

IFT 615 Froduald Kabanza

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

14

Page 5: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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, ….}

IFT 615 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 6: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Utilité d’un plan

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

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

U(π,s) = R(s) + γ Σ s’ S P(s’|s, π(s)) U(π, 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

IFT 615 Froduald Kabanza 22

récompenseactuelle

somme des récompenses futures espérée

Page 7: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Équations de Bellman pour la valeur optimale

● Les équations de Bellman nous donnent l’utilité d’un état (c.à-d., l’utilité des plans optimaux dans un état)

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

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

(c.-à-d. le argmax)

a

IFT 615 Froduald Kabanza 24

Page 8: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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

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

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

III. U U’

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) U(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 ))IFT 615 Froduald Kabanza

a

25

a

Page 9: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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

● But: s2

a21

a10.2 a5 1

a3 1

a41

0.8a1

a21

Exemple de MDP

s2s1s0

IFT 615 Froduald Kabanza 26

Page 10: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

● 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

IFT 615 Froduald Kabanza 27

a21

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

Page 11: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Exemple de MDP

● Us): utilité actuelle l’état s ● U’(s): nouvelle utilité de l’état s

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

● Notons ri=R(si) et ui = U(si) u’i = ri + γ Σj P(sj|si, π(si)) uj

IFT 615 Froduald Kabanza 28

a21

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

Page 12: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

● Valeurs initiales fixées à 0:

u0 = 0 u1 = 0 u2 = 0

Value iteration: initialisation

IFT 615 Froduald Kabanza

a2

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

29

1

Page 13: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Value iteration: itération #1

● Mise à jour droite-gauche des valeurs

u’0 0 + 0.5 max{ 0.2 u0 + 0.8 u1, u0 } = 0 + 0.5 max{ 0, 0 } = 0u’1 0 + 0.5 max{ u0, u2 } = 0 + 0.5 max{ 0, 0 } = 0u’2 1 + 0.5 max{ u1, u2 } = 1 + 0.5 max{ 0, 0 } = 1

● Les nouvelles valeurs sont u0 = 0, u1 = 0, u2 = 1

IFT 615 Froduald Kabanza 30

a2

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

10

0 0

Page 14: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Value iteration: itération #2

● Mise à jour droite-gauche des valeurs

u’0 0 + 0.5 max{ 0.2 u0 + 0.8 u1, u0 } = 0 + 0.5 max{ 0, 0 } = 0u’1 0 + 0.5 max{ u0, u2 } = 0 + 0.5 max{ 0, 1 } = 0.5u’2 1 + 0.5 max{ u1, u2 } = 1 + 0.5 max{ 0, 1 } = 1.5

● Les nouvelles valeurs sont u0 = 0, u1 = 0.5, u2 = 1.5

IFT 615 Froduald Kabanza 31

a2

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

10

0 1

Page 15: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Value iteration: itération #3

● Mise à jour droite-gauche des valeurs

u’0 0 + 0.5 max{ 0.2 u0 + 0.8 u1, u0 } = 0 + 0.5 max{ 0.8 * 0.5, 0 } = 0.2u’1 0 + 0.5 max{ u0, u2 } = 0 + 0.5 max{ 0, 1.5 } = 0.75u’2 1 + 0.5 max{ u1, u2 } = 1 + 0.5 max{ 0.5, 1.5 } = 1.75

● Les nouvelles valeurs sont u0 = 0.2, u1 = 0.75, u2 = 1.75

IFT 615 Froduald Kabanza 32

a2

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

10

0.5 1.5

Page 16: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Value iteration: itération #3

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

π(s0) = argmax{ 0.2 u0 + 0.8 u1, u0 } = argmax{ 0.2*0.2+0.8*0.75, 0.2} = a1

π(s1) = argmax{ u0, u2 } = argmax{ 0.2, 1.75 } = a3

π(s2) = argmax{ u1, u2 } = 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

IFT 615 Froduald Kabanza 33

a2

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

10.2

0.75 1.75

Page 17: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 U(π,s) = R(s) + γ Σ s’ S P(s’|s, π(s)) U(π,s’)

III. pour tout s dans S, s’il existe une action a telle que [ R(s) + γ Σ s’ S P(s’|s,a) U(π,s’) ] > U(π,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 )

IFT 615 Froduald Kabanza 35

Page 18: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Policy iteration: initialisation

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

s1 → a2,

s2 → a4 }

IFT 615 Froduald Kabanza

a21

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

37

Page 19: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Policy iteration: itération #1

I.π = π’II.Équations: u0=0+0.5*(1*u0); u1=0+0.5*(1*u0); u2=1+0.5*(1*u1)Solution: u0=0, u1=0, u2=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 }

IFT 615 Froduald Kabanza

a21

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

38

Page 20: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Policy iteration: itération #2

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

u1=0+0.5*(1*u2); u2=1+0.5*(1*u2)Solution: u0=0, u1=1, u2=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 }

IFT 615 Froduald Kabanza

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

a21

39

Page 21: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

I.π = π’II.Équations: u0=0+0.5*(0.2*v0+0.8*u1); u1=0+0.5*(1*u2); u2=1+0.5*(1*u2)Solution: u0=4/9, u1=1, u2=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

IFT 615 Froduald Kabanza

a10.2 a5 1

a3 1

a41

0.8a1

a21s2s1s0

40

Page 22: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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

IFT 615 Froduald Kabanza 44

Page 23: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Au de là de 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

● Les MDP supposent une observation complète Partially Observable MDP (PoMDP) tient compte d’une observation partielle

● Les MDP sont limités à des décisions séquentielles pour des actions simultanées:

» Concurrent MDP (CoMPD)» Concurrent Probabilistic Temporal Planning (CPTP)

IFT 615 Froduald Kabanza 45

Page 24: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

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 (cours IFT 702) l’apprentissage par renforcement (qu’on verra bientôt)

● Elle est notamment populaire dans les applications de robots mobiles

IFT 615 Froduald Kabanza 46

Page 25: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Objectifs du cours

IFT615 Froduald Kabanza 48

agents intelligents

recherche heuristique

recherche locale

recherche à deux adversaires

satisfaction de contraintes

Algorithmes et concepts

raisonnement probabiliste

processus de décision markovien

avec les processus de décision markoviens, on ajoute le concept de décision/politique au raisonnement probabiliste (RBD)

Page 26: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Processus de décision markovien : pour quel type d’agent?

IFT615 Froduald Kabanza 49

Simple reflex Model-based reflex

Goal-based Utiliy-based

Page 27: IFT 615 – Intelligence artificielle Processus de décision markoviens (MDP) Froduald Kabanza Département dinformatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

Vous devriez être capable de...

● Donner la définition d’un processus de décision markovien espace d’état action modèle de transition fonction de récompense décision plan/politique

● Simuler value iteration

● Simuler policy iteration

IFT615 Froduald Kabanza 50