La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Programmation dynamique

Présentations similaires


Présentation au sujet: "Programmation dynamique"— Transcription de la présentation:

1 Programmation dynamique
Chapitre 2 Programmation dynamique

2 Programmation dynamique
La programmation dynamique est une méthode de conception d'algorithme qui peut être employée quand la solution à un problème peut être vue comme le résultat d'une série de décisions

3 Formulation d’un problème en programmation dynamique
Formulation du problème de la programmation dynamique en tant qu’un système dynamique à étapes discrètes Deux caractéristiques principales du problème de base déterminent sa structure : (1) un système dynamique sous-jacent à étapes discretes, et (2) un coût fonctionnel qui est additif dans le temps.

4 Programmation dynamique
Déterministe vs stochastique Les méthodes de programmation dynamique basés sur des modèles déterministes supposent que le coût et le changement de l’état résultants de chaque décision, même pour leurs valeurs futures, sont connus avec certitude. Pour les systèmes stochastiques ( ex: gestion de stock), la fonction coût dépendent des perturbations aléatoires. Il est alors impossible de minimiser les coûts totaux. L’approche traditionnelle consiste à minimiser leur espérance.

5 Le plus court chemin Pour trouver le plus court chemin dans un graphe à plusieurs étapes: Appliquer la méthode glouton (greedy method) : Un algorithme glouton est un algorithme qui suit le principe de faire, étape par étape, un choix optimum local, dans l'espoir d'obtenir un résultat optimum global. le plus court chemin de S à T est : = 8

6 Le plus court chemin dans les graphes à plusieurs étapes
par exemple. La méthode de Glouton ne peut pas être appliquée à ce cas : (S, A, D, T) = 23. Le vrai court chemin est : (S, C, F, T) = 9.

7 Approche de programmation dynamique
(approche vers l'avant) : d(S, T) = min{1+d(A, T), 2+d(B, T), 5+d(C, T)} d(A,T) = min{4+d(D,T), 11+d(E,T)} = min{4+18, 11+13} = 22.

8 d (B, T) = minute {9+d (D, T), 5+d (E, T), 16+d (F, T)}
d (C, T) = min {2+d (F, T)} = 2+2 = 4 d (S, T) = min {1+d (A, T), 2+d (B, T), 5+d (C, T)} = min {1+22, 2+18, 5+4} = 9. La manière ci-dessus du raisonnement s'appelle raisonnement en arrière.

9 Approche en arrière (raisonnement vers l'avant)
d (S, A) = 1 d (S, B) = 2 d (S, C) = 5 d (S, D)=min {d (S, A)+d (A, D), d (S, B)+d (B, D)} = min {1+4, 2+9} = 5 d (S, E)=min {d (S, A)+d (A, E), d (S, B)+d (B, E)} = min {1+11, 2+5} = 7 d (S, F)=min {d (S, B)+d (B, F), d (S, C)+d (C, F)} = min {2+16, 5+2} = 7

10 d (S, T) = min {d (S, D)+d (D, T), d (S, E)+
d (E, T), d (S, F)+d (F, T)} = min {5+18, 7+13, 7+2} = 9

11 Principe de l'optimalité
Principe de l'optimalité : Supposer qu'en résolvant un problème, nous doivent faire un ordre des décisions D1, D2,…, DN. Si cet ordre est optimal, alors les dernières décisions de k, 1  n du  k doivent être optimales. Dans le problème du plus court chemin Si I, i1, i2,…, j est un court chemin d'I à j, alors i1, i2,…, j doit être un court chemin d'i1 à j

12 Programmation dynamique
Caractéristiques d’un problème de programmation dynamique Le problème peut être décomposé en étapes et une décision doit être prise à chaque étape. Ces décisions sont interdépendantes et séquentielles. A chaque étape correspond un certain nombre d’états. Dans l’exemple du voyageur, les états à chaque étape sont représentés par les villes que le voyageur les visiter. Le nombre de ces états dans l’exemple est fini. Le nombre d’états peut être infinie (xn IN) ou continue (xn IR) A chaque étape, la décision prise transforme l’état actuel en un état associé à l’étape suivante (dans certains cas avec une distribution de probabilité).

13 Programmation dynamique
Etant donné un état, une stratégie optimale pour les étapes restantes est indépendante des décisions prises aux étapes précédentes. d’autres termes, l’état actuel contient toute l’information nécessaire aux décisions futures. Cette propriété est dite principe d’optimalité. L’algorithme de recherche de la solution optimale commence par trouver la stratégie optimale pour tous les états de la dernière étape. Une relation de récurrence identifie la stratégie optimale dans chaque état de l’étape n à partir de la stratégie optimale dans chaque état de l’étape n+1. Utilisant cette relation de récurrence, l’algorithme procède à reculons étape par étape. Il détermine la stratégie optimale pour chaque état de chaque étape.


Télécharger ppt "Programmation dynamique"

Présentations similaires


Annonces Google