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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Advertisements

Αλγόριθμοι σχεδίασης βασικών 2D σχημάτων (ευθεία)
Γραφήματα & Επίπεδα Γραφήματα
Κατηγορηματικός Λογισμός
«Κυβερνητικές προτάσεις για το Ασφαλιστικό» © VPRC – Μάρτιος / Δ.1 © VPRC – Μάρτιος 2008 ΚΥΒΕΡΝΗΤΙΚΕΣ ΠΡΟΤΑΣΕΙΣ ΓΙΑ ΤΟ ΑΣΦΑΛΙΣΤΙΚΟ.
Βασικές έννοιες αλγορίθμων
45 μαθήματα ζωής Norvegija – Šiaurės pašvaistė Music: snowdream
ΚΑΘΟΡΙΣΜΟΣ ΚΑΙ ΚΑΤΑΝΟΗΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ
ΜοντελοποίησηΈργα ΜαθήματαΑξιολόγηση Αναστοχασμος Μαθήματα.
Ανάλυση Πολλαπλής Παλινδρόμησης
Πιθανοκρατικοί Αλγόριθμοι
Ασκήσεις Συνδυαστικής
Τα στοιχειώδη περί γεωδαιτικών υπολογισμών
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
ΣΧΕΔΙΑΣΜΟΣ (PLANNING)..και εφαρμογές σε video games! Τεχνητή Νοημοσύνη ΙΙ Εαρινό Εξάμηνο
Ανάλυση του λευκού φωτός και χρώματα
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
+21 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Δεκέμβριος 2013 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Αλγόριθμοι και Πολυπλοκότητα
Αναγνώριση Προτύπων.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Γραφήματα & Επίπεδα Γραφήματα
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Κ. Μόδη: Γεωστατιστική και Εφαρμογές της (Κεφάλαιο 5) 1 Τυχαία συνάρτηση Μία τυχαία συνάρτηση (ΤΣ) είναι ένας κανόνας με τον οποίο σε κάθε αποτέλεσμα ζ.
Αξιολόγηση ΜοντελοποίησηΈργα ΜαθήματαΑξιολόγηση Αναστοχασμός.
1 AYTOΣ Ο ΠΛΑΝΗΤΗΣ ΕΙΝΑΙ ΠΟΛΥ ΕΝΔΙΑΦΕΡΩΝ ΤΟΠΟΣ ΓΙΑ ΝΑ ΖΕΙ ΚΑΝΕΙΣ….
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Προσεγγιστικοί Αλγόριθμοι
ΑΠΕΙΚΟΝΙΣΗ ΕΝΝΟΙΩΝ 1. 2 Χρήστης Στόχος Ταμίας διενέργεια πώλησης διενέργεια ενοικίασης εισαγωγή ταμείου εξαγωγή ταμείου * 1 Μοντέλο Πεδίου Προβλήματος.
Βάσεις Δεδομένων II Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Σεπτέμβρης 2002
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Ηλεκτρονική Ενότητα 5: DC λειτουργία – Πόλωση του διπολικού τρανζίστορ
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Μεταθέσεις & Συνδυασμοί
Dr. Holbert Νικ. Α. Τσολίγκας Χρήστος Μανασής
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
Σέρρες,Ιούνιος 2009 Τίτλος: Αυτόματος έλεγχος στο Scilab: Ανάπτυξη πακέτου για εύρωστο έλεγχο. Ονοματεπώνυμο Σπουδάστριας: Ευαγγελία Δάπκα Επιβλέπων Καθηγητής.
Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης
2-1 Ανάλυση Αλγορίθμων Αλγόριθμος Πεπερασμένο σύνολο εντολών που, όταν εκτελεστούν, επιτυγχάνουν κάποιο επιθυμητό αποτέλεσμα –Δεδομένα εισόδου και εξόδου.
1 Νέα Θεωρία Μεγέθυνσης Ενδογενής μεγέθυνση. 2 Συνάρτηση παραγωγής προϊόντος Υ t = Y(K, L, A) Y t = [(1-α k )·K t ] α · [(1-α L )·A t ·L t ] 1-α 0
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
Τεχνολογία ΛογισμικούSlide 1 Εξειδίκευση Βασισμένη σε Μοντέλο u Τυπική εξειδίκευση λογισμικού με ανάπτυξη μαθηματικού μοντέλου για το σύστημα.
Σχεδιασμός ενεργειών. Προβλήματα σχεδιασμού ενεργειών Στα προβλήματα σχεδιασμού ενεργειών δίδονται –Η αρχική κατάσταση του κόσμου –Η επιθυμητή τελική.
Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
Επίλυση Προβλημάτων με Αναζήτηση
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Προβλήματα Ικανοποίησης Περιορισμών
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Η ΕΝΝΟΙΑ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ
Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αναπαράσταση Ενεργειών στο 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) Μια ενέργεια μπορεί να περιλαμβάνει μεταβλητές Οπότε λέγεται σχήμα ενέργειας και αντιστοιχεί σε μια “οικογένεια” ενεργειών ΤΜΗΜΑ ΜΠΕΣ

Ενέργειες στο 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} ΤΜΗΜΑ ΜΠΕΣ

Ενέργειες στο 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, αγνοείται ό,τι δεν αναφέρεται στα αποτελέσματα παραμένει ως έχει ΤΜΗΜΑ ΜΠΕΣ

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

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

Αποτελέσματα ανάλογα των Συνθηκών Τελεστές με αποτελέσματα ανάλογα των συνθηκών (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)) ΤΜΗΜΑ ΜΠΕΣ

Αποτελέσματα ανάλογα των Συνθηκών Μπορούμε να αντικαταστήσουμε τους δύο τελεστές για το 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 ΤΜΗΜΑ ΜΠΕΣ

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

Καθολικοί Ποσοδείκτες Οι καθολικοί ποσοδείκτες σε προϋποθέσεις τελεστών κάνουν τα πράγματα πιο εύκολα π.χ. Αντί για 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)) ΤΜΗΜΑ ΜΠΕΣ

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) ΤΜΗΜΑ ΜΠΕΣ

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) ΤΜΗΜΑ ΜΠΕΣ

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

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

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

Αναζήτηση στο Χώρο Καταστάσεων 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) ΤΜΗΜΑ ΜΠΕΣ

Παράδειγμα 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)) ΤΜΗΜΑ ΜΠΕΣ

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

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

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

Παράδειγμα Θεωρήστε το πρόβλημα “να φορέσω ένα ζευγάρι παπούτσια” Ο στόχος είναι 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) ΤΜΗΜΑ ΜΠΕΣ

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

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

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

Παράδειγμα Το αρχικό πλάνο έχει δύο βήματα 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 ΤΜΗΜΑ ΜΠΕΣ

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

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

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

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

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

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

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

Παράδειγμα Πρόβλημα: “Απέκτησε ένα μπουκάλι γάλα, ένα κιλό μπανάνες κι ένα τρυπάνι” Αρχική Κατάσταση 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) ) ΤΜΗΜΑ ΜΠΕΣ

Παράδειγμα Ενέργειες 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 ΤΜΗΜΑ ΜΠΕΣ

Παράδειγμα 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 ΤΜΗΜΑ ΜΠΕΣ

Παράδειγμα 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 ΤΜΗΜΑ ΜΠΕΣ

Παράδειγμα 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 ΤΜΗΜΑ ΜΠΕΣ

Παράδειγμα – Αδιέξοδο 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 ΤΜΗΜΑ ΜΠΕΣ

Παράδειγμα – Οπισθοδρόμηση 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 ΤΜΗΜΑ ΜΠΕΣ

Παράδειγμα 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 ΤΜΗΜΑ ΜΠΕΣ

Παράδειγμα 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 ΤΜΗΜΑ ΜΠΕΣ

Αλγόριθμος Σχεδιασμού Μερικής Διάταξης 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 ΤΜΗΜΑ ΜΠΕΣ

Αλγόριθμος Σχεδιασμού Μερικής Διάταξης 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) ΤΜΗΜΑ ΜΠΕΣ

Αλγόριθμος Σχεδιασμού Μερικής Διάταξης 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 ΤΜΗΜΑ ΜΠΕΣ

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

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

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

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

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

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

Παράδειγμα: Ο Κόσμος των Κύβων Κωδικοποίησε του τελεστές 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)) ΤΜΗΜΑ ΜΠΕΣ

Παράδειγμα: Ο Κόσμος των Κύβων Αρχική Κατάσταση Υπάρχουν οι κύβοι Α, Β, 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 ΤΜΗΜΑ ΜΠΕΣ

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

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

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

Επέκταση της 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 } ) ) ΤΜΗΜΑ ΜΠΕΣ

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

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

Τροποποίηση του Αλγορίθμου Σχεδιασμού 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 ΤΜΗΜΑ ΜΠΕΣ

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

Παράδειγμα 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 ΤΜΗΜΑ ΜΠΕΣ

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

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

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

Παράδειγμα Ένα φτωχό ζευγάρι έχει μόνο δύο πολύτιμα πράγματα. Ο άντρας έχει ένα χρυσό ρολόι και γυναίκα ένα χρυσό βραχιόλι. Ο καθένας θέλει να αγοράσει δώρα για να κάνει τον άλλον ευτυχισμένο 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) ΤΜΗΜΑ ΜΠΕΣ

Παράδειγμα Διάσπαση σε μια έγκυρη λύση 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 ΤΜΗΜΑ ΜΠΕΣ

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

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