Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Σχεδιασμός Ενεργειών (Planning)

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Σχεδιασμός Ενεργειών (Planning)"— Μεταγράφημα παρουσίασης:

1 Σχεδιασμός Ενεργειών (Planning)
C B A B C ΤΜΗΜΑ ΜΠΕΣ

2 Σχεδιασμός Ενεργειών (Planning)
Ένα πρόβλημα σχεδιασμού ενεργειών (planning problem) είναι ένα πρόβλημα όπου ζητάμε την εύρεση μιας ακολουθίας ενεργειών, οι οποίες εφαρμοζόμενες σε μια αρχική κατάσταση, έχουν ως αποτέλεσμα την επίτευξη συγκεκριμένων στόχων π.χ. μεταφορά φορτίων, πλοήγηση οχημάτων και ρομπότ, προβλήματα στρατηγικής, προβλήματα επενδύσεων, κ.α. Τα προβλήματα αυτά έχουν υψηλή χρονική και χωρική πολυπλοκότητα οι γενικοί αλγόριθμοι αναζήτησης είναι ανεπαρκείς έχουν αναπτυχθεί εξειδικευμένα συστήματα που ονομάζονται σχεδιαστές (planners) ΤΜΗΜΑ ΜΠΕΣ

3 Σχεδιασμός Ενεργειών (Planning)
Πράκτορες επίλυσης προβλημάτων σχεδιάζουν τις ενέργειες τους συλλογιζόμενοι τις συνέπειες των ενεργειών πριν τις πράξουν Πράκτορες βασισμένοι στη γνώση επιλέγουν πράξεις βασισμένοι σε κάποια αναπαράσταση (βασισμένη σε λογική ίσως) της τωρινής κατάστασης και των συνεπειών των πιθανών ενεργειών Στη συνέχεια θα συνδυάσουμε τις δύο ιδέες για να δημιουργήσουμε πράκτορες σχεδιασμού ενεργειών (planning agents) ΤΜΗΜΑ ΜΠΕΣ

4 Σχεδιασμός Ενεργειών vs. Επίλυσης Προβλημάτων με Αναζήτηση
Ο σχεδιασμός ενεργειών είναι παρόμοιος με την επίλυση προβλημάτων με αναζήτηση. Και στα δύο έχουμε: Στόχους, Καταστάσεις, Ενέργειες Ένας πράκτορας σχεδιασμού ενεργειών, όπως κι ένας πράκτορας επίλυσης προβλημάτων, κατασκευάζει πλάνα που επιτυγχάνουν τους στόχους του και μετά τα εκτελεί Διαφέρουν στην αναπαράσταση των στόχων, των καταστάσεων, και των ενεργειών Γιατί δεν είναι αρκετή η αναζήτηση για την επίλυση προβλημάτων σχεδιασμού ? ΤΜΗΜΑ ΜΠΕΣ

5 Σχεδιασμός Ενεργειών vs. Επίλυσης Προβλημάτων με Αναζήτηση
Ένας πράκτορας που προσπαθεί να επιλύσει περίπλοκα πραγματικά προβλήματα χρησιμοποιώντας τεχνικές αναζήτησης θα αντιμετωπίσει σοβαρά προβλήματα λόγω: του τεράστιου πλήθους άσχετων ενεργειών π.χ. αγορά βιβλίων με 10-digit ISBN number on-line  10 δις ενέργειες αν ο πράκτορας ξέρει ότι αγορά(x) => κατοχή(x) λύνει το πρόβλημα με μια ενέργεια της δυσκολίας κατασκευής κατάλληλων heuristics π.χ. αγορά τεσσάρων βιβλίων Α,Β,C,D on-line  1040 πιθανά πλάνα αν ο πράκτορας έχει συζευκτική αναπαράσταση του στόχου μπορεί να εξάγει αυτόματα ένα καλό heuristic (μεγιστοποίηση των ικανοποιούμενων υποστόχων) της αδυναμίας εκμετάλλευσης προβλημάτων που διασπώνται σε ανεξάρτητα υποπροβλήματα π.χ. αγορά πέντε άσχετων πραγμάτων ΤΜΗΜΑ ΜΠΕΣ

6 Επίλυση Προβλημάτων με Αναζήτηση
Βασικά στοιχεία: Αναπαράσταση ενεργειών μέσω των διάδοχων καταστάσεων που προκύπτουν Αναπαράσταση καταστάσεων αρχική κατάσταση και πλήρης περιγραφή των καταστάσεων που προκύπτουν από τις διάφορες ενέργειες Αναπαράσταση στόχων τεστ στόχου και ευρετική συνάρτηση Αναπαράσταση πλάνων μια λύση είναι μια ακολουθία ενεργειών οι αλγόριθμοι αναζήτησης χτίζουν τη λύση ξεκινώντας από την αρχική κατάσταση ΤΜΗΜΑ ΜΠΕΣ

7 Παράδειγμα Πρόβλημα: “Απέκτησε ένα μπουκάλι γάλα, ένα κιλό μπανάνες κι ένα τρυπάνι” Αρχική κατάσταση: Στο σπίτι χωρίς κανένα από τα πράγματα Ενέργειες: Οτιδήποτε μπορεί να πράξει ο πράκτορας Στόχος: Στο σπίτι με τα πράγματα Ευρετική συνάρτηση: Το πλήθος των επιθυμητών πραγμάτων που δεν έχουμε ακόμα Ποιο είναι το βασικό πρόβλημα στην επίλυση του προβλήματος με αναζήτηση ? ΤΜΗΜΑ ΜΠΕΣ

8 Παράδειγμα Πρόβλημα: “Απέκτησε ένα μπουκάλι γάλα, ένα κιλό μπανάνες κι ένα τρυπάνι” Συζήτησε με κάποιον Πήγαινε στο γήπεδο Δες το ματς Πήγαινε στο σχολείο Πήγαινε στην τάξη Αγόρασε γάλα ... Πήγαινε στο super market Αρχή Αγόρασε καραμέλες Πήγαινε για ύπνο Αγόρασε σοκολάτα Στόχος Διάβασε ένα βιβλίο Κάθισε στην καρέκλα Συνέχισε να κάθεσαι ... Κτλ. Κτλ. Τεράστιος χώρος αναζήτησης! ΤΜΗΜΑ ΜΠΕΣ

9 Σχεδιασμός Ενεργειών αντί για Απλή Αναζήτηση
Οι βασικές ιδέες του σχεδιασμού ενεργειών είναι οι παρακάτω: “Αποδοτική” αναπαράσταση καταστάσεων, στόχων, ενεργειών με λογική πρώτης τάξης ή κάποια παραλλαγή της ο σχεδιαστής μπορεί να κάνει άμεσους συνδυασμούς μεταξύ καταστάσεων και πράξεων π.χ. αν ξέρουμε ότι στον στόχο περιλαμβάνεται το Έχω(Γάλα) κι ότι το Αγοράζω(x) επιτυγχάνει το Έχω(x) τότε μπορούμε να συμπεράνουμε ότι καλό είναι να σκεφτούμε πλάνα που περιλαμβάνουν το Αγοράζω(Γάλα) αν κάναμε απλή αναζήτηση μπορεί να ψάχναμε κι άσχετες ενέργειες όπως “πήγαινε για ύπνο” και “διάβασε ένα βιβλίο” ΤΜΗΜΑ ΜΠΕΣ

10 Σχεδιασμός Ενεργειών αντί για Απλή Αναζήτηση
Ο σχεδιαστής είναι ελεύθερος να προσθέτει ενέργειες στο πλάνο οπουδήποτε χρειάζονται, κι όχι απλά να χτίζει το πλάνο αυξητικά από την αρχή ως τον στόχο π.χ. μπορεί να αποφασίσουμε ότι πρέπει να εκτελέσουμε το Αγοράζω(Γάλα) χωρίς να έχουμε πριν αποφασίσει που να το αγοράσουμε, πως να πάμε εκεί, ή τι να κάνουμε μετά η αναπαράσταση των καταστάσεων ως συνόλων λογικών προτάσεων παρέχει αυτή τη δυνατότητα ΤΜΗΜΑ ΜΠΕΣ

11 Σχεδιασμός Ενεργειών αντί για Απλή Αναζήτηση
Τα περισσότερα τμήματα του κόσμου είναι ανεξάρτητα μεταξύ τους Έτσι μπορούμε να πάρουμε διαζευκτικούς στόχους όπως “Απέκτησε ένα μπουκάλι γάλα, ένα κιλό μπανάνες κι ένα τρυπάνι” και να τους λύσουμε με στρατηγική διαίρει και βασίλευε (divide and conquer) Δηλ. να χωρίσουμε τον στόχο σε υποστόχους και να τους λύσουμε ξεχωριστά Σχεδόν πάντα είναι πιο εύκολο να λυθούν αρκετά μικρά υποπροβλήματα παρά ένα μεγάλο πρόβλημα Τι συμβαίνει σε προβλήματα όπου υπάρχει αλληλεπίδραση μεταξύ των υποστόχων ? puzzles ΤΜΗΜΑ ΜΠΕΣ

12 Αναπαράσταση Προβλημάτων Σχεδιασμού
Μπορούμε να χρησιμοποιήσουμε ΛΠΤ για αναπαράσταση προβλημάτων σχεδιασμού Συγκεκριμένα μια επέκταση της ΛΠΤ για το χειρισμό μεταβολών στον κόσμο που ονομάζεται λογισμός καταστάσεων (situation calculus) Στο λογισμό καταστάσεων ο κόσμος αποτελείται από μια σειρά στιγμιότυπων Για κάθε συσχέτιση που μπορεί να αλλάξει στο χρόνο, προσδιορίζουμε με ένα πρόσθετο όρισμα σε ποιο στιγμιότυπο αναφερόμαστε π.χ. το At(Agent,Location) σε ΛΠΤ γίνεται At(Agent,Location,S) στο λογισμό καταστάσεων Πολύ μεγάλη (εκθετική) πολυπλοκότητα Άσχετα βήματα μπορεί να συμπεριληφθούν στη λύση ΤΜΗΜΑ ΜΠΕΣ

13 Αναπαράσταση Προβλημάτων Σχεδιασμού
Για να κάνουμε τον σχεδιασμό ενεργειών πρακτικό χρειαζόμαστε: Μια αρκετά περιοριστική γλώσσα αναπαράστασης γνώσης Η ΛΠΤ είναι υπερβολικά ελεύθερη! Όσο πιο περιοριστική η γλώσσα τόσο μικρότερος ο χώρος αναζήτησης Έναν ειδικά σχεδιασμένο αλγόριθμο σχεδιασμού (planner) Οι αλγόριθμοι απόδειξης της ΛΠΤ είναι πολύ γενικοί και συνεπώς μη αποδοτικοί χρειάζεται εξειδίκευση! ΤΜΗΜΑ ΜΠΕΣ

14 Το Μοντέλο STRIPS Το μοντέλο περιγραφής προβλημάτων σχεδιασμού STRIPS (Stanford, 1971) είναι μια περιοριστική γλώσσα αναπαράστασης γνώσης που κάνει τις εξής παραδοχές Οι ενέργειες είναι αδιαίρετες (indivisible actions) Τα αποτελέσματα είναι προκαθορισμένα (deterministic effects) Υπάρχει πλήρης γνώση του περιβάλλοντος (omniscience) Υπόθεση κλειστού κόσμου (closed world assumption) Ο κόσμος είναι στατικός (static world) Το STRIPS αποτελεί τη βάση των περισσότερων planners ακόμα και τώρα ΤΜΗΜΑ ΜΠΕΣ

15 Αναπαράσταση Καταστάσεων και Στόχων στο STRIPS
Οι καταστάσεις αναπαριστώνται ως συζεύξεις θετικών προτασιακών και πρώτης τάξης λεκτικών που εφαρμόζονται σε σταθερές Π.χ. η αρχική κατάσταση σε ένα πρόβλημα μπορεί να περιγραφεί ως: At(Home)  Have(Money)  Bored  … Δεν επιτρέπονται μεταβλητές ή συναρτήσεις ή αρνητικά λεκτικά Π.χ. At(x)  Sells(x,Milk)  Have(Money) Οι στόχοι αναπαριστώνται επίσης ως συζεύξεις θετικών λεκτικών Π.χ. στο πρόβλημα με το γάλα, τις μπανάνες και το τρυπάνι ο στόχος μπορεί να περιγραφεί ως: At(Home)  Have(Milk)  Have(Bananas)  Have(Drill) Δεν επιτρέπονται μεταβλητές Πότε ικανοποιείται ένας στόχος? ΤΜΗΜΑ ΜΠΕΣ

16 Αναπαράσταση Καταστάσεων και Στόχων στο STRIPS
Δεν αναφέρεται ο χρόνος κατά τον οποίο ισχύουν τα γεγονότα Δε μπορούν να περιγραφούν συνεχείς μεταβολές Θεωρείται πλήρης βεβαιότητα για την ισχύ των γεγονότων σχεδιαστές πιθανοτήτων & σχεδιαστές πολλαπλών ενδεχομένων Η αναπαράσταση του κόσμου δεν είναι πλήρης ΤΜΗΜΑ ΜΠΕΣ

17 Αναπαράσταση Ενεργειών στο STRIPS
Περιγραφή δηλ. το όνομα της ενέργειας και η λίστα παραμέτρων Προϋποθέσεις τα γεγονότα που πρέπει να ισχύουν σε μια κατάσταση για να μπορεί να εφαρμοστεί η ενέργεια στην κατάσταση αυτή είναι μια σύζευξη θετικών λεκτικών χωρίς συναρτήσεις. Οι μεταβλητές που υπάρχουν στις προϋποθέσεις πρέπει να εμφανίζονται και στις παραμέτρους Αποτελέσματα (ή λίστες προσθήκης & διαγραφής) τα γεγονότα που αλλάζουν στη νέα κατάσταση μετά την εκτέλεση της ενέργειας είναι μια σύζευξη λεκτικών χωρίς συναρτήσεις ΤΜΗΜΑ ΜΠΕΣ

18 Αναπαράσταση Ενεργειών στο STRIPS
Παράδειγμα: Περιγραφή ενέργειας για να πάμε από ένα μέρος σε ένα άλλο Op (ACTION: Go(here,there), PRECOND: At(here)  Path(here,there), EFFECT: At(there)  ¬At(here)) Διαγραμματικά: At(here) , Path(here,there) Go(there) At(there)  ¬At(here) Μια ενέργεια μπορεί να περιλαμβάνει μεταβλητές Οπότε λέγεται σχήμα ενέργειας και αντιστοιχεί σε μια “οικογένεια” ενεργειών ΤΜΗΜΑ ΜΠΕΣ

19 Ενέργειες στο STRIPS Πότε μπορεί μια ενέργεια να εφαρμοστεί?
σε οποιαδήποτε κατάσταση ικανοποιεί τις προϋποθέσεις της ενέργειας μπορεί να απαιτείται αντικατάσταση σταθερών σε μεταβλητές Παράδειγμα: Op (ACTION: Fly(p,from,to), PRECOND: At(p,from)  Plane(p)  Airport(from)  Airport(to) EFFECT: ¬At(p,from)  At(p,to)) Τρέχουσα κατάσταση: At(P1,JFK)  At(P2,SFO)  Plane(P1)  Plane(P2)  Airport(JFK)  Airport(SFO) Οι προϋποθέσεις ικανοποιούνται με την αντικατάσταση {p/P1,from/JFK,to/SFO} ΤΜΗΜΑ ΜΠΕΣ

20 Ενέργειες στο STRIPS Ξεκινώντας από μια κατάσταση s, το αποτέλεσμα μιας ενέργειας α είναι η κατάσταση s’, η οποία είναι ίδια με την s με τη διαφορά ότι κάθε θετικό αποτέλεσμα P της α προστίθεται στην s και κάθε αρνητικό αποτέλεσμα ¬P διαγράφεται μετά την εκτέλεση της ενέργειας Fly(P1,JFK,SFO) η τρέχουσα κατάσταση γίνεται: At(P1,SFO)  At(P2,SFO)  Plane(P1)  Plane(P2)  Airport(JFK)  Airport(SFO) αν κάποιο θετικό αποτέλεσμα ήδη υπάρχει στην s, δεν προστίθεται δεύτερη φορά αν κάποιο αρνητικό αποτέλεσμα δεν υπάρχει στην s, αγνοείται ό,τι δεν αναφέρεται στα αποτελέσματα παραμένει ως έχει ΤΜΗΜΑ ΜΠΕΣ

21 Επεκτάσεις του STRIPS Το μοντέλο STRIPS είναι πετυχημένο αλλά η εκφραστικότητα του είναι περιορισμένη. Δεν επιτρέπονται συναρτήσεις ή μεταβλητές στα λεκτικά περιγραφής καταστάσεων Επιτρέπονται μόνο θετικά λεκτικά για την περιγραφή καταστάσεων Δεν επιτρέπονται ποσοδείκτες Υπόθεση κλειστού κόσμου κτλ. ΤΜΗΜΑ ΜΠΕΣ

22 Επεκτάσεις του STRIPS Μπορούμε να επεκτείνουμε τη γλώσσα STRIPS προσθέτοντας για παράδειγμα τις εξής δυνατότητες: Τα αποτελέσματα των ενεργειών εξαρτώνται από συνθήκες Διαζευκτικές και αρνητικές προϋποθέσεις Προϋποθέσεις και αποτελέσματα με καθολικούς ποσοδείκτες Έχουν προταθεί διάφορες επεκτάσεις Π.χ. η Γλώσσα Περιγραφής Ενεργειών (Action Description Language – ADL) ΤΜΗΜΑ ΜΠΕΣ

23 Αποτελέσματα ανάλογα των Συνθηκών
Τελεστές με αποτελέσματα ανάλογα των συνθηκών (conditional effects) επιφέρουν διαφορετικά αποτελέσματα ανάλογα με την κατάσταση του κόσμου κατά την εκτέλεση τους Op (ACTION: Move(b,x,y), PRECOND: On(b,x)  Clear(b)  Clear(y) EFFECT: On(b,y)  Clear(x)  ¬On(b,x)  ¬Clear(y) ) Op (ACTION: MoveToTable(b,x), PRECOND: On(b,x)  Clear(b) EFFECT: On(b,Table)  Clear(x)  ¬On(b,x)) ΤΜΗΜΑ ΜΠΕΣ

24 Αποτελέσματα ανάλογα των Συνθηκών
Μπορούμε να αντικαταστήσουμε τους δύο τελεστές για το Move με έναν του οποίου το αποτέλεσμα εξαρτάται από τις συνθήκες Op (ACTION: Move(b,x,y), PRECOND: On(b,x)  Clear(b)  Clear(y) EFFECT: On(b,y)  Clear(x)  ¬On(b,x)  ¬Clear(y) when y  Table) Χρειάζονται μικρές αλλαγές στις ρουτίνες του planner ΤΜΗΜΑ ΜΠΕΣ

25 Διαζευκτικές και Αρνητικές Προϋποθέσεις
Είναι εύκολο να προσθέσουμε στον planner δυνατότητα χειρισμού αρνητικών προϋποθέσεων (negative preconditions) και διαζευκτικών προϋποθέσεων (disjunctive preconditions) Π.χ. ¬p , p  q Για τις αρνητικές προσοχή στην αρχική κατάσταση! Για τις διαζευκτικές ο planner διαλέγει να ικανοποιήσει μια από τις δύο και σε περίπτωση αποτυχίας δοκιμάζει την άλλη ΤΜΗΜΑ ΜΠΕΣ

26 Καθολικοί Ποσοδείκτες
Οι καθολικοί ποσοδείκτες σε προϋποθέσεις τελεστών κάνουν τα πράγματα πιο εύκολα π.χ. Αντί για Clear(b) μπορούμε να έχουμε:  x Block(x)  ¬On(x,b) Μπορούμε να έχουμε καθολικούς ποσοδείκτες σε αποτελέσματα π.χ. Op (ACTION: Carry(bag,x,y), PRECOND: Bag(bag)  At(bag,x) EFFECT: At(bag,y)  ¬At(bag,x)   i Item(i)  (At(i,y)  ¬At(i,x) when In(I,Bag)) ΤΜΗΜΑ ΜΠΕΣ

27 ADL vs. STRIPS STRIPS Language ADL Language
Only positive literals in states: Poor  Unknown Positive and negative literals in states: ¬Rich  ¬Famous Closed World Assumption: Unmentioned literals are false Open World Assumption: Unmentioned literals are unknown Effect P  ¬Q means add P and delete Q Effect P  ¬Q means and P and ¬Q and delete ¬P and Q Only ground literals in goals: Rich  Famous Quantified variables in goals:  x, At(P,x)  At(Q,x) Goals are conjunctions Goals allow conjunction and disjunction: ¬Rich  (Famous  Smart) Effects are conjunctions Conditional effects allowed: when P : E means E is an effect only if P is satisfied No support for equality Equality predicate (x = y) is built in No support for types Variables can have types: as in (P:Plane) ΤΜΗΜΑ ΜΠΕΣ

28 ADL vs. STRIPS (Παράδειγμα)
Op (ACTION: Fly(p,from,to), PRECOND: At(p,from)  Plane(p)  Airport(from)  Airport(to) EFFECT: ¬At(p,from)  At(p,to)) ADL Op (ACTION: Fly(p:Plane, from:Airport, to:Airport), PRECOND: At(p,from)  (from  to) ΤΜΗΜΑ ΜΠΕΣ

29 Χώρος Καταστάσεων & Χώρος Πλάνων
Χώρος καταστάσεων για το πρόβλημα με το γάλα, τις μπανάνες και το τρυπάνι Συζήτησε με κάποιον Πήγαινε στο γήπεδο Δες το ματς Πήγαινε στο σχολείο Πήγαινε στην τάξη Αγόρασε γάλα ... Πήγαινε στο super market Αρχή Αγόρασε καραμέλες Πήγαινε για ύπνο Αγόρασε μπύρες Στόχος Διάβασε ένα βιβλίο Κάθισε στην καρέκλα Συνέχισε να κάθεσαι ... Κτλ. Κτλ. ΤΜΗΜΑ ΜΠΕΣ

30 Χώρος Καταστάσεων & Χώρος Πλάνων
Ένα μονοπάτι από την αρχή ως τον στόχο στον χώρο καταστάσεων αποτελεί ένα πλάνο για το συγκεκριμένο πρόβλημα Θα μπορούσαμε να λύσουμε το πρόβλημα με ένα σύστημα που παρέχει τα εξής: περιγραφή του προβλήματος σε STRIPS χρήση κάποιου αλγόριθμου αναζήτησης για εύρεση λύσης (πλάνου) Ένα τέτοιο σύστημα λέγεται σχεδιαστής χώρου καταστάσεων (situation space planner) ΤΜΗΜΑ ΜΠΕΣ

31 Χώρος Καταστάσεων & Χώρος Πλάνων
Ορθή Διάσχιση (progression) από την αρχική κατάσταση προς τον στόχο Ανάστροφη Διάσχιση (regression) από το στόχο προς την αρχική κατάσταση Αντί για το χώρο καταστάσεων μπορούμε να ψάξουμε στο χώρο πλάνων ξεκινάμε με ένα μερικό πλάνο και το επεκτείνουμε ώσπου να γίνει πλήρες Πως αναπαριστούμε τα πλάνα ? ΤΜΗΜΑ ΜΠΕΣ

32 Αναζήτηση στο Χώρο Καταστάσεων
At(P1,B) At(P2,A) Ορθή Διάσχιση Fly(P1,A,B) At(P1,A) At(P2,A) Fly(P2,A,B) At(P1,A) At(P2,B) Ανάστροφη Διάσχιση At(P1,A) At(P2,B) Fly(P1,A,B) At(P1,B) At(P2,B) Fly(P2,A,B) At(P1,B) At(P2,A) ΤΜΗΜΑ ΜΠΕΣ

33 Παράδειγμα Op (ACTION: Load(c,p,a),
PRECOND: At(c,a)  At(p,a)  Cargo(c)  Plane(p)  Airport(a) EFFECT: ¬At(c,a)  In(c,p)) Op (ACTION: Unload(c,p,a), PRECOND: In(c,p)  At(p,a)  Cargo(c)  Plane(p)  Airport(a) EFFECT: At(c,a)  ¬In(c,p)) Op (ACTION: Fly(p,from,to), PRECOND: At(p,from)  Plane(p)  Airport(from)  Airport(to) EFFECT: ¬At(p,from)  At(p,to)) ΤΜΗΜΑ ΜΠΕΣ

34 Αναζήτηση στο Χώρο Καταστάσεων
Ορθή Διάσχιση ξεκινώντας από την αρχική κατάσταση εξερευνούμε τον χώρο καταστάσεων με βάση κάποιον γενικό αλγόριθμο αναζήτησης μια ενέργεια μπορεί να εφαρμοστεί αν οι προϋποθέσεις τις ισχύουν στην τρέχουσα κατάσταση η τρέχουσα κατάσταση και τα αποτελέσματα της ενέργειας ορίζουν την επόμενη κατάσταση Ξεκινώντας από μια κατάσταση s, το αποτέλεσμα μιας ενέργειας α είναι η κατάσταση s’, η οποία είναι ίδια με την s με τη διαφορά ότι κάθε θετικό αποτέλεσμα P της α προστίθεται στην s και κάθε αρνητικό αποτέλεσμα ¬P διαγράφεται ΤΜΗΜΑ ΜΠΕΣ

35 Αναζήτηση στο Χώρο Καταστάσεων
Ανάστροφη Διάσχιση ξεκινώντας από τον στόχο εξερευνούμε τον χώρο καταστάσεων με βάση κάποιον γενικό αλγόριθμο αναζήτησης μια ενέργεια μπορεί να εφαρμοστεί αν είναι σχετική (τα αποτελέσματα της πετυχαίνουν κάποιο κομμάτι του στόχου) και συνεπής (τα αποτελέσματα της δεν ακυρώνουν κάποιο κομμάτι του στόχου) Έστω ότι ξεκινάμε από τον στόχο G. Για να παράγουμε την “προηγούμενη” κατάσταση μιας ενέργειας a κάνουμε τα εξής κάθε θετικό αποτέλεσμα της a που εμφανίζεται στο G, διαγράφεται κάθε προϋπόθεση της a προστίθεται, εκτός αν ήδη υπάρχει στο G Πότε τερματίζει ο αλγόριθμος? ΤΜΗΜΑ ΜΠΕΣ

36 Αναζήτηση στο Χώρο Πλάνων
Η ορθή και η ανάστροφη διάσχιση του χώρου καταστάσεων είναι μορφές αναζήτησης πλήρως διατεταγμένων πλάνων εξερευνούν αυστηρά διατεταγμένες ακολουθίες ενεργειών δε μπορούν να εκμεταλλευτούν τη δυνατότητα διάσπασης του προβλήματος σε υποπροβλήματα Η αναζήτηση στο χώρο πλάνων μπορεί να επιλύσει ανεξάρτητα πολλούς υποστόχους, δημιουργώντας πολλά υποπλάνα, και μετά να συνδυάσει τα υποπλάνα οι σημαντικοί υποστόχοι αντιμετωπίζονται πρώτα Η αρχή της μικρότερης δέσμευσης (least commitment principle) Αποφάσισε μόνο για πράγματα που σε ενδιαφέρουν τώρα. Άσε τις άλλες αποφάσεις για αργότερα ΤΜΗΜΑ ΜΠΕΣ

37 Παράδειγμα Θεωρήστε το πρόβλημα “να φορέσω ένα ζευγάρι παπούτσια”
Ο στόχος είναι RightShoeOn  LeftShoeOn Η αρχική κατάσταση είναι κενή Υπάρχουν οι εξής ενέργειες: Op (ACTION: RightShoe, PRECOND: RightSockOn, EFFECT: RightShoeOn) Op (ACTION: RightSock, EFFECT: RightSockOn) Op (ACTION: LeftShoe, PRECOND: LeftSockOn, EFFECT: LeftShoeOn) Op (ACTION: LeftSock, EFFECT: LeftSockOn) ΤΜΗΜΑ ΜΠΕΣ

38 Πλάνα Μερικής και Πλάνα Πλήρους Διάταξης
Για το παράδειγμα ένα μερικό πλάνο αποτελείται από τα βήματα RightShoe και LeftSoe Ποιο από τα δύο προηγείται ? Σχεδιαστές μερικής διάταξης (partial order planners) μερικά βήματα δεν είναι διατεταγμένα Σχεδιαστές πλήρους διάταξης (total order planners) όλα τα βήματα σε διάταξη Πως θα λύναμε το πρόβλημα με ορθή ή ανάστροφη διάσχιση του χώρου καταστάσεων? ΤΜΗΜΑ ΜΠΕΣ

39 … Παράδειγμα Πλάνο μερικής διάταξης Πλάνα πλήρους διάταξης Start Start
RightSock RightSock LeftSock RightSock LeftSock LeftSock RightShoe LeftShoe LeftShoe RightShoe LeftShoe RightShoe Finish Finish Finish ΤΜΗΜΑ ΜΠΕΣ

40 Αναπαράσταση Πλάνων στο STRIPS
Ένα σύνολο από βήματα Κάθε βήμα είναι μια ενέργεια του πραγματικού κόσμου Ένα σύνολο περιορισμών διάταξης (ordering constraints) των βημάτων της μορφής Si < Sj Το βήμα Si πρέπει να γίνει πριν το Sj Ένα σύνολο από περιορισμούς δέσμευσης μεταβλητών (variable binding constraints) της μορφής v = x Ένα σύνολο αιτιολογικών συνδέσεων (causal links) της μορφής Si  c Sj Το Si επιτυγχάνει την προϋπόθεση c του Sj ΤΜΗΜΑ ΜΠΕΣ

41 Παράδειγμα Το αρχικό πλάνο έχει δύο βήματα Start και Finish και την προϋπόθεση Start < Finish Plan (STEPS: {S1:Op(ACTION:Start), S2:Op(ACTION:Finish, PRECOND: RightShoeOn  LeftShoeOn )}, ORDERINGS: {S1<S2}, BINDINGS: {} LINKS: {}) Start RightShoeOn , LeftShoeOn Finish ΤΜΗΜΑ ΜΠΕΣ

42 … Παράδειγμα Πλάνο μερικής διάταξης Πλάνα πλήρους διάταξης Start Start
RightSock RightSock LeftSock RightSock LeftSock LeftSock LeftSockOn RightSockOn RightShoe LeftShoe LeftShoe RightShoe LeftShoe RightShoe LefttShoeOn , RightShoeOn Finish Finish Finish ΤΜΗΜΑ ΜΠΕΣ

43 Αναζήτηση στο Χώρο Πλάνων
Η αναζήτηση στο χώρο πλάνων ξεκινά με ένα κενό πλάνο (ή ένα μερικό πλάνο) Στη συνέχεια εξερευνά τρόπους τελειοποίησης του πλάνου μέχρι να καταλήξει σε ένα πλήρες πλάνο που λύνει το πρόβλημα ΠΡΟΣΟΧΗ: Οι ενέργειες της αναζήτησης δεν είναι οι ενέργειες του πραγματικού κόσμου που έχει στη διάθεση του ο πράκτορας αλλά είναι ενέργειες που επιδρούν σε πλάνα προσθήκη ενός βήματος σε πλάνο, επιβολή ενός περιορισμού διάταξης, κτλ. Οι καταστάσεις στο χώρο αναζήτησης δεν είναι οι καταστάσεις του πραγματικού κόσμου (δηλ. δεν ορίζονται από τα λεκτικά που ισχύουν) αλλά από τα (μη πλήρη) πλάνα ΤΜΗΜΑ ΜΠΕΣ

44 Αναζήτηση στο Χώρο Πλάνων
Οι περιορισμοί διάταξης πρέπει να περιγράφουν μια σωστή μερική διάταξη Οι κύκλοι ( Α<Β και Β<Α) αναπαριστούν αντικρουόμενους περιορισμούς Οπότε δεν μπορεί να προστεθεί στο πλάνο ένας περιορισμός διάταξης που δημιουργεί κύκλο Μια αιτιολογική σύνδεση Si  c Sj σημαίνει ότι το c πρέπει να παραμείνει αληθές από τη στιγμή της ενέργειας Si μέχρι την ενέργεια Sj το πλάνο δε μπορεί να επεκταθεί με την προσθήκης μια ενέργειας που συγκρούεται με την αιτιολογική σύνδεση μια ενέργεια S συγκρούεται με μια αιτιολογική σύνδεση Α c Β αν η S έχει ως αποτέλεσμα το ¬c και η S θα μπορούσε να εκτελεστεί μετά την Α και πριν τη Β ΤΜΗΜΑ ΜΠΕΣ

45 Λύσεις Γενικός ορισμός: Μια λύση ενός προβλήματος σχεδιασμού είναι ένα πλάνο που μπορεί να εκτελεστεί και εγγυάται επίτευξη του στόχου. Ειδικευμένος Ορισμός: Μια λύση είναι ένα πλάνο που είναι πλήρες (complete) και έγκυρο (consistent) Πλήρες πλάνο είναι ένα πλάνο στο οποίο κάθε προϋπόθεση καθενός βήματος επιτυγχάνεται από κάποιο άλλο βήμα δηλ. δεν υπάρχουν ανοικτές προϋποθέσεις Έγκυρο πλάνο είναι ένα πλάνο στο οποίο δεν παραβιάζεται κανένας περιορισμός διάταξης και δεν υπάρχουν συγκρούσεις στις αιτιολογικές συνδέσεις ΤΜΗΜΑ ΜΠΕΣ

46 Σχεδιασμός Μερικής Διάταξης με το Μοντέλο STRIPS
O planner ξεκινάει με ένα αρχικό πλάνο που περιλαμβάνει μόνο το αρχικό και το τελικό βήμα Σε κάθε επανάληψη προσθέτει ένα βήμα Αν οδηγηθεί σε πλάνο που δεν είναι έγκυρο, οπισθοδρομεί (backtracks) και δοκιμάζει ένα άλλο τμήμα του χώρου αναζήτησης Όταν ο planner σκέφτεται να προσθέσει ένα βήμα, ασχολείται μόνο με βήματα που προσπαθούν να επιτύχουν μια προϋπόθεση που δεν έχει ακόμα επιτευχθεί αιτιολογικές συνδέσεις ΤΜΗΜΑ ΜΠΕΣ

47 Σχεδιασμός Μερικής Διάταξης με το Μοντέλο STRIPS
Αρχική Κατάσταση Ένα πλάνο που περιλαμβάνει τις ενέργειες Start και Finish, τον περιορισμό διάταξης Start<Finish, δεν περιέχει αιτιολογικές συνδέσεις, και έχει ως ανοικτές προϋποθέσεις όλες τις προϋποθέσεις του Finish Η συνάρτηση διαδοχής επιλέγει μια ανοικτή προϋπόθεση p για μια ενέργεια Β και παράγει ένα διάδοχο πλάνο για κάθε δυνατό συνεπή τρόπο επιλογής μια ενέργειας Α που επιτυγχάνει το p Η συνέπεια επιβάλλεται ως εξής: προστίθεται στο πλάνο ο αιτιολογικό σύνδεσμος Α p Β και ο περιορισμός διάταξης Α<Β. Η ενέργεια Α μπορεί να υπάρχει ήδη στο πλάνο ή μπορεί να προστεθεί ως νέα ενέργεια. Στη δεύτερη περίπτωση προστίθενται και οι περιορισμοί διάταξης Start<A και A<Finish ΤΜΗΜΑ ΜΠΕΣ

48 Σχεδιασμός Μερικής Διάταξης με το Μοντέλο STRIPS
Η συνέπεια επιβάλλεται ως εξής: επιλύονται οι συγκρούσεις μεταξύ του Α p Β και όλων των υπαρχόντων ενεργειών καθώς και μεταξύ του Α (αν είναι νέα ενέργεια) και όλων των υπαρχόντων αιτιολογικών συνδέσεων. Η επίλυση μια σύγκρουσης μεταξύ του Α p Β και της ενέργειας C γίνεται με την προσθήκη του περιορισμού Β<C ή C<A Το τεστ στόχου ελέγχει αν το πλάνο αποτελεί λύση στο αρχικό πρόβλημα σχεδιασμού. Αυτό ισχύει αν δεν υπάρχουν ανοικτές προϋποθέσεις ΤΜΗΜΑ ΜΠΕΣ

49 Παράδειγμα Πρόβλημα: “Απέκτησε ένα μπουκάλι γάλα, ένα κιλό μπανάνες κι ένα τρυπάνι” Αρχική Κατάσταση Op (ACTION: Start, EFFECT: At(Home)  Sells(HWS,Drill)  Sells(SM,Milk)  Sells(SM,Bananas) ) Στόχος Op (ACTION: Finish, PRECOND: At(Home)  Have(Drill)  Have(Milk)  Have(Bananas) ) ΤΜΗΜΑ ΜΠΕΣ

50 Παράδειγμα Ενέργειες Op (ACTION: Go(here,there), PRECOND: At(here),
EFFECT: At(there)  ¬At(here)) Op (ACTION: Buy(x,store), PRECOND: At(store)  Sells(store,x) EFFECT: Have(x)) Start At(Home) , Sells(HWS,Drill) , Sells(SM,Milk) , Sells(SM,Bananas) At(Home) , Have(Drill) , Have(Milk) , Have(Bananas) Finish ΤΜΗΜΑ ΜΠΕΣ

51 Παράδειγμα Buy(Milk,s) Buy(Bananas,s) Start Buy(Drill,s) Finish
Op (ACTION: Buy(x,store), PRECOND: At(store)  Sells(store,x), EFFECT: Have(x)) Start περιορισμoί διάταξης At(s) , Sells(s,Drill) At(s) , Sells(s,Milk) At(s) , Sells(s,Bananas) Buy(Drill,s) Buy(Milk,s) Buy(Bananas,s) αιτιολογικές συνδέσεις At(Home) , Have(Drill) , Have(Milk) , Have(Bananas) Finish ΤΜΗΜΑ ΜΠΕΣ

52 Παράδειγμα Start Finish
Op (ACTION: Start, EFFECT: At(Home)  Sells(HWS,Drill)  Sells(SM,Milk)  Sells(SM,Bananas) ) Start αιτιολογικές συνδέσεις At(HWS) , Sells(HWS,Drill) At(SM) , Sells(SM,Milk) At(SM) , Sells(SM,Bananas) Buy(Drill,HWS) Buy(Milk,SM) Buy(Bananas,SM) αιτιολογικές συνδέσεις At(Home) , Have(Drill) , Have(Milk) , Have(Bananas) Finish ΤΜΗΜΑ ΜΠΕΣ

53 Παράδειγμα Start Go(x,SM) Go(x,HWS) Finish
Op (ACTION: Buy(x,store), PRECOND: At(store)  Sells(store,x), EFFECT: Have(x)) Start At(x) At(x) Go(x,SM) Go(x,HWS) At(HWS) , Sells(HWS,Drill) At(SM) , Sells(SM,Milk) At(SM) , Sells(SM,Bananas) Buy(Drill,HWS) Buy(Milk,SM) Buy(Bananas,SM) At(Home) , Have(Drill) , Have(Milk) , Have(Bananas) Finish ΤΜΗΜΑ ΜΠΕΣ

54 Παράδειγμα – Αδιέξοδο Go(Home,SM) Go(Home,HWS) ¬At(Home) ¬At(Home)
Op (ACTION: Go(here,there), PRECOND: At(here),EFFECT: At(there)  ¬At(here)) Start At(Home) At(Home) Go(Home,SM) Go(Home,HWS) ¬At(Home) ¬At(Home) At(HWS) , Sells(HWS,Drill) At(SM) , Sells(SM,Milk) At(SM) , Sells(SM,Bananas) Buy(Drill,HWS) Buy(Milk,SM) Buy(Bananas,SM) At(Home) , Have(Drill) , Have(Milk) , Have(Bananas) Finish ΤΜΗΜΑ ΜΠΕΣ

55 Παράδειγμα – Οπισθοδρόμηση
Op (ACTION: Go(there), PRECOND: At(here),EFFECT: At(there)  ¬At(here)) Start At(HWS) At(Home) Go(HWS,SM) Go(Home,HWS) At(HWS) , Sells(HWS,Drill) At(SM) , Sells(SM,Milk) At(SM) , Sells(SM,Bananas) Buy(Drill,HWS) Buy(Milk,SM) Buy(Bananas,SM) At(Home) , Have(Drill) , Have(Milk) , Have(Bananas) Finish ΤΜΗΜΑ ΜΠΕΣ

56 Παράδειγμα Go(HWS,SM) Go(Home,HWS) Start Finish At(HWS) At(Home)
At(HWS),Sells(HWS,Drill) At(SM),Sells(SM,Milk) At(SM),Sells(SM,Bananas) At(SM) Buy(Drill,HWS) Buy(Milk,SM) Buy(Bananas,SM) Go(SM,Home) Have(Drill) , Have(Milk) , Have(Bananas), At(Home) Finish ΤΜΗΜΑ ΜΠΕΣ

57 Παράδειγμα Start Finish At(Home) At(HWS),Sells(HWS,Drill) At(HWS)
Go(Home,HWS) At(HWS),Sells(HWS,Drill) Buy(Drill,HWS) At(HWS) Go(HWS,SM) At(SM),Sells(SM,Milk) At(SM),Sells(SM,Bananas) Buy(Milk,SM) Buy(Bananas,SM) At(SM) Go(SM,Home) Have(Drill) , Have(Milk) , Have(Bananas), At(Home) Finish ΤΜΗΜΑ ΜΠΕΣ

58 Αλγόριθμος Σχεδιασμού Μερικής Διάταξης
POP (Partial Order Planner) O POP εκτελεί μη-αιτιοκρατικές επιλογές ενεργειών μέχρι όλες οι προϋποθέσεις των ενεργειών να υποστηρίζονται από αιτιολογικές συνδέσεις και όλες οι απειλές να έχουν αντιμετωπισθεί με περιορισμούς διάταξης function POP (initial,goal,operators) returns plan plan  MakeMinimalPlan(initial,goal) loop do if Solution(plan) then return plan Sneed ,c  SelectSubGoal(plan) ChooseOperator(plan,operators, Sneed ,c) ResolveThreats(plan) end ΤΜΗΜΑ ΜΠΕΣ

59 Αλγόριθμος Σχεδιασμού Μερικής Διάταξης
POP (Partial Order Planner) function SelectSubGoal (plan) returns Sneed ,c pick a plan step Sneed from Steps(plan) with a precondition c that has not been achieved return Sneed ,c procedure ChooseOperator (plan,operators, Sneed ,c) choose a step Sadd from operators or Steps(plan) that has c as an effect if there is no such step then backtrack add the causal link Sadd  c Sneed to Links(plan) add the ordering constraint Sadd < Sneed to Orderings(plan) if Sadd is a newly added step from operators then add Sadd to Steps(plan) add Start < Sadd < Finish to Orderings(plan) ΤΜΗΜΑ ΜΠΕΣ

60 Αλγόριθμος Σχεδιασμού Μερικής Διάταξης
POP (Partial Order Planner) O POP είναι ένας σχεδιαστής ανάστροφης διάσχισης είναι sound και complete procedure ResolveThreats(plan) for each Sthreat that threatens a link Si  c Sj in Links(plan) do choose either Promotion: Add Sthreat < Si to Orderings(plan) Demotion: Add Sj < Sthreat to Orderings(plan) if not Consistent(plan) then backtrack end ΤΜΗΜΑ ΜΠΕΣ

61 Σχεδιασμός με Μη-Συγκεκριμένες Ενέργειες
Με μερικές τροποποιήσεις Ο POP μπορεί να καθυστερεί τη δέσμευση μεταβλητών μέχρι αυτές να χρειαστούν Τι γίνεται αν κάποια ενέργεια έχει ένα αποτέλεσμα με μη δεσμευμένη μεταβλητή (π.χ. ¬At(x)) ? Tο ¬At(x) είναι πιθανή απειλή για το At(Home) Τρεις διαφορετικές προσεγγίσεις: Επίλυσε τώρα με έναν περιορισμό ισότητας x = HWS Επίλυσε τώρα με έναν περιορισμό ανισότητας x  Home Επίλυσε αργότερα Όταν η πιθανή απειλή γίνει πραγματική ΤΜΗΜΑ ΜΠΕΣ

62 Heuristics για Σχεδιασμό Μερικής Διάταξης
Ερώτηση: Αν υπάρχουν πολλές ανοικτές προϋποθέσεις ποια θα επιλεχθεί? Απάντηση: Η προϋπόθεση που μπορεί να επιτευχθεί με το μικρότερο πλήθος τρόπων μοιάζει με το heuristic επιλογής μεταβλητών σε CSPs που διαλέγει την πιο περιορισμένη μεταβλητή αν μια προϋπόθεση δεν μπορεί να επιτευχθεί με κανέναν τρόπο τότε το heuristic αυτό θα εντοπίσει το αδιέξοδο άμεσα αν μια προϋπόθεση μπορεί να επιτευχθεί μόνο με έναν τρόπο τότε το heuristic ορθώς θα την επιλέξει γιατί αναπόφευκτα θα πάρει κάποια στιγμή αυτή την απόφαση ΤΜΗΜΑ ΜΠΕΣ

63 Heuristics για Σχεδιασμό Μερικής Διάταξης
Ερώτηση: Αν υπάρχουν πολλές ενέργειες που επιτυγχάνουν την προϋπόθεση που έχει επιλεχθεί, ποια θα διαλέξουμε? Απάντηση: Την ενέργεια επιτυγχάνει τις περισσότερες ανοικτές προϋποθέσεις Το heuristic αυτό είναι αποδεκτό? το κόστος υποτιμάται όταν υπάρχουν αρνητικές αλληλεπιδράσεις μεταξύ των βημάτων του πλάνου υπερεκτιμάται σε κάποια περίπτωση? ΤΜΗΜΑ ΜΠΕΣ

64 Μεθοδολογία Σχεδιασμού
Αποφάσισε τι πληροφορία πρέπει να περιγραφεί Βρες ένα κατάλληλο λεξιλόγιο για να περιγραφούν τα αντικείμενα, οι ενέργειες, και οι συνθήκες Κωδικοποίησε τους τελεστές (ενέργειες) Κωδικοποίησε μια κατάλληλη περιγραφή του συγκεκριμένου προβλήματος Δώσε το πρόβλημα στον planner και πάρε τα πλάνα που παράγει ΤΜΗΜΑ ΜΠΕΣ

65 Παράδειγμα: Ο Κόσμος των Κύβων
Ο κόσμος των κύβων (blocks world) είναι ένα κλασσικό πρόβλημα σχεδιασμού Αποφάσισε τι πληροφορία πρέπει να περιγραφεί Υπάρχει ένα σύνολο κύβων που βρίσκονται πάνω σε ένα τραπέζι. Ο στόχος είναι να φτιάξουμε έναν ή περισσότερους σωρούς από κύβους Υπάρχουν διάφοροι περιορισμοί μπορούμε να μετακινήσουμε έναν κύβο τη φορά ένας κύβος μπορεί να ταιριάξει μόνο πάνω σε συγκεκριμένους κύβους ΤΜΗΜΑ ΜΠΕΣ

66 Παράδειγμα: Ο Κόσμος των Κύβων
Βρες ένα κατάλληλο λεξιλόγιο για να περιγραφούν τα αντικείμενα, οι ενέργειες, και οι καταστάσεις Τα αντικείμενα είναι οι κύβοι και το τραπέζι αντιπροσωπεύονται με σταθερές On(b,x) για τη συνθήκη όπου ένας κύβος b είναι πάνω σε άλλον ή στο τραπέζι Clear(x) για την κατάσταση όπου δεν είναι τίποτα πάνω στο x Move(b,x,y) για τον τελεστή μεταφοράς ενός κύβου b ΤΜΗΜΑ ΜΠΕΣ

67 Παράδειγμα: Ο Κόσμος των Κύβων
Κωδικοποίησε του τελεστές Op (ACTION: Move(b,x,y), PRECOND: On(b,x)  Clear(b)  Clear(y) EFFECT: On(b,y)  Clear(x)  Clear(b)  ¬On(b,x)  ¬Clear(y) ) Όταν x = Table ή y = Table υπάρχει πρόβλημα! Op (ACTION: MoveToTable(b,x), PRECOND: On(b,x)  Clear(b) EFFECT: On(b,Table)  Clear(x)  ¬On(b,x)) ΤΜΗΜΑ ΜΠΕΣ

68 Παράδειγμα: Ο Κόσμος των Κύβων
Αρχική Κατάσταση Υπάρχουν οι κύβοι Α, Β, C Ο κύβος C βρίσκεται πάνω στον Α και τίποτα δε βρίσκεται πάνω στον C O κύβος Β βρίσκεται πάνω στο τραπέζι και τίποτα δε βρίσκεται πάνω του Block(A)  Block(B)  Block(C)  On(A,Table)  On(C,A)  On(B,Table)  Clear(B)  Clear(C) Τελική Κατάσταση On(Β,C)  On(A,B) C A B A B C ΤΜΗΜΑ ΜΠΕΣ

69 Ιεραρχική Σχεδίαση Στο παράδειγμα αγοράς αγαθών οι λύσεις ήταν πλάνα σε υψηλό βαθμό αφαίρεσης π.χ. [Go(SM),Buy(Milk),Buy(Bananas),Go(Home)] μπορεί ένας πράκτορας να εκτελέσει τέτοια πλάνα ? Αν το πλάνο ήταν της μορφής [Forward(1cm),TurnRight(1deg),Forward(1cm),…] θα είχε χιλιάδες βήματα! Λύση: Ιεραρχική Διάσπαση (Hierarchical Decomposition) Ένας τελεστής υψηλού επιπέδου μπορεί να διασπαστεί σε σύνολο βημάτων που σχηματίζουν ένα πλάνο ΤΜΗΜΑ ΜΠΕΣ

70 Ιεραρχική Σχεδίαση – Παράδειγμα
Land Build House House Διασπάται σε Obtain Permit Construction Pay Builder Hire Builder Διασπάται σε Build Roof Build Foundation Build Frame Build Interior Build Walls ΤΜΗΜΑ ΜΠΕΣ

71 Ιεραρχική Σχεδίαση Η διάσπαση μπορεί να συνεχιστεί μέχρι να φτάσουμε σε ένα πλάνο όπου κάθε βήμα είναι ένας βασικός τελεστής (primitive operator) δηλ. ένας τελεστής που μπορεί να εκτελεστεί κατευθείαν από τον πράκτορα Για να υλοποιηθεί η ιεραρχική σχεδίαση (hierarchical planning) χρειάζονται τα παρακάτω: Επέκταση της γλώσσας STRIPS για να επιτρέπει μη βασικούς τελεστές Τροποποίηση του αλγορίθμου σχεδιασμού για να επιτρέπεται η αντικατάσταση ενός μη βασικού τελεστή από τη διάσπαση του ΤΜΗΜΑ ΜΠΕΣ

72 Επέκταση της STRIPS S3  Roof S5 , S4 Walls S5 } ) )
Οι τελεστές χωρίζονται σε βασικούς και μη βασικούς π.χ. Hammer(Nail) είναι βασικός και Build(House) μη βασικός Η διάκριση εξαρτάται από τον πράκτορα που θα εκτελέσει το πλάνο (παράδειγμα?) Προσθέτουμε ένα σύνολο από μεθόδους διάσπασης τελεστών Decompose (Construction Plan (STEPS: {S1:Build(Foundation), S2:Build(Frame), S3:Build(Roof), S4:Build(Walls), S2:Build(Interior)} ORDERINGS: {S1<S2<S3<S5, S2<S4<S5}, BINDINGS: {}, LINKS: {S1  Foundation S2 , S2  Frame S3 , S2  Frame S4 , S3  Roof S5 , S4 Walls S5 } ) ) ΤΜΗΜΑ ΜΠΕΣ

73 Επέκταση της STRIPS Ένα πλάνο p υλοποιεί σωστά έναν τελεστή o αν ισχύουν τα παρακάτω: Το p είναι έγκυρο (consistent) Δεν υπάρχει αντίθεση στους περιορισμούς διάταξης και δέσμευσης μεταβλητών του p Κάθε αποτέλεσμα του o συνάγεται από τουλάχιστον ένα βήμα του p και δεν απαγορεύεται από κάποιο άλλο βήμα Κάθε προϋπόθεση των βημάτων του p να επιτυγχάνεται από ένα βήμα του p ή είναι μια από τις προϋποθέσεις του o ΤΜΗΜΑ ΜΠΕΣ

74 Τροποποίηση του Αλγορίθμου Σχεδιασμού
Απαιτούνται οι εξής τροποποιήσεις: Ο αλγόριθμος πρέπει να βρίσκει τρόπους διάσπασης μη βασικών τελεστών Η είσοδος του αλγορίθμου είναι ένα πλάνο (αντί για απλός στόχος) Start -Finish ή και πιο περίπλοκα Η συνάρτηση Solution πρέπει να ελέγχει αν κάθε βήμα του πλάνου είναι βασικό Η συνάρτηση SelectNonPrimitive διαλέγει ένα μη βασικό βήμα Η συνάρτηση ChooseDecomposition διαλέγει μια διάσπαση για ένα βήμα ΤΜΗΜΑ ΜΠΕΣ

75 Τροποποίηση του Αλγορίθμου Σχεδιασμού
HD-POP (Hierarchical Decomposition Partial Order Planner) function HD-POP (plan,operators,methods) returns plan inputs: plan, an abstract plan with start and goal steps (and possibly other steps) loop do if Solution(plan) then return plan Sneed ,c  SelectSubGoal(plan) ChooseOperator(plan,operators, Sneed ,c) Snonprim  SelectNonPrimitive(plan) ChooseDecomposition(plan,methods, Snonprim) ResolveThreats(plan) end ΤΜΗΜΑ ΜΠΕΣ

76 Τροποποίηση του Αλγορίθμου Σχεδιασμού
Αν η method επιλεχθεί ως διάσπαση του βήματος Snonprim η δομή δεδομένων του πλάνου τροποποιείται ως εξής: STEPS προσθέτουμε όλα τα βήματα της method στο πλάνο ORDERINGS – Απλή Λύση: κάθε περιορισμός διάταξης Sa<Snonprim αντικαθιστάται από περιορισμούς που βάζουν το Sa πριν το πρώτο βήμα της method κάθε περιορισμός διάταξης Snonprim<Sz αντικαθιστάται από περιορισμούς που βάζουν το Sz μετά το τελευταίο βήμα της method Συχνά αυτός ο τρόπος οδηγεί σε μη αποδοτικά πλάνα Η λύση είναι για κάθε περιορισμό διάταξης να αποθηκεύουμε την αιτία του περιορισμού ΤΜΗΜΑ ΜΠΕΣ

77 Παράδειγμα Buy Land Build Move House In Get Loan Διασπάται σε Buy Land
Own Land Buy Land Have House Build House Move In Have Money Get Loan Διασπάται σε Obtain Permit Own Land Buy Land Move In Construction Pay Builder Hire Builder Get Loan Have House Have Money To Get Loan δεν είναι απαραίτητο να διαταχθεί πριν όλες τις ενέργειες του Build House ΤΜΗΜΑ ΜΠΕΣ

78 Ιεραρχική Σχεδίαση Χρησιμοποιώντας ιεραρχική σχεδίαση μπορούμε να χτίσουμε μεγάλα πλάνα χωρίζοντας τα σε κομμάτια πλεονεκτήματα παρόμοια με δομημένο/αντικειμενοστραφή προγραμματισμό Είναι όμως αποδοτική από άποψη χρόνου? Ναι, γιατί μας επιτρέπει να ψάξουμε πολύ μικρότερο τμήμα του χώρου πλάνων! Για να το καταφέρουμε αυτό απαιτούνται δύο προϋποθέσεις ΤΜΗΜΑ ΜΠΕΣ

79 Ιεραρχική Σχεδίαση Αν p είναι μια υψηλού επιπέδου (αφαιρετική) λύση τότε υπάρχει μια λύση με βασικά βήματα για την οποία το πλάνο p είναι μια αφαίρεση. Αν ισχύει αυτή η ιδιότητα τότε μόλις βρούμε μια αφαιρετική λύση μπορούμε να “κλαδέψουμε” όλα τις υπόλοιπες αφαιρετικές λύσεις από το δέντρο αναζήτησης Ιδιότητα λύσης προς τα κάτω (downward solution property) Αν ένα πλάνο p δεν είναι έγκυρο τότε δεν υπάρχει καμία λύση με βασικά βήματα για την οποία το p είναι μια αφαίρεση Αν ισχύει αυτή η ιδιότητα μπορούμε να “κλαδέψουμε” όλους τους απόγονους κάθε μη έγκυρου πλάνου Ιδιότητα λύσης προς τα πάνω (upward solution property) ΤΜΗΜΑ ΜΠΕΣ

80 Ιεραρχική Σχεδίαση x x x x x x x x x x x x x x x x
downward solution property upward solution property Λύσεις Μη έγκυρα πλάνα x Πλάνα που “κλαδεύονται” ΤΜΗΜΑ ΜΠΕΣ

81 Παράδειγμα Ένα φτωχό ζευγάρι έχει μόνο δύο πολύτιμα πράγματα. Ο άντρας έχει ένα χρυσό ρολόι και γυναίκα ένα χρυσό βραχιόλι. Ο καθένας θέλει να αγοράσει δώρα για να κάνει τον άλλον ευτυχισμένο Watch Happy(He) Αρχικό πρόβλημα Start Finish Bracelet Happy(She) ¬Watch Necklace Happy(She) Watch Bracelet Give Necklace Μη έγκυρο πλάνο υψηλού επιπέδου Start Finish Watch Bracelet Give Chain ¬Bracelet Chain Happy(He) ΤΜΗΜΑ ΜΠΕΣ

82 Παράδειγμα Διάσπαση σε μια έγκυρη λύση Deliver Watch Start Finish
Necklace Owe(Watch) Happy(She) Watch Give Necklace (On Credit) Deliver Watch Watch Bracelet ¬Watch ¬Owe(Watch) Start Finish Give Chain (On Credit) Deliver Bracelet ¬Bracelet ¬Owe(Bracelet) Watch Bracelet Chain Owe(Bracelet ) Happy(He) Bracelet ΤΜΗΜΑ ΜΠΕΣ

83 Ιεραρχική Σχεδίαση Η ιδιότητα λύσης προς τα πάνω ισχύει πάντα αν κάθε διάσπαση ικανοποιεί την συνθήκη μοναδικής κύριας υπό-ενέργειας (main sub-action condition): Πρέπει να υπάρχει ένα συγκεκριμένο βήμα του διασπασμένου πλάνου στο οποίο συνδέονται όλες οι προϋποθέσεις και τα αποτελέσματα του τελεστή που διασπάται Προ-επεξεργασία (preprocessing) των μεθόδων διάσπασης για να έρθουν σε μορφή που ικανοποιεί την συνθήκη μοναδικής κύριας υπό-ενέργειας ΤΜΗΜΑ ΜΠΕΣ

84 Προσεγγιστική Ιεραρχία
Η ιεραρχική σχεδίαση όπως την ορίσαμε δεν πρέπει να συγχέεται με την προσεγγιστική ιεραρχία (approximation hierarchy) Προσεγγιστική ιεραρχία είναι μια μορφή σχεδίασης ενεργειών όπου οι προϋποθέσεις των τελεστών χωρίζονται ανάλογα με το πόσο κρίσιμες είναι Op(ACTION: Buy(x), EFECT: Have(x)  ¬Have(Money) PRECOND: 1: Sells(store,x)  2: At(store)  3: Have(Money)) ΤΜΗΜΑ ΜΠΕΣ


Κατέβασμα ppt "Σχεδιασμός Ενεργειών (Planning)"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google