
0b56f580998f44464bb145b49fd28bc3.ppt
- Количество слайдов: 86
Σχεδιασμός Ενεργειών (Planning) C A B C 1
Σχεδιασμός Ενεργειών (Planning) n Ένα πρόβλημα σχεδιασμού ενεργειών (planning problem) είναι ένα πρόβλημα όπου ζητάμε την εύρεση μιας ακολουθίας ενεργειών, οι οποίες εφαρμοζόμενες σε μια αρχική κατάσταση, έχουν ως αποτέλεσμα την επίτευξη συγκεκριμένων στόχων g n π. χ. μεταφορά φορτίων, πλοήγηση οχημάτων και ρομπότ, προβλήματα στρατηγικής, προβλήματα επενδύσεων, κ. α. Τα προβλήματα αυτά έχουν υψηλή χρονική και χωρική πολυπλοκότητα οι γενικοί αλγόριθμοι αναζήτησης είναι ανεπαρκείς g έχουν αναπτυχθεί εξειδικευμένα συστήματα που ονομάζονται σχεδιαστές (planners) g 2
Σχεδιασμός Ενεργειών (Planning) n Πράκτορες επίλυσης προβλημάτων g n Πράκτορες βασισμένοι στη γνώση g n σχεδιάζουν τις ενέργειες τους συλλογιζόμενοι τις συνέπειες των ενεργειών πριν τις πράξουν επιλέγουν πράξεις βασισμένοι σε κάποια αναπαράσταση (βασισμένη σε λογική ίσως) της τωρινής κατάστασης και των συνεπειών των πιθανών ενεργειών Στη συνέχεια θα συνδυάσουμε τις δύο ιδέες για να δημιουργήσουμε πράκτορες σχεδιασμού ενεργειών (planning agents) 3
Σχεδιασμός Ενεργειών vs. Επίλυσης Προβλημάτων με Αναζήτηση n Ο σχεδιασμός ενεργειών είναι παρόμοιος με την επίλυση προβλημάτων με αναζήτηση. Και στα δύο έχουμε: Στόχους, Καταστάσεις, Ενέργειες g Ένας πράκτορας σχεδιασμού ενεργειών, όπως κι ένας πράκτορας επίλυσης προβλημάτων, κατασκευάζει πλάνα που επιτυγχάνουν τους στόχους του και μετά τα εκτελεί g n Διαφέρουν στην αναπαράσταση των στόχων, των καταστάσεων, και των ενεργειών g Γιατί δεν είναι αρκετή η αναζήτηση για την επίλυση προβλημάτων σχεδιασμού ? 4
Σχεδιασμός Ενεργειών vs. Επίλυσης Προβλημάτων με Αναζήτηση n Ένας πράκτορας που προσπαθεί να επιλύσει περίπλοκα πραγματικά προβλήματα χρησιμοποιώντας τεχνικές αναζήτησης θα αντιμετωπίσει σοβαρά προβλήματα λόγω: g του τεράστιου πλήθους άσχετων ενεργειών · π. χ. αγορά βιβλίων με 10 -digit ISBN number on-line 10 δις ενέργειες · αν ο πράκτορας ξέρει ότι αγορά(x) => κατοχή(x) λύνει το πρόβλημα με μια ενέργεια g της δυσκολίας κατασκευής κατάλληλων heuristics · π. χ. αγορά τεσσάρων βιβλίων Α, Β, C, D on-line 1040 πιθανά πλάνα · αν ο πράκτορας έχει συζευκτική αναπαράσταση του στόχου μπορεί να εξάγει αυτόματα ένα καλό heuristic (μεγιστοποίηση των ικανοποιούμενων υποστόχων) g της αδυναμίας εκμετάλλευσης προβλημάτων που διασπώνται σε ανεξάρτητα υποπροβλήματα · π. χ. αγορά πέντε άσχετων πραγμάτων 5
Επίλυση Προβλημάτων με Αναζήτηση n Βασικά στοιχεία: g Αναπαράσταση ενεργειών · μέσω των διάδοχων καταστάσεων που προκύπτουν g Αναπαράσταση καταστάσεων · αρχική κατάσταση και πλήρης περιγραφή των καταστάσεων που προκύπτουν από τις διάφορες ενέργειες g Αναπαράσταση στόχων · τεστ στόχου και ευρετική συνάρτηση g Αναπαράσταση πλάνων · μια λύση είναι μια ακολουθία ενεργειών · οι αλγόριθμοι αναζήτησης χτίζουν τη λύση ξεκινώντας από την αρχική κατάσταση 6
Παράδειγμα n Πρόβλημα: “Απέκτησε ένα μπουκάλι γάλα, ένα κιλό μπανάνες κι ένα τρυπάνι” g Αρχική κατάσταση: · Στο σπίτι χωρίς κανένα από τα πράγματα g Ενέργειες: · Οτιδήποτε μπορεί να πράξει ο πράκτορας g Στόχος: · Στο σπίτι με τα πράγματα g Ευρετική συνάρτηση: · Το πλήθος των επιθυμητών πραγμάτων που δεν έχουμε ακόμα n Ποιο είναι το βασικό πρόβλημα στην επίλυση του προβλήματος με αναζήτηση ? 7
Παράδειγμα n Πρόβλημα: “Απέκτησε ένα μπουκάλι γάλα, ένα κιλό μπανάνες κι ένα τρυπάνι” Συζήτησε με κάποιον Πήγαινε στο γήπεδο Δες το ματς Πήγαινε στο σχολείο Αρχή Πήγαινε στην τάξη Αγόρασε γάλα Πήγαινε στο super market Αγόρασε καραμέλες Πήγαινε για ύπνο Αγόρασε σοκολάτα . . . Στόχος Διάβασε ένα βιβλίο Κάθισε στην καρέκλα Κτλ. Συνέχισε να κάθεσαι . . . n Τεράστιος χώρος αναζήτησης! 8
Σχεδιασμός Ενεργειών αντί για Απλή Αναζήτηση n Οι βασικές ιδέες του σχεδιασμού ενεργειών είναι οι παρακάτω: n “Αποδοτική” αναπαράσταση καταστάσεων, στόχων, ενεργειών με κάποια γλώσσα λογικής ή κάποια παραλλαγή μια τέτοιας γλώσσας g ο σχεδιαστής μπορεί να κάνει άμεσους συνδυασμούς μεταξύ καταστάσεων και πράξεων g π. χ. αν ξέρουμε ότι στον στόχο περιλαμβάνεται το Έχω(Γάλα) κι ότι το Αγοράζω(x) επιτυγχάνει το Έχω(x) τότε μπορούμε να συμπεράνουμε ότι καλό είναι να σκεφτούμε πλάνα που περιλαμβάνουν το Αγοράζω(Γάλα) g · αν κάναμε απλή αναζήτηση μπορεί να ψάχναμε κι άσχετες ενέργειες όπως “πήγαινε για ύπνο” και “διάβασε ένα βιβλίο” 9
Σχεδιασμός Ενεργειών αντί για Απλή Αναζήτηση n Ο σχεδιαστής είναι ελεύθερος να προσθέτει ενέργειες στο πλάνο οπουδήποτε χρειάζονται, κι όχι απλά να χτίζει το πλάνο αυξητικά από την αρχή ως τον στόχο g π. χ. μπορεί να αποφασίσουμε ότι πρέπει να εκτελέσουμε το Αγοράζω(Γάλα) χωρίς να έχουμε πριν αποφασίσει που να το αγοράσουμε, πως να πάμε εκεί, ή τι να κάνουμε μετά g η αναπαράσταση των καταστάσεων ως συνόλων λογικών προτάσεων παρέχει αυτή τη δυνατότητα 10
Σχεδιασμός Ενεργειών αντί για Απλή Αναζήτηση n Τα περισσότερα τμήματα του κόσμου είναι ανεξάρτητα μεταξύ τους g Έτσι μπορούμε να πάρουμε διαζευκτικούς στόχους όπως “Απέκτησε ένα μπουκάλι γάλα, ένα κιλό μπανάνες κι ένα τρυπάνι” και να τους λύσουμε με στρατηγική διαίρει και βασίλευε (divide and conquer) · Δηλ. να χωρίσουμε τον στόχο σε υποστόχους και να τους λύσουμε ξεχωριστά · Σχεδόν πάντα είναι πιο εύκολο να λυθούν αρκετά μικρά υποπροβλήματα παρά ένα μεγάλο πρόβλημα n Τι συμβαίνει σε προβλήματα όπου υπάρχει αλληλεπίδραση μεταξύ των υποστόχων ? g puzzles 11
Αναπαράσταση Προβλημάτων Σχεδιασμού n Μπορούμε να χρησιμοποιήσουμε ΛΠΤ για αναπαράσταση προβλημάτων σχεδιασμού g Συγκεκριμένα μια επέκταση της ΛΠΤ για το χειρισμό μεταβολών στον κόσμο που ονομάζεται λογισμός καταστάσεων (situation calculus) · Στο λογισμό καταστάσεων ο κόσμος αποτελείται από μια σειρά στιγμιότυπων · Για κάθε συσχέτιση που μπορεί να αλλάξει στο χρόνο, προσδιορίζουμε με ένα πρόσθετο όρισμα σε ποιο στιγμιότυπο αναφερόμαστε · π. χ. το At(Agent, Location) σε ΛΠΤ γίνεται At(Agent, Location, S) στο λογισμό καταστάσεων Πολύ μεγάλη (εκθετική) πολυπλοκότητα g Άσχετα βήματα μπορεί να συμπεριληφθούν στη λύση g 12
Αναπαράσταση Προβλημάτων Σχεδιασμού n Για να κάνουμε τον σχεδιασμό ενεργειών πρακτικό χρειαζόμαστε: g Μια αρκετά περιοριστική γλώσσα αναπαράστασης γνώσης · Οι λογικές είναι υπερβολικά ελεύθερες! · Όσο πιο περιοριστική η γλώσσα τόσο μικρότερος ο χώρος αναζήτησης g Έναν ειδικά σχεδιασμένο αλγόριθμο σχεδιασμού (planner) · Οι αλγόριθμοι απόδειξης της λογικής είναι πολύ γενικοί και συνεπώς μη αποδοτικοί · χρειάζεται εξειδίκευση! 13
Το Μοντέλο STRIPS n Το μοντέλο περιγραφής προβλημάτων σχεδιασμού STRIPS (Stanford, 1971) είναι μια περιοριστική γλώσσα αναπαράστασης γνώσης που κάνει τις εξής παραδοχές Οι ενέργειες είναι αδιαίρετες (indivisible actions) g Τα αποτελέσματα είναι προκαθορισμένα (deterministic effects) g Υπάρχει πλήρης γνώση του περιβάλλοντος (omniscience) g Υπόθεση κλειστού κόσμου (closed world assumption) g · Ό, τι δεν ξέρουμε ότι είναι true, είναι false g n Ο κόσμος είναι στατικός (static world) Το STRIPS αποτελεί τη βάση των περισσότερων planners ακόμα και τώρα 14
Αναπαράσταση Καταστάσεων και Στόχων στο STRIPS n Οι καταστάσεις αναπαριστώνται ως συζεύξεις θετικών προτασιακών και πρώτης τάξης λεκτικών που εφαρμόζονται σε σταθερές Π. χ. η αρχική κατάσταση σε ένα πρόβλημα μπορεί να περιγραφεί ως: At(Home) Have(Money) Bored … g Δεν επιτρέπονται μεταβλητές ή συναρτήσεις ή αρνητικά λεκτικά Π. χ. At(x) Sells(x, Milk) Have(Money) g n Οι στόχοι αναπαριστώνται επίσης ως συζεύξεις θετικών λεκτικών Π. χ. στο πρόβλημα με το γάλα, τις μπανάνες και το τρυπάνι ο στόχος μπορεί να περιγραφεί ως: At(Home) Have(Milk) Have(Bananas) Have(Drill) g Δεν επιτρέπονται μεταβλητές g n Πότε ικανοποιείται ένας στόχος? 15
Αναπαράσταση Καταστάσεων και Στόχων στο STRIPS n Η αναπαράσταση καταστάσεων στο STRIPS είναι απλουστευμένη g Δεν αναφέρεται ο χρόνος κατά τον οποίο ισχύουν τα γεγονότα g Δε μπορούν να περιγραφούν συνεχείς μεταβολές g Θεωρείται πλήρης βεβαιότητα για την ισχύ των γεγονότων · σχεδιαστές πιθανοτήτων & σχεδιαστές πολλαπλών ενδεχομένων g Η αναπαράσταση του κόσμου δεν είναι πλήρης 16
Αναπαράσταση Ενεργειών στο STRIPS n Οι ενέργειες (ή τελεστές) στο STRIPS αποτελούνται από τρία συστατικά: g Περιγραφή · δηλ. το όνομα της ενέργειας και η λίστα παραμέτρων g Προϋποθέσεις · τα γεγονότα που πρέπει να ισχύουν σε μια κατάσταση για να μπορεί να εφαρμοστεί η ενέργεια στην κατάσταση αυτή · είναι μια σύζευξη θετικών λεκτικών χωρίς συναρτήσεις. Οι μεταβλητές που υπάρχουν στις προϋποθέσεις πρέπει να εμφανίζονται και στις παραμέτρους g Αποτελέσματα (ή λίστες προσθήκης & διαγραφής) · τα γεγονότα που αλλάζουν στη νέα κατάσταση μετά την εκτέλεση της ενέργειας · είναι μια σύζευξη λεκτικών χωρίς συναρτήσεις 17
Αναπαράσταση Ενεργειών στο STRIPS n Παράδειγμα: Περιγραφή ενέργειας για να πάμε από ένα μέρος σε ένα άλλο g 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) n Μια ενέργεια μπορεί να περιλαμβάνει μεταβλητές g Οπότε λέγεται σχήμα ενέργειας και αντιστοιχεί σε μια “οικογένεια” ενεργειών 18
Ενέργειες στο STRIPS n Πότε μπορεί μια ενέργεια να εφαρμοστεί? σε οποιαδήποτε κατάσταση ικανοποιεί τις προϋποθέσεις της ενέργειας g μπορεί να απαιτείται αντικατάσταση σταθερών σε μεταβλητές g n Παράδειγμα: g Op (ACTION: Fly(p, from, to), PRECOND: At(p, from) Plane(p) Airport(from) Airport(to) EFFECT: ¬At(p, from) At(p, to)) Τρέχουσα κατάσταση: At(P 1, JFK) At(P 2, SFO) Plane(P 1) Plane(P 2) Airport(JFK) Airport(SFO) g Οι προϋποθέσεις ικανοποιούνται με την αντικατάσταση {p/P 1, from/JFK, to/SFO} g 19
Ενέργειες στο STRIPS n Ξεκινώντας από μια κατάσταση s, το αποτέλεσμα μιας ενέργειας α είναι η κατάσταση s’, η οποία είναι ίδια με την s με τη διαφορά ότι κάθε θετικό αποτέλεσμα P της α προστίθεται στην s και κάθε αρνητικό αποτέλεσμα ¬P διαγράφεται g μετά την εκτέλεση της ενέργειας Fly(P 1, JFK, SFO) η τρέχουσα κατάσταση γίνεται: · At(P 1, SFO) At(P 2, SFO) Plane(P 1) Plane(P 2) Airport(JFK) Airport(SFO) αν κάποιο θετικό αποτέλεσμα ήδη υπάρχει στην s, δεν προστίθεται δεύτερη φορά g αν κάποιο αρνητικό αποτέλεσμα δεν υπάρχει στην s, αγνοείται g ό, τι δεν αναφέρεται στα αποτελέσματα παραμένει ως έχει g 20
Επεκτάσεις του STRIPS n Το μοντέλο STRIPS είναι πετυχημένο αλλά η εκφραστικότητα του είναι περιορισμένη. Δεν επιτρέπονται συναρτήσεις ή μεταβλητές στα λεκτικά περιγραφής καταστάσεων g Επιτρέπονται μόνο θετικά λεκτικά για την περιγραφή καταστάσεων g Δεν επιτρέπονται ποσοδείκτες g Υπόθεση κλειστού κόσμου g κτλ. g 21
Επεκτάσεις του STRIPS n Μπορούμε να επεκτείνουμε τη γλώσσα STRIPS προσθέτοντας για παράδειγμα τις εξής δυνατότητες: Τα αποτελέσματα των ενεργειών εξαρτώνται από συνθήκες g Διαζευκτικές και αρνητικές προϋποθέσεις g Προϋποθέσεις και αποτελέσματα με καθολικούς ποσοδείκτες g n Έχουν προταθεί διάφορες επεκτάσεις g Π. χ. η Γλώσσα Περιγραφής Ενεργειών (Action Description Language – ADL) 22
Αποτελέσματα ανάλογα των Συνθηκών n Τελεστές με αποτελέσματα ανάλογα των συνθηκών (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) ) g Op (ACTION: Move. To. Table(b, x), PRECOND: On(b, x) Clear(b) Clear(Table) EFFECT: On(b, Table) Clear(x) ¬On(b, x)) g. Op (ACTION: Move. From. Table(b, y), PRECOND: On(b, Table) Clear(b) Clear(y) EFFECT: On(b, y) ¬Clear(y) ¬On(b, Table)) g 23
Αποτελέσματα ανάλογα των Συνθηκών n Μπορούμε να αντικαταστήσουμε τους δύο τελεστές για το Move με έναν του οποίου το αποτέλεσμα εξαρτάται από τις συνθήκες g n Op (ACTION: Move(b, x, y), PRECOND: On(b, x) Clear(b) Clear(y) EFFECT: On(b, y) ¬On(b, x) (Clear(x) when x Table) (¬Clear(y) when y Table)) Χρειάζονται μικρές αλλαγές στις ρουτίνες του planner 24
Διαζευκτικές και Αρνητικές Προϋποθέσεις n Είναι εύκολο να προσθέσουμε στον planner δυνατότητα χειρισμού αρνητικών προϋποθέσεων (negative preconditions) και διαζευκτικών προϋποθέσεων (disjunctive preconditions) Π. χ. ¬p , p q g Για τις αρνητικές προσοχή στην αρχική κατάσταση! g Για τις διαζευκτικές ο planner διαλέγει να ικανοποιήσει μια από τις δύο και σε περίπτωση αποτυχίας δοκιμάζει την άλλη g 25
Καθολικοί Ποσοδείκτες n Οι καθολικοί ποσοδείκτες σε προϋποθέσεις τελεστών κάνουν τα πράγματα πιο εύκολα g n π. χ. Αντί για Clear(b) μπορούμε να έχουμε: x Block(x) ¬On(x, b) Μπορούμε να έχουμε καθολικούς ποσοδείκτες σε αποτελέσματα g π. χ. 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)) 26
ADL vs. STRIPS Language ADL Language Only positive literals in states: Poor Unknown Positive and negative literals in states: ¬Rich ¬Famous Closed World Assumption: Unmentioned literals Open World Assumption: Unmentioned literals are false 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) 27
ADL vs. STRIPS (Παράδειγμα) n n 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)) 28
Χώρος Καταστάσεων & Χώρος Πλάνων n Χώρος καταστάσεων για το πρόβλημα με το γάλα, τις μπανάνες και το τρυπάνι Συζήτησε με κάποιον Πήγαινε στο γήπεδο Δες το ματς Πήγαινε στο σχολείο Αρχή Πήγαινε στην τάξη Αγόρασε γάλα Πήγαινε στο super market Αγόρασε καραμέλες Πήγαινε για ύπνο Αγόρασε μπύρες . . . Στόχος Διάβασε ένα βιβλίο Κάθισε στην καρέκλα Κτλ. Συνέχισε να κάθεσαι . . . 29
Χώρος Καταστάσεων & Χώρος Πλάνων n Ένα μονοπάτι από την αρχή ως τον στόχο στον χώρο καταστάσεων αποτελεί ένα πλάνο για το συγκεκριμένο πρόβλημα n Θα μπορούσαμε να λύσουμε το πρόβλημα με ένα σύστημα που παρέχει τα εξής: περιγραφή του προβλήματος σε STRIPS g χρήση κάποιου αλγόριθμου αναζήτησης για εύρεση λύσης (πλάνου) g n Ένα τέτοιο σύστημα λέγεται σχεδιαστής χώρου καταστάσεων (situation space planner) 30
Χώρος Καταστάσεων & Χώρος Πλάνων n Ορθή Διάσχιση (progression) g n Ανάστροφη Διάσχιση (regression) g n από το στόχο προς την αρχική κατάσταση Αντί για το χώρο καταστάσεων μπορούμε να ψάξουμε στο χώρο πλάνων g n από την αρχική κατάσταση προς τον στόχο ξεκινάμε με ένα μερικό πλάνο και το επεκτείνουμε ώσπου να γίνει πλήρες Πως αναπαριστούμε τα πλάνα ? 31
Αναζήτηση στο Χώρο Καταστάσεων At(P 1, B) Ορθή Διάσχιση At(P 1, A) Fly(P 1, A, B) At(P 2, A) Fly(P 2, A, B) At(P 1, A) Ανάστροφη Διάσχιση At(P 2, B) At(P 1, A) At(P 2, B) At(P 1, B) Fly(P 1, A, B) Fly(P 2, A, B) At(P 1, B) At(P 2, A) 32
Παράδειγμα n 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)) n 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)) n Op (ACTION: Fly(p, from, to), PRECOND: At(p, from) Plane(p) Airport(from) Airport(to) EFFECT: ¬At(p, from) At(p, to)) 33
Αναζήτηση στο Χώρο Καταστάσεων n Ορθή Διάσχιση ξεκινώντας από την αρχική κατάσταση εξερευνούμε τον χώρο καταστάσεων με βάση κάποιον γενικό αλγόριθμο αναζήτησης g μια ενέργεια μπορεί να εφαρμοστεί αν οι προϋποθέσεις τις ισχύουν στην τρέχουσα κατάσταση g η τρέχουσα κατάσταση και τα αποτελέσματα της ενέργειας ορίζουν την επόμενη κατάσταση g n Ξεκινώντας από μια κατάσταση s, το αποτέλεσμα μιας ενέργειας α είναι η κατάσταση s’, η οποία είναι ίδια με την s με τη διαφορά ότι κάθε θετικό αποτέλεσμα P της α προστίθεται στην s και κάθε αρνητικό αποτέλεσμα ¬P διαγράφεται 34
Αναζήτηση στο Χώρο Καταστάσεων n Ανάστροφη Διάσχιση ξεκινώντας από τον στόχο εξερευνούμε τον χώρο καταστάσεων με βάση κάποιον γενικό αλγόριθμο αναζήτησης g μια ενέργεια μπορεί να εφαρμοστεί αν είναι σχετική (τα αποτελέσματα της πετυχαίνουν κάποιο κομμάτι του στόχου) και συνεπής (τα αποτελέσματα της δεν ακυρώνουν κάποιο κομμάτι του στόχου) g n Έστω ότι ξεκινάμε από τον στόχο G. Για να παράγουμε την “προηγούμενη” κατάσταση μιας ενέργειας a κάνουμε τα εξής κάθε θετικό αποτέλεσμα της a που εμφανίζεται στο G, διαγράφεται g κάθε προϋπόθεση της a προστίθεται, εκτός αν ήδη υπάρχει στο G g n Πότε τερματίζει ο αλγόριθμος? 35
Αναζήτηση στο Χώρο Πλάνων n Η ορθή και η ανάστροφη διάσχιση του χώρου καταστάσεων είναι μορφές αναζήτησης πλήρως διατεταγμένων πλάνων εξερευνούν αυστηρά διατεταγμένες ακολουθίες ενεργειών g δε μπορούν να εκμεταλλευτούν τη δυνατότητα διάσπασης του προβλήματος σε υποπροβλήματα g n Η αναζήτηση στο χώρο πλάνων μπορεί να επιλύσει ανεξάρτητα πολλούς υποστόχους, δημιουργώντας πολλά υποπλάνα, και μετά να συνδυάσει τα υποπλάνα g n οι σημαντικοί υποστόχοι αντιμετωπίζονται πρώτα Η αρχή της μικρότερης δέσμευσης (least commitment principle) g Αποφάσισε μόνο για πράγματα που σε ενδιαφέρουν τώρα. Άσε τις άλλες αποφάσεις για αργότερα 36
Παράδειγμα n Θεωρήστε το πρόβλημα “να φορέσω ένα ζευγάρι παπούτσια” Ο στόχος είναι Right. Shoe. On Left. Shoe. On g Η αρχική κατάσταση είναι κενή g Υπάρχουν οι εξής ενέργειες: Op (ACTION: Right. Shoe, PRECOND: Right. Sock. On, EFFECT: Right. Shoe. On) Op (ACTION: Right. Sock, EFFECT: Right. Sock. On) Op (ACTION: Left. Shoe, PRECOND: Left. Sock. On, EFFECT: Left. Shoe. On) Op (ACTION: Left. Sock, EFFECT: Left. Sock. On) g 37
Πλάνα Μερικής και Πλάνα Πλήρους Διάταξης n Για το παράδειγμα ένα μερικό πλάνο αποτελείται από τα βήματα Right. Shoe και Left. Soe g n Σχεδιαστές μερικής διάταξης (partial order planners) g n μερικά βήματα δεν είναι διατεταγμένα Σχεδιαστές πλήρους διάταξης (total order planners) g n Ποιο από τα δύο προηγείται ? όλα τα βήματα σε διάταξη Πως θα λύναμε το πρόβλημα με ορθή ή ανάστροφη διάσχιση του χώρου καταστάσεων? 38
Παράδειγμα Πλάνο μερικής διάταξης Πλάνα πλήρους διάταξης Start Right. Sock Left. Shoe Left. Sock Right. Sock Left. Shoe … Right. Shoe Left. Shoe Finish Right. Shoe Finish 39
Αναπαράσταση Πλάνων στο STRIPS n Ένα πλάνο στο STRIPS αναπαριστάται ως μια δομή δεδομένων με τέσσερα συστατικά: g Ένα σύνολο από βήματα · Κάθε βήμα είναι μια ενέργεια του πραγματικού κόσμου g Ένα σύνολο περιορισμών διάταξης (ordering constraints) των βημάτων της μορφής Si < Sj · Το βήμα Si πρέπει να γίνει πριν το Sj Ένα σύνολο από περιορισμούς δέσμευσης μεταβλητών (variable binding constraints) της μορφής v = x g Ένα σύνολο αιτιολογικών συνδέσεων (causal links) της μορφής Si c Sj g · Το Si επιτυγχάνει την προϋπόθεση c του Sj 40
Παράδειγμα n Το αρχικό πλάνο έχει δύο βήματα Start και Finish και τον περιορισμό Start < Finish g Plan (STEPS: {S 1: Op(ACTION: Start), S 2: Op(ACTION: Finish, PRECOND: Right. Shoe. On Left. Shoe. On )}, ORDERINGS: {S 1<S 2}, BINDINGS: {} LINKS: {}) Start Right. Shoe. On , Left. Shoe. On Finish 41
Παράδειγμα Πλάνο μερικής διάταξης Πλάνα πλήρους διάταξης Start Right. Sock Left. Sock. On Right. Sock. On Left. Shoe Right. Sock Left. Sock Right. Shoe Left. Shoe … Right. Shoe Left. Shoe Right. Shoe Leftt. Shoe. On , Right. Shoe. On Finish 42
Αναζήτηση στο Χώρο Πλάνων n n n Η αναζήτηση στο χώρο πλάνων ξεκινά με ένα κενό πλάνο (ή ένα μερικό πλάνο) Στη συνέχεια εξερευνά τρόπους τελειοποίησης του πλάνου μέχρι να καταλήξει σε ένα πλήρες πλάνο που λύνει το πρόβλημα ΠΡΟΣΟΧΗ: g Οι ενέργειες της αναζήτησης δεν είναι οι ενέργειες του πραγματικού κόσμου που έχει στη διάθεση του ο πράκτορας αλλά είναι ενέργειες που επιδρούν σε πλάνα · προσθήκη ενός βήματος σε πλάνο, επιβολή ενός περιορισμού διάταξης, κτλ. g Οι καταστάσεις στο χώρο αναζήτησης δεν είναι οι καταστάσεις του πραγματικού κόσμου (δηλ. δεν ορίζονται από τα λεκτικά που ισχύουν) αλλά από τα (μη πλήρη) πλάνα 43
Αναζήτηση στο Χώρο Πλάνων n Οι περιορισμοί διάταξης πρέπει να περιγράφουν μια σωστή μερική διάταξη Οι κύκλοι ( Α<Β και Β<Α) αναπαριστούν αντικρουόμενους περιορισμούς g Οπότε δεν μπορεί να προστεθεί στο πλάνο ένας περιορισμός διάταξης που δημιουργεί κύκλο g n Μια αιτιολογική σύνδεση Si c Sj σημαίνει ότι το c πρέπει να παραμείνει αληθές από τη στιγμή της ενέργειας Si μέχρι την ενέργεια Sj το πλάνο δε μπορεί να επεκταθεί με την προσθήκης μια ενέργειας που συγκρούεται με την αιτιολογική σύνδεση g μια ενέργεια S συγκρούεται με μια αιτιολογική σύνδεση Α c Β αν η S έχει ως αποτέλεσμα το ¬c και η S θα μπορούσε να εκτελεστεί μετά την Α και πριν τη Β g 44
Λύσεις n n Γενικός ορισμός: Μια λύση ενός προβλήματος σχεδιασμού είναι ένα πλάνο που μπορεί να εκτελεστεί και εγγυάται επίτευξη του στόχου. Ειδικευμένος Ορισμός: Μια λύση είναι ένα πλάνο που είναι πλήρες (complete) και έγκυρο (consistent) g Πλήρες πλάνο είναι ένα πλάνο στο οποίο κάθε προϋπόθεση καθενός βήματος επιτυγχάνεται από κάποιο άλλο βήμα · δηλ. δεν υπάρχουν ανοικτές προϋποθέσεις g Έγκυρο πλάνο είναι ένα πλάνο στο οποίο δεν παραβιάζεται κανένας περιορισμός διάταξης και δεν υπάρχουν συγκρούσεις στις αιτιολογικές συνδέσεις 45
Σχεδιασμός Μερικής Διάταξης με το Μοντέλο STRIPS n n O planner ξεκινάει με ένα αρχικό πλάνο που περιλαμβάνει μόνο το αρχικό και το τελικό βήμα Σε κάθε επανάληψη προσθέτει ένα βήμα Αν οδηγηθεί σε πλάνο που δεν είναι έγκυρο, οπισθοδρομεί (backtracks) και δοκιμάζει ένα άλλο τμήμα του χώρου αναζήτησης Όταν ο planner σκέφτεται να προσθέσει ένα βήμα, ασχολείται μόνο με βήματα που προσπαθούν να επιτύχουν μια προϋπόθεση που δεν έχει ακόμα επιτευχθεί g αιτιολογικές συνδέσεις 46
Σχεδιασμός Μερικής Διάταξης με το Μοντέλο STRIPS n Αρχική Κατάσταση g n Ένα πλάνο που περιλαμβάνει τις ενέργειες Start και Finish, τον περιορισμό διάταξης Start<Finish, δεν περιέχει αιτιολογικές συνδέσεις, και έχει ως ανοικτές προϋποθέσεις όλες τις προϋποθέσεις του Finish Η συνάρτηση διαδοχής επιλέγει μια ανοικτή προϋπόθεση p για μια ενέργεια Β και παράγει ένα διάδοχο πλάνο για κάθε δυνατό συνεπή τρόπο επιλογής μια ενέργειας Α που επιτυγχάνει το p g Η συνέπεια επιβάλλεται ως εξής: · προστίθεται στο πλάνο ο αιτιολογικός σύνδεσμος Α p Β και ο περιορισμός διάταξης Α<Β. Η ενέργεια Α μπορεί να υπάρχει ήδη στο πλάνο ή μπορεί να προστεθεί ως νέα ενέργεια. Στη δεύτερη περίπτωση προστίθενται και οι περιορισμοί διάταξης Start<A και A<Finish 47
Σχεδιασμός Μερικής Διάταξης με το Μοντέλο STRIPS g Η συνέπεια επιβάλλεται ως εξής: · επιλύονται οι συγκρούσεις μεταξύ του Α p Β και όλων των υπαρχόντων ενεργειών καθώς και μεταξύ του Α (αν είναι νέα ενέργεια) και όλων των υπαρχόντων αιτιολογικών συνδέσεων. · Η επίλυση μια σύγκρουσης μεταξύ του Α p Β και της ενέργειας C γίνεται με την προσθήκη του περιορισμού Β<C ή C<A n Το τεστ στόχου ελέγχει αν το πλάνο αποτελεί λύση στο αρχικό πρόβλημα σχεδιασμού. Αυτό ισχύει αν δεν υπάρχουν ανοικτές προϋποθέσεις 48
Παράδειγμα n Πρόβλημα: “Απέκτησε ένα μπουκάλι γάλα, ένα κιλό μπανάνες κι ένα τρυπάνι” n Αρχική Κατάσταση g n Op (ACTION: Start, EFFECT: At(Home) Sells(HWS, Drill) Sells(SM, Milk) Sells(SM, Bananas) ) Στόχος g Op (ACTION: Finish, PRECOND: At(Home) Have(Drill) Have(Milk) Have(Bananas) ) 49
Παράδειγμα n Ενέργειες Op (ACTION: Go(here, there), PRECOND: At(here), EFFECT: At(there) ¬At(here)) g Op (ACTION: Buy(x, store), PRECOND: At(store) Sells(store, x) EFFECT: Have(x)) g Start At(Home) , Sells(HWS, Drill) , Sells(SM, Milk) , Sells(SM, Bananas) At(Home) , Have(Drill) , Have(Milk) , Have(Bananas) Finish 50
Παράδειγμα Op (ACTION: Buy(x, store), PRECOND: At(store) Sells(store, x), EFFECT: Have(x)) n Start περιορισμoί διάταξης At(s) , Sells(s, Drill) Buy(Drill, s) At(s) , Sells(s, Milk) At(s) , Sells(s, Bananas) Buy(Milk, s) Buy(Bananas, s) αιτιολογικές συνδέσεις At(Home) , Have(Drill) , Have(Milk) , Have(Bananas) Finish 51
Παράδειγμα Op (ACTION: Start, EFFECT: At(Home) Sells(HWS, Drill) Sells(SM, Milk) Sells(SM, Bananas) ) n Start αιτιολογικές συνδέσεις At(HWS) , Sells(HWS, Drill) At(SM) , Sells(SM, Milk) Buy(Drill, HWS) Buy(Milk, SM) At(SM) , Sells(SM, Bananas) Buy(Bananas, SM) αιτιολογικές συνδέσεις At(Home) , Have(Drill) , Have(Milk) , Have(Bananas) Finish 52
Παράδειγμα Op (ACTION: Buy(x, store), PRECOND: At(store) Sells(store, x), EFFECT: Have(x)) n Start At(x) Go(x, HWS) Go(x, SM) At(HWS) , Sells(HWS, Drill) At(SM) , Sells(SM, Milk) Buy(Drill, HWS) Buy(Milk, SM) At(SM) , Sells(SM, Bananas) Buy(Bananas, SM) At(Home) , Have(Drill) , Have(Milk) , Have(Bananas) Finish 53
Παράδειγμα – Αδιέξοδο Op (ACTION: Go(here, there), PRECOND: At(here), EFFECT: At(there) ¬At(here)) n Start At(Home) Go(Home, SM) ¬At(Home) Go(Home, HWS) ¬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 54
Παράδειγμα – Οπισθοδρόμηση Op (ACTION: Go(there), PRECOND: At(here), EFFECT: At(there) ¬At(here)) n Start At(HWS) At(Home) Go(HWS, SM) Go(Home, HWS) At(HWS) , Sells(HWS, Drill) Buy(Drill, HWS) At(SM) , Sells(SM, Milk) At(SM) , Sells(SM, Bananas) Buy(Milk, SM) Buy(Bananas, SM) At(Home) , Have(Drill) , Have(Milk) , Have(Bananas) Finish 55
Παράδειγμα Start At(HWS) At(Home) Go(HWS, SM) Go(Home, HWS) At(HWS), Sells(HWS, Drill) Buy(Drill, HWS) At(SM), Sells(SM, Milk) At(SM), Sells(SM, Bananas) At(SM) Buy(Milk, SM) Buy(Bananas, SM) Go(SM, Home) Have(Drill) , Have(Milk) , Have(Bananas), At(Home) Finish 56
Παράδειγμα At(Home) Start Go(Home, HWS) At(HWS), Sells(HWS, Drill) Buy(Drill, HWS) At(HWS) Go(HWS, SM) At(SM), Sells(SM, Milk) Buy(Milk, SM) At(SM), Sells(SM, Bananas) At(SM) Buy(Bananas, SM) Go(SM, Home) Have(Drill) , Have(Milk) , Have(Bananas), At(Home) Finish 57
Αλγόριθμος Σχεδιασμού Μερικής Διάταξης n POP (Partial Order Planner) g O POP εκτελεί μη-αιτιοκρατικές επιλογές ενεργειών μέχρι όλες οι προϋποθέσεις των ενεργειών να υποστηρίζονται από αιτιολογικές συνδέσεις και όλες οι απειλές να έχουν αντιμετωπισθεί με περιορισμούς διάταξης function POP (initial, goal, operators) returns plan Make. Minimal. Plan(initial, goal) loop do if Solution(plan) then return plan Sneed , c Select. Sub. Goal(plan) Choose. Operator(plan, operators, Sneed , c) Resolve. Threats(plan) end 58
Αλγόριθμος Σχεδιασμού Μερικής Διάταξης n POP (Partial Order Planner) function Select. Sub. Goal (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 Choose. Operator (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) 59
Αλγόριθμος Σχεδιασμού Μερικής Διάταξης n POP (Partial Order Planner) procedure Resolve. Threats(plan) for each Sthreatens 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 n O POP είναι ένας σχεδιαστής ανάστροφης διάσχισης g είναι sound και complete 60
Σχεδιασμός με Μη-Συγκεκριμένες Ενέργειες n n n Με μερικές τροποποιήσεις Ο POP μπορεί να καθυστερεί τη δέσμευση μεταβλητών μέχρι αυτές να χρειαστούν Τι γίνεται αν κάποια ενέργεια έχει ένα αποτέλεσμα με μη δεσμευμένη μεταβλητή (π. χ. ¬At(x)) ? g Tο ¬At(x) είναι πιθανή απειλή για το At(Home) Τρεις διαφορετικές προσεγγίσεις: g Επίλυσε τώρα με έναν περιορισμό ισότητας · x = HWS g Επίλυσε τώρα με έναν περιορισμό ανισότητας · x Home g Επίλυσε αργότερα · Όταν η πιθανή απειλή γίνει πραγματική 61
Heuristics για Σχεδιασμό Μερικής Διάταξης n Heuristics χρησιμοποιούνται όταν ο σχεδιαστής έχει να πάρει μια από τις δυο σημαντικές αποφάσεις: Ερώτηση: Αν υπάρχουν πολλές ανοικτές προϋποθέσεις ποια θα επιλεχθεί? g Απάντηση: Η προϋπόθεση που μπορεί να επιτευχθεί με το μικρότερο πλήθος τρόπων g · μοιάζει με το heuristic επιλογής μεταβλητών σε CSPs που διαλέγει την πιο περιορισμένη μεταβλητή · αν μια προϋπόθεση δεν μπορεί να επιτευχθεί με κανέναν τρόπο τότε το heuristic αυτό θα εντοπίσει το αδιέξοδο άμεσα · αν μια προϋπόθεση μπορεί να επιτευχθεί μόνο με έναν τρόπο τότε το heuristic ορθώς θα την επιλέξει γιατί αναπόφευκτα θα πάρει κάποια στιγμή αυτή την απόφαση 62
Heuristics για Σχεδιασμό Μερικής Διάταξης n Heuristics χρησιμοποιούνται όταν ο σχεδιαστής έχει να πάρει μια από τις δυο σημαντικές αποφάσεις: Ερώτηση: Αν υπάρχουν πολλές ενέργειες που επιτυγχάνουν την προϋπόθεση που έχει επιλεχθεί, ποια θα διαλέξουμε? g Απάντηση: Την ενέργεια επιτυγχάνει τις περισσότερες ανοικτές προϋποθέσεις g g Το heuristic αυτό είναι αποδεκτό? · το κόστος υποτιμάται όταν υπάρχουν αρνητικές αλληλεπιδράσεις μεταξύ των βημάτων του πλάνου · υπερεκτιμάται σε κάποια περίπτωση? 63
Μεθοδολογία Σχεδιασμού n Αποφάσισε τι πληροφορία πρέπει να περιγραφεί n Βρες ένα κατάλληλο λεξιλόγιο για να περιγραφούν τα αντικείμενα, οι ενέργειες, και οι συνθήκες n Κωδικοποίησε τους τελεστές (ενέργειες) n Κωδικοποίησε μια κατάλληλη περιγραφή του συγκεκριμένου προβλήματος n Δώσε το πρόβλημα στον planner και πάρε τα πλάνα που παράγει 64
Παράδειγμα: Ο Κόσμος των Κύβων n Ο κόσμος των κύβων (blocks world) είναι ένα κλασσικό πρόβλημα σχεδιασμού n Αποφάσισε τι πληροφορία πρέπει να περιγραφεί g Υπάρχει ένα σύνολο κύβων που βρίσκονται πάνω σε ένα τραπέζι. g Ο στόχος είναι να φτιάξουμε έναν ή περισσότερους σωρούς από κύβους g Υπάρχουν διάφοροι περιορισμοί · μπορούμε να μετακινήσουμε έναν κύβο τη φορά · ένας κύβος μπορεί να ταιριάξει μόνο πάνω σε συγκεκριμένους κύβους 65
Παράδειγμα: Ο Κόσμος των Κύβων n Βρες ένα κατάλληλο λεξιλόγιο για να περιγραφούν τα αντικείμενα, οι ενέργειες, και οι καταστάσεις g Τα αντικείμενα είναι οι κύβοι και το τραπέζι · αντιπροσωπεύονται με σταθερές g On(b, x) για τη συνθήκη όπου ένας κύβος b είναι πάνω σε άλλον ή στο τραπέζι g Clear(x) για την κατάσταση όπου δεν είναι τίποτα πάνω στο x g Move(b, x, y) για τον τελεστή μεταφοράς ενός κύβου b 66
Παράδειγμα: Ο Κόσμος των Κύβων n Κωδικοποίησε του τελεστές g 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) ) g Όταν x = Table ή y = Table υπάρχει πρόβλημα! g Op (ACTION: Move. To. Table(b, x), PRECOND: On(b, x) Clear(b) EFFECT: On(b, Table) Clear(x) ¬On(b, x)) 67
Παράδειγμα: Ο Κόσμος των Κύβων n Αρχική Κατάσταση g g Υπάρχουν οι κύβοι Α, Β, C Ο κύβος C βρίσκεται πάνω στον Α και τίποτα δε βρίσκεται πάνω στον C O κύβος Β βρίσκεται πάνω στο τραπέζι και τίποτα δε βρίσκεται πάνω του Block(A) Block(B) Block(C) On(A, Table) On(C, A) On(B, Table) Clear(B) Clear(C) C A n B Τελική Κατάσταση g On(Β, C) On(A, B) A B C 68
Ιεραρχική Σχεδίαση n Στο παράδειγμα αγοράς αγαθών οι λύσεις ήταν πλάνα σε υψηλό βαθμό αφαίρεσης g π. χ. [Go(SM), Buy(Milk), Buy(Bananas), Go(Home)] g μπορεί ένας πράκτορας να εκτελέσει τέτοια πλάνα ? g Αν το πλάνο ήταν της μορφής [Forward(1 cm), Turn. Right(1 deg), Forward(1 cm), …] θα είχε χιλιάδες βήματα! n Λύση: Ιεραρχική Διάσπαση (Hierarchical Decomposition) g Ένας τελεστής υψηλού επιπέδου μπορεί να διασπαστεί σε σύνολο βημάτων που σχηματίζουν ένα πλάνο g Η διάσπαση/αποσύνθεση μπορεί να συνεχιστεί μέχρι να φτάσουμε σε ένα πλάνο όπου κάθε βήμα είναι ένας βασικός τελεστής (primitive operator) · δηλ. ένας τελεστής που μπορεί να εκτελεστεί κατευθείαν από τον πράκτορα 69
Ιεραρχική Σχεδίαση – Παράδειγμα Land Build House Διασπάται σε Obtain Permit Construction Pay Builder Hire Builder Διασπάται σε Build Foundation Build Roof Build Frame Build Interior Build Walls 70
Ιεραρχική Σχεδίαση n Στην ιεραρχική σχεδίαση (hierarchical planning) οι γενικές περιγραφές των μεθόδων αποσύνθεσης ενεργειών αποθηκεύονται σε μια βιβλιοθήκη πλάνων η κάθε μέθοδος είναι μια παράσταση της μορφής Decompose(a, d) g μια αποσύνθεση πρέπει να υλοποιεί σωστά την ενέργεια g · ένα πλάνο d υλοποιεί σωστά μια ενέργεια a αν το d είναι πλήρες και συνεπές πλάνο μερικής διάταξης για την επίτευξη των αποτελεσμάτων της a με δεδομένες τις προϋποθέσεις της a n Η βιβλιοθήκη πλάνων μπορεί να περιέχει πολλές αποσυνθέσεις για μια κάθε ενέργεια υψηλού επιπέδου g μπορεί να έχουν διαφορετικές πρόσθετες προϋποθέσεις και αποτελέσματα · Οι προϋποθέσεις και τα αποτελέσματα της ενέργειας είναι η τομές των αντίστοιχων προϋποθέσεων και τα αποτελεσμάτων αποσυνθέσεων της 71
Ιεραρχική Σχεδίαση n Τι γίνεται με τις εσωτερικές επιδράσεις που των αποσυνθέσεων? η περιγραφή υψηλού επιπέδου της ενέργειας τις αποκρύπτει για να ελαττωθεί η πολυπλοκότητα g αλλά μπορεί να υπάρχουν συγκρούσεις που πρέπει να διευθετηθούν g n Πρόβλημα με την ιεραρχική σχεδίαση: Στη γενική περίπτωση είναι μη-αποφασίσιμη! αποφασίσιμη λόγω πιθανών αναδρομικών αποσυνθέσεων τελεστών g 3 πιθανές λύσεις: g · αποκλεισμός αναδρομής (σπάνια χρειάζεται) · οριοθέτηση του μεγέθους των λύσεων · συνδυασμός ιεραρχικής σχεδίασης με σχεδίαση μερικής διάταξης 72
Ιεραρχική Σχεδίαση n Θα μας απασχολήσει ο συνδυασμός ιεραρχικής σχεδίασης και σχεδίασης μερικής διάταξης. Για να υλοποιηθεί αυτό χρειάζονται τα παρακάτω: g g Επέκταση της γλώσσας STRIPS για να επιτρέπει μη βασικούς τελεστές Τροποποίηση του αλγορίθμου σχεδιασμού για να επιτρέπεται η αντικατάσταση ενός μη βασικού τελεστή από την αποσύνθεση του · η αντικατάσταση αυτή προϋποθέτει κάποιες διεργασίες για να γίνει σωστά · Περιορισμοί διάταξης · Αιτιολογικές συνδέσεις 73
Επέκταση της STRIPS n Οι τελεστές χωρίζονται σε βασικούς και μη βασικούς g π. χ. Hammer(Nail) είναι βασικός και Build(House) μη βασικός g Η διάκριση εξαρτάται από τον πράκτορα που θα εκτελέσει το πλάνο (παράδειγμα? ) n Προσθέτουμε ένα σύνολο από μεθόδους διάσπασης τελεστών g 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 } ) ) 74
Επέκταση της STRIPS n Ένα πλάνο p υλοποιεί σωστά έναν τελεστή o αν ισχύουν τα παρακάτω: g Το p είναι έγκυρο (consistent) · Δεν υπάρχει αντίθεση στους περιορισμούς διάταξης και δέσμευσης μεταβλητών του p g Κάθε αποτέλεσμα του o συνάγεται από τουλάχιστον ένα βήμα του p · και δεν απαγορεύεται από κάποιο άλλο βήμα g Κάθε προϋπόθεση των βημάτων του p να επιτυγχάνεται από ένα βήμα του p ή είναι μια από τις προϋποθέσεις του o 75
Τροποποίηση του Αλγορίθμου Σχεδιασμού n Απαιτούνται οι εξής τροποποιήσεις: Ο αλγόριθμος πρέπει να βρίσκει τρόπους διάσπασης μη βασικών τελεστών g Η είσοδος του αλγορίθμου είναι ένα πλάνο (αντί για απλός στόχος) g · Start -Finish ή και πιο περίπλοκα Η συνάρτηση Solution πρέπει να ελέγχει αν κάθε βήμα του πλάνου είναι βασικό g Η συνάρτηση Select. Non. Primitive διαλέγει ένα μη βασικό βήμα g Η συνάρτηση Choose. Decomposition διαλέγει μια διάσπαση για ένα βήμα g 76
Τροποποίηση του Αλγορίθμου Σχεδιασμού n 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 Select. Sub. Goal(plan) Choose. Operator(plan, operators, Sneed , c) Snonprim Select. Non. Primitive(plan) Choose. Decomposition(plan, methods, Snonprim) Resolve. Threats(plan) end 77
Τροποποίηση του Αλγορίθμου Σχεδιασμού n Αν η method επιλεχθεί ως διάσπαση του βήματος Snonprim η δομή δεδομένων του πλάνου τροποποιείται ως εξής: g STEPS · προσθέτουμε όλα τα βήματα της method στο πλάνο g ORDERINGS – Απλή Λύση: · κάθε περιορισμός διάταξης Sa<Snonprim αντικαθιστάται από περιορισμούς που βάζουν το Sa πριν το πρώτο βήμα της method · κάθε περιορισμός διάταξης Snonprim<Sz αντικαθιστάται από περιορισμούς που βάζουν το Sz μετά το τελευταίο βήμα της method · Συχνά αυτός ο τρόπος οδηγεί σε μη αποδοτικά πλάνα · Η λύση είναι για κάθε περιορισμό διάταξης να αποθηκεύουμε την αιτία του περιορισμού 78
Παράδειγμα Buy Land Get Loan Own Land Have Money Build House Have House Move In Διασπάται σε Buy Land Get Loan Own Land Obtain Permit Hire Builder Construction Have Money Pay Builder Have House Move In To Get Loan δεν είναι απαραίτητο να διαταχθεί πριν όλες τις ενέργειες του Build House 79
Ιεραρχική Σχεδίαση n Χρησιμοποιώντας ιεραρχική σχεδίαση μπορούμε να χτίσουμε μεγάλα πλάνα χωρίζοντας τα σε κομμάτια g n πλεονεκτήματα παρόμοια με δομημένο/αντικειμενοστραφή προγραμματισμό Είναι όμως αποδοτική από άποψη χρόνου? Ναι, γιατί μας επιτρέπει να ψάξουμε πολύ μικρότερο τμήμα του χώρου πλάνων! g Για να το καταφέρουμε αυτό απαιτούνται δύο προϋποθέσεις g 80
Ιεραρχική Σχεδίαση n Αν p είναι μια υψηλού επιπέδου (αφαιρετική) λύση τότε υπάρχει μια λύση με βασικά βήματα για την οποία το πλάνο p είναι μια αφαίρεση. Αν ισχύει αυτή η ιδιότητα τότε μόλις βρούμε μια αφαιρετική λύση μπορούμε να “κλαδέψουμε” όλα τις υπόλοιπες αφαιρετικές λύσεις από το δέντρο αναζήτησης g Ιδιότητα λύσης προς τα κάτω (downward solution property) g n Αν ένα πλάνο p δεν είναι έγκυρο τότε δεν υπάρχει καμία λύση με βασικά βήματα για την οποία το p είναι μια αφαίρεση Αν ισχύει αυτή η ιδιότητα μπορούμε να “κλαδέψουμε” όλους τους απόγονους κάθε μη έγκυρου πλάνου g Ιδιότητα λύσης προς τα πάνω (upward solution property) g 81
Ιεραρχική Σχεδίαση x x x x x downward solution property x x x upward solution property Λύσεις Μη έγκυρα πλάνα x Πλάνα που “κλαδεύονται” 82
Παράδειγμα n n Ένα φτωχό ζευγάρι έχει μόνο δύο πολύτιμα πράγματα. Ο άντρας έχει ένα χρυσό ρολόι και γυναίκα ένα χρυσό βραχιόλι. Ο καθένας θέλει να αγοράσει δώρα για να κάνει τον άλλον ευτυχισμένο Αρχικό πρόβλημα Start Happy(He) Watch Bracelet Happy(She) Watch Bracelet n Μη έγκυρο πλάνο υψηλού επιπέδου Finish Give Necklace ¬Watch Necklace Happy(She) Start Finish Watch Bracelet Give Chain ¬Bracelet Chain Happy(He) 83
Παράδειγμα n Watch Bracelet Διάσπαση σε μια έγκυρη λύση Necklace Owe(Watch) Watch Give Necklace Happy(She) (On Credit) Deliver Watch ¬Owe(Watch) Finish Start Watch Bracelet Give Chain (On Credit) Chain Owe(Bracelet ) Happy(He) Bracelet Deliver Bracelet ¬Owe(Bracelet) 84
Ιεραρχική Σχεδίαση n Η ιδιότητα λύσης προς τα πάνω ισχύει πάντα αν κάθε διάσπαση ικανοποιεί την συνθήκη μοναδικής κύριας υπό-ενέργειας (main subaction condition): g n Πρέπει να υπάρχει ένα συγκεκριμένο βήμα του διασπασμένου πλάνου στο οποίο συνδέονται όλες οι προϋποθέσεις και τα αποτελέσματα του τελεστή που διασπάται Προ-επεξεργασία (preprocessing) των μεθόδων διάσπασης για να έρθουν σε μορφή που ικανοποιεί την συνθήκη μοναδικής κύριας υπόενέργειας 85
Προσεγγιστική Ιεραρχία n Η ιεραρχική σχεδίαση όπως την ορίσαμε δεν πρέπει να συγχέεται με την προσεγγιστική ιεραρχία (approximation hierarchy) g Προσεγγιστική ιεραρχία είναι μια μορφή σχεδίασης ενεργειών όπου οι προϋποθέσεις των τελεστών χωρίζονται ανάλογα με το πόσο κρίσιμες είναι g Op(ACTION: Buy(x), EFECT: Have(x) ¬Have(Money) PRECOND: 1: Sells(store, x) 2: At(store) 3: Have(Money)) 86
0b56f580998f44464bb145b49fd28bc3.ppt