920 likes | 1.04k Views
Σχεδιασμοσ (Planning ). ..και εφαρμογές σε video games!. Ευχαριστίες. Όλες οι διαφάνειες για την ενότητα «Σχεδιασμός Ενεργειών» έχουν γραφτεί από τον Σταύρο Βάσσο ( http://stavros.lostre.org/ ) που δίδασκε αυτό το τμήμα του μαθήματος μέχρι πέρυσι.
E N D
Σχεδιασμοσ (Planning) ..και εφαρμογές σε video games!
Ευχαριστίες • Όλες οι διαφάνειες για την ενότητα «Σχεδιασμός Ενεργειών» έχουν γραφτεί από τον Σταύρο Βάσσο (http://stavros.lostre.org/) που δίδασκε αυτό το τμήμα του μαθήματος μέχρι πέρυσι. • Στη φετινή έκδοση, οι διαφάνειες έχουν ελάχιστα τροποποιηθεί από τον διδάσκοντα.
Σχεδιασμός (Planning) • Τυπική περιγραφή ενός προβλήματος σχεδιασμού : • Αρχική κατάσταση • Στόχος • Διαθέσιμες ενέργειες • Τυπική λύση ενός προβλήματος σχεδιασμού: • Μια ακολουθία ενεργειών η οποία όταν εκτελεστεί στην αρχική κατάσταση καταλήγει σε μια κατάσταση που ικανοποιεί το στόχο. • Σχεδιασμός: Η αυτοματοποιημένη εύρεση λύσης.
Τι είναι ένα πρόβλημα σχεδιασμού; • Ας αρχίσουμε με ένα απλό παράδειγμα • The Sokoban puzzle (http://en.wikipedia.org/wiki/Sokoban)
Τι είναι ένα πρόβλημα σχεδιασμού; • Δίνονται: • Αρχική κατάσταση
Τι είναι ένα πρόβλημα σχεδιασμού; • Δίνονται: • Αρχική κατάσταση • Στόχος
Τι είναι ένα πρόβλημα σχεδιασμού; • Δίνονται: • Αρχική κατάσταση • Στόχος • Διαθέσιμες ενέργειες
Τι είναι ένα πρόβλημα σχεδιασμού; • Δίνονται: • Αρχική κατάσταση • Στόχος • Διαθέσιμες ενέργειες • Ζητείται: • Μια ακολουθία ενεργειών που ικανοποιεί το στόχο • Πχ: [Αριστερά,Κάτω,Αριστερά,Πάνω,…]
Τι είναι ένα πρόβλημα σχεδιασμού; • Δίνονται: • Αρχική κατάσταση • Στόχος • Διαθέσιμες ενέργειες • Ζητείται: • Μια ακολουθία ενεργειών που ικανοποιεί το στόχο • Μια μέθοδος που βρίσκει λύση για κάθεαρχική κατάσταση και στόχο
Τι είναι ένα πρόβλημα σχεδιασμού; • Δίνονται: • Αρχική κατάσταση • Στόχος • Διαθέσιμες ενέργειες • Ζητείται: • Μια ακολουθία ενεργειών που ικανοποιεί το στόχο • Μια μέθοδος που βρίσκει λύση για κάθεπεδίο εφαρμογής
Σχεδιασμός: πραγματικές εφαρμογές • Σχεδιασμός μονοπατιών (Path planning) • NASA’s Mars ExplorationRover
Σχεδιασμός: πραγματικές εφαρμογές • Σχεδιασμός μονοπατιών (Path planning) • Video Games!
Σχεδιασμός: πραγματικές εφαρμογές • Σχεδιασμός μονοπατιών (Path planning) • Video Games!
Σχεδιασμός: πραγματικές εφαρμογές • Πολλαπλοί στόχοι και χρονοδρομολόγηση (Scheduling) • Hubble Space Telescope
Σχεδιασμός: πραγματικές εφαρμογές • KIVA Robots: αυτόματη ταξινόμηση παραγγελιών με τη χρήση μετακινούμενωνδιαδρόμων σε αποθήκες. youtube link
Σχεδιασμός: πραγματικές εφαρμογές • Πράκτορες με δυνατότητες σχεδιασμού για τον καθορισμό της γενικότερης συμπεριφοράς τους(Proactive Agents/Cognitive Robots) • UAVs, DARPA Grand/Urban Challenge, Honda ASIMO
Κλασικός σχεδιασμός (Classical planning) • Υποθέσεις: το περιβάλλον είναι πλήρως παρατηρήσιμο, αιτιοκρατικό, στατικό και διακριτό. • Τυπική περιγραφή του προβλήματος: • Αρχική κατάσταση • Στόχος • Διαθέσιμες ενέργειες
Τι θα δούμε στα επόμενα μαθήματα • Ενότητα 11.1: Απλές γλώσσες αναπαράστασης προβλημάτων σχεδιασμού με βάση τη STRIPS • Ενότητα 11.2: Προς τα εμπρός αναζήτηση, προς τα πίσω αναζήτηση, ευρετικοί μηχανισμοί • Ενότητα 11.4: Γραφήματα σχεδιασμού • Ανάπτυξη AI για χαρακτήρες (Non-Player Characters) και εφαρμογές σχεδιασμού σε video games • Άλλες τεχνικές σχεδιασμού επιγραμματικά • Σχεδιασμός με λογική, Ιεραρχικά δίκτυα εργασιών, Υπο συνθήκη σχεδιασμός, Εισαγωγή στη γλώσσα ανάπτυξης πρακτόρων Golog, ... • Planning Domain Description Language (PDDL) • Χρήση ενός award-winning planner
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Παράδειγμα από τον κόσμο των κύβων (Blocks world) • Αρχική κατάσταση:s0 • Στόχος:g • Διαθέσιμες ενέργειες: μετακίνησηενός κύβου • από το τραπέζι στην κορυφή μιας στοίβας κύβων • από την κορυφή μιας στοίβας κύβων στο τραπέζι • από την κορυφή μιας στοίβας κύβων σε μια άλλη στοίβα κύβων Α Β Β Γ Γ Α s0 g
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Αρχική κατάσταση • Αναπαράσταση των ιδιοτήτων της κατάστασης με λεκτικά πρώτης τάξης (first order logic literals) • Λεκτικά για τον κόσμο των κύβων • Επί(b,x): • το b βρίσκεται πάνω από το x, όπου x κάποιος άλλος κύβος ή το τραπέζι • Καθαρό(x): • το x είναι ελεύθερο για να τοποθετηθεί πάνω του ένας κύβος Β Γ Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) s0
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Αρχική κατάσταση • Αναπαράσταση των ιδιοτήτων της αρχικής κατάστασης με λεκτικά πρώτης τάξης (first order logic literals) • Βασικά (ground) και χωρίς συναρτήσεις (function-free) • Πλήρως ορισμένη κατάσταση με βάσητην υπόθεση κλειστού κόσμου (closed-world assumption) Β Γ Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) s0
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Αρχική κατάσταση • Υπόθεση κλειστού κόσμου (closed-world assumption) • Οι συνθήκες που δεν αναφέρονται στην περιγραφή της κατάστασης θεωρούνται ότι είναι ψευδείς. Επί(Α,Α) Επί(Α,Β) Επί(Α,Γ) Επί(Β,Α) Επί(Β,Β) Επί(Β,Γ) Επί(Γ,Α) Επί(Γ,Β) Επί(Γ,Γ) Επί(Α,Α) Επί(Α,Β) Επί(Α,Γ) Επί(Τραπέζι,Α) Επί(Τραπέζι,Β) Επί(Τραπέζι,Γ) Επί(Τραπέζι,Τραπ) Καθαρό(Τραπέζι) Β Γ Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) s0
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Στόχος • Αναπαράσταση των ιδιοτήτων της τελικής κατάστασης με λεκτικά πρώτης τάξης (first order logic literals) • Βασικά (ground) και χωρίς συναρτήσεις (function-free) • Μερικώς καθορισμένη κατάσταση:Μια κατάστασηsικανοποιεί τον στόχο gαν περιέχει όλα τα λεκτικά του g (και πιθανώς και άλλα επιπλέον λεκτικά) Α Β Γ Επί(Α,Β) Επί(Β,Γ) g
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Η αρχική κατάσταση και ο στόχος του σχεδιασμού περιγράφονται με λεκτικά τα οποία είναι: • βασικά • χωρίς συναρτήσεις • θετικά • *(εννοείται η σύζευξη των λεκτικών) Α Β Β Γ Γ Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) Επί(Α,Β) Επί(Β,Γ) s0 g
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Διαθέσιμες ενέργειες • από το τραπέζι στην κορυφή μιας στοίβας κύβων • από την κορυφή μιας στοίβας κύβων στο τραπέζι • από την κορυφή μιας στοίβας κύβων σε μια άλλη στοίβα κύβων Β Γ Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) s0
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Διαθέσιμες ενέργειες • από το τραπέζι στην κορυφή μιας στοίβας κύβων • από την κορυφή μιας στοίβας κύβων στο τραπέζι • από την κορυφή μιας στοίβας κύβων σε μια άλλη στοίβα κύβων Β Β Γ Γ Α Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) ??? Μετακίνηση(Β,Τραπέζι,Γ) s0 s1
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Για να περιγράψουμε μια διαθέσιμη ενέργεια, χρησιμοποιούμε ένα σχήμα ενεργειών (action schema) το οποίο αποτελείται από τα εξής: • Το όνομα της ενέργειας και τη λίστα παραμέτρων • Προϋποθέσεις (preconditions): λεκτικά που δηλώνουν τι θα πρέπει να αληθεύει ώστε η ενέργεια να είναι εφαρμόσιμη. • Επιδράσεις (effects): λεκτικά που περιγράφουν τον τρόπο με τον οποίο αλλάζει η κατάσταση
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Παράδειγμα από τον κόσμο των κύβων: • Όνομα ενέργειας και λίστα παραμέτρων • Μετακίνηση(b,x,y) • Προϋποθέσεις: • Επί(b,x) • Καθαρό(b) • Καθαρό(y) • Επιδράσεις: • Επί(b,y) • Καθαρό(x) • Επί(b,x) • Καθαρό(y)
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Πως εφαρμόζεται μια ενέργεια; • Παράδειγμα: Μετακίνηση(b,x,y) • Μια ενέργεια είναι εφαρμόσιμη σε οποιαδήποτε κατάσταση ικανοποιεί τις προυποθέσεις της όπως αυτές προκύπτουν από μια αντικατάσταση των παραμέτρων της από σταθερές που εμφανίζονται στα λεκτικά της κατάστασης Β Γ Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ)
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Παράδειγμα: Για την ενέργεια Μετακίνηση(b,x,y) και την αντικατάσταση { b/Β, x/Τραπέζι,y/Γ } έχουμε: Μετακίνηση(Β,Τραπέζι,Γ) • Προϋποθέσεις: • Επί(Β,Τραπέζι) • Καθαρό(Β) • Καθαρό(Γ) • Επιδράσεις: • Επί(Β,Γ) • Καθαρό(Τραπέζι) • Επί(Β,Τραπέζι) • Καθαρό(Γ) Β Β Γ Γ Α Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) ??? οκ! οκ! οκ! Μετακίνηση(Β,Τραπέζι,Γ) s0 s1
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Το αποτέλεσμα της εκτέλεσης μιας εφαρμόσιμης ενέργειας aσε μια κατάσταση s0είναι μια νέα κατάσταση s1η οποία είναι ίδια με την s0με την διαφορά ότι: • τα θετικά λεκτικα που υπάρχουν στις επιδράσεις της aέχουνπροστεθεί στην s0 και • τα αρνητικά λεκτικά που υπάρχουν στις επιδράσεις της aέχουν αφαιρεθεί από την s0 Β Β Γ Γ Α Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) ???
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Υπόθεση STRIPS: • Τα θετικά λεκτικά που υπάρχουν στην κατάσταση s0 δεν προστίθενται για δεύτερη φορά. • Αν μια αρνητική επίδραση δεν υπάρχει στην κατάσταση s0 αυτή παραβλέπεται. • Αυτή είναι η λύση που δίνει η γλώσσα STRIPS στο πρόβλημα του πλαισίου αναπαράστασης (representational frame problem): • Πως παριστάνουμε τυπικά όλα τα χαρακτηριστικά του κόσμου που δεν αλλάζουν όταν εκτελούμε μια ενέργεια;
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Όλα τα προηγούμενα μας δίνουν ουσιαστικά τη σημασιολογία της γλώσσας STRIPS.
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Παράδειγμα: • Ενέργεια: • Μετακίνηση(Β,Τραπέζι,Γ) • Προϋποθέσεις: • Επί(Β,Τραπέζι) • Καθαρό(Β) • Καθαρό(Γ) • Επιδράσεις: • Επί(Β,Γ) • Καθαρό(Τραπέζι) • Επί(Β,Τραπέζι) • Καθαρό(Γ) Β Β Γ Γ Α Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) Επί(Α,Τραπέζι) Επί(Β,Γ) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Τραπ.) - + - + + + Μετακίνηση(Β,Τραπέζι,Γ) - s0 s1 -
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Συνεχίζοντας το παράδειγμα • Ενέργεια: • Μετακίνηση(Γ,Τραπέζι,Α) • Προϋποθέσεις: • Επί(b,x) • Καθαρό(b) • Καθαρό(y) • Επιδράσεις: • Επί(b,y) • Καθαρό(x) • Επί(b,x) • Καθαρό(y) ??? Β Γ Α Επί(Α,Τραπέζι) Επί(Β,Γ) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Τραπ.) ??? Μετακίνηση(Γ,Τραπέζι,Α) s1 s2
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Η ενέργεια Μετακίνηση(Γ,Τραπέζι,Α) είναι μη εφαρμόσιμη • Προϋποθέσεις: • Επί(Γ,Τραπέζι) • Καθαρό(Γ) • Καθαρό(Α) • Επιδράσεις: • Επί(Γ,Α) • Καθαρό(Τραπέζι) • Επί(Γ,Τραπέζι) • Καθαρό(Α) ??? Β Γ Α Επί(Α,Τραπέζι) Επί(Β,Γ) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Τραπ.) ??? οκ! Χ οκ! Μετακίνηση(Γ,Τραπέζι,Α) s1 s2
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Η ενέργεια Μετακίνηση(Α,Τραπέζι,Β)είναι εφαρμόσιμη • Προϋποθέσεις: • Επί(Α,Τραπέζι) • Καθαρό(Α) • Καθαρό(Β) • Επιδράσεις: • Επί(Α,Β) • Καθαρό(Τραπέζι) • Επί(Α,Τραπέζι) • Καθαρό(Β) Α Β Β Γ Γ Α Επί(Α,Τραπέζι) Επί(Β,Γ) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Τραπ.) ??? οκ! οκ! οκ! Μετακίνηση(Α,Τραπέζι,Β) s1 s2
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Αποτέλεσμα της Μετακίνηση(Α,Τραπέζι,Β) • Προϋποθέσεις: • Επί(Α,Τραπέζι) • Καθαρό(Α) • Καθαρό(Β) • Επιδράσεις: • Επί(Α,Β) • Καθαρό(Τραπέζι) • Επί(Α,Τραπέζι) • Καθαρό(Β) Α Β Β Γ Γ Α + - Επί(Α,Τραπέζι) Επί(Β,Γ) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Τραπ.) Επί(Α,Β) Επί(Β,Γ) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Τραπ.) - + + + + Μετακίνηση(Α,Τραπέζι,Β) - - s1 s2 - -
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Πότε έχουμε φτάσει στον στόχο μας; • Θυμηθείτε: • Μια κατάστασηsικανοποιεί τον στόχο g αν περιέχει όλα τα λεκτικά του g (και πιθανώς και άλλα επιπλέον λεκτικά).
11.1 Σχεδιασμός με τη γλώσσα STRIPS Α Β Β Β Γ Γ Γ Α Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) Επί(Α,Τραπέζι) Επί(Β,Γ) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Τραπ.) Επί(Α,Β) Επί(Β,Γ) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Τραπ.) Μετακ.(Β,Τραπέζι,Γ) Μετακ.(Α,Τραπέζι,Β) s0 s1 s2
11.1 Σχεδιασμός με τη γλώσσα STRIPS Α Α Β Β Β Β Γ Γ Γ Γ Α Α Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ) Επί(Α,Τραπέζι) Επί(Β,Γ) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Τραπ.) Επί(Α,Β) Επί(Β,Γ) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Τραπ.) Επί(Α,Β) Επί(Β,Γ) Μετακ.(Β,Τραπέζι,Γ) Μετακ.(Α,Τραπέζι,Β) s0 s1 s2 g οκ!
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Το παράδειγμα του κόσμου των κύβων γραμμένο τυπικά σε STRIPS: • Init(Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ)) • Goal(Επί(Α,Β) Επί(Β,Γ) ) • Action( Μετακίνηση(b,x,y), ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x)Καθαρό(b)Καθαρό(y) ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y)Καθαρό(x)Επί(b,x)Καθαρό(y) )
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Το προηγούμενο σχήμα ενεργειών έχει τα εξής προβλήματα: • Όταν x=Τραπέζι τότε η ενέργεια έχει επίδραση Καθαρό(Τραπέζι) αλλά το τραπέζι δεν πρέπει να είναι καθαρό. • Όταν y=Τραπέζι τότε η ενέργεια έχει την προυπόθεση Καθαρό (Τραπέζι) αλλά το τραπέζι δεν χρειάζεται να είναι καθαρό για να βάλουμε πάνω του ένα κύβο. • Τα προβλήματα αυτά λύνονται ως εξής: • Εισάγοντας μια άλλη ενέργεια ΜετακίνησηΣτοΤραπέζι(b,x) για την μετακίνηση ενός κύβου b από το x στο τραπέζι. • Αλλάζοντας την ερμηνεία του Καθαρό(b) σε «υπάρχει κενός χώρος στο b για την τοποθέτηση ενός κύβου».
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Νέα έκδοση: • Init(Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ)) • Goal(Επί(Α,Β) Επί(Β,Γ) ) • Action( Μετακίνηση(b,x,y), ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x)Καθαρό(b)Καθαρό(y) ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y)Καθαρό(x)Επί(b,x)Καθαρό(y) ) • Action( ΜετακίνησηΣτοΤραπέζι(b,x), ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x)Καθαρό(b) ΕΠΙΔΡΑΣΕΙΣ: Επί(b,Τραπέζι)Καθαρό(x)Επί(b,x) )
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Με την νέα έκδοση εξακολουθεί να υπάρχει η δυνατότητα χρήσης της ενέργειας Μετακίνηση(b,x,Τραπέζι). • Τα πρόβλημα αυτό λύνεται εισάγοντας ένα νέο κατηγόρημα Κύβος(.) και τις προυποθέσεις Κύβος(b) και Κύβος(y) στην ενέργεια Μετακίνηση.
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Ένα άλλο πρόβλημα που υπάρχει είναι η χρήση «ψευδοενεργειών» π.χ. Μετακίνηση(Β,Γ,Γ). • Το πρόβλημα αυτό λύνεται εισάγοντας περιορισμούς ανισότητας για κάθε ζευγάρι ορισμάτων στις προυποθέσεις των δύο ενεργειών.
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Init(Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ)) • Goal(Επί(Α,Β) Επί(Β,Γ) ) • Action( Μετακίνηση(b,x,y), ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x)Καθαρό(b)Καθαρό(y) ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y)Καθαρό(x)Επί(b,x)Καθαρό(y) ) • Action( ΜετακίνησηΣτοΤραπέζι(b,x), ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x)Καθαρό(b) ΕΠΙΔΡΑΣΕΙΣ: Επί(b,Τραπέζι)Καθαρό(x)Επί(b,x) ) ! Οι μεταβλητές που εμφανίζονται στις προϋποθέσεις και επιδράσεις πρέπει να εμφανίζονται ως ορίσματα της ενέργειας
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Init(Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ)) • Goal(Επί(Α,Β) Επί(Β,Γ) ) • Action( Μετακίνηση(b,x,y), ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x)Καθαρό(b)Καθαρό(y) ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y)Καθαρό(x)Επί(b,x)Καθαρό(y) ) • Action( ΜετακίνησηΣτοΤραπέζι(b,x), ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x)Καθαρό(b) ΕΠΙΔΡΑΣΕΙΣ: Επί(b,Τραπέζι)Καθαρό(x)Επί(b,x) ) ! Οι μεταβλητές που εμφανίζονται στις προϋποθέσεις και επιδράσεις πρέπει να εμφανίζονται ως ορίσματα της ενέργειας
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Init(Επί(Α,Τραπέζι) Επί(Β,Τραπέζι) Επί(Γ,Τραπέζι) Καθαρό(Α) Καθαρό(Β) Καθαρό(Γ)) • Goal(Επί(Α,Β) Επί(Β,Γ) ) • Action( Μετακίνηση(b,x,y), ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x)Καθαρό(b)Καθαρό(y) ΕΠΙΔΡΑΣΕΙΣ: Επί(b,y)Καθαρό(x)Επί(b,x)Καθαρό(y) ) • Action( ΜετακίνησηΣτοΤραπέζι(b,x), ΠΡΟΫΠΟΘΕΣΕΙΣ: Επί(b,x)Καθαρό(b) ΕΠΙΔΡΑΣΕΙΣ: Επί(b,Τραπέζι)Καθαρό(x)Επί(b,x) ) ! Οι μεταβλητές που εμφανίζονται στις προϋποθέσεις και επιδράσεις πρέπει να εμφανίζονται ως ορίσματα της ενέργειας
11.1 Σχεδιασμός με τη γλώσσα STRIPS • Υπάρχουν και άλλες γνωστές γλώσσες για τον σχεδιασμό ενεργειών και την συλλογιστική ενεργειών (reasoning about action) • Από το 1971 που προτάθηκε η STRIPS από τους R. E. Fikesκαι N. J. Nilsson έχουν αναπτυχθεί άλλες πολύ πιο εκφραστικές γλώσσες. • H γλώσσα ADL που προτάθηκε το 1988 από τον Edwin P. D. Pednault βασίζεται στη STRIPS, επιτρέπει όμως καταστάσεις ανοικτού κόσμου, ενέργειες με επιδράσεις υπό περίπτωση, ποσοδείκτες, ισότητα και άλλα. • O λογισμός καταστάσεων (situation calculus)όπως παρουσιάστηκε τον 1991 από τον Ray Reiter (και από τους John McCarthy, Patrick J. Hayes πολύ νωρίτερα) υποστηρίζει πλήρη συμπερασμό στη λογική πρώτης τάξης. • Action languages A, fluent calculus, event calculus, …