Τεχνθτι Νοθμοςφνθ ΙΙ stavrosv@di.uoa.gr Μάρτιοσ 2012 ΣΧΕΔΙΣΜΟΣ (PLANNING)..και εφαρμογζσ ςε video games!
Σχεδιαςμόσ (Planning) 2 Τυπικι περιγραφι ενόσ προβλιματοσ ςχεδιαςμοφ : ρχικι κατάςταςθ Στόχοσ Διακζςιμεσ ενζργειεσ Τυπικι λφςθ ενόσ προβλιματοσ ςχεδιαςμοφ: Μια ακολουκία ενεργειϊν θ οποία όταν εκτελεςτεί ςτθν αρχικι κατάςταςθ καταλιγει ςε μια κατάςταςθ που ικανοποιεί το ςτόχο. Σχεδιαςμόσ: Θ αυτοματοποιθμζνθ εφρεςθ λφςθσ.
Τι είναι ζνα πρόβλθμα ςχεδιαςμοφ; 3 σ αρχίςουμε με ζνα απλό παράδειγμα..
Τι είναι ζνα πρόβλθμα ςχεδιαςμοφ; 4 Δίνονται: ρχικι κατάςταςθ
Τι είναι ζνα πρόβλθμα ςχεδιαςμοφ; 5 Δίνονται: ρχικι κατάςταςθ Στόχοσ
Τι είναι ζνα πρόβλθμα ςχεδιαςμοφ; 6 Δίνονται: ρχικι κατάςταςθ Στόχοσ Διακζςιμεσ ενζργειεσ
Τι είναι ζνα πρόβλθμα ςχεδιαςμοφ; 7 Δίνονται: ρχικι κατάςταςθ Στόχοσ Διακζςιμεσ ενζργειεσ Ηθτείται: Μια ακολουθία ενεργειών που ικανοποιεί το ςτόχο Ρχ: *ριςτερά,κάτω,ριςτερά,πάνω, ]
Τι είναι ζνα πρόβλθμα ςχεδιαςμοφ; 8 Δίνονται: ρχικι κατάςταςθ Στόχοσ Διακζςιμεσ ενζργειεσ Ηθτείται: Μια ακολουθία ενεργειών που ικανοποιεί το ςτόχο Μια μζθοδοσ που βρίςκει λφςθ για κάθε αρχικι κατάςταςθ και ςτόχο
Τι είναι ζνα πρόβλθμα ςχεδιαςμοφ; 9 Δίνονται: ρχικι κατάςταςθ Στόχοσ Διακζςιμεσ ενζργειεσ Ηθτείται: Μια ακολουθία ενεργειών που ικανοποιεί το ςτόχο Μια μζθοδοσ που βρίςκει λφςθ για κάθε πεδίο εφαρμογισ
Σχεδιαςμόσ: πραγματικζσ εφαρμογζσ 10 Σχεδιαςμόσ μονοπατιϊν (Path planning) NASA s Mars Exploration Rover
Σχεδιαςμόσ: πραγματικζσ εφαρμογζσ 11 Σχεδιαςμόσ μονοπατιϊν (Path planning) Video Games!
Σχεδιαςμόσ: πραγματικζσ εφαρμογζσ 12 Σχεδιαςμόσ μονοπατιϊν (Path planning) Video Games!
Σχεδιαςμόσ: πραγματικζσ εφαρμογζσ 13 Ρολλαπλοί ςτόχοι και χρονοδρομολόγθςθ (Scheduling) Hubble Space Telescope
Σχεδιαςμόσ: πραγματικζσ εφαρμογζσ 14 KIVA Robots: αυτόματθ ταξινόμθςθ παραγγελειϊν με τθ χριςθ μετακινοφμενων διαδρόμων ςε αποκικεσ. youtube link
Σχεδιαςμόσ: πραγματικζσ εφαρμογζσ 15 Ρράκτορεσ με δυνατότθτεσ ςχεδιαςμοφ για τον κακοριςμό τθσ γενικότερθσ ςυμπεριφοράσ τουσ (Proactive Agents/ Cognitive Robots) UAV DARPA Grand/Urban Challenge, Honda ASIMO
Κλαςικόσ ςχεδιαςμόσ (Classical planning) 16 Τυπικι περιγραφι του προβλιματοσ: ρχικι κατάςταςθ Στόχοσ Διακζςιμεσ ενζργειεσ
Τι κα δοφμε ςτα επόμενα μακιματα 17 Ενότθτα 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 18 Ραράδειγμα από τον κόςμο των κφβων (Blocks world) ρχικι κατάςταςθ: s 0 Στόχοσ: g s 0 g Διακζςιμεσ ενζργειεσ: μετακίνθςθ ενόσ κφβου από το τραπζηι ςτθν κορυφι μιασ ςτοίβασ κφβων από τθν κορυφι μιασ ςτοίβασ κφβων ςτο τραπζηι από τθν κορυφι μιασ ςτοίβασ κφβων ςε μια άλλθ ςτοίβα κφβων
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 19 ρχικι κατάςταςθ ναπαράςταςθ των ιδιοτιτων τθσ κατάςταςθσ με λεκτικά πρϊτθσ τάξθσ (first order logic literals) Κόςμοσ των κφβων Επί(b,x): το b βρίςκεται πάνω από το x, όπου x κάποιοσ άλλοσ κφβοσ ι το τραπζηι Κακαρό(x): το x είναι ελεφκερο για να τοποκετθκεί πάνω του ζνασ κφβοσ Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() s 0
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 20 ρχικι κατάςταςθ ναπαράςταςθ των ιδιοτιτων τθσ αρχικισ κατάςταςθσ με λεκτικά πρϊτθσ τάξθσ (first order logic literals) αςικά (ground) και χωρίσ ςυναρτιςεισ (function-free) Πλήρωσ οριςμζνθ κατάςταςθ με βάςθ τθν υπόκεςθ κλειςτοφ κόςμου (closed-world assumption) Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() s 0
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 21 ρχικι κατάςταςθ Υπόκεςθ κλειςτοφ κόςμου (closed-world assumption) Οι ςυνκικεσ που δεν αναφζρονται ςτθν περιγραφι τθσ κατάςταςθσ κεωροφνται ότι είναι ψευδείσ! Επί(,) Επί(,) Επί(,) Επί(,) Επί(,) Επί(,) Επί(,) Επί(,) Επί(,) Επί(,) Επί(,) Επί(,) Επί(Τραπζηι,) Επί(Τραπζηι,) Επί(Τραπζηι,) Επί(Τραπζηι,Τραπ) Κακαρό(Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() s 0
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 22 Στόχοσ ναπαράςταςθ των ιδιοτιτων τθσ τελικισ κατάςταςθσ με λεκτικά πρϊτθσ τάξθσ (first order logic literals) αςικά (grounds) και χωρίσ ςυναρτιςεισ (function-free) Επί(,) Επί(,) Μερικώσ κακοριςμζνθ κατάςταςθ: Μια κατάςταςθ s ικανοποιεί τον ςτόχο g αν περιζχει όλα τα λεκτικά του g (και πικανϊσ και άλλα επιπλζον λεκτικά) g
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 23 Θ αρχικι κατάςταςθ και ο ςτόχοσ του ςχεδιαςμοφ περιγράφονται με λεκτικά τα οποία είναι: βαςικά χωρίσ ςυναρτιςεισ κετικά εννοείται θ ςφηευξθ των λεκτικϊν Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() s 0 Επί(,) Επί(,) g
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 24 Διακζςιμεσ ενζργειεσ από το τραπζηι ςτθν κορυφι μιασ ςτοίβασ κφβων από τθν κορυφι μιασ ςτοίβασ κφβων ςτο τραπζηι από τθν κορυφι μιασ ςτοίβασ κφβων ςε μια άλλθ ςτοίβα κφβων Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() s 0
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 25 Διακζςιμεσ ενζργειεσ από το τραπζηι ςτθν κορυφι μιασ ςτοίβασ κφβων από τθν κορυφι μιασ ςτοίβασ κφβων ςτο τραπζηι από τθν κορυφι μιασ ςτοίβασ κφβων ςε μια άλλθ ςτοίβα κφβων Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό()??? Μετακίνθςθ(,Τραπζηι,) s 0 s 1
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 26 Διακζςιμεσ ενζργειεσ Ρροχποκζςεισ: λεκτικά που δθλϊνουν τι κα πρζπει να αλθκεφει ϊςτε θ ενζργεια να είναι εφαρμόςιμθ. Επιδράςεισ: λεκτικά που περιγράφουν τον τρόπο με τον οποίο αλλάηει θ κατάςταςθ Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() Μετακίνθςθ(,Τραπζηι,) s 0 s 1???
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 27 Διακζςιμεσ ενζργειεσ Ρροχποκζςεισ: Επί(b,x) Κακαρό(b) Κακαρό(y) Επιδράςεισ: Επί(b,y) Κακαρό(x) Επί(b,x) Κακαρό(y) Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() Μετακίνθςθ(,Τραπζηι,) s 0 s 1???
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 28 Διακζςιμεσ ενζργειεσ Ρροχποκζςεισ: Επί(,Τραπζηι) Κακαρό() Κακαρό() Επιδράςεισ: Επί(,) Κακαρό(Τραπζηι) Επί(,Τραπζηι) Κακαρό() Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() Μετακίνθςθ(,Τραπζηι,) s 0 s 1???
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 29 Διακζςιμεσ ενζργειεσ Ρροχποκζςεισ: Επί(,Τραπζηι) Κακαρό() Κακαρό() Επιδράςεισ: Επί(,) Κακαρό(Τραπζηι) Επί(,Τραπζηι) Κακαρό() Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() Επί(,Τραπζηι) Επί(,) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό(Τραπ.) Μετακίνθςθ(,Τραπζηι,) s 0 s 1
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 30 Διακζςιμεσ ενζργειεσ Ρροχποκζςεισ: Επί(b,x) Κακαρό(b) Κακαρό(y) Επιδράςεισ: Επί(b,y) Κακαρό(x) Επί(b,x) Κακαρό(y) Επί(,Τραπζηι) Επί(,) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό(Τραπ.)?????? Μετακίνθςθ(,Τραπζηι,) s 1 s 2
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 31 Διακζςιμεσ ενζργειεσ Ρροχποκζςεισ: Επί(,Τραπζηι) Κακαρό() Κακαρό() Επιδράςεισ: Επί(,) Κακαρό(Τραπζηι) Επί(,Τραπζηι) Κακαρό() Επί(,Τραπζηι) Επί(,) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό(Τραπ.)?????? Μετακίνθςθ(,Τραπζηι,) s 1 s 2
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 32 Διακζςιμεσ ενζργειεσ Ρροχποκζςεισ: Επί(,Τραπζηι) Κακαρό() Κακαρό() Επιδράςεισ: Επί(,) Κακαρό(Τραπζηι) Επί(,Τραπζηι) Κακαρό() Επί(,Τραπζηι) Επί(,) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό(Τραπ.)??? Μετακίνθςθ(,Τραπζηι,) s 1 s 2
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 33 Διακζςιμεσ ενζργειεσ Ρροχποκζςεισ: Επί(,Τραπζηι) Κακαρό() Κακαρό() Επιδράςεισ: Επί(,) Κακαρό(Τραπζηι) Επί(,Τραπζηι) Κακαρό() Επί(,Τραπζηι) Επί(,) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό(Τραπ.) Επί(,) Επί(,) Επί(,Τραπζηι) Κακαρό() Κακαρό(Τραπ.) Μετακίνθςθ(,Τραπζηι,) s 1 s 2
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 34 Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() Επί(,Τραπζηι) Επί(,) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό(Τραπ.) Επί(,) Επί(,) Επί(,Τραπζηι) Κακαρό() Κακαρό(Τραπ.) Μετακ.(,Τραπζηι,) s 0 s 1 Μετακ.(,Τραπζηι,)s 2
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 35 Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() Επί(,Τραπζηι) Επί(,) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό(Τραπ.) Επί(,) Επί(,) Επί(,Τραπζηι) Κακαρό() Κακαρό(Τραπ.) Επί(,) Επί(,) Μετακ.(,Τραπζηι,) s 0 s 1 Μετακ.(,Τραπζηι,)s 2 g
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 36 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 37 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 38 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 39 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 40 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) )! πλοποιθμζνθ STRIPS εκδοχι του προβλιματοσ τθσ Εικόνασ 11.4
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 41 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 42 Συμπεραςμόσ ενεργειϊν (reasoning about action) πό το 1971 που προτάκθκε από τουσ 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 πολφ νωρίτερα) υποςτθρίηει πλιρθ ςυμπεραςμό πρωτοβάκμιασ τάξθσ, A languages, fluent calculus, event calculus,
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 43 STRIPS! ιατί μασ αρζςει;
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 44 STRIPS! ιατί μασ αρζςει; πλι γλϊςςα περιγραφισ προβλθμάτων ςχεδιαςμοφ Εφκολοσ υπολογιςμόσ των εφαρμόςιμων ενεργειϊν ρκεί θ λίςτα των προχποκζςεων να είναι υποςφνολο τθσ κατάςταςθσ: ΡΟΫΡΟΘΕΣΕΙΣ S Εφκολοσ υπολογιςμόσ τθσ διάδοχθσ κατάςταςθσ ρκεί να προςτεκεί θ λίςτα των κετικϊν επιδράςεων ςτθν κατάςταςθ και να αφαιρεκεί θ λίςτα των αρνθτικϊν: S = (S / ΝΘΤΙΚΕΣ-ΕΡΙΔΣΕΙΣ) ΘΕΤΙΚΕΣ-ΕΡΙΔΣΕΙΣ Εφκολοσ ζλεγχοσ αν θ κατάςταςθ ικανοποιεί το ςτόχο ρκεί ο ςτόχοσ αν είναι υποςφνολο τθσ κατάςταςθσ: G S
11.1 Σχεδιαςμόσ με τθ γλϊςςα STRIPS 45 STRIPS! ιατί μασ αρζςει; Είναι ιδθ ικανι να περιγράψει αρκετά δφςκολα προβλιματα. ασ δοφμε μερικοφσ τρόπουσ επίλυςθσ τζτοιων προβλθμάτων
11.2 ναηιτθςθ ςτο χϊρο καταςτάςεων 46 Επίλυςθ προβλιματοσ ςχεδιαςμοφ STRIPS ςαν πρόβλθμα αναηιτθςθσ ςτον χϊρο καταςτάςεων Init( Επί(,Τραπζηι) Επί(,Τραπζηι) ) Goal( Επί(,) ) Action( Μετακίνθςθ(b,x,y), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) ΕΡΙΔΣΕΙΣ: Επί(b,y) ) Action( ΜετακίνθςθΣτοΤραπζηι(b,x), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) ΕΡΙΔΣΕΙΣ: Επί(b,Τραπζηι) )
11.2 ναηιτθςθ ςτο χϊρο καταςτάςεων 47 Επίλυςθ προβλιματοσ ςχεδιαςμοφ ςαν πρόβλθμα αναηιτθςθσ ςτον χϊρο καταςτάςεων ρχικι κατάςταςθ: όπωσ περιγράφεται ςτθν Init() Ενζργειεσ: οι εφαρμόςιμεσ για κάκε κατάςταςθ όπωσ προκφπτει από τισ προχποκζςεισ ςε κάκε Action() Ζλεγχοσ ςτόχου: αν ικανοποιείται ο ςτόχοσ Goal() από τθν κατάςταςθ Ρροσ τα εμπρόσ αναηιτθςθ ςτο χϊρο των καταςτάςεων: προζλαςθ (progression planning) Ρροσ τα πίςω αναηιτθςθ ςτο χϊρο των καταςτάςεων: οπιςκοχϊρθςθ (regression planning)
11.2 Ρροζλαςθ (progression planning) 48 Ξεκίνα από τθν αρχικι κατάςταςθ ωσ τρζχουςα κατάςταςθ Ζλεγξε αν ικανοποιεί τον ςτόχο Υπολόγιςε τισ εφαρμόςιμεσ ενζργειεσ ςτθν τρζχουςα κατάςταςθ Υπολόγιςε τισ διάδοχεσ καταςτάςεισ Επζλεξε μια από τισ διάδοχεσ καταςτάςεισ ωσ τρζχουςα Επανάλαβε μζχρι να βρεκεί λφςθ ι να καλυφκεί ο χϊροσ καταςτάςεων
11.2 Ρροζλαςθ (progression planning) 49 Ξεκίνα από τθν αρχικι κατάςταςθ Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό()
11.2 Ρροζλαςθ (progression planning) 50 Ζλεγξε αν ικανοποιεί τον ςτόχο Πχι! Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() Επί(,) Επί(,)
11.2 Ρροζλαςθ (progression planning) 51 Υπολόγιςε όλεσ τισ εφαρμόςιμεσ ενζργειεσ Action( Μετακίνθςθ(b,x,y), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b) Κακαρό(y)) Action( ΜετακίνθςθΣτοΤραπζηι(b,x), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b)) Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό()
11.2 Ρροζλαςθ (progression planning) 52 Υπολόγιςε όλεσ τισ εφαρμόςιμεσ ενζργειεσ Action( Μετακίνθςθ(b,x,y), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b) Κακαρό(y)) Action( ΜετακίνθςθΣτοΤραπζηι(b,x), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b)) Μετ(,Τρ,) Ρροχποκζςεισ: Επί(,Τρ) Κακαρό() Κακαρό() Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() Εφαρμόςιμθ ενζργεια!
11.2 Ρροζλαςθ (progression planning) 53 Υπολόγιςε όλεσ τισ εφαρμόςιμεσ ενζργειεσ Action( Μετακίνθςθ(b,x,y), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b) Κακαρό(y)) Action( ΜετακίνθςθΣτοΤραπζηι(b,x), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b)) Μετ(,Τρ,) Μετ(,Τρ,) Μετ(,Τρ,) Μετ(,Τρ,) Μετ(,Τρ,) Μετ(,Τρ,) Πλεσ είναι εφαρμόςιμεσ ενζργειεσ! Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό()
11.2 Ρροζλαςθ (progression planning) 54 Υπολόγιςε όλεσ τισ εφαρμόςιμεσ ενζργειεσ Action( Μετακίνθςθ(b,x,y), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b) Κακαρό(y)) Action( ΜετακίνθςθΣτοΤραπζηι(b,x), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b)) Μετ(,Τρ,) Ρροχποκζςεισ: Επί(,Τρ) Κακαρό() Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() Και αυτι είναι εφαρμόςιμθ!
11.2 Ρροζλαςθ (progression planning) 55 Υπολόγιςε όλεσ τισ εφαρμόςιμεσ ενζργειεσ Action( Μετακίνθςθ(b,x,y), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b) Κακαρό(y)) Action( ΜετακίνθςθΣτοΤραπζηι(b,x), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b)) ΜετΣΤ(,Τρ) Ρροχποκζςεισ: Επί(,Τρ) Κακαρό() Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό() Και αυτι είναι εφαρμόςιμθ!
11.2 Ρροζλαςθ (progression planning) 56 Υπολόγιςε όλεσ τισ εφαρμόςιμεσ ενζργειεσ Action( Μετακίνθςθ(b,x,y), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b) Κακαρό(y)) Action( ΜετακίνθςθΣτοΤραπζηι(b,x), ΡΟΫΡΟΘΕΣΕΙΣ: Επί(b,x) Κακαρό(b)) Μετ(,Τρ,) Μετ(,Τρ,) Μετ(,Τρ,) ΜετΣΤ(,Τρ) ΜετΣΤ(,Τρ) ΜετΣΤ(,Τρ) Πλεσ είναι εφαρμόςιμεσ ενζργειεσ! Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό()
11.2 Ρροζλαςθ (progression planning) 57 Υπολόγιςε όλεσ τισ διάδοχεσ καταςτάςεισ Action( Μετακίνθςθ(b,x,y), ΕΡΙΔΣΕΙΣ: Επί(b,y) Κακαρό(x) Επί(b,x) Κακαρό(y) ) Μετ(,Τρ,) Επιδράςεισ: Επί(,) Κακαρό(Τραπζηι) Επί(,Τραπζηι) Κακαρό() Επί(,Τραπζηι) Επί(,Τραπζηι) Επί(,Τραπζηι) Κακαρό() Κακαρό() Κακαρό()
11.2 Ρροζλαςθ (progression planning) 58 Υπολόγιςε όλεσ τισ διάδοχεσ καταςτάςεισ Μετ(,Τρ,) Μετ(,Τρ,) Μετ(,Τρ,) Μετ(,Τρ,) Μετ.(,Τρ,) Μετ(,Τρ,)
11.2 Ρροζλαςθ (progression planning) 59 Επζλεξε μια διάδοχθ κατάςταςθ και επανάλαβε...
11.2 Ρροζλαςθ (progression planning) 60 Επζλεξε μια διάδοχθ κατάςταςθ και επανάλαβε...
11.2 Ρροζλαςθ (progression planning) 61 Επζλεξε μια διάδοχθ κατάςταςθ και επανάλαβε...
11.2 Ρροζλαςθ (progression planning) 62 Είναι ςίγουρο ότι θ προζλαςθ κα βρει μια λφςθ αν υπάρχει;
11.2 Ρροζλαςθ (progression planning) 63 Είναι ςίγουρο ότι θ προζλαςθ κα βρει μια λφςθ αν υπάρχει; Δεδομζνου ότι δεν ζχουμε ςφμβολα ςυναρτιςεων....ναι, εφόςον ελζγχουμε τθν κάκε δυνατι κατάςταςθ μόνο μια φορά.
11.2 Ρροζλαςθ (progression planning) 64 Επζλεξε μια νζα διάδοχθ κατάςταςθ...
11.2 Ρροζλαςθ (progression planning) 65 Είναι ςίγουρο ότι θ προζλαςθ κα βρει μια λφςθ αν υπάρχει; Δεδομζνου ότι δεν ζχουμε ςφμβολα ςυναρτιςεων....ναι, εφόςον ελζγχουμε τθν κάκε δυνατι κατάςταςθ μόνο μια φορά. Μπορεί όμωσ να χρειαςτεί να εξερευνήςει όλο τον χώρο καταςτάςεων.
11.2 Ρροζλαςθ (progression planning) 66
11.2 Ρροζλαςθ (progression planning) 67 ντίκετα με το παράδειγμα, ςε πολλά προβλιματα ο χϊροσ καταςτάςεων είναι πολφ μεγάλοσ. Τι κα γινόταν αν είχαμε 100 κφβουσ και 1000 διαφορετικζσ εφαρμόςιμεσ ενζργειεσ τθσ μορφισ Μετακίνθςθ(b,x,y) ςε κάκε κατάςταςθ; Ππωσ και ςτα κλαςςικά προβλιματα αναηιτθςθσ, μποροφμε να ορίςουμε ευρετικζσ ςυναρτήςεισ που βοθκοφν να επιλζξουμε τισ πιο υποςχόμενεσ καταςτάςεισ.
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 68 Συνάρτθςθ αξιολόγιςθσ f(s) = g(s) + h(s) g(s): το κόςτοσ που χρειάςτθκε για να φτάςουμε ςτθν κατάςταςθ s (ακριβζσ) h(s): το κόςτοσ που χρειάηεται για να φτάςουμε από τθν s ςε ζνα τελικό κόμβο (προςζγγιςθ) Χρθςιμοποιοφμε τθν f(s) για να ταξινομιςουμε τισ διάδοχεσ καταςτάςεισ και να επιλζξουμε τθν πιο υποςχόμενθ.
11.2 Ρροζλαςθ (progression planning) 69 Ζςτω μια ευρετικι h(s) με τισ ακόλουκεσ τιμζσ: Μετ(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=1 Μετ(,Τρ,) h(s)=1 Μετ(,Τρ,) h(s)=2 Μετ.(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=2
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 70 Ροιά θ διαφορά όμωσ με ζνα κλαςικό πρόβλθμα αναηιτθςθσ; Και ςε εκείνα τα προβλιματα μποροφςαμε να υπολογίςουμε μια h(s) με βάςθ μια πιο χαλαρι απόςταςθ τθσ s από το ςτόχο, π.χ., Manhattan distance.
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 71 Ροιά θ διαφορά όμωσ με ζνα κλαςικό πρόβλθμα αναηιτθςθσ; Και ςε εκείνα τα προβλιματα μποροφςαμε να υπολογίςουμε μια h(s) με βάςθ μια πιο χαλαρι απόςταςθ τθσ s από το ςτόχο, π.χ., Manhattan distance. Μποροφμε να λάβουμε υπόψθ και τθν περιγραφι των ενεργειϊν για να ορίςουμε ευρετικζσ ςυναρτιςεισ! Επίςθσ κα δοφμε αργότερα πϊσ θ περιγραφι των ςχθμάτων ενεργειϊν μασ επιτρζπει να λφςουμε προβλιματα ςχεδιαςμοφ με άλλουσ τρόπουσ
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 72 Κενι λίςτα προχποκζςεων h(s) = ςε πόςα βιματα μπορεί να επιτευχκεί ο ςτόχοσ αν όλεσ οι ενζργειεσ ιταν εφαρμόςιμεσ πάντα. Κενι λίςτα διαγραφϊν h(s) = ςε πόςα βιματα μπορεί να επιτευχκεί ο ςτόχοσ αν όλεσ οι ενζργειεσ είχαν μόνο κετικζσ επιδράςεισ. ραφιματα ςχεδιαςμοφ πλό παράδειγμα: h(s) = αρικμόσ των λεκτικϊν του ςτόχου που δεν εμφανίηονται ςτθν s
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 73 Ξεκίνα από τθν αρχικι κατάςταςθ ωσ τρζχουςα κατάςταςθ Ζλεγξε αν ικανοποιεί τον ςτόχο Υπολόγιςε τισ εφαρμόςιμεσ ενζργειεσ ςτθν τρζχουςα κατάςταςθ Υπολόγιςε τισ διάδοχεσ καταςτάςεισ Επζλεξε μια την πιο υποςχόμενη από τισ διάδοχεσ καταςτάςεισ ωσ τρζχουςα Επανάλαβε μζχρι να βρεκεί λφςθ ι να καλυφκεί ο χϊροσ καταςτάςεων
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 74 Υπολόγιςε όλεσ τισ διάδοχεσ καταςτάςεισ Μετ(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=1 Μετ(,Τρ,) h(s)=1 Μετ(,Τρ,) h(s)=2 Μετ.(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=2
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 75 Υπολόγιςε όλεσ τισ διάδοχεσ καταςτάςεισ Μετ(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=1 Μετ(,Τρ,) h(s)=1 Μετ(,Τρ,) h(s)=2 Μετ.(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=2
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 76 Επίλεξε τθν πιο υποςχόμενθ κατάςταςθ Μετ(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=1 Μετ(,Τρ,) h(s)=1 Μετ(,Τρ,) h(s)=2 Μετ.(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=2
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 77 Υπολόγιςε όλεσ τισ διάδοχεσ καταςτάςεισ Μετ(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=1 Μετ(,Τρ,) h(s)=2 Μετ.(,Τρ,) g(s)=2 h(s)=1 Μετ.(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=2
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 78 Υπολόγιςε όλεσ τισ διάδοχεσ καταςτάςεισ Μετ(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=1 Μετ(,Τρ,) h(s)=2 Μετ.(,Τρ,) g(s)=2 h(s)=1 Μετ.(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=2
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 79 Επίλεξε τθν πιο υποςχόμενθ κατάςταςθ Μετ(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=1 Μετ(,Τρ,) h(s)=2 Μετ.(,Τρ,) g(s)=2 h(s)=1 Μετ.(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=2
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 80 Υπολόγιςε όλεσ τισ διάδοχεσ καταςτάςεισ Μετ(,Τρ,) h(s)=2 Μετ(,Τρ,) g(s)=2 h(s)=0 Μετ(,Τρ,) h(s)=2 Μετ.(,Τρ,) g(s)=2 h(s)=1 Μετ.(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=2
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 81 Υπολόγιςε όλεσ τισ διάδοχεσ καταςτάςεισ Μετ(,Τρ,) h(s)=2 Μετ(,Τρ,) g(s)=2 h(s)=0 Μετ(,Τρ,) h(s)=2 Μετ.(,Τρ,) g(s)=2 h(s)=1 Μετ.(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=2
11.2 Ευρετικζσ ςυναρτιςεισ για προζλαςθ 82 Επίλεξε τθν πιο υποςχόμενθ κατάςταςθ Μετ(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=2 Μετ.(,Τρ,) g(s)=2 h(s)=1 Μετ.(,Τρ,) h(s)=2 Μετ(,Τρ,) h(s)=2
11.2 Οπιςκοχϊρθςθ (regression planning) 83 Ξεκίνα από τον ςτόχο ωσ τρζχουςα κατάςταςθ Ζλεγξε αν θ αρχική κατάςταςη ικανοποιεί τθν τρζχουςα κατάςταςθ Υπολόγιςε τισ ςυνεπείσ και ςυναφείσ ενζργειεσ για τθν τρζχουςα κατάςταςθ Υπολόγιςε τισ προκάτοχεσ καταςτάςεισ Επζλεξε μια από τισ προκάτοχεσ καταςτάςεισ ωσ τρζχουςα Επανάλαβε μζχρι να βρεκεί λφςθ ι να καλυφκεί ο χϊροσ καταςτάςεων
Ζρευνα ςτο πεδίο του ςχεδιαςμοφ 84 Planning Domain Definition Language (PDDL) λϊςςα περιγραφισ προβλθμάτων ςχεδιαςμοφ Τυπικό ςυντακτικό ςαν γλϊςςα προγραμματιςμοφ Ρεριλαμβάνει τθν STRIPS και τθν ADL ωσ υπογλϊςςεσ Δίνει τθ δυνατότθτα ςφγκριςθσ διαφορετικϊν μεκόδων επίλυςθσ προβλθμάτων ςχεδιαςμοφ
Ζρευνα ςτο πεδίο του ςχεδιαςμοφ 85 Planning Domain Definition Language (PDDL) International Planning Competition 1998 ςιμερα SAT Plan TL Plan FF BlackBox SHOP2 TALPlanner Ρροβλιματα ςχεδιαςμοφ ςτθν PDDL, πχ, Blocks world, Storage, Trucks Σφγκριςθ! Συμπεράςματα για ςυνδυαςμό τεχνικϊν και ευρετικϊν ςυναρτιςεων