116
INTRODUCTION A LA PROGRAMMATION DYNAMIQUE STOCHASTIQUE (PDS) PROCESSUS DE DECISION DE MARKOV (PDM) T. AL ANI Laboratoire A²SI-ESIEE-Paris e-mail: [email protected]

INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

INTRODUCTION A LA PROGRAMMATION DYNAMIQUE

STOCHASTIQUE (PDS)PROCESSUS DE DECISION DE MARKOV PROCESSUS DE DECISION DE MARKOV

(PDM)

T. AL ANILaboratoire A²SI-ESIEE-Paris e-mail: [email protected]

Page 2: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

INTRODUCTION AU PROCESSUS DE DECISION DE

MARKOV

Ce cours est uneintroduction à uncadregénéralpour décrireet résoudre

06/11/2011 1

cadregénéralpour décrireet résoudrecertains problèmes deprogrammationdynamiqueprobabilistes.

Page 3: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

ExempleExemple introductifintroductif :: PlanificationPlanification dede RepasRepas dede

LigneLigne aa éériennerienne (( CanadianCanadian Airlines)Airlines)**

• But : Obtenir le bon nombre de repas sur chaque vol

• Pourquoi ce problème est difficile ?– Délais d'exécution de préparation de repas– Incertitude de charge

06/11/2011 2

– Incertitude de charge

– Contraintes de la dernière capacité de chargement

• Pourquoi ceci est important pour une ligne aérienne ?

• 500 voles par jour ×××× 365 jours ×××× $5/repas = $912,500* http://www.cors.ca/bulletin/v33n3_2e.pdf

Page 4: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Processus de décision pour laPlanification de Repas

• À plusieurs points clés de décision jusqu'à 3heures avant le départ, le planificateur derepas observe les réservations et les repasassignés et ajuste la quantité assignée derepas.

06/11/2011 3

repas.• D'heure en heure dans les trois dernières

heures, des ajustements sont faits mais lecoût d'ajustement est sensiblement plus hautet limité par la capacité de fourgon de livraisonet la logistique de chargement.

Page 5: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

«« TimelineTimeline »» de Planification de Planification Repas*Repas*

06/11/2011 4

18 heureshoraire, Production*

6 heuresCollectes des demandes

3 heuresDemandes prêtes à l’exécution

Départ

* L'ensemble des activités, des moyens qui permettent de créer des biens matériels ou d'assurer des services.

Page 6: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Planification de Repas de Planification de Repas de Ligne aLigne a éériennerienne

But opérationnel : développer une politique de planification de repas de ligne aérienne qui

minimise les coût totales espérés

06/11/2011 5

UneUne politiquepolitique dede planificationplanification dede repasrepasindiqueindique àà chaquechaque pointpoint dede décisiondécision lelenombrenombre dede repasrepas supplémentairessupplémentaires ààpréparerpréparer ouou livrerlivrer pourpour n'importen'importe quellequellequantitéquantité observéeobservée d'attributiond'attribution etet dederéservationréservation dede repasrepas ..

Page 7: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

En formulant le processus decommande de repas comme MDP,nous représentons les étatsétats du modèlecomme toutes les combinaisonspossibles de charge des passagers et

06/11/2011 6

possibles de charge des passagers etdes repas. Nous pouvons alors choisirdes décisions pour faire des transitionstransitionsentre les états.

Page 8: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Par exemple, si l'état courant du système est95 repas préparés mais 100 passagers qui ontréellement réservés, nous pouvons choisird’ajuster la quantité d'ordre de repas sur 100repas. Cet ajustement de +5 repas est uneddéécisioncision . Cependant, nous pouvons nousattendre à ce que la charge réservée de

06/11/2011 7

attendre à ce que la charge réservée depassager augmente par 10 passagers avecune probabilité p, ou restez la même choseavec une probabilité de 1-p. Un tel systèmeest peut être schématisé sur le schémasuivant.

Page 9: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Un problème simplifié d'une étape de décision*

06/11/2011 8

* http://www.cors.ca/bulletin/v33n3_2e.pdf

Page 10: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Nous pouvons voir que selon les probabilitprobabilit ééss dedetransitiontransition (p, 1-p) et la décision choisie, lesystème arrivera dans l’état suivant pour le pointde décision suivant. Chaque décision a un coûtassocié, où une récompense représentée par un

06/11/2011 9

associé, où une récompense représentée par uncoût négatif. Le décideur choisit la décision qui acomme conséquence un cocoûûtt estimestim éé minimumminimum ,basée sur les probabilités de transition.

Page 11: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Cet exemple décrit une instance simplifiée d’uneétape. Pour représenter mieux le processus decommande de repas, nous considérons tous lesétats, les décisions et les probabilités possibles detransition. Un processusprocessus dede ddéécisioncision dede MarkovMarkov((PDMPDM)) évalue le problème sur la totalité de

06/11/2011 10

((PDMPDM)) évalue le problème sur la totalité del'horizonhorizon de prise de décision (cinq étapes), etidentifie les décisions qui réduisent au minimum lecoût estimé, étant données l'état du système, etl'étape de décision.

Page 12: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Les tables optimales d'ajustementsd'ordre de repas est désigné sous lenom des règlesrègles dede décisiondécision (fonctionfonctiondede politiquepolitique ), et la collection de toutesles règles de décision est désigné sous

06/11/2011 11

les règles de décision est désigné sousle nom d'une politiquepolitique . Une règle dedécision est créée pour chaque pointde décision dans le « timeline ».

Page 13: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

PourquoiPourquoi trouvertrouver uneune politiquepolitiqueoptimaleoptimale dede planificationplanification dede repasrepasestest unun challengechallenge ??• 6 points de décision• 108 passagers• 108 décisions possibles

06/11/2011 12

• 108 décisions possibles• Une politique requière 108×108×6 = 69984

ajustements de la quantité d'ordre de repas.

• Il existe 7,558,272 politiques à considérer.• La demande doit être estimé.

Page 14: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Caractéristiques du problèmeCaractéristiques du problème

•• Politique stationnairePolitique stationnaire: Une décision similaire est prise aux différents instants du temps (points de décisions)

•• Coût immédiatCoût immédiat: Il existe un coût associé à chaque décision

06/11/2011 13

décision • Les décisions ont des influences sur l’évolution

future du processus• Le coût totalcoût totaldépend de plusieurs évènements • Le future de processus est incertain

Page 15: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Applications

• Planification de Repas de Ligne a érienne (Airline Meal Planning)

• Écologie Comportementale(Behaviourial Ecology)

• Expansion de Capacit é(Capacity Expansion)

• Analyse de D écision

• Réparation de Trottoir de Route

(Highway Pavement Repair)• Contrôle d ’ inventaire

(Inventory Control)• Strat égies de

recherche de travail (Job Seeking Strategies)

06/11/2011 14

• Analyse de D écision (Decision Analysis)

• Remplacement déquipements(Equipment Replacement)

• Gestion de Pêche• (Fisheries Management)• Syst èmes de Jeu• (Gambling Systems)

(Job Seeking Strategies)• (Probl èmes de Sac à

dos)(Knapsack Problems)

• Apprentissage(Learning)

• Traitement Médicale(Medical Treatment)

Page 16: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

• Contrôle de Réseaux(Network Control)

• Évaluation dune Option(Option Pricing)

• Choix d’un projet (Project Selection)

• Contrôle d’un système à

• Planification(Scheduling)

• Modélisation (User Modeling)

• Vision Artificielle(Computer Vision)

• Resources des eau(Water Resources)

Applications

06/11/2011 15

• Contrôle d’un système à files d’attente (Queueing System Control

• Robot mobile(Robotic Motion)

Resources) • Dosage Rayon-X(X-Ray

Dosage)• Yield Management *

* Commerce * Commerce * Commerce * Commerce : tarification en temps réel : Adaptation tarifaire en temps réel rendue possible par la connaissance instantanée du marché* Finance* Finance* Finance* Finance : gestion de taux : Opération tendant à structurer les engagements et actifs inscrits au bilan et hors bilan, de façon optimale au regard de la situation et des perspectives des taux d'intérêt.

Page 17: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

1. Undécideurdécideur(Decision maker)2. Despolitiquespolitiques(Politics)3.3. MatricesMatrices dede ProbabilitésProbabilités dede TransitionTransition

(Transition Probability Matrices (TPMTPM)4.4. MatricesMatrices dede TransitionTransition dede CoûtsCoûts ouou dede

CINQUE ELEMENTS POUR DEFINIR UN CINQUE ELEMENTS POUR DEFINIR UN PROCESSUS DE DECISION DE MARKOV (PDM)PROCESSUS DE DECISION DE MARKOV (PDM)

06/11/2011 16

4.4. MatricesMatrices dede TransitionTransition dede CoûtsCoûts ouou dedeRécompensesRécompenses(Transition Reward Matrices(TRMTRM))

5. Une mesuremesure dede performanceperformance ou fonctionfonctionobjectiveobjective (performance metric or objectivefunction).

Page 18: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

1. DécideurDécideurouAgentAgentouContrôleurContrôleurune entité fictive qui choisit le mécanisme de contrôle.

2. PolitiquesPolitiques: le mécanisme de contrôle.

Après la détermination de l’état du système, uneactionaction (oudécisiondécisionou fonctionfonction politiquepolitique) doit être prise à partir d’unensemble dénombrableΜi de décisions admissiblesassociéesà l’état st=i :

06/11/2011 17

associéesà l’état st=i :

µiz∈ Μi={µiz}, st=i ∈ S={1, 2, …,NS}

z ∈ Zi={1, 2, …, NΜi}

Ensemble de politiques admissibles ={(i,µiz)}

Séquence temporelle de décisions D={d1, d1, …, dT}

Page 19: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Une politique pour un PDM avec N états est « N-tuple».

Exemple 1

si N=2 : i=1, 2, et zi=2 : le nombre d’actions admissibles danschaque état i =2, alors le nombre de politiques possibles =M i

Ni=4,

06/11/2011 18

M iNi=4,

alors, les 4fonctionsfonctions politiquespolitiques admissiblesadmissiblespour les états 1 et2 sont : {1,µ11}, {1, µ21}, {2, µ21}, {2, µ22}

Page 20: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

UnePolitiquePolitique (policy, agent policy)

πt = { µµµµµµµµt, µµµµµµµµt+1, … µµµµµµµµT},

µµµµµµµµt= ={µt(i)}={ µt(1), µt(2),…, µt(NS)}

appliquée à partir de l’instant t (t=1, 2, …,T) pour tousles états i = 1, …, NS est une règle appeléspolitiquepolitiqued’actionsd’actions, composée d’un ensemble ou d’un vecteur defonctionspolitiquedanstouslesétatsi : µt(i)=µiz,

06/11/2011 19

fonctionspolitiquedanstouslesétatsi : µ (i)=µiz,

z∈M i, z ∈ Zi, t ∈ {t, t+1, …, T} pour tout état i∈S, etqui mettent en correspondance les états i et les actions Mi

pour choisir une action à chaque instant t.

π : S � M i associe à chaque état i dans S uneactionµi, zi dans Mi pour être exécutée dans cet état.

Page 21: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Exemple 2 Une politique pour NS=2 etZi=2 appliquée à partir de t=1 d’unprocessus d’horizonT=3

π1 = { µ1(1), µ1(2), µ1(3), µ2(1), µ2(2), µ2(3) µ3(1), µ3(2), µ3(3)}

i=1, Z =1, M ={µ } µt(1)=µ ∀ t

06/11/2011 20

i=1, Z1=1, M1={µ11} µt(1)=µ11 ∀ t

i=2, Z2=2, M2={µ21, µ22} µt(2)=µ21ou µ22 ∀ t

i=3, Z3=2, M3={µ31, µ32} µt(3)=µ31ou µ32 ∀ t

µµµµµµµµt={µt(1), µt(2), µt(3)}

π1 = { µµµµµµµµ1, µµµµµµµµ2, µµµµµµµµ3}

Page 22: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

En général,

Si µµµµµµµµ={µ(0), µ(1), µ(2), µ(i), … µ(N)} est unepolitique, le ième élémentµ(i) représente ladécision (ou action ou fonction politique)sélectionnée dans l’état i pour la politiqueµµµµ.

06/11/2011 21

Notations pour lesprobabilitésprobabilités dede transitiontransitiond’une chaîne de Markov :

NonNon contrôléecontrôlée: a(i, j)

ContrôléeContrôlée: a(i, µ(i), j) ou a(i, d, j)

Page 23: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

•• PolitiquePolitique nonnon stationnairestationnaire (nonstationnary policy) : En général, ladécisionspécifiéepar unepolitique àl’instant t peut dépendre, pasuniquement del’état présent st=i, mais

06/11/2011 22

t

probablement aussi del’historique Ht

et del’instant t.Dans ce cas, les politiques d’actionsµt(st=i) changent aucours dutemps (neconvergent pas):µµµµµµµµt ≠ µµµµµµµµt-1, t = 2, …, T.

Page 24: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

• Une politique peut aussi êtreprobabilisteprobabiliste (randomized)en un sens qu’elle choisit chacune des décisions possiblesavec une certaine probabilité.

• PolitiquePolitique stationnairestationnaire (stationnary policy) : Ladécision spécifiée par unepolitiquepolitique d’actiond’action nonnonprobabilisteprobabiliste à l’instant t dépend uniquement del’état présenti. Danscecas,lespolitiquesd’actions

06/11/2011 23

l’état présenti. Danscecas,lespolitiquesd’actionsµt(st=i) ne changent pas au cours du temps(convergent) :

µµµµµµµµt = µµµµµµµµt-1, t = 2, …, T. π={ µµµµµµµµ, µµµµµµµµ, µµµµµµµµ, ..}Dans la suite, c’est uniquement ce type de politiquesera considérée.

Page 25: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

3. MatricesMatrices dede ProbabilitésProbabilités dede TransitionTransition (TPMTPM)

• UneTPM : Ad estassociéeà chaquedécisiond.

06/11/2011 24

• UneTPM : Ad estassociéeà chaquedécisiond.

• Une TPM : Aµµµµµµµµ unique est associée à chaquepolitique.

Aµµµµ peut être construit à partir des Ad.

Page 26: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Exemple 32 états {s1, s2}={1, 2} avec 2 décisions (fonctions politiques

admissibles) Mi={µ1, µ2} admissibles dans chaque état i.

Ad1 = Aµ1 = [0.7 0.3; Ad2 = Aµ2 = [0.1 0.9;

0.4 0.6] 0.8 0.2]

Considérons une politique

µµµµt={µt(s ), µt(s )}={ µt(1), µt(2)}= { µ , µ },

06/11/2011 25

µµµµt={µt(s1), µt(s2)}={ µt(1), µt(2)}= { µ2, µ1},

la TPMTPM associéeassociée àà cettecette politiquepolitique contiendra alors lesprobabilités de transition de la décisionµ2 dans l’état 1 et lesprobabilités de transition de la décisionµ1 dans l’état 2 :

0.7 0.3 0.1 0.90.4 0.6 0.8 0.2

Aµ1 Aµ2

Aµµµµ1 = [0.1 0.9;

0.4 0.6]

Page 27: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

4. MatricesMatrices dede TransitionTransition dede CoûtsCoûts ouou dede RécompensesRécompenses(Transition Reward Matrices (TRM))

A chaque transition dans une chaîne de Markov, nouspouvons associer uncoûtcoût (cost) immédiatimmédiatc(i, di, j) = c(i, µ(i),j) (ou récompenserécompense(reward) immédiateimmédiater = - c).

• La matricematrice immédiateimmédiate desdes transitiontransition desdes coûtscoûts ouou dederécompensesrécompenses(Transition Cost or Reward Matrix (TCMTCMor TRMTRM)) :

06/11/2011 26

or TRMTRM)) :

TCM : C = [cij], i, j = 1, 2, …, N

TRM : R = [rij],

TCM ou TRM peuvent aussi être

associés à une politiqueµµµµµµµµ : Cµµµµµµµµ ou Rµµµµµµµµ

i

j

c

t t+1

aij

Page 28: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Exemple 42 états {s1, s2}={1, 2} avec 2 décisions (fonctions politiques

admissibles) Mi={µ1, µ2} admissibles dans chaque état i.

Cµ1 = [11 -4; Cµ2 = [45 80;

-14 6] 1 -23]

Considérons une politique

µµµµµµµµ1={µ(s1), µ(s2)}={ µ(1), µ(2)}= { µ2, µ1},

06/11/2011 27

1 1 2 2 1

la TCM associée à cette politique contiendra alors lecoût immédiat de la décisionµ2 dans l’état 1 et le coûtimmédiat de la décisionµ1 dans l’état 2 :

11 -4 45 80-14 6 1 -23

Cd1 Cd2

Cµµµµ1 = [45 80;

-14 6 ]

Page 29: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

5. Une mesuremesure dede performanceperformance ou fonctionfonction objectiveobjective(performance metric or objective function).

• Utilisée pour comparer les politiques, ces mesures sontfonctions des c ou des r.

• Deux mesures de performances :1.1. CoûtCoût (ou récompenserécompense) espéréespéré parpar unitéunité dede tempstempsou

coûtcoût (récompenserécompense) moyenmoyen VVµµµµµµµµ (Expected cost(reward) per unit time) : calculé sur une longue

06/11/2011 28

(reward) per unit time) : calculé sur une longuetrajectoire de la chaîne de Markov (pour une politiqueππππππππ).

2.2. CoûtCoût totaltotal (ou(ou récompenserécompense totaletotale )) escomptéescompté espéréespéréouou coûtcoût (récompense)(récompense) escomptéescomptéVVµµµµµµµµ ,,αα (Expected cost(reward) per unit time) : calculé sur une longuetrajectoire de la chaîne de Markov (pour une politiqueππππππππ).

Page 30: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Pour déterminer VVµµµµµµµµ , nous devons déterminer lecoûtcoût((récompenserécompense)) immédiatimmédiat espéréespéréccee (expected immediate rewardre) d’un état sous l’influence d’une décision donnée.

Exemple 5

Une décision d est sélectionnée dans l’état i. Sous l’influencede cette action, le système peut sauter aux états 1, 2 et 3 avecdes probabilités de transition ai1=0.2, ai2=0.3, ai3=0.5. Les coûtsimmédiats obtenus pour les 3 transitions possibles

06/11/2011 29

respectivement : 10, 12, et –14

Alors ccee(d) = 0.2(10)+0.3(12)+0.5(-14)=1.6

i

1

2

3

Page 31: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

VVµµµµµµµµ pour une politique donnée est le coût(ou récompense) subi (ougagné) par unitéde temps enlaissant la chaîne de Markovfonctionner pour une période infinie detemps.Dans ce cas nous pouvons utiliser lesprobabilitésprobabilités limiteslimites (P) associéesà la

06/11/2011 30

probabilitésprobabilités limiteslimites (P) associéesà lapolitique utilisée.

Page 32: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Exemple 6Supposons qu’un système à trois états 1, 2 et 3 quisuit une politique stationnaireµµµµµµµµ avec les probabilitéslimites Pµµµµµµµµ(i) respectivement : Pµµµµµµµµ(1), pµµµµµµµµ(2)=, Pµµµµµµµµ(3).Supposons que les coûts immédiats espérés ce(i, µ(i))respectivement:ce(1, µ(1)), ce(2, µ(2)) et ce(3, µ(3)),

06/11/2011 31

e e e

Rappel : la probabilités limites d’un état représente lepourcentage dans le temps de rester dans cet état si leprocessus continue indéfiniment. Alors si nousobservons le système sur k transitions, kpµ(i)représentera à long terme le nombre de transitions versl’état i.

Page 33: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Exemple 6 (suite)Alors le coûtcoût totaltotal espéréespéré pourpour kk transitionstransitions ((coûtcoûtmoyenmoyen parpar rapportrapport àà lala politiquepolitique µµµµµµµµ)) pour le PDMest :ctot = kPµµµµµµµµ(1) ce(1, µ(1))+kPµµµµµµµµ(2) ce(2, µ(2))+kPµµµµµµµµ(3) ce(3, µ(3))

Par conséquent, Vµ est donné parVVµµµµµµµµ = ctot /k

))( , ( )( 3

1

iiciPV e

i

µµµ ∑=

=

06/11/2011 32

et en général,))( , ( )(

1

iiciPV e

N

i

µµµ ∑=

=

)),( , ( )),(,( ))( , (1

e jiicjiipiicN

j

µµµ ∑=

=où

Page 34: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Le PDM s’intéresse à la question suivante :

Comment un système peut-il apprendre àsacrifier sa performance à court terme pouroptimisersaperformanceà long terme?

INTRODUCTION AU PROCESSUS DE DECISION DE MARKOV (PDM)

06/11/2011 33

optimisersaperformanceà long terme?

C’est une approche d’optimisation séquentielle récursive.

Cette approche est à la base d’Apprentissage par d’Apprentissage par RenforcementRenforcement(Reinforcement Learning) [Alt2] .

Page 35: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Supposons qu’à chaque instant dutempsdiscret t=1, 2, 3, …(*) un processus estobservé dans l’undes états appartenant à unensemble dénombrable d’états S

{ }NSiiq ,...,2,1,0, =∈=

PROCESSUS STOCHASTIQUE A TEMPS DISCRET

06/11/2011 34

* Dans certaines littératures t=0, 1, 2, … Dans ce cas t=0 est équivalent à t=1. Ns peut être infini. t peut représenter aussi une longueur ou toutes autres dimensions.

{ }St NSiiq ,...,2,1,0, =∈=

{ } étatd' Séquence ,...,,, 21 TqqqQ =

Page 36: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Nous supposons que qt est une variablealéatoire.La probabilité d’être à l’état qt+1 à partir del’état qt est notée :

P(qt+1 | qt, qt-1, qt-2,…., q1)Un processusest déterministe si cette

06/11/2011 35

|Un processusest déterministe si cetteprobabilité est égale à 1.Un réalisationd’un processus stochastique(la suite des réalisations de qt) est appeléetrajectoiretrajectoire.

Page 37: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Dans un processus stochastique, la réalisation del’état qt+1 du système dépend de l’histoire ou latrajectoire des réalisations Ht={q1, q2,…, qt} dece processus.

PROCESSUS MARKOVIEN

06/11/2011 36

Si qt+1 dépend uniquement de qt, alors ce processusest appeléprocessusprocessus MarkovienMarkoviend’ordred’ordre 11:

P(qt+1 |qt, qt-1, qt-2,…., q1)=P(qt+1 |qt)

Dans ce cas, la suite de variables aléatoires q1,q2,…, qt constituera unechaînechaîne dede MarkovMarkov.

Page 38: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Les instants t=1, 2, …, T sont appelésétapesétapes dededécisiondécision. T est lenombrenombre d’étapesd’étapes. Lorsque T est fini leprocessus est dit àhorizonhorizon finifini sinon àhorizonhorizon infiniinfini .EngénéralNMi peutdépendredel’état i dusystème.

CONTROLE DU PROCESSUS DE MARKOV PROCESSUS DE DECISION DE MARKOV (PDM)

06/11/2011 37

EngénéralNMi peutdépendredel’état i dusystème.En fonction de l’application, la décision dt peut êtrediscrète ou continue.

Page 39: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Contrôle d’un système: Interaction Agent-

environnementConsidérons le cas général d’un système dynamique constitué par uncontrôleurcontrôleur (dans la langage de contrôle) ouagentagent(dans la langage del’IA) interagissant avec son environnement. Le contrôle influencera ladynamique de l’environnement.

AgentSystème

06/11/2011 38

Environnement

Action dt

coût subi ct ourécompense reçu rt

Etat qt

qt+1

ct+1 ou

rt+1

Agent

Page 40: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

De plus, si qt=i et dt=µiz , alors une réalisationd’un coûtcoût espéréespéré(expectedcost) C(i,µiz ) estinduit (ou une réalisationd’une récompenserécompenseespéréeespérée R(i, µiz) (expected reward) estobtenue.

06/11/2011 39

Il est supposé que ce coût (ourécompense)est borné; c’est à dire qu’il existe unnombreU tel que |ct(i, µiz )|<U (ou |rt (i, µiz )|<U )pour tout i∈ S etµiz ∈ M i.

Page 41: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

A tempsdiscret,

Lesétats: ObservésLes actions : effectuées

06/11/2011 40

Les actions : effectuéesLescoûts: induits

Page 42: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Nous considérons unProcessusProcessus MarkovienMarkovien HomogèneHomogène ououStationnaireStationnaire (PMH)(PMH) d’ordre 1 défini par lamatricematrice stochastiquestochastique(matrice de transition (transition matrix)) conditionnelle qui résume

l’influence de l’agent sur la dynamique de l’environnement:iizizttiziji MSjidiqjqpaZA ∈∈===== + µµµ ,, ],,([)]([)( 11

,,1)( ,, ,0)( SjaSjiai

izijizij ∈∀=∈∀≥ ∑ µµ

06/11/2011 41

aij(µiz) représente la probabilité que le système passe del’état i à l’état j lorsque l’agent effectue une actionµiz.

i

PropriétéPropriété dede MarkovMarkov : Pour un PMH, cette probabilitédépend uniquement de i, j et ki. Elle ne dépend ni de t ni del’historique du processusHt ={q1, d1, q2, d2, …, qt , dt} .

Page 43: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Graphe de transition:Exemple 2 états

a11

1 2

a21

a

a22

06/11/2011 42

a12

nœud de l’état

transition

Page 44: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Trajectoire pour NS+1 états :

Éta

t i

0

1

N S-

2

N

S-1

N

S

06/11/2011 43

1 2 3 T

étapes t

Éta

t i

0

1

N

Page 45: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Domaines très variés :• commande des systèmes,• robotique,• informatique,• optimisation combinatoire (réseaux par exemple),

DOMAINES D’APPLICATIONSDOMAINES D’APPLICATIONS

06/11/2011 44

• optimisation combinatoire (réseaux par exemple),• communication,• des actions quotidiennes dans la vie, • jeux,• Gestion• économie• ...

Page 46: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Exemple 1Bio-réacteur: Déterminer moment par moment les températures et les taux de de mélange.

DécisionsDécisions: vecteurs à deux composants• Températures cibles • Taux de mélange cible

ÉtatsÉtats: vecteur à plusieurs composants

Systèmede contrôle

Bio-réacteur

Éléments de Chauffage et moteurs

06/11/2011 45

ÉtatsÉtats: vecteur à plusieurs composants• Thermocouples • autres capteurs• Entrées symboliques qui représentent les ingrédients

dans la cuve et les mélange cible.

Récompense Récompense : des mesures, moment par moment, du taux auxquels le mélange chimique utile est produit par le réacteur.

Page 47: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Exemple 2

Robot mobile de recyclage: assembler descannettes vides de boisson dans un atelier (tapisroulant par exemple). Ce robot possède descapteurs pour détecter les cannettes, un braséquipé d’un préhenseur pour saisir cescannetteset lesrangerdansuncasier.

06/11/2011 46

cannetteset lesrangerdansuncasier.

Ce robot fonctionne grâce à des batteriesrechargeables. Le système de contrôle du robotpossède des composants pour interpréterl’information sensorielle, pour naviguer, et pourcontrôler le bras et le préhenseur.

Page 48: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Exemple 2 (suite)Des décisions de haut niveau concernant lafaçon de chercher les cannettes sont effectuéespar un agent effectuant unapprentissageapprentissage parparrenforcementrenforcement en se basant sur le niveaucourant de la charge de la batterie.

L’agentdoit décidersi le robotdevrait:

06/11/2011 47

L’agentdoit décidersi le robotdevrait:1. chercher activement une cannette pour une certaine

période d temps,

2. rester stationnaire et attendre que quelqu’un luiramène une cannette,

3. retourner à sa base pour recharger ses batteries.

Page 49: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Cette décision doit être prise soitpériodiquement soit à l’arrivéedecertains événements, tel quetrouverunenouvellecannette. Alors, l’agenta

06/11/2011 48

unenouvellecannette. Alors, l’agentatrois décisions et sonétatétatest déterminépar l’état dela batterie.

Page 50: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

La récompenserécompensedevrait être zérola plupartdu temps, mais ensuite devient positivequandle robot saisie unecannettevide, ou

06/11/2011 49

quandle robot saisie unecannettevide, ougrande et négative si la batterie est enbaissecontinue.

Page 51: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Une fonctionfonction valeurvaleur d’un état qt=ireprésentéepar Vi

π(t) indique le coûttotal q’un agentpeutespéreraccumuler

FONCTION VALEUR FONCTION VALEUR D’UN ÉTAT qD’UN ÉTAT q t t ou ou FONCTION DE COÛT DE PARCOURSFONCTION DE COÛT DE PARCOURS

06/11/2011 50

total q’un agentpeutespéreraccumulerdans lefuture à partir decet état ensuivant lapolitiqueπ.

Page 52: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Le coût total espéré dans un problème à horizoninfini, à partir d’un état initialq1 = i et en utilisantune politiqueπ1 = { µµµµµµµµ1, µµµµµµµµ2, … µµµµµµµµ∞} pour tous lesétats i=0, 1, …, NS où les décisionsµiz = µt(i)sont utilisées, est définie par

SiiqqqqcEtV ttttt ∈== +∞

∑ ],)),(,([)( 111 µππ

06/11/2011 51

SiiqqqqcEtV ttttt

ti ∈== +

=∑ ],)),(,([)( 11

1

1 µππ

où Eπ représente l’espérance qui dépend de la politique π1.

La fonction valeur est normalement représentée sous forme de table de correspondance.

Page 53: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Résoudre le MDPconsiste à trouver unepolitiquepolitique optimaleoptimale π∗ correspondant aucoûtcoût minimumminimum dede lala fonctionfonction valeurvaleur V i

π∗(t)pourtout étatinitial i ∈ S.

RESOUDRE LE PROBLEME DE RESOUDRE LE PROBLEME DE MDPMDP

06/11/2011 52

pourtout étatinitial i ∈ S.

Cela reviens à trouver la fonctionvaleuroptimale Vi

π∗(1) tel que pour tout i∈ S

)).1((min)1( , * ππ

πii VVSi =∈∀

Page 54: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

CritèreCritèred’Optimalitéd’OptimalitédedeBellmanBellmanUne politique optimale π∗ est définiecommesuit : quelquesoit l’état initialq1 = i et ladécisioninitiale µiz∈ M i, lesdécisions suivantes doivent

06/11/2011 53

décisions suivantes doiventconstituer une soussous--politiquepolitiqueoptimaleoptimale, pour l’état résultant delapremièredécision.

Page 55: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Une politique optimaleπ∗ ne peut êtreforméequedes politiques optimales{µµµµ∗1, µµµµ∗2, …, µµµµ∗Τ} pour tous les étatsi=0, 1, …, NS. C’est ce principed’optimalité démontré par l’absurdeque repose la programmation

06/11/2011 54

d’optimalité démontré par l’absurdeque repose la programmationdynamique. On remplacel’optimisationglobalede la fonction objectif par uneoptimisationséquentielle.

Page 56: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Méthodologie pour construire unepolitique optimale :

1. Construire une politique optimale enprenant en compte uniquement ladernièreétapedusystème.

06/11/2011 55

dernièreétapedusystème.2. Prolonger la politique optimale enprenant

en compte les deuxdernières étapes dusystème.

3. Continuer pour le problème entier.

Page 57: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Soit π une politique quelconque et untauxtauxd’actualisationd’actualisation ou encore facteurfacteur d’escompted’escompte(discount factor, discounted rate). Ce taux est unmoyen de contrôler les conséquences des décisionsdel’agentàcourttermeetà long terme.

10 ≤<α

06/11/2011 56

del’agentàcourttermeetà long terme.

Si α est petit, l’agent prendra uniquement encompte les conséquences immédiates de cesactions. Au fur et à mesure queα s’approche de1, les coûts prennent une importance égale, ycompris ceux obtenus en fin du processus.

Page 58: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Pour évaluer deuxou plus depolitiques,nous devons avoir certainscritèrescritères dedecomparaisoncomparaison. Deuxproblèmes générauxintéressants sont à considérer selonquele processus évoluevers unnombrefini(processusprocessusàà horizonhorizon finifini (finite horizon

06/11/2011 57

(processusprocessusàà horizonhorizon finifini (finite horizonprocess)) ou infini de périodes(processusprocessus àà horizonhorizon infiniinfini (infinitehorizonprocess)).

Page 59: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Soit VViπ,α (T) la fonctionfonction valeurvaleur escomptéeescomptéeou le

coûtcoût totaltotal espéréespéré escomptéescompté (expected totaldiscounted cost) pour toutes les périodes t=1, 2, …,T étant donné q1=i et la politiqueπ est utilisée.

Processus à horizon finiProcessus à horizon fini

SjiiqjqiiqcETV tT

∈==== ∑ , ],)),(,([)( µαπ

06/11/2011 58

où Eπ est l’espérance conditionnelle étant donnéque la politiqueπ est utilisée.

SjiiqjqiiqcETV tttttT

ti ∈==== +

=∑ , ],)),(,([)( 11

1, µαππα

Page 60: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

L’équation précédenteest bornéepuisquelescoûtssont bornés.Pour unprocessusà horizonfini,l’objectif est de trouver unepolitique π* dont le coût espéré

06/11/2011 59

politique π* dont le coût espéréréduit VV π∗

i, α (T) est minimal. Ceproblèmepeut êtrerésoluepar latechnique de programmationdynamiquestandard[Alt3].

Page 61: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Soit une politique initial admissible

π1 = { µµµµµµµµ1, µµµµµµµµ2, … µµµµµµµµT}, pour i=0, 1, …,Ns

Soitunepolitiquetronquéeàpartir det = n

ALGORITHME DE PROGRAMMATION ALGORITHME DE PROGRAMMATION DYNAMIQUE STANDARDDYNAMIQUE STANDARD

POUR UN PROCESSUS A HORIZON FINIPOUR UN PROCESSUS A HORIZON FINI

06/11/2011 60

Soitunepolitiquetronquéeàpartir det = n

πn = { µµµµµµµµn, µµµµµµµµn+1, … µµµµµµµµT}, pour i=0, 1, …,Ns

Soit VVn∗,α (n) la valeur optimale pour un

problème de T-n étapes qui commence à l’étatqn à l’instant t=n et finit à l’instant t=T.

Page 62: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Pour chaque état initial i la valeur optimaledans un problème d’horizon fini de t

étapes, est égale à , où est obtenu à partir de la dernière étape de l’algorithme suivant :

{ } SjinVqiincEnV jnei

i ∈++= ,)],1())(,)(([min)()(

πµπα µ

)(*, nVi α

)(, nViπα )(, nVi

πα

06/11/2011 61

{ } SjinVqiincEnV jnei

in

∈++= ,)],1())(,)(([min)()(

, πµα µ

qui remonte dans le temps avec .

De cette manière, si π∗1 minimise le coté droite de l’équation pour tout état i à chaque instant t, nous pouvons en conclure que la politique π∗1 = {µµµµµµµµ∗1, µµµµµµµµ∗2, …, µµµµµµµµ∗Τ} est optimale.

)()(, icTV Ti =πα

Page 63: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Ce problème a été traité avec laprogrammation dynamique standard[Alt3].

PROBLEME STOCHASTIQUE DU PROBLEME STOCHASTIQUE DU PLUS COURT CHEMINPLUS COURT CHEMIN

06/11/2011 62

C’est un problème déterministe enunsens qu’à chaque décisioneffectuée dansn’importe quel état dusystème, conduitavec certitude à unétat successeur.

Page 64: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Ce processus est unPDM :

Une fois que l’agent (oule système) aatteint l’état terminal (état absorbant), ilreste dans cet état avec une probabilité detransitionaii=1 et uncoût

06/11/2011 63

transitionaii=1 et uncoût

.Si ,0)),(,( ∈∀=iiic TT µ

Page 65: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Nousprésentonsdansla suiteavecune efficacité croissante deuxalgorithmes de programmation

06/11/2011 64

algorithmes de programmationdynamique pour le problème àhorizonfini.

Page 66: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Définissons lafonctionfonction optimaleoptimale dede lala valeurvaleurespéréespéréVVii

π,α (t) (optimal expected value function)

commesuit :

ALGORITHME 1 DE PROGRAMMATION ALGORITHME 1 DE PROGRAMMATION DYNAMIQUEDYNAMIQUE

POUR UN PROCESSUS A HORIZON FINIPOUR UN PROCESSUS A HORIZON FINI

06/11/2011 65

commesuit :

VViπ,α (t) = le coûtcoût minimalminimal espéréespéré réduitréduit ((ouou

escomptéescompté)) (minimum expected discounted cost)(au taux de d’escompteα) pour t périodes étantdonné que le processus commence à l’état i.

Page 67: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Ce coût satisfait la relationde récurrence enavant (forward) suivante [Der70]:

et lesconditionslimites appropriées

) T 3,..., 2,(t )],1()() ,([ min)( ,0

, =−+= ∑∞

=tVaictV j

j

ijti iziz

iz

απ

µα

π µαµ

06/11/2011 66

et lesconditionslimites appropriées

Si q1=i, la réponse à notre problème est, biensur,V i

π,α (T).

. 0)1(, SiV i ∈∀=απ

Page 68: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Pour étendre le problème à unproblème àhorizoninfini sous une politiquestationnaire, il est nécessaire de faire deuxchoses :

ALGORITHME 2 D’ITERATION SUR LES VALEURS ALGORITHME 2 D’ITERATION SUR LES VALEURS (VALUE ITERATION)(VALUE ITERATION)

POUR DES PROCESSUS A HORIZON FINI ET INFINIPOUR DES PROCESSUS A HORIZON FINI ET INFINI

06/11/2011 67

1. Inverser le sens duparcours dutempsde l’algorithme,2. Redéfinir la fonctionde coût avec0 < α < 1.

Page 69: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Définissons lafonctionfonction optimaleoptimale dede lala valeurvaleurespéréespéréVVi

π,α (t) (optimal expected value function)

comme suit :

VViπ,α (t) = le coûtcoût minimalminimal espéréespéré réduitréduit ((ouou

06/11/2011 68

VViπ,α (t) = le coûtcoût minimalminimal espéréespéré réduitréduit ((ouou

escomptéescompté)) (minimum expected discounted cost)(au taux de d’escompteα) pour t, t+1, .., T étantdonné que le processus commence à l’état i.

Page 70: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

La solutiond'unprocessus discret de décisiondéterministe est unproblème d'optimisationsur l'ensemble de politiques. Une grandedifficulté avec ce problème est que le nombrede politiques peut être énorme. Par exemple,si |M | nedépendpasdel'étatcourant,alorsil

06/11/2011 69

si |Mi| nedépendpasdel'étatcourant,alorsily a |Mi||S| politiques. Ainsi, explorer cetensemble directement pour trouver lapolitique optimal peut être très coûteux.

Page 71: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Afin d'éviter cette difficulté, l'idéefondamentale de la programmationdynamique consiste enévaluant d'abordlavaleur optimal de la fonctionVV, i. e.VV * . Unefois que cette Valeur a été calculée, il est

06/11/2011 70

fois que cette Valeur a été calculée, il estpossible d'obtenir une politique optimale enprenant une mesure gloutonne ence quiconcerneVV *.

Page 72: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Ainsi, le problème est ramené à estimer la valeur optimalVV *. Ceci peut être effectué grâce à l'équation de Bellmanqui donne la valeur d’un état i en fonction des valeurs del’état successeur possible j.

µi1

µi2

µi3i

j

k

VV*j,α (t+1)

VV *k,α (t+1)

06/11/2011 71

L'équation de Bellman. Les décisions possibles dans l'étati sont µi1, µi2, et µi3. Si les valeurs optimales des étatssuccesseurs correspondants j, k etllll sont connus, alorsVVdonne la valeur optimale de l'état i.

µi3

llll V V * l,α (t+1)Vi,α (t)

Page 73: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Les probabilités et les politiques sont supposéesstationnaires.

ÉquationÉquationdede BellmanBellman

Une équation fonctionnelle satisfaite par la fonction optimale de la valeur espéré VVi, α :

,1)(t)() ,(min)( *, ,

++= ∑ α

µα µαµ j

N

ei VaictVs

06/11/2011 72

{.} est un système de N équations avec une équation par état. La solution de ce système détermine la fonction valeur optimale pour NS états.

)zet (i , ii ZSMiz ∈∈∈µ

,1)(t)() ,(min)( *,0

,

++= ∑

µµα µαµ j

j

ei VaictV izijiz

iz

Page 74: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

QQ--valeursvaleursSoit µµµµµµµµIt une politique existante, obtenue après unnombre It d’itérations, pour laquelle la fonctionvaleur optimalesVVi

∗(It) est connue pour tous lesétats i. La Q-valeur Q(i,µiz) pour chaque état i∈S et actionµiz ∈ M i est définie comme le coûtimmédiatestiméce(i, µiz) plusla sommedescoûts

06/11/2011 73

immédiatestiméce(i, µiz) plusla sommedescoûtsescomptés de tous les états subséquents selon lapolitiqueµµµµµµµµ :

où la décisionestµiz = µµµµµµµµ (i) .

*,

0

)() ,() ,( αµαµµ jj

e VaiciQ izijiziz ∑∞

=+=

Page 75: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Les Q-valeursQ(i, µiz) contiennent plusd’informationque la fonctionvaleurVVi

π(t).En effet, les décisions peuvent êtreclassées ense basant seulement sur les Q-valeurs, alors que si elles étaient classéesen se basantuniquementsur les valeurs

06/11/2011 74

en se basantuniquementsur les valeursd’état, il est nécessaire de connaître aussiles probabilités et les coûts de transition.

Page 76: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

AlgorithmeAlgorithme d’itérationd’itération sursur lesles valeursvaleurs

Pour résoudre l’équationd’optimalité deBellman, sans résoudre unsystème de NSéquations linéaires, nous effectuerons

06/11/2011 75

équations linéaires, nous effectueronsplusieurs itérations successives.

Page 77: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

AlgorithmeAlgorithme d’itérationd’itération sursur lesles valeursvaleurs:1. Initialiser It=1, toutes Vi

π,α (1) pour état i∈ S avec une valeur

arbitraire.ε > 0, 0 <α ≤ 1;2. Itérer pour chaque valeur d’état i∈ S, calculerVV(It+1)π

i,α àpartir de:

3. Si pour tous les états i, ||VViπ,α (Its) - VVi

π,α (Its -1)|| < ε(1-α)/2α

alors aller à l’étape 4 sinon It=It+1 et retourner à l’étape 2aveclesvaleursε-optimalesdeVV ∗ ;

)]()() ,([ min)1( ,0

, ItVaicItV jj

ei izijiz

iz

απ

µα

π µαµ ∑∞

=+=+

06/11/2011 76

aveclesvaleursε-optimalesdeVVi∗,α ;

4. Calculer les Q-valeurspour tous les états i∈ S et toutes lesdécisionsµiz ∈ M i,

5. Déterminer la politique optimale comme la politique gloutonnepourVVi

π∗,α

∗∞

=∑+= αµαµµ ,

0

)() ,() ,( jj

eiz VaiciQizijiz

S.i états pour tous ),( min arg)(* ∈=∈

iz

iiz

iQiM

µµµ

Page 78: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

• L’algorithme d’itération sur les valeurs estl’algorithme le plus utilisé pour résoudre desprocessus décisionnels Markoviens en horizon fini.

• Il permet de résoudre l’équation d’optimalité deBellman en plusieurs itérations successives.

• Pour tous états, lorsque le nombre d’itérations tendvers l’infini (problèmed’horizon infini), la fonction

06/11/2011 77

vers l’infini (problèmed’horizon infini), la fonctionvaleur du problème d’horizon fini convergeuniformément vers la fonction valeur correspondanteau problème d’horizon fini. Cette propriétépermet àcet algorithme à être utilisé aussi dans le cas d’unproblème d’horizon infini.

Page 79: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Exemple 1

a11 (µ11)=0.5; 5

1 2

a ( )=1; 10

a12 (µ11)=0.5; 5

aij (µiz); ct

a22 (µ21)=1; -1

06/11/2011 78

a12 (µ12)=1; 10

Éta

t i

2

1

1 étape 1 2 étape 2 3

t

Page 80: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

• Les probabilités de transition et les coûts sont supposésstationnaires.

• Etapes de décision : t ={1, 2, …, T} avec T≤ ∞Nombre supposé d’étapes : T=2

• Etats de l’agent : S ={1, 2}

• Décisions possibles : M1={µ11, µ12}, M 2 = {µ21}

• Coûts immédiats espérés (induits) :

C(1, µ11)=5x0.5+5x0.5 = 5

06/11/2011 79

C(1, µ11)=5x0.5+5x0.5 = 5

C(1,µ12)=1x10=10, C(2,µ21) = 1x-1=-1,

C(2,µ22) = 0

• Probabilités de transition : a11(µ11)=0.5,

a11(µ12) = 0, a12(µ11) = 0.5, a12(µ12)= 1,

a21(µ21)= 0, a22(µ21)= 1

• Politique :π={ µµµµµµµµ1, µµµµµµµµ2} avecµµµµµµµµ1(1)=µ11 et µµµµµµµµ1(2)= µ21

Page 81: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Algorithme d’itération sur les valeurs(exemple 1):1. Initialiser It=1, toutesVV1

π,α (1)=0. ε = 0.01, α = 0.95;

π1=µµµµµµµµ1=[µ11, µ21]2. Itérer pour chaque valeur d’état i∈ S, calculerVVi

π,α (It) à partir de :

)]( 95.0 110 ,)( 95.0 5.05[ min )1( ,2,2,111

ItVItVItVM

z

απ

απ

µα

π ∗∗+∗∗+=+∈

])( 1 5.01[ min)1( ,2,2 ItVItVM

απ

µα

π ∗∗+−=+∈

06/11/2011 80

3. Les valeursVV1π,α (It) et V2

π,α (It) convergent et après

169 itérations :||Vi

π,α (It) - V i

π,α (It-1)|| <ε(1-α)/2α = 0.00026

Les valeursε-optimal sontV1

∗,α (169) = -8.99656 et

V2∗,α (169) = -19.9966

])( 1 5.01[ min)1( ,2,22

2

ItVItVM

z

αµ

α ∗∗+−=+∈

Page 82: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Algorithme d’itération sur les valeurs(exemple 1, suite):

4. Pour tous les états i∈ S et toutes les décisionsµiz ∈M i, calculer les Q-valeurs

7717.8)9966.19(5.095.05) ,1( −=−∗∗+=µQ

06/11/2011 81

7717.8)9966.19(5.095.05) ,1( 11 −=−∗∗+=µQ

99677.8)9966.19(5.095.010) ,1( 12 −=−∗∗+=µQ

99677.19)9966.19(195.01) ,2( 21 −=−∗∗+−=µQ

Page 83: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Algorithme d’itération sur les valeurs(exemple 1, suite):

5. Déterminer la politique optimale comme la politiquegloutonne pourVVi

π∗,α

{ } 121211

11

* ),1( ),,1( min arg)1( µµµµµ

==∈

QQMz

{ }) ,2( min arg)2( µµµ == Q

06/11/2011 82

{ }2121

22

* ) ,2( min arg)2( µµµµ

==∈

QM

z

Éta

t i

2

1

1 étape 1 2 étape 2 3

t

µ11

µ21 µ21

µ11 µ12

Page 84: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Politique déterministe Politique aléatoire

Pour l’étape 1 :µµµµµµµµt Pour l’étape 1:µµµµµµµµt

µµµµµµµµ1(1) = µ11 pµµµµµµµµ1(1) (µ11)= 0.7

µµµµµµµµ1 (2)= µ21 pµµµµµµµµ1(1) (µ12)= 0.3

pµµµµµµµµ1(2) (µ21)=1

Pourl’étape2 : µµµµt Pourl’étape2: µµµµt

06/11/2011 83

Pourl’étape2 : µµµµ Pourl’étape2: µµµµµµµµµµµµ2(1)= µ12 pµµµµµµµµ2(1) (µ11)= 0.4

µµµµµµµµ2 (2)= µ21 pµµµµµµµµ2(1) (µ12)= 0.6

pµµµµµµµµ2(2) (µ21)=1

où pµµµµµµµµt(i) (µiz) représente la probabilité de choisir ladécisionµiz dans l’état i à l’étape t.

Page 85: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Soit π est une politique quelconque et 0 <α <1 un tauxtauxd’actualisationd’actualisation ou encorefacteurfacteur d’escompted’escompte(discount factor, discounted rate)

Soit Viπ,α le coûtcoût totaltotal espéréespéré réduitréduit (expected total

discounted cost) pour t=1, 2, …, étant donné q1=i et lapolitiqueπ estutilisée.

Processus à horizon infiniProcessus à horizon infini

06/11/2011 84

1

politiqueπ estutilisée.

où Eπ est l’espérance conditionnelle étant donné que lapolitiqueπ est utilisée.

SiiqqqqcEiV tttttt

t

∈== +∞

=∑ ],)),(,([)( 11

1

µαππα

Page 86: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

L’équation 6 est bornée puisque les coûts sont bornés etα<1.

politiquepolitique αααααααα--optimaleoptimale(α-optimal policy) :Pour un processus à horizon infini, l’objectif est detrouver une politiqueπ* tel que

SiiViV ∈∀= )),((inf)(* π

απ

πα

06/11/2011 85

SiiViV ∈∀= )),((inf)( απ

α

Remarque : infimum (borne inférieure) d’un ensemble X :

inf {x 1 x2 … } est égal au plus grand nombre y tel que y≤ x

Pour tout x∈X. Si X possède un minimum, alors l’infimumestalors ce minimum.

Page 87: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Puisqu’il existe un nombre infini depolitiquesπ, il n’est pas évident qu’unepolitique α-optimale existe. De plus,mêmesi cettepolitique existe, il y a leproblème de comment la trouver. La

06/11/2011 86

problème de comment la trouver. Laprogrammationdynamiquestandardnepeut pas êtreutiliséepuisqu’il existeunnombreinfini de périodes.

Page 88: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Dans la suite, nous citons quelquesthéorèmes del’existence d’une α-politique optimaleet nous introduirons

06/11/2011 87

politique optimaleet nous introduironscertaines procédures numériques pourtrouver uneα-politiqueoptimale.

Page 89: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Nous citons, sans démonstration, les théorèmessuivant :

Théorème 1Résoudre l’équation de Bellman

Ce théorèmedonneune équationfonctionnelle

EXISTANCE D’UNE STRATEGIE α-OPTIMALE STATIONNAIRE POUR UN PROCESSUS A HORIZON INFINI

06/11/2011 88

Ce théorèmedonneune équationfonctionnellesatisfaite par la fonction optimale de la valeurespéré Vα(i) en utilisant la politiqueµµµµµµµµ :

) Z,..,1 zet N ,..,1 ,0(i ),( (j),)() ,()( iS

0

===+= ∑=

iVaiciV iz

s

izijiz

N

j

µµµαµ µα

µα

Page 90: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Supposons que la décisionspécifiée parune politique stationnaire dépendeuniquement de l’état présent. Ainsi, unepolitiquepolitique stationnairestationnaire(stationnarypolicy)π peut être vue comme unetransformationtransformation (mapping)de l’ensemble

06/11/2011 89

transformationtransformation (mapping)de l’ensembled’état S à unensemble de décisionsµµµµµµµµ.Quand le processus est dans l’état i,πchoisit une décisionµµµµµµµµ(i).

Page 91: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Soit F(S) l’ensemble des fonctions bornées àvaleurs réelles sur l’ensemble S. Puisque les coûtssont bornés, alorsThéorème 2Si µα est une politique stationnaire à l’instant tqui choisis dans l’état i une décisionµiz

minimisantla Q-valeur

ππα ∀∈ ),(SFV

06/11/2011 90

alorsπ∗ estαααααααα--optimaleoptimale.

Théorème 3Vµµµµµµµµi,α est une solutionunique de

l’équationde Bellman.

)( ),()() ,() ,( iz0

iziziz ijVaiciQ ItN

j

Its

ij

It

µµµαµµ µα

µ =+= ∑=

Page 92: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Le fonctionnement d’itérations sur les politiques estfait en deux étapes :

1. L’évaluation de la politiqueDans cette étape, la fonctions valeur et les Q-valeurssontcalculéespour touslesétatset touteslesdécisions

ALGORITHME D’ITERATION SUR LA POLITIQUE EN HORIZON INFINI(ALGORITHME DE HOWARD)

06/11/2011 91

sontcalculéespour touslesétatset touteslesdécisionsen utilisant la politique admissible.

2. L’amélioration de la politiqueDans cette étape, la mise à jour de la politique est faitede manière à être gloutonne par rapport à la fonctionvaleur calculée dans l’étape 1.

Page 93: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Nous supposons que l’ensemble des états possibles S estfini de cardinal NS+1 : S={0, 1, 2, …, NS}.

Procédure[How60]:

Soit µµµµ une politique stationnaire à l’itération It où It=1,2, 3, ..), alorsVµµµµµµµµIt

α (i) est la solutionuniqueau système

06/11/2011 92

2, 3, ..), alorsV α (i) est la solutionuniqueau systèmed’équations:

Page 94: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Ainsi nous pouvons résoudre le système de Ns+1équations linéaires pour les Ns+1 valeurs inconnuesde Vµ

α. Maintenant, soit µ1 une politiquestationnaire qui choisit dans l’état i la décisionminimisant la Q-valeur

)( ),()() ,() ,( iziziziz ijVaiciQ ItN

ijeIt

sIt

µµµαµµ µαµ =+= ∑

06/11/2011 93

où µiz ∈ M i est la décision choisie à l’itération It.Nous allons choisirµIt différente deµµµµµµµµIt-1 seulementsi µµµµµµµµIt produit une amélioration stricte par rapport ൵µµµµµµIt-1.

iz0

izizizj

ij∑=

Page 95: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Théorème 4Si µIt-1(i) et µIt(i) sont deux politiques stationnairesavecµIt(i) définie comme ci-dessus, alors

,)()( 1.1

SiiiVItIt

∈∀≤−µ

αµ

α

),()( 2.1

iViVItIt µ

αµ

α <−

06/11/2011 94

pour chaque i pour lequelµIt(i) produit uneamélioration stricte par rapport àµIt-1(i)Théorème 4Si alorsµIt estα-optimal.

),()( 2. iViV αα <

),()(1

SiiViVItIt

∈∀=−µ

αµ

α

Page 96: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

AlgorithmeAlgorithme d’itérationd’itération sursur lesles politiquespolitiques:1. Initialiser à It=1 une politique arbitraireµµµµµµµµ1, 0 < α < 1;2. Résoudrele système d’équations de manière à obtenir les valeurs Vµµµµ

α (i) àpartir d

i.e. résoudre l’équation matricielle(II -α . AAµµµµt) . VV=ccµµµµµµµµt ou AA est la matrice de transition issu de la politique, Imatrice identité de même dimension queAA, VV vecteur de coûts issuégalementdela politiqueµµµµµµµµt

06/11/2011 95

égalementdela politiqueµµµµµµµµ3. Calculer les Q-valeurspour tous les états i∈ S et toutes les décisionsµiz ∈ M i,

4. Faire la mise à jour de la politique comme suit (pour diminuer les coûts) :

5. Arrêter ( π* estα-optimale) l’algorithme et mettreπ*= π1t+1si πIt+1= π1t (i.e.∀i ∈S,µµµµµµµµ It+1(i)=µµµµµµµµ It), sinon incrémenter It=It+1et retourner au pas 2.

S.i états pour tous ) ,( min arg)( iziz

∈=∈

µµ µ

µiQi

It

iM

It

)( ),()() ,() ,( iz0

iziziz ijVaiciQ ItN

jije

ItsIt

µµµαµµ µαµ =+= ∑

=

Page 97: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Corollaire : Le PIA convergeversune politique optimale avec unnombrefini d’itérations.

06/11/2011 96

nombrefini d’itérations.

Page 98: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Pour utiliser l’algorithme PIA, certainepolitiquepolitique initialeinitiale doit être choisie. S’iln’existe pas a priori des bases pour choisirune politique proche de l’optimale, alors ilest souvent convenable de choisir commepolitique initiale, celle qui minimiseminimise lesles

06/11/2011 97

politique initiale, celle qui minimiseminimise leslescoûtscoûts espérésespérés immédiatsimmédiats. Ceci est équivalentà commencer aupas 2 avec Vππππ1

α (i) =0,

i=0, 1, 2, …, NS.

Page 99: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Exemple 2: Modèle d’inventaire, cas desventes manquées et unretard de livraisonnul [Alt1].Supposons que le nombre des différentesquantités commandées est fini et que lescoûtssontbornés.

06/11/2011 98

coûtssontbornés.Soit st le niveaud’inventaire audébut de lapériode t.Soit dt le nombre d’articles commandés à t.

Page 100: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Si st = i et la décisionest dt = d, alors uncoût immédiat estimé ce(i,d) est subi enprenant en compte le coûtcoût dedecommandercommander d articles et est lecoûtcoûtd’immobilisationd’immobilisation et dede rupturerupture étant

06/11/2011 99

donné i+darticles sont disponibles pourfaire face à la demande.

Page 101: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Soit p(dm) : p(0) = 1/8, p(1) = 1/4, p(2) = 1/2,p(3) = 1/8 les probabilités des demandesL’état suivant est choisi selon une probabilité detransition aij(d) donnée par

,0 si )()()( >−+=−+== jjdipjdiDpdaij

∑∑∞∞

06/11/2011 100

où D est une demande stationnaire(variable aléatoire) par période.

,0 si )()()( =≡== ∑∑∞

+=

+=jdmpdmDpda

didmdidm

ij

Page 102: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Soit α=0,90.

Pour garder un espace d’état fini,supposons que le niveaumaximald’inventaire Ns est de 3 articles. Ainsi, lesétatspossibles(niveauxd’inventaire)

06/11/2011 101

étatspossibles(niveauxd’inventaire)

st = i = 0, 1, 2, 3

et quandl’état est i, les décisions possibles(quantités commandées) sont

d = 0, 1, 2,…, 3-i.

Page 103: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

De plus, les distributions des coûts immédiatsestimés et des demandes sont comme suit :ce(d) : c(0) = 0, c(1) = 6, c(2) = 8, c(3) = 10;h(d) = d pour d = 0, 1, 2, 3 ;Π(d)=12d pour d = 0, 1, 2, 3 ;p(dm) : p(0) = 1/8, p(1) = 1/4, p(2) = 1/2,

06/11/2011 102

p(dm) : p(0) = 1/8, p(1) = 1/4, p(2) = 1/2,p(3) = 1/8.A partir de ces données nous obtenons letableausuivant

Page 104: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Etat

i

Décision d

ce(i,d) ai0(d) ai1(d) ai2(d) ai3(d)

0 0 19.500 1 0 0 0

1 15.125 .875 .125 0 0

2 10.000 .625 .250 .125 0

3 11.375 .125 .500 .250 .125

1 0 9.125 .875 .125 0 0

06/11/2011 103

1 0 9.125 .875 .125 0 0

1 8.000 .625 .250 .125 0

2 9.375 .125 .500 .250 .125

2 0 2.000 .625 .250 .125 0

1 7.375 .125 .500 .250 .125

3 0 1.375 .125 .500 .250 .125

Page 105: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Soit µµµµµµµµIt, µµµµµµµµIt+1, … la séquence des politiquesstationnaires générées par l’algorithmed’améliorationde la politique pour les étatsi=0, 1, 2 et 3 enpartant de l’itérationIt.

Comme une politique initiale (It =1), nouschoisissonscelle qui minimise les coûts

06/11/2011 104

choisissonscelle qui minimise les coûtsespérés immédiats. A partir dutableauprécédent nous obtenons

µµµµµµµµ1(0) = 2,µµµµµµµµ1(1) = 1,µµµµµµµµ1(2) = 0,µµµµµµµµ1(3) = 2.

Page 106: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Pour calculer les coûts totales espérés éscomptéscorrespondants ൵µµµµµµ1, il faut résoudre le systèmed’équations suivant (pas 1) (NotonsVVµµµµµµµµ à la place deVVα

µµµµµµµµ pour simplifier les équations)

VVµµµµµµµµ1(0) = 10.000 + .9 [.625VVµµµµµµµµ1(0) + .250 VVµµµµµµµµ1(1) + .125 VVµµµµµµµµ1(2)]VVµµµµµµµµ1(1) = 8.000 + .9 [.625VVµµµµµµµµ1(0) + .250 VVµµµµµµµµ1(1) + .125 VVµµµµµµµµ1(2)]VVµµµµµµµµ1(2) = 2.000 + .9 [.625 VVµµµµµµµµ1(0) + .250 VVµµµµµµµµ1(1) + .125 VVµµµµµµµµ1(2)]

06/11/2011 105

VVµµµµµµµµ1(2) = 2.000 + .9 [.625 VVµµµµµµµµ1(0) + .250 VVµµµµµµµµ1(1) + .125 VVµµµµµµµµ1(2)]VVµµµµµµµµ1(3) = 1.375 + .9 [.125VVµµµµµµµµ1(0) + .500 VVµµµµµµµµ1(1) + .250 VVµµµµµµµµ1(2) + .125 VVµµµµµµµµ1(3)].

La solution de ces équations estVVµµµµµµµµ1(0) = 86.50,VVµµµµµµµµ1(1) = 84.50,VVµµµµµµµµ1(2) = 78.50,VVµµµµµµµµ1(3) = 75.26.

Nous tentons maintenant d’améliorer la politiqueµµµµµµµµ1. Lecalcul est comme suit :

Page 107: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

It=It+1=2, État 0

Décision µ0z

d = 0 19.500+.9[ (86.50) ]= 97.35

d = 1 15.125+.9[.875(86.50)+.125(84.50) ]= 92.75

)()() ,0() ,0(1

0

2 3

0

jVzazczQj

e j

µα

µ α∑=

+=

06/11/2011 106

d = 1 15.125+.9[.875(86.50)+.125(84.50) ]= 92.75

d = 2 10.000+.9[.625(86.50)+.250(84.50)+.125(78.50) ]= 86.50

d = 3 11.375+.9[.125(86.50)+.500(84.50)+.250(78.50)+.125(75.26)]= 85.26

Page 108: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

It=It+1=2, État 1

Décision µ0z

d = 0 9.125+.9[.875(86.50)+.125(84.50) ]= 86.75

d = 1 8.000+.9[.625(86.50)+.250(84.50) +.125(78.50) ]= 84.50

)()() ,1() ,1(1

1

2 3

0

jVzazczQj

e j

µα

µ α∑=

+=

06/11/2011 107

d = 1 8.000+.9[.625(86.50)+.250(84.50) +.125(78.50) ]= 84.50

d = 2 9.375+.9[.125(86.50)+.500(84.50)+.250(78.50)+.125(75.26)]= 83.26

Page 109: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

It=It+1=2, État 2

Décision µ0z

d = 0 2.000+.9[.625(86.50)+.250(84.50)+.125(78.50) ]= 87.50

d = 1 7.375+.9[.125(86.50)+.500(84.50)+.250(78.50)+.125(75.26)]= 81.26

)()() ,2() ,2(1

2

2 3

0

jVzazczQj

e j

µα

µ α∑=

+=

06/11/2011 108

d = 1 7.375+.9[.125(86.50)+.500(84.50)+.250(78.50)+.125(75.26)]= 81.26

Page 110: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

It=It+1=2, État 3

Décision µ0z

d = 0 1.375+.9[.125(86.50)+.500(84.50)+.250(78.50)+.125(75.26)]= 75.26

)()() ,3() ,3(1

3

2 3

0

jVzazczQj

e j

µα

µ α∑=

+=

06/11/2011 109

Alors, la politique améliorée est

µµµµµµµµ2(0) = 3,µµµµµµµµ2(1) = 2,µµµµµµµµ2(2) = 0,µµµµµµµµ2(3) = 0.

Puisqueµµµµµµµµ2 ≠ µµµµµµµµ1 pour i=1 et 2, nous retournonsaupas 1 et utilisonsµµµµµµµµ2 à la place deµµµµµµµµ1.

Page 111: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

Le système d’équations correspondant ൵µµ2 estcomme suit (pas 1) :

VVµµµµµµµµ2(0) = 11.375 + .9 [.125VVµµµµµµµµ2 (0) + .500 VVµµµµµµµµ2 (1) + .125 VVµµµµµµµµ2 (2) + .250 VVµµµµµµµµ2(3)]VVµµµµµµµµ2 (1) = 9.375 + .9 [.125VVµµµµµµµµ2(0) + .500 VVµµµµµµµµ2(1) + .250 VVµµµµµµµµ2(2) + .125 VVµµµµµµµµ2(3) ]VVµµµµµµµµ2 (2) = 2.000 + .9 [.625VVµµµµµµµµ2(0) + .250 VVµµµµµµµµ2(1) + .125 VVµµµµµµµµ2(2)]VVµµµµµµµµ2 (3) = 1.375 + .9 [.125VVµµµµµµµµ2(0) + .500 VVµµµµµµµµ2(1) + .250 VVµµµµµµµµ2(2) + .125 VVµµµµµµµµ2(3)].

06/11/2011 110

La solution de ces équations estVVµµµµµµµµ2 (0) = 77.73,VVµµµµµµµµ2 (1) = 75.73,VVµµµµµµµµ2 (2) = 70.71,VVµµµµµµµµ2 (3) = 67.73.

Nous tentons maintenant d’améliorer la politiqueµµµµµµµµ2. Le calcul est comme suit :

Page 112: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

It=It+1=3, État 0

Décision µ0z

d = 0 19.500+.9[ (77.73) ]= 89.45

d = 1 15.125+.9[.875(77.73)+.125(75.73) ]= 84.85

)()() ,0() ,0(2

0

3 3

0

jVzazczQj

e j

µα

µ α∑=

+=

06/11/2011 111

d = 1 15.125+.9[.875(77.73)+.125(75.73) ]= 84.85

d = 2 10.000+.9[.625(77.73)+.250(75.73)+.125(70.71) ]= 78.71

d = 3 11.375+.9[.125(77.73)+.500(75.73)+.250(70.71)+.125(67.73)]= 77.73

Page 113: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

It=It+1=3, État 1

Décision µ0z

d = 0 9.125+.9[.875(77.73)+.125(75.73) ]= 78.85

d = 1 8.000+.9[.625(77.73)+.250(75.73) +.125(70.71) ]= 76.71

)()() ,1() ,1(2

1

3 3

0

jVzazczQj

e j

µα

µ α∑=

+=

06/11/2011 112

d = 1 8.000+.9[.625(77.73)+.250(75.73) +.125(70.71) ]= 76.71

d = 2 9.375+.9[.125(77.73)+.500(75.73)+.250(70.71)+.125(67.73)]= 75.73

Page 114: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

It=It+1=3, État 2

Décision µ0z

d = 0 2.000+.9[.625(77.73)+.250(75.73)+.125(70.71) ]= 70.71

d = 1 7.375+.9[.125(77.73)+.500(77.73)+.250(70.71)+.125(67.73)]= 73.73

)()() ,2() ,2(2

2

3 3

0

jVzazczQj

e j

µα

µ α∑=

+=

06/11/2011 113

d = 1 7.375+.9[.125(77.73)+.500(77.73)+.250(70.71)+.125(67.73)]= 73.73

Page 115: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

It=It+1=3, État 3Décision µ0z

d = 0 1.375+.9[.125(77.73)+.500(75.73)+.250(70.71)+.125(67.73)]= 67.73

Alors, la politiqueamélioréeest

)()() ,3() ,3(2

3

3 3

0

jVzazczQj

e j

µα

µ α∑=

+=

06/11/2011 114

Alors, la politiqueamélioréeest

µµµµµµµµ3(0) = 3,µµµµµµµµ3(1) = 2,µµµµµµµµ3(2) = 0,µµµµµµµµ3(3) = 0.

Puisque µµµµµµµµ3= µµµµµµµµ2, ∀i nous constatons alors queµµµµµµµµ2 est0.90-optimale. Ainsi malgré qu’il existe 24 différentespolitiques stationnaires, l’algorithme d’amélioration de lapolitique a trouvé la politique optimale en exactement deuxitérations.

Page 116: INTRODUCTION A LA PROGRAMMATION DYNAMIQUE …

• [Bat00] Bather J. Decision Theory. An Introduction to Dynamic Programmingand Sequential Decisions. John Wiley & Sons, 2000.

• [Bel57] Bellman. R. Dynamic Programming. Princeton University Press,Princeton, N.J. 1992.

• [Dre77] Dreyfus S.E. and Law A. M. The Art and Theory of DynamicProgramming, Academic Press 1977.

• [How60] Howard R. Dynamic Programming and Markov Processes. MITPress, Cambridge, MA, 1960.

• [Alt1] T. AL ANI. Programmation dynamique stochastique : Modèle

Bibliographie

06/11/2011 115

• [Alt1] T. AL ANI. Programmation dynamique stochastique : Modèle dynamique d’inventaire (http://www.esiee.fr/~info/a2si/docu_ens.html)

• [Alt2] T. AL ANI. Apprentissage par Renforcement(http://www.esiee.fr/~info/a2si/docu_ens.html)

• [Alt3] T. AL ANI. Programmation dynamique stochastique –partie 1(http://www.esiee.fr/~info/a2si/docu_ens.html)

• [Der70]:Derman, C., Finite State Markovian Decision Processes, Academic Press, New York, 1970.