190 likes | 325 Views
Décomposition de PDM à l’aide de techniques de décomposition de graphes. Régis Sabbadin INRA-BIA Toulouse 31326 Castanet-Tolosan Cedex sabbadin@toulouse.inra.fr. Processus Décisionnels Markoviens : Complexité de la résolution itérative. Itération de la politique : O(|S| 2 +|A|.|S| 2 )
E N D
Décomposition de PDM à l’aide de techniques de décomposition de graphes Régis Sabbadin INRA-BIA Toulouse 31326 Castanet-Tolosan Cedex sabbadin@toulouse.inra.fr
Processus Décisionnels Markoviens :Complexité de la résolution itérative • Itération de la politique : O(|S|2+|A|.|S|2) • Evaluation : Vpt(s) = Ss’S p(s’|s,p(s)).[ r(s,p(s),s’)+g. Vpt(s’) ] • Amélioration : p’(s) = argmaxaASs’S p(s’|s,a).[ r(s,a,s’)+ g.Vpt(s’) ] • Itération de la valeur : O(|A|.|S|2) • Itération : Vt+1(s) = maxaASs’S p(s’|s,a).[ r(s,a,s’)+g.Vt(s’) ] Explosion combinatoire !
Techniques de décomposition de PDMs • Agrégation d’états / actions • réduction de la taille de l’espace d’états • utilisation de macro-actions • Apprentissage par renforcement multi-agents • simulation / apprentissage de politiques partielles • Décomposition de l’espace d’états / d’actions • décomposition parallèle • décomposition sérielle
Décomposition sérielle des PDMs- Généralités - • Décomposer l’espace d’états • S=S1...Sk SiSj=, les Si étants « peu connectés » • Topologie « en étoile » • Sommets : « noyaux » des Si (états non communiquants) • Centre (U) : ensemble « d’états communiquants » • Programmation Dynamique Asynchrone : • Alterner des itérations de VI ou PI sur les Si avec des évaluations de Vt (Vpt ) sur U
Topologie en étoile • Périphérie : Per(Si)={s’S\Si, sSi, aA, p(s’|s,a)0} • Composant central, noyaux : • Composant central : U=iPer(Si) • Noyaux : Ki=Si\U S1 S2 S1 Per(S1) S3 S4 K1 K2 K1 K2 U U K3 K4 K3 K4
PDM locaux Soit fonction réelle sur U, arbitraire • PDMi = (SiPer(Si), A, pi, ri) - (s, s’) SiSi pi (s,a,s’) = p(s,a,s’) ri(s,a,s’) = r(s,a,s’) Si Ki -(s, s’) Si-KiPer(Si) pi (s,a,s’) = p(s,a,s’) ri(s,a,s’) = (s’) Si-Ki - s Per(Si) pi (s,a,s) = 1 ri(s,a,s’) = 0 Per(Si) Proposition : si = V*|U alors Vi* = V*|SiPer(Si)
V1 V2 K1 K2 U K3 K4 V3 V4 Résolution « décomposée » itérative(Dean & Lin, 95) Initialisation de V’= {, V1,..., Vk}; Faire V V’; { Vi, pi } sol_partielle(PDMi); V’ {, V1,..., Vn}; Mise à jour (s) maxaASs’S p(s’|s,a).[ r(s,a,s’)+g.V’(s’) ] Tant que ||V’-V|| ; Retourner V’.
Décomposition automatique de l’espace d’états • La résolution « décomposée » itérative est d’autant meilleure que : • La partition {S1,...,Sk} est « équilibrée » • |U| est faible • Question : Comment générer une telle partition automatiquement et efficacement ? • Réponse : Bipartition spectrale + Raffinement local
Graphe associé à un PDM s’ s • maxa p(s,a,s’)0 Graphe G = (V, E)
Bipartition de graphe (nombre de coupures) |S1| = 16, |S2| = 16, Cut = 10
Bipartition de graphe (nombre de coupures) |S1| = 16, |S2| = 16, Cut = 2
Bipartition de graphe(nombre de coupures) • Laplacien Q du graphe G = (V, E) : • Q(s,s’) = -1 ssi (s,s’) E • Q(s,s’) = 0 si s s’ et (s,s’) E • Q(s,s) = - ( s’Q(s,s’) ) • Nombre de coupures d’une bipartition (S1,S2) : X = {xi} où xi=1 si xiS1 et xi=-1 si xiS2 Cut = 1/4 (XtQX) Ce résultat est valable pour un graphe valué!
Bipartition minimale de graphe (Bipartition spectrale) • Partition minimale : Trouver X = {xi} tel que xi{-1,1}, (| xi|) , minimisant Cut = 1/4 (XtQX) • Problème NP-complet • Bipartition spectrale : Trouver Z, vecteur propre de Q associé à la valeur propre minimale Projeter Z sur {-1,1}n, en respectant la contrainte d’équilibre Inefficace pour de grands graphes Réduction de graphe
P=6 P=5 P=5 P=3 Raffinement local de partition • La partition obtenue n’est pas minimale : • On minimise le nombre de coupures, pas la taille de U • Bipartition spectrale approximative • Effet de la réduction du graphe • Séquences successives d’échanges gloutons de sommets, afin de minimiser P=|Per(S1) Per(S2)|
Exemple de navigation CPU résolution (MATLAB, biproc. PIII 600, Linux): Itération de la valeur : 46.14s I. V. Décomposée (fig. gauche) : - Bipartition spectrale : 3.17s - Raffinement local : 2.37s - I.V. Décomp. : 20.27s Total : 25.81 s
Transitions liens Validation expérimentale PDM 1 PDM 2 • Paramètres : • Taille du problème |S| (200, 400, 800, 1600 états) • Nombre moyen de liens aléatoires (0, 5, 10, 20, ..., 160) • Résultats : • Ratio |U|/|S| • Ratio CPU(Pol. It. Décomposée)/CPU(Pol. It.)
Conclusions • Décomposition automatique de PDMs • inspirée de méthodes de décomposition de graphes • complémentaire avec la résolution de PDMs décomposés • Efficacité • utile pour des PDMs « faiblement couplés » de grande taille • plus intéressant si la décomposition peut être réutilisée • Perspectives décomposition « par variable » dans les PDMs à représentation factorisée