ift 615 – intelligence artificielle processus décisionnels markoviens (mdp) jean-françois landry...

27
IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département d’informatique Université de Sherbrooke http:// planiart.usherbrooke.ca/ ~eric/ift615/

Upload: allard-hennequin

Post on 04-Apr-2015

111 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 – Intelligence artificielle

Processus décisionnels markoviens(MDP)

Jean-François LandryDépartement d’informatiqueUniversité de Sherbrooke

http://planiart.usherbrooke.ca/~eric/ift615/

Page 2: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 2

Sujets couvertsSujets couverts

• Processus de décision de Markov (MDP).

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

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

Page 3: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

Rappel: Utility-based agents

IFT615 Processus de décision de Markov 3

Les actions peuvent avoir des effets incertains!

Les capteurs peuvent être bruités…État

incertain.

Page 4: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

Incertitude• Soit At l’action d’aller à l’aéroport t minutes avant le départ de l’avion.

• At me permettra-t-il d’arriver à temps?

• Problèmes:

– Observabilité partielle (conditions routières, etc.)

– Senseurs bruités (annonces du trafic, etc.)

– Incertitude dans l’effet des actions (crevaisons, pannes, etc.)

– Immense complexité pour modéliser les actions et le trafic.

• Un raisonnement purement logique

– Risque de tirer des conclusions erronées: « A25 me permettra d’arriver à temps », ou

– Risque de tirer des conclusions peu exploitable du point de vue « prise de décision »:

• « A25 me permettra d’arriver à temps, s’il ne pleut pas, s’il n’y a pas d’accident, si mes pneus ne crèvent pas, etc. »

• « A1440 me permettra raisonnable d’arriver à temps, mais je devrai passer une nuit à l’aéroport. »

IFT615 Processus de décision de Markov 4

Page 5: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 5

Grille (occupancy grid)

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

Example0

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 6: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

Actions aux effets incertains

6

État courant Action

Go South (S)

50 %25 % 25 %

États successeurspossibles

Page 7: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 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

Une décision est un choix d’action pour un état

S0.1

(21,13)

W0.3

(20,10)

(1,1)

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

Exemples:

Page 8: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 8

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

• Un plan est également appelé une politique (policy)

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

Un plan est un ensemble de décisions (politique)

(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 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 9

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

• Un plan est également appelé une politique (policy)

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

Un plan est un ensemble de décisions (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 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 10

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, interprétation ou application d’un plan

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

• L’étape 1 peut impliquer de la détection (sensing) et la localisation.

• 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 infini (une parmi celles de l’arbre).

Page 11: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 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 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 14

Valeur d’un plan

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

• V(π,s) : valeur du plan π dans l’état s

V(π,s) = R(s) + df × P(s, π(s),s’) × V(π, s’)

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

– S : espace d’états

– π(s) : action dans s

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

s’ in S

Page 13: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 15

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 (la dominance induit une fonction d’ordre partiel sur les plans)

• Deux algorithmes différents pour le calcul du plan :

– Itération par valeurs (value iteration)– Itération par politique (policy iteration)

Page 14: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 16

Équations de Bellman pour la valeur optimale

• Les équations de Bellman nous donnent la valeur V* des plans optimaux

V*(s)= R(s) + max df × P(s,a,s’) × V*(s’)

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

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

s’ in Sa

Page 15: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 17

Algorithme Value iteration

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

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

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

3. Le plan optimal est obtenu en choisissant pour chaque s état l’action a telle que la valeur df × P(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).

Converge au plan optimal en O(|S|3)

s’ dans S

s’ dans S

a

Page 16: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 18

Démonstration de Value iteration

http://planiart.usherbrooke.ca/~eric/ift615/demos/vi/

Page 17: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 19

Algorithme Policy iteration

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

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

en |S| inconnus V(π,s) = R(s) + df × P(s, π(s),s’) × V(π,s’)

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

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

3. retourne π

Converge au plan optimal en O(|S|3)

s’ in S

s’ in S

Page 18: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 22

• Actions

• But: S2

0.8

S2S1S0

a3a1 1

a1

a2a2 a4

a50.2 1

111

Exemple (policy iteration)

Page 19: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 23

• 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 20: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 24

Notons ri=R(si) et vi=V(π,si) :

vi = ri + df × P(si, π(si),sj) × vj

a1 a50.20.8

S2S1S0

a3a1 1

a2a2 a4

1

111

0

0 1

sj in S

Rappel : équation de la valeur d’un plan

V(π,s) = R(s) + df × P(s, π(s),s’) × V(π,s’)s’ in S

Page 21: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 25

Plan initial choisi arbitrairement :

π’ = { S0 → a2,

S1 → a2,

S2 → a4 }

0.8

S2S1S0a3a1 1

a1

a2a2 a4

a50.2 1

111

0

0 1

Initialisation

Page 22: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 26

a. π = π’ Équations : v0=0+0.5*(1*v0); v1=0+0.5*(1*v0); v2=1+0.5*(1*v1)b. Solution : v0=v1=0, v2=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

π’ = { 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 23: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 27

a. π = π’ Équations : v0=0+0.5*(1*v0); v1=0+0.5*(1*v2); v2=1+0.5*(1*v2)b. Solution : v0=0, v1=1, v2=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 π’ = { 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 24: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 28

a. π = π’ Équations : v0=0+0.5(0.2*v0+0.8*v1); v1=0+0.5(1*v2); v2=1+0.5(1*v2)b. Solution : v0=0.4, v1=1, v2=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 π’ = { S0 : a1 , S1 : a3 , S2 : a5 }, c-à-d. π

Solution finale : π

Itération # 3

0.8

S2S1S0

a3a1 1

a1

a2a2 a4

a50.2 1

111

0

0 1

Page 25: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 Processus de décision de Markov 29

• 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 26: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

Un peu plus loin …• Les algorithmes value-iteration et policy-iteration

sont lents sur des grands espaces d’états. Améliorations:– Real-Time Dynamic Programming (RTPD).– Labeled RTDP.

• Les MDP supposent un observation totale.– Partially Observable MDP (PoMDP).

• Les MDP sont limités à des décisions séquentielles. Pour des actions simultanés:– Concurrent MDP (CoMPD)– Concurrent Probabilistic Temporal Planning (CPTP)

IFT 615 Processus de décision de Markov 30

Page 27: IFT 615 – Intelligence artificielle Processus décisionnels markoviens (MDP) Jean-François Landry Département dinformatique Université de Sherbrooke eric/ift615

IFT 615 © Éric Beaudry & Froduald Kabanza 31

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.