440 likes | 604 Views
Planification Temporelle Frédéric MARIS IRIT – Université Paul Sabatier – Toulouse. Plan. Introduction Planification temporelle : le système TLP-GP Conclusion et perspectives. Planification. Faire une céramique…. I have a plan …. Etat Initial. ?. But. Introduction. Planification.
E N D
Planification Temporelle Frédéric MARIS IRIT – Université Paul Sabatier – Toulouse
Plan • Introduction • Planification temporelle : le système TLP-GP • Conclusion et perspectives
Planification • Faire une céramique… I have a plan … Etat Initial ? But Introduction
Planification Plan Mouler les céramiques Allumer le four Cuire les céramiques Assembler les céramiques Etat Initial 1 But 2 4 3 Introduction
Planification A e1 p1 < Préconditions > < Effets > e2 p2 e3 • Cadre classique de la planification : • Actions instantanées, discrètes, déterministes, • Monde totalement observable, pas d’incertitude. < Action > Introduction
Planification : Définitions préliminaires Action :A = <Prec(A), Add(A), Del(A) >. • Etat : ensemble fini de formules atomiques (fluents). • Application de l’actionA à un état E : E' = (E - Del(A)) Add(A). • Problème de planification : <A, I, G> où : • I ensemble fini de fluents, état initial du problème, • G ensemble fini de fluents, buts du problème. • A ensemble fini d’actions, Introduction
Algorithmes essentiels Recherche dans les espaces d’états GRAPHPLAN Recherche dans les espaces de plans partiels Planification SAT (codage de la structure des plans possibles) • Planification de type • SATPLAN Planification de type BLACKBOX Introduction
Planification temporelle : problématique Amélioration des solveurs SAT Très bons résultats de la planification SAT Résultats pour la planification temporelle ? Amélioration des solveurs DTP et SMT Planification temporelle
Planification temporelle : problématique PLAN Mouler les céramiques Cycle de chauffe du four Cuire les céramiques Assembler Temps Etat Initial 1 2 5 4 3 6 But Planification temporelle
Planification temporelle : problématique Etat Initial But : Manger un plat de pâtes chaud (5 min.) Cuire les pâtes Cuire les lardons Concurrence des actions obligatoire Casser l’oeuf Préparer la carbonara Planification temporelle
Planification temporelle : problématique qui ne nécessitent pas la concurrence des actions Temporellement Simples Problèmes de planification temporels qui nécessitent laconcurrence des actions Temporellement Expressifs Planification temporelle
Historique • Les premiers planificateurs temporels • DEVISER [Vere, 1981] Logique temporelle basée sur les instants Logique temporelle basée sur les intervalles TIMELOGIC [Allen, Koomen, 83]TLP [Tsang, 87] … FORBIN [Dean, Firby, Miller, 1988]IxTeT [Ghallab, Alaoui, 1989.a/b] [Alaoui, 1990]TRIPTIC [Rutten, Hertzberg, 1993]TEST [Reichgelt, Shadbolt, 1990]… algorithmes de recherche dans des espaces de plans Planification temporelle
Algorithmique • Recherche dans les espaces d’états étendus • Planification DEP • Planification à progression temporelle flottante • Recherche dans les espaces de plans partiels • Satisfaction de contraintes temporelles simples (STN/STP) • Satisfaction de contraintes temporelles disjonctives (DTP) • GRAPHPLAN temporel • Construction du graphe guidée par le temps • Construction du graphe guidée par les actions Planification temporelle
Taxinomie Espaces d'états étendus Espaces de plans partiels Extensions temporelles de GRAPHPLAN Planification temporelle
Introduction • Cadre temporel (PDDL 2.1) : • Actions avec durée (duration), • Préconditions at start, at end, over all, • Effets at start, at end, • Evènements exogènes et buts temporellement étendus, p1 p3 p2 A[durée] e1 e2 Planification temporelle
Introduction • Compétitions IPC : • Les planificateurs les plus efficaces ne sont pas temporellement expressifs, • Les benchmarks des IPC ne sont pas temporellement expressifs, • Un petit nombre de planificateurs sont temporellement expressifs (VHPOP, LPGP, CRIKEY, IxTeT, HSTN), • L’expressivité temporelle est restreinte à PDDL2.1. Planification temporelle
Langage de représentation de TLP-GP p1 p2 p3 A[durée] e3 e1 e2 • (over [(+ start 2) end[ (ready ?k)) • (somewhere [start (+ start 2)] (ready ?k)) • (minimal-duration 5 anywhere [30 40] (baked p3)) Planification temporelle
Principes de TLP-GP • Expansion d’un graphe de planification simplifié ; • Extraction d’un plan-solution : TLP-GP 1 Recherche arrière conditionnée par la satisfiabilité d’un DTP GRAPHPLAN Planification SAT de type BLACKBOX TLP-GP 2 Codage du graphe en SMT, résolution, décodage Planification temporelle
Exemple A : +a[0;5[ –a[5] +b[5] –d[5] B : a[0] +c[0;4[ +d[4] –c[4] C : c[0] –b[1] +e[1] Planification temporelle
Expansion du graphe de planification A : +a[0;5[ –a[5] +b[5] –d[5] B : a[0] +c[0;4[ +d[4] –c[4] C : c[0] –b[1] +e[1] [5] [5] [5] a a a [0;5[ [0;5[ [0;5[ a a a A A A [5] [5] [5] b b b b [5] [5] [5] d d d c c [4] [4] [0;4[ [0;4[ c c [0] [0] B B [4] [4] d d d [1] b [0] C [1] e e Niveau 1 Niveau 2 Niveau 3 Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 1) Agenda A : +a[0;5[ –a[5] +b[5] –d[5] B : a[0] +c[0;4[ +d[4] –c[4] C : c[0] –b[1] +e[1] s(B2)s(C3) s(A1)+5s(C3)+1 [s(A1); s(B2)] s(C3)<s(B2)+4 s(A1)+5s(B2)+4 a Contraintes [s(A1); s(A1)+5[ s(A1)s(B2) s(A1)+5<s(B2)+4 [s(A1)+5] a s(B2)<s(A1)+5 s(C3)+1<s(A1)+5 [s(A1)+5] b [5] [5] [5] a a a [s(A1)+5; G] [0;5[ [0;5[ [0;5[ a a a a b [s(C3)+1] A A A A [s(B2); s(C3)] [5] [5] [5] c b b b b b [s(B2); s(B2)+4[ [5] [5] [5] d d d [s(B2)+4] c c c [4] [4] [0;4[ [0;4[ [s(B2)+4] c c c d [0] [0] [s(B2)+4; G] B B B [4] [4] d d d d d [s(A1)+5] [1] b [0] e [s(C3)+1; G] C C [1] e e Niveau 1 Niveau 2 Niveau 3 Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 1) • Actions du plan flottant : { A1, B2, C3 } • Contraintes temporelles : s(A1) s(B2)s(A1)+5 < s(B2)+4s(B2) < s(A1)+5s(B2) s(C3)s(C3)+1 < s(A1)+5s(C3) < s(B2)+4 • Instants caractéristiques ordonnés : s(A1) s(B2) s(C3) < s(C3)+1 < s(A1)+5 < s(B2)+4 (Il existe d’autres ordonnancements possibles) Planification temporelle
Plan-solution flottant A1[5] a a d b INIT GOAL a B2[4] c c d c C3[1] b e I s(A1) s(C3) s(A1)+5 G s(B2) s(C3)+1 s(B2)+4 5 < Temps d’exécution < 8 Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Règle 1: Etat initial et But nInit nGoal Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Règle 2: Production des préconditions par liens causaux nb Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Règle 2: Production des préconditions par liens causaux na nb p Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Règle 3: Activation des actions et ordre partiel na nb p Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Règle 3: Activation des actions et ordre partiel na nb p (na→ p) (p→ nb) [… [… Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Règle 4.1: Exclusions mutuelles temporellement étendues nc na nb p Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Règle 4.1: Exclusions mutuelles temporellement étendues nc na nb p (nc→ p) (na→ p) …] [… Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Règle 4.1: Exclusions mutuelles temporellement étendues nc na nb nc p (nc→ p) (na→ p) (p→ nb) (nc→ p) …] [… …] [… Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Règle 4.2: Exclusions mutuelles temporellement étendues nb na Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Règle 4.2: Exclusions mutuelles temporellement étendues nb na (nb→ p) (na→ p) …] [… Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Règle 4.2: Exclusions mutuelles temporellement étendues nb na na nb (nb→ p) (na→ p) (na→ p) (nb→ p) …] [… …] [… Planification temporelle
Extraction d’un plan-solution flottant (TLP-GP 2) • Codage • Regle 5: Bornes inférieure et supérieure Planification temporelle
Plan-solution flottant A1[5] a a d b INIT GOAL a B2[4] c c d c C3[1] b e I s(A1) s(C3) s(A1)+5 G s(B2) s(C3)+1 s(B2)+4 5 < Temps d’exécution < 8 Planification temporelle
Résultats expérimentaux • Nouveaux benchmarks (http://tlpgp.free.fr/) • Extensions de l’exemple • Cooking (pâtes à la carbonara) • Temporal-machine-shop (cuisson de céramiques) Planification temporelle
Résultats expérimentaux Planification temporelle
Résultats expérimentaux Planification temporelle
Résultats expérimentaux Planification temporelle
Interface graphique de TLP-GP 1 Planification temporelle