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

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

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

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


Παρουσίαση με θέμα: "1 ΤΜΗΜΑ ΜΠΕΣ Σχεδιασμός Ενεργειών (Planning) A B C C AB."— Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26 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 27 ΤΜΗΜΑ ΜΠΕΣ ADL vs. STRIPS STRIPS LanguageADL Language Only positive literals in states: Poor  UnknownPositive 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 QEffect P  ¬Q means and P and ¬Q and delete ¬P and Q Only ground literals in goals: Rich  FamousQuantified variables in goals:  x, At(P,x)  At(Q,x) Goals are conjunctionsGoals allow conjunction and disjunction: ¬Rich  (Famous  Smart) Effects are conjunctionsConditional effects allowed: when P : E means E is an effect only if P is satisfied No support for equalityEquality predicate (x = y) is built in No support for typesVariables can have types: as in (P:Plane)

28 28 ΤΜΗΜΑ ΜΠΕΣ ADL vs. STRIPS (Παράδειγμα) 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) EFFECT: ¬At(p,from)  At(p,to))

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

47 47 ΤΜΗΜΑ ΜΠΕΣ Σχεδιασμός Μερικής Διάταξης με το Μοντέλο STRIPS Αρχική Κατάσταση  Ένα πλάνο που περιλαμβάνει τις ενέργειες Start και Finish, τον περιορισμό διάταξης Start

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

49 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 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)) Finish At(Home), Have(Drill), Have(Milk), Have(Bananas) Start At(Home), Sells(HWS,Drill), Sells(SM,Milk), Sells(SM,Bananas)

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

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

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

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

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

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

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

58 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 S need,c  SelectSubGoal(plan) ChooseOperator(plan,operators, S need,c) ResolveThreats(plan) end

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

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

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

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

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

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

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

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

67 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 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 AB A B C

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

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

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

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

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

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

75 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 S need,c  SelectSubGoal(plan) ChooseOperator(plan,operators, S need,c) S nonprim  SelectNonPrimitive(plan) ChooseDecomposition(plan,methods, S nonprim ) ResolveThreats(plan) end

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

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

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

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

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

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

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

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

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


Κατέβασμα ppt "1 ΤΜΗΜΑ ΜΠΕΣ Σχεδιασμός Ενεργειών (Planning) A B C C AB."

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


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