Πράκτορες πρακτικού συλλογισμού

Σχετικά έγγραφα
Ευφυείς Τεχνολογίες ----Πράκτορες

1.2 Jason BDI Αρχιτεκτονική

Τι είναι πράκτορας; Άνθρωπος Ρομπότ Πράκτορας λογισμικού. ...αλλά και μη ευφυή πράγματα όπως... οι θερμοστάτες!

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Ενότητα 1: Εισαγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών

Συλλογιστική εξαγωγής συμπερασμάτων από συγκεκριμένες υποθέσεις δοθείσα μεθοδολογία διαδικασία της σκέψης, πρέπει να «συλλογιστεί» υπόθεση/παραγωγή

3APL: A Goal-Oriented Multi-Agent Programming Language

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Πράκτορες συνεπαγωγικού συλλογισμού. Πράκτορες βασισμένοι στη γνώση

Ευφυείς Τεχνολογίες ----Πράκτορες

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

Σημειωματάριο Τετάρτης 18 Οκτ. 2017

Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΚΕΦΑΛΑΙΟ 15 Βασικές Αρχές και Τεχνικές Σχεδιασµού

Συγγραφή κώδικα, δοκιμασία, επαλήθευση. Γιάννης Σμαραγδάκης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ

Ψευδοκώδικας. November 7, 2011

Κεφάλαιο 27 Ευφυείς Πράκτορες (Intelligent Agents)

Πανεπιστήµιο Πατρών Τµήµα Μηχ/κών Η/Υ & Πληροφορικής ΜΠΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΥΦΥΗ ΣΥΣΤΗΜΑΤΑ ΑΠΟΦΑΣΕΩΝ. Ι.

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

Πληρουορική Γ Γσμμασίοσ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Ανάλυση της Ορθότητας Προγραμμάτων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

Τεχνητή Νοηµοσύνη. Γεώργιος Βούρος Καθηγητής. Τµήµα Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς.

Ευφυής Προγραμματισμός

Κεφάλαιο 7: Υπορουτίνες

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Στοιχειώδης προγραμματισμός σε C++

Ασκήσεις μελέτης της 8 ης διάλεξης

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Εισαγωγή στον Προγραμματισμό

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Ανάλυση της Ορθότητας Προγραμμάτων

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά

Αλγόριθμοι για αυτόματα

Τεχνολογία Ευφυών Πρακτόρων (Intelligent Software Agents)

Ευφυείς Τεχνολογίες ----Πράκτορες

Κατανεμημένα Συστήματα. Javascript LCR example

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Τυχαίοι αριθμοί ρίξε μια «ζαριά»

ιαφάνειες παρουσίασης #3

ΑΕΠΠ Ερωτήσεις θεωρίας

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Εξελιγµένες Τεχνικές Σχεδιασµού

Θέματα Προγραμματισμού Η/Υ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Eυφυείς Πράκτορες. Δρ. Κωνσταντίνος Χ. Γιωτόπουλος

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

Εισαγωγικά Παραδείγματα: Παρατηρήσεις:

Κεφάλαιο 5 Αξιωματική Σημασιολογία και Απόδειξη Ορθότητας Προγραμμάτων

Ευφυείς Τεχνολογίες - Πράκτορες

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Τεχνητή Νοημοσύνη. Ενότητα 1: Τεχνητή Νοημοσύνη

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Κεφάλαιο 4 : Λογική και Κυκλώματα

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

Computing. Νοέμβριος Έκδοση 1.0

Σημειωματάριο Δευτέρας 9 Οκτ. 2017

Θέματα Προγραμματισμού Η/Υ

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

HY150a Φροντιστήριο 3 24/11/2017

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

ΕΠΑΛΗΘΕΥΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ Ι

Πληροφορική 2. Τεχνητή νοημοσύνη

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή

4. Ο,τιδήποτε δεν ορίζεται με βάση τα (1) (3) δεν είναι προτασιακός τύπος.

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Αποτελέσματα προόδου

Σχεδιασµός Ενεργειών

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Δομημένος Προγραμματισμός

Περιγραφή Προβλημάτων

Υπολογίσιμες Συναρτήσεις

Δομές Δεδομένων (Data Structures)

H κλάση ArrayList. Γιώργος Θάνος. Γραφείο Γ. Γκλαβάνη 37. Αντικει ενοστραφής Προγρα. ος όροφος

Transcript:

Πράκτορες πρακτικού συλλογισμού

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

Σκέψη και στόχευση Ο ανθρώπινος πρακτικός συλλογισμός φαίνεται ότι συνίσταται σε δύο διεργασίες Αποφασίζουμε τι στόχο θέλουμε να πετύχουμε (διεργασία σκέψης, deliberation). Αποφασίζουμε πώς θα πετύχουμε το στόχο που επιλέξαμε (διεργασία στόχευσης ή συλλογισμού μέσων-σκοπού, means-ends reasoning). Η διεργασία σκέψης έχει σκοπό να καταλήξει ο πράκτορας (άνθρωπος ή τεχνητός πράκτορας) στην επιλογή κάποιου σκοπού προς επίτευξη (π.χ. επιλογή σκοπού μετά την αποφοίτηση). Η διεργασία στόχευσης έχει σκοπό να καταστρώσει ο πράκτορας ένα σχέδιο δράσης για να πετύχει το στόχο που έθεσε σαν αποτέλεσμα της διεργασίας σκέψης (π.χ. αν έχω επιλέξει να βρω δουλειά μετά την αποφοίτηση, η διεργασία στόχευσης επιστρέφει ένα σχέδιο, π.χ. να δω τις αγγελίες, να κάνω αιτήσεις, να πάω σε συνεντεύξεις, κλπ). 3

Υπολογιστικοί περιορισμοί για τις διεργασίες σκέψης και στόχευσης Ένας πράκτορας (άνθρωπος ή τεχνητός πράκτορας) εκτελεί τις διεργασίες σκέψης και στόχευσης με πεπερασμένους πόρους μνήμης και (υπολογιστικού) χρόνου. Η ικανότητα του πράκτορα να πετύχει στο περιβάλλον του καθορίζεται εν μέρει από την ικανότητά του να χρησιμοποιήσει αποτελεσματικά τους διαθέσιμους πόρους. Ο πράκτορας πρέπει να ελέγχει αποτελεσματικά το μηχανισμό συλλογισμού του. Οι πράκτορες δεν μπορούν να σκέφτονται επ άπειρο. Κάποια στιγμή θα πρέπει η διεργασία σκέψης να τελειώσει και ο πράκτορας να έχει επιλέξει κάποιο στόχο προς επίτευξη. Ο στόχος αυτός ίσως δεν είναι ο βέλτιστος, δηλαδή αν ο πράκτορας είχε περισσότερο χρόνο στη διάθεσή του για σκέψη, τότε μπορεί να επέλεγε καλύτερο στόχο. Οι στόχοι τους οποίους επιλέγει ένας πράκτορας με την ολοκλήρωση της διεργασίας σκέψης λέγονται προθέσεις (intentions). 4

Προθέσεις στον πρακτικό συλλογισμό Οι προθέσεις αφορούν καταστάσεις που θέλει ένας πράκτορας να πετύχει στο μέλλον. Αποτέλεσμά τους είναι κάποια δράση εκ μέρους του πράκτορα. Δεν πρέπει να συγχέονται με τις επιθυμίες, οι οποίες χαλαρά χαρακτηρίζουν πιθανή δράση ενός πράκτορα. (π.χ. επιθυμώ να πάω για ψώνια έχωπρόθεσηναπάωγιαψώνια). Οι προθέσεις έχουν διάρκεια, επιμένουν. Αν ειλικρινά ένας πράκτορας που σκέπτεται ορθολογικά έχει μία πρόθεση τότε προσπαθεί να κάνει κάτι προκειμένου να την πετύχει, δεν την εγκαταλείπει αμέσως. Φυσικά ο πράκτορας επιμένει στην πρόθεσή του όσο αυτή φαίνεται δυνατή και όσο υπάρχουν τρόποι δράσης για να την πετύχει. Η επιλογή μίας πρόθεσης σε μία χρονική στιγμή περιορίζει τον πρακτικό συλλογισμό του πράκτορα μετά από αυτή τη χρονική στιγμή, δηλαδή ο πράκτορας δεν κάνει επιλογές (προθέσεων ή δράσης) που να είναι ασυνεπείς με την πρόθεσή του. Η επιλογή μίας πρόθεσης συνεπάγεται ότι ο πράκτορας πιστεύει ότι η κατάσταση που θέλει να πετύχει είναι δυνατή, δηλαδή πως αν καταστρώσει κατάλληλο σχέδιο δράσης για την πρόθεσή του και το περιβάλλον του είναι συνεργάσιμο, τότε θα την πραγματοποιήσει. 5

Η θέση ασυμμετρίας (Bratman 1987) Οι πεποιθήσεις και οι προθέσεις ενός πράκτορα αλληλεπιδρούν. Ασυνέπεια πρόθεσης-πεποίθησης (intention-belief inconsistency): Ο πράκτορας έχει την πρόθεση να επιφέρει την κατάσταση περιβάλλοντος φ και ταυτόχρονα πιστεύει ότι δεν θα επιφέρει την κατάσταση περιβάλλοντος φ. Αυτό δεν είναι ορθολογικό. Μη-πληρότητα πρόθεσης-πεποίθησης (intention-belief incompleteness): Ο πράκτορας έχει την πρόθεση να επιφέρει την κατάσταση περιβάλλοντος φ χωρίς να πιστεύει ότι η φ θα γίνει αληθής. Αυτό είναι αποδεκτό για ορθολογικούς πράκτορες (δηλαδή πράκτορες που αναγνωρίζουν ότι η δράση τους δεν είναι πάντα εγγυημένα επιτυχής). 6

BDI μοντέλο πρακτόρων Υποθέτουμε ότι ένας πράκτορας έχει στη διάθεσή του μια αναπαράσταση των πεποιθήσεων, προθέσεων και επιθυμιών του. Αυτή η αναπαράσταση μπορεί να είναι συμβολική σε κάποια κατάλληλη λογική. Β μεταβλητή που συμβολίζει το σύνολο Bel των πεποιθήσεων του πράκτορα D μεταβλητή που συμβολίζει το σύνολο Des των επιθυμιών του πράκτορα Ι μεταβλητή που συμβολίζει το σύνολο Ιnt των προθέσεων του πράκτορα. Η διεργασία σκέψης αναπαρίσταται μέσω δύο συναρτήσεων: Συνάρτηση δημιουργίας επιλογών που με βάση τις τρέχουσες προθέσεις και πεποιθήσεις του πράκτορα δημιουργεί ένα σύνολο επιθυμιών options: (Bel) x (Int) (Des) Συνάρτηση φιλτραρίσματος επιλογών που με βάση τις τρέχουσες πεποιθήσεις, επιθυμίες και προθέσεις του πράκτορα επιλέγει ως νέες προθέσεις τις καλύτερες από τις επιλογές του (δηλαδή τις καλύτερες από τις τρέχουσες επιθυμίες του) filter: (Bel) x (Des) x (Int) (Int) Η αναθεώρηση των πεποιθήσεων του πράκτορα αναπαρίσταται από τη συνάρτηση brf: (Bel) x Per (Bel) 7

Συλλογισμός μέσων-σκοπού (ή διεργασία στόχευσης) Συλλογισμός μέσων-σκοπού είναι η διεργασία με την οποία αποφασίζουμε πώς να πετύχουμε ένα σκοπό χρησιμοποιώντας τα διαθέσιμα μέσα, δηλαδή τις ενέργειες που μπορούμε να κάνουμε. Στην ΤΝ είναι γνωστή και ως διεργασία κατάστρωσης σχεδίου δράσης ήσχεδιασμός(planning). Ο σχεδιασμός είναι ουσιαστικά αυτόματος προγραμματισμός. Ένας πράκτορας σχεδιασμού παίρνει σαν είσοδο Ένα στόχο (ή μία πρόθεση ή μία εργασία). Αυτό αφορά μία εργασία εκπλήρωσης ώστε να δημιουργηθεί μία κατάσταση περιβάλλοντος ή μία εργασία συντήρησης ώστε να διατηρηθεί μία κατάσταση περιβάλλοντος. Τις τρέχουσες πεποιθήσεις του πράκτορα, οι οποίες αναπαριστούν, σε κάποιο βαθμό, την τρέχουσα κατάσταση περιβάλλοντος. Το ρεπερτόριο των ενεργειών που είναι διαθέσιμες στον πράκτορα. Και παράγει σαν έξοδο ένα σχέδιο δράσης, δηλαδή μία ακολουθία ενεργειών που, αν εκτελεστούν, το περιβάλλον του πράκτορα θα μεταβεί από την τρέχουσα κατάσταση στην κατάσταση του στόχου. 8

Σχεδιασμός στην Τεχνητή Νοημοσύνη Στόχος/ πεποίθηση/ εργασία Τρέχουσα κατάσταση/ πεποιθήσεις Ρεπερτόριο πράξεων Πράκτορας σχεδιασμού (planner) Σχέδιο για ικανοποίηση στόχου 9

Σχεδιασμός στην Τεχνητή Νοημοσύνη Το πρώτο ΥΣ σχεδιασμού ήταν το STRIPS (Fikes & Nilsson 1971). Είχε δύο συστατικά: Ένα μοντέλο του κόσμου αναπαριστάμενο με προτάσεις κατηγορηματικής λογικής πρώτης τάξης Ένα σύνολο από σχήματα ενεργειών που περιγράφουν τις προϋποθέσεις και τα αποτελέσματα όλων των ενεργειών που είναι διαθέσιμες στο ΥΣ. ΣυνήθωςοιαλγόριθμοισχεδιασμούστηνΤΝδοκιμάζονταιστοπαράδειγμα του λεγόμενου κόσμου των κύβων (Blocks world) Έχουμε 3 ισομεγέθεις κύβους A, B, C, την επιφάνεια ενός τραπεζιού, κι ένα ρομπότ που μπορεί να σηκώνει και να μεταφέρει έναν κύβο τη φορά. Οι κύβοι μπορεί να είναι τοποθετημένοι στην επιφάνεια του τραπεζιού ή ο ένας πάνω στον άλλο σε διάφορους συνδυασμούς. Το ΥΣ σχεδιασμού (ρομπότ) ξεκινά με μια κατάσταση περιβάλλοντος στην οποία οι κύβοι βρίσκονται σε κάποιες θέσεις και προσπαθεί να επιφέρει μία νέα κατάσταση περιβάλλοντος. 10

STRIPS και ο κόσμος των κύβων (1) Αναπαράσταση τρέχουσας κατάστασης περιβάλλοντος: τρέχουσα κατάσταση περιβάλλοντος {Clear(A), On(A,B), OnTable(B), OnTable(C), Clear(C)} A B C Αναπαράσταση κατάστασης περιβάλλοντος στόχου: {OnTable(A), OnTable(B), OnTable(C)} επιθυμητή κατάσταση περιβάλλοντος B C A 11

STRIPS και ο κόσμος των κύβων (2) Οι ενέργειες αναπαρίστανται με βάση το ακόλουθο σχήμα: Όνομα της ενέργειας και οι παράμετροί της (αν έχει παράμετρους) Σύνολο προϋποθέσεων, δηλαδή σύνολο όλων των προτάσεων που πρέπει να είναι αληθείς για να μπορεί να εκτελεστεί η ενέργεια. Σύνολο αφαίρεσης, δηλαδή σύνολο όλων των προτάσεων που θα πάψουν να είναι αληθείς μετά την εκτέλεση της ενέργειας. Σύνολο πρόσθεσης, δηλαδή σύνολο όλων των προτάσεων που θα γίνουν αληθείς μετά την εκτέλεση της ενέργειας. Η ενέργεια Stack(x, y) συμβαίνει όταν το ρομπότ τοποθετεί το αντικείμενο x πάνω στο αντικείμενο y: Stack(x, y) pre {Clear(y), Holding(x)} del {Clear(y), Holding(x)} add {ArmEmpty, On(x,y)} 12

STRIPS και ο κόσμος των κύβων(3) Η ενέργεια Unstack(x,y) συμβαίνει όταν το ρομπότ παίρνει το αντικείμενο x από το αντικείμενο y. H ενέργεια Pickup(x) συμβαίνει όταν το ρομπότ σηκώνει ένα αντικείμενο x από το τραπέζι. Η ενέργεια Putdown(x) συμβαίνει όταν το ρομπότ αφήνει ένα αντικείμενο x πάνω στο τραπέζι. 13

Τυπικός ορισμός σχεδιασμού (1) Το σύνολο των ενεργειών που μπορεί να εκτελέσει ένας πράκτορας είναι σταθερό και πεπερασμένο Ac = { a1,...,an }. Κάθε ενέργεια a Ac περιγράφεται από μια τριάδα P a,da, Aa όπου o P a είναι το σύνολο των λογικών προτάσεων που χαρακτηρίζουν τις προϋποθέσεις για την ενέργεια o D a είναι το σύνολο των λογικών προτάσεων που χαρακτηρίζουν ιδιότητες που γίνονται ψευδείς μετά την εκτέλεση της ενέργειας, και o A a είναι το σύνολο των λογικών προτάσεων που χαρακτηρίζουν ιδιότητες που γίνονται αληθείς μετά την εκτέλεση της ενέργειας. Το πρόβλημα του σχεδιασμού με βάση το σύνολο ενεργειών Ac περιγράφεται από την τριάδα Δ, Ο, γ, όπου: o Δ είναι το σύνολο των πεποιθήσεων του πράκτορα για την αρχική κατάσταση του κόσμου, δηλαδή το σύνολο των λογικών προτάσεων που είναι αληθείς αρχικά και χαρακτηρίζουν τον κόσμο. o O = { Pa,Da,Aa a Ac } είναι σύνολο περιγραφών ενεργειών που περιλαμβάνει όλες τις διαθέσιμες ενέργειες και o γ είναι το σύνολο των λογικών προτάσεων που περιγράφουν την κατάσταση περιβάλλοντος που στοχεύει να πετύχει ο πράκτορας. 14

Τυπικός ορισμός σχεδιασμού (2) Ένα σχέδιο π είναι μια ακολουθία ενεργειών π = ( a1,...,am ) όπου a i Ac. Σε σχέση με ένα πρόβλημα σχεδιασμού <Δ, Ο, γ> ένα σχέδιο π ορίζει μια σειρά από n+1 μοντέλα περιβάλλοντος Δ0, Δ1,..., Δn, όπου Δ 0=Δ και Δi = ( Δi 1 \ Da i ) Aa i Ένα σχέδιο π είναι αποδεκτό σε σχέση με ένα πρόβλημα σχεδιασμού <Δ, Ο, γ> αν και μόνο αν οι προϋποθέσεις για κάθε ενέργεια ικανοποιούνται στο προηγούμενο μοντέλο περιβάλλοντος δηλαδή αν Δi 1 = P ai. Ένα σχέδιο π είναι σωστό σε σχέση με ένα πρόβλημα σχεδιασμού <Δ, Ο, γ> αν και μόνο αν o Είναι αποδεκτό και o Δ n = γ (ο στόχος επιτυγχάνεται στην τελευταία κατάσταση περιβάλλοντος που δημιουργεί το σχέδιο) 15

Συμβολισμός για σχέδια Έστω ότι π, π1, π2, π κλπ. συμβολίζουν σχέδια και Plan είναι το σύνολο όλων των σχεδίων με βάση κάποιο σύνολο ενεργειών Ac: pre(π) : η προϋπόθεση του σχεδίου π body(π): το κύριο μέρος ορισμού του π. empty(π) : το σχέδιο π είναι η κενή ακολουθία ενεργειών execute(π) : ρουτίνα που παίρνει σαν είσοδο το σχέδιο π και το εκτελεί χωρίς διακοπή (δηλαδή εκτελεί κάθε ενέργεια στο κύριο μέρος του με τη σειρά της). head(π) : το σχέδιο που αποτελείται από την πρώτη ενέργεια του π. tail(π): το σχέδιο που αποτελείται από όλες τις ενέργειες του π με τη σειρά τους, εκτός από την πρώτη. Όπου I Int είναι σύνολο προθέσεων και B Bel είναι σύνολο πεποιθήσεων sound(π, Ι, Β) σημαίνει ότι το σχέδιο π είναι ορθό για τις προθέσεις Ι δεδομένων των πεποιθήσεων Β. Η ικανότητα στόχευσης ενός πράκτορα αναπαρίσταται από την συνάρτηση plan : ( Bel ) ( Int ) ( Ac ) Plan 16

Υλοποίηση/κύκλος ενός πρακτικά συλλογιζόμενου πράκτορα Algorithm: Practical Reasoning Agent Control Loop B B 0 ; I I 0 ; while true do get next percept p through see function; B brf(b,p); D options(b,i); I filter(b,d,i); π plan(b,i,ac); while not (empty(π) or succeeded(i,b) or impossible(i,b)) do α head(π) execute(α); π tail(π); get next percept p through see function; B brf(b,p); if reconsider(i,b) then D options(b,i); I filter(b,d,i); end-if if not sound(π,i,b) then π plan(b,i,ac) end-if end-while end-while 17

Δέσμευση του πράκτορα σε σκοπό (πρόθεση) Όταν μία επιθυμία/επιλογή του πράκτορα επιλέγεται από τη συνάρτηση filter και γίνεται πρόθεση του πράκτορα, τότε λέμε ότι ο πράκτορας έχει δεσμευτεί σ αυτή την πρόθεση. Η δέσμευση συνεπάγεται χρονική διάρκεια: όταν μια πρόθεση έχει καθοριστεί δεν μπορεί να την εγκαταλείπουμε αμέσως. Αλλά πόσο πρέπει να επιμένει ένας πράκτορας σε μια πρόθεση; Υπό ποιες συνθήκες μπορεί ο πράκτορας να εγκαταλείψει μια πρόθεσή του; Ο μηχανισμός που χρησιμοποιεί ένας πράκτορας για να αποφασίσει πότε και πώς να εγκαταλείψει τις προθέσεις του λέγεται στρατηγική δέσμευσης. Υπάρχουν τρεις τέτοιες στρατηγικές ευρέως συζητημένες: Τυφλή δέσμευση (ή φανατική δέσμευση): ο πράκτορας διατηρεί μια πρόθεση μέχρι να πιστέψει ότι αυτή ικανοποιήθηκε. Στενόμυαλη δέσμευση: ο πράκτορας διατηρεί μια πρόθεση μέχρι να πιστέψει είτε ότιαυτήεκπληρώθηκεείτεότιδενείναιπλέονδυνατόναεκπληρωθεί. Ανοιχτόμυαλη δέσμευση: ο πράκτορας διατηρεί μια πρόθεση για όσο διάστημα πιστεύει ότι αυτή είναι δυνατό να εκπληρωθεί. 18

Δέσμευση του πράκτορα σε σκοπό (πρόθεση) Σύμφωνα με τον αλγόριθμο υλοποίησης, ο πράκτορας διατηρεί (στενόμυαλη) δέσμευση σε μια πρόθεση μέχρι Να πιστέψει ότι αυτή εκπληρώθηκε ή Να πιστέψει ότι αυτή δεν είναι δυνατό να εκπληρωθεί ή Δεν υπάρχει καμία άλλη ενέργεια προς εκτέλεση στο σχέδιό του. succeeded(i,b) σημαίνει ότι δοθέντων των πεποιθήσεων Β οι προθέσεις Ι θεωρείται ότι εκπληρώνονται. impossible(i,b) σημαίνει ότι δοθέντων των πεποιθήσεων Β οι προθέσεις Ι είναι αδύνατο να εκπληρωθούν. 19

Πρέπει να γίνεται αναθεώρηση προθέσεων μετά την εκτέλεση μιας πράξης; Μία επιλογή είναι μετά την εκτέλεση κάθε ενέργειας να αναθεωρεί ο πράκτορας τις προθέσεις του. Αυτό συνεπάγεται ότι οι συναρτήσεις options και filter ξαναϋπολογίζονται, πράγμα απαγορευτικό: όσο ο πράκτορας σκέφτεται (που απαιτεί σημαντικό υπολογιστικό χρόνο) το περιβάλλον του αλλάζει κι έτσι οι όποιες επιλογές του πιθανό να είναι άχρηστες μόλις τις κάνει. Το δίλημμα: Ο πράκτορας δεν αναθεωρεί τις προθέσεις του αρκετά συχνά, κι έτσι προσπαθεί να τις εκπληρώσει ακόμα κι όταν είναι προφανές ότι αυτές δεν είναι δυνατό να εκπληρωθούν ή δεν υπάρχει πια λόγος να εκπληρωθούν Ο πράκτορας που συνεχώς αναθεωρεί τις προθέσεις του και ξοδεύει ελάχιστο χρόνο για να ενεργήσει ώστε να τις εκπληρώσει με κίνδυνο να μην τις εκπληρώσει ποτέ. Απαιτείται μία «χρυσή τομή» που αναπαρίσταται στον αλγόριθμο υλοποίησης με την Boolean συνάρτηση reconsider(i,b) που γίνεται αληθής όταν ο πράκτορας είναι κατάλληλο να αναθεωρήσει τις προθέσεις του Ι, δοθέντων των πεποιθήσεών του Β. 20

Βέλτιστη συμπεριφορά της συνάρτησης reconsider( ) Περίπτωση Αποφάσισε να σκεφτεί; Άλλαξε προθέσεις; Θα άλλαζε προθέσεις; 1 Όχι Όχι Ναι 2 Όχι Ναι Όχι 3 Ναι Όχι Όχι 4 Ναι Ναι Ναι Είναι η reconsider( ) βέλτιστη; Αν υποθέσουμε ότι οι συναρτήσεις σκέψης και σχεδιασμού του πράκτορα συμπεριφέρονται «τέλεια» (πάντα επιλέγεται η «καλύτερη» πρόθεση και το «καλύτερο» σχέδιο) και ότι ο χρόνος που μένει αδρανής ο πράκτορας κοστίζει, τότε η συνάρτηση reconsider( ) συμπεριφέρεται τέλεια αν και μόνο αν όποτε ο πράκτορας επιλέγει να σκεφτεί, αλλάζει προθέσεις. Διαφορετικά, αν ο πράκτορας επιλέγει να σκεφτεί και δεν αλλάζει προθέσεις, τότε ο χρόνος της σκέψης πάει χαμένος. Παρόμοια, αν ο πράκτορας έπρεπε να αλλάξει προθέσεις και δεν το έπραξε, τότε ο χρόνος που προσπαθούσε να εκπληρώσει τις προθέσεις του πάει χαμένος. 21

Στρατηγικές αναθεώρησης πρόθεσης (Kinny & Georgeff 1991) Έγιναν πειράματα όπου χρησιμοποιήθηκαν δύο στρατηγικές αναθεώρησης: Τολμηροί πράκτορες, που ποτέ δεν αναθεωρούν τις προθέσεις τους πριν ολοκληρώσουν την εκτέλεση του τρέχοντος σχεδίου τους. Επιφυλακτικοί πράκτορες, που αναθεωρούν τις προθέσεις τους μετά την εκτέλεση κάθε μίας ενέργειας του σχεδίου τους. (Αναμενόμενα) αποτελέσματα των πειραμάτων: Αν το περιβάλλον αλλάζει αργά τότε οι τολμηροί αποδίδουν καλύτερα από τους επιφυλακτικούς γιατί ενεργούν γρήγορα για την εκπλήρωση των προθέσεών τους και δεν χάνουν χρόνο σε αναθεώρηση. Αν το περιβάλλον αλλάζει γρήγορα τότε οι επιφυλακτικοί αποδίδουν καλύτερα γιατί αντιλαμβάνονται πιο έγκαιρα πότε κάποια πρόθεση πρέπει να εγκαταλειφθεί. 22

Δέσμευση του πράκτορα σε μέσα (σχέδια) Ποια είναι η στρατηγική δέσμευσης στα μέσα (σχέδια); Στην υλοποίηση του πράκτορα πρακτικού συλλογισμού ένα σχέδιο π εγκαταλείπεται όταν η συνάρτηση sound(π, I, B) γίνεται ψευδής, δηλαδή όταν το σχέδιο π δεν είναι πλέον ορθό σύμφωνα με τις τρέχουσες πεποιθήσεις και προθέσεις του πράκτορα. Σε μία πιο ρεαλιστική υλοποίηση θα πραγματοποιούνταν επιπλέον έλεγχος: είναι το τρέχων σχέδιο το βέλτιστο (π.χ. αυτό με τις λιγότερες πράξεις); Κάθε πότε πρέπει να ελέγχουμε αν το τρέχων σχέδιο είναι το βέλτιστο, γνωρίζοντας ότι αυτός ο έλεγχος, καθώς και η πιθανή κατάστρωση νέου σχεδίου, έχουν υπολογιστικό κόστος; 23

Το σύστημα PRS (Georgeff & Lansky 1987) Η πρώτη αρχιτεκτονική πράκτορα που συμπεριέλαβε το μοντέλο BDI. Έχει εφαρμοστεί σε σύστημα εναέριας κυκλοφορίας (OASIS, αεροδρόμιο Σίδνεϊ), σε σύστημα προσομοίωσης για την Αυστραλιανή πολεμική αεροπορία και σε σύστημα επιχειρηματικών διεργασιών. data input from senses ENVIRONMENT BELIEFS PLANS INTERPRETER DESIRES INTENTIONS action output 24

Σχέδια στο PRS Ο πράκτορας δεν κατασκευάζει σχέδια από την αρχή. Του δίδεται βιβλιοθήκη με κάποια έτοιμα σχέδια. Κάθε σχέδιο ορίζεται από Το στόχο που επιτυγχάνει, δηλαδή την κατάσταση περιβάλλοντος που θα είναι αληθής μετά την ολοκλήρωσή του. Την προϋπόθεσή του, δηλαδή την κατάσταση περιβάλλοντος που πρέπει να είναι αληθής για να μπορεί να εκτελεστεί Το κύριο μέρος του, δηλαδή τις ενέργειες που περιλαμβάνει. Στα σχέδια του PRS, το κύριο μέρος δεν είναι μόνο μία ακολουθία από ενέργειες. Μπορεί να περιλαμβάνει: στόχους, οι οποίοι πρέπει να εκπληρωθούν (με κάποια σειρά πράξεων: σχέδιο) μόλις φτάσει ο πράκτορας σε εκείνο το σημείο του σχεδίου. Συνεπώς, έχουμε εμφωλευμένα (nested) σχέδια. Διάζευξη στόχων («πραγματοποίησε το στόχο φ ή πραγματοποίησε το στόχο ψ»). Κύκλους («συνέχισε να πραγματοποιείς το στόχο φ μέχρι ο ψ να γίνει αληθής»). 25

Σχέδια στο PRS (Jam) GOALS: ACHIEVE blocks_stacked; FACTS: // Block1 on Block2 initially so need to clear Block2 before stacking. FACT ON "Block1" "Block2"; FACT ON "Block2" "Table"; FACT ON "Block3" "Table"; FACT CLEAR "Block1"; FACT CLEAR "Block3"; FACT CLEAR "Table"; FACT initialized "False"; 26

Σχέδια στο PRS (Jam) Plan: { NAME: "Top-level plan" DOCUMENTATION: "Establish Block1 on Block2 on Block3." GOAL: ACHIEVE blocks_stacked; CONTEXT: BODY: EXECUTE print "Goal is Block1 on Block2 on Block2 on Table.\n"; EXECUTE print "World Model at start is:\n"; EXECUTE printworldmodel; EXECUTE print "ACHIEVEing Block3 on Table.\n"; ACHIEVE ON "Block3" "Table"; EXECUTE print "ACHIEVEing Block2 on Block3.\n"; ACHIEVE ON "Block2" "Block3"; EXECUTE print "ACHIEVEing Block1 on Block2.\n"; ACHIEVE ON "Block1" "Block2"; EXECUTE print "World Model at end is:\n"; EXECUTE printworldmodel; } 27

Σχέδια στο PRS (Jam) Plan: { NAME: "Stack blocks that are already clear" GOAL: ACHIEVE ON $OBJ1 $OBJ2; CONTEXT: BODY: EXECUTE print "Making sure " $OBJ1 " is clear\n"; ACHIEVE CLEAR $OBJ1; EXECUTE print "Making sure " $OBJ2 " is clear.\n"; ACHIEVE CLEAR $OBJ2; EXECUTE print "Moving " $OBJ1 " on top of " $OBJ2 ".\n"; PERFORM move $OBJ1 $OBJ2; UTILITY: 10; FAILURE: EXECUTE print "\n\nstack blocks failed!\n\n"; } 28

Σχέδια στο PRS (Jam) Plan: { NAME: "Clear a block" GOAL: ACHIEVE CLEAR $OBJ; CONTEXT: FACT ON $OBJ2 $OBJ; BODY: EXECUTE print "Clearing " $OBJ2 " from on top of " $OBJ "\n"; EXECUTE print "Moving " $OBJ2 " to table.\n"; ACHIEVE ON $OBJ2 "Table"; EFFECTS: EXECUTE print "CLEAR: Retracting ON " $OBJ2 " " $OBJ "\n"; RETRACT ON $OBJ1 $OBJ; FAILURE: EXECUTE print "\n\nclearing block " $OBJ " failed!\n\n"; } 29

Σχέδια στο PRS (Jam) Plan: { NAME: "Move a block onto another object" GOAL: PERFORM move $OBJ1 $OBJ2; CONTEXT: FACT CLEAR $OBJ1; FACT CLEAR $OBJ2; BODY: EXECUTE print "Performing low-level move action" EXECUTE print " of " $OBJ1 " to " $OBJ2 ".\n"; EFFECTS: WHEN : TEST (!= $OBJ2 "Table") { EXECUTE print " Retracting CLEAR " $OBJ2 "\n"; RETRACT CLEAR $OBJ2; }; FACT ON $OBJ1 $OBJ3; EXECUTE print " move: Retracting ON " $OBJ1 " " $OBJ3 "\n"; RETRACT ON $OBJ1 $OBJ3; EXECUTE print " move: Asserting CLEAR " $OBJ3 "\n"; ASSERT CLEAR $OBJ3; EXECUTE print " move: Asserting ON " $OBJ1 " " $OBJ2 "\n\n"; ASSERT ON $OBJ1 $OBJ2; FAILURE: EXECUTE print "\n\nmove failed!\n\n"; } 30

Βιβλιογραφία Κεφάλαιο 4 ο απότοβιβλίοτουwooldridge. Πρακτικός συλλογισμός M. Bratman, What is intention? In Intentions in Communication, eds. Cohen, Morgan and Pollack, 15 32, MIT Press, 1990. Η θέση ασυμμετρίας M. Bratman, Intention, Plans and Practical Reason, Harvard University Press, 1987. STRIPS R. Fikes and N. Nilsson, STRIPS: A new approach to the application of theorem-proving to problem-solving, Artificial Intelligence, 2, 189 208, 1971. ΥΣ σχεδιασμού E. Giunchiglia, J. Lee, V. Lifschitz, N. McCain, and H. Turner. Nonmonotonic causal theories. Artificial Intelligence, 153(1 2):49 104, 2004. M. Ghallab, D. Nau and P. Traverso. Automated Planning: Theory and Practice, Morgan Kaufmann, 2004. Αρχιτεκτονική BDI M. Georgeff et al, The belief-desire-intention model of agency, In Intelligent Agents V, eds. Muller, Singh and Rao, LNAI 1555, 1-10, Springer, 1999. M. Bratman, D. Israel and M. Pollack, Plans and resource-bounded practical reasoning, Computational Intelligence, 4, 349 355, 1988. Στρατηγικές αναθεώρησης προθέσεων D. Kinny and M. Georgeff, Commitment and effectiveness of situated agents, In Proceedings of IJCAI, 82 88, 1991. 31

Βιβλιογραφία PRS M. Georgeff and F. Ingrand, Decision-making in an embedded reasoning system, In Proceedings of IJCAI, 972 978, 1989. dmars(υλοποίηση αρχιτεκτονικής BDI) M. d Inverno et al, A formal specification of dmars, In Intelligent Agents IV, eds. Rao, Singh and Wooldridge, LNAI 1365, 155-176, Springer, 1997. Jam (υλοποίηση αρχιτεκτονικής BDI) M. Huber, Jam: a BDI-theoretic mobile agent architecture, In Proceedings of International Conference on Autonomous Agents, 236 243, 1999. AgentSpeak (υλοποίηση αρχιτεκτονικής BDI) R. Bordini, J. Hubner, and M. Wooldridge, Programming Multi-Agent Systems in AgentSpeak using Jason, Wiley, 2007. Είδη BDI λογικής A. Rao, Decision Procedures for propositional linear-time Belief-Desire-Intention logics, In Intelligent Agents II, eds. Wooldridge, Muller and Tambe, LNAI 1037, 33 48, Springer, 1996. A. Haddadi, Communication and Cooperation in Agent Systems, LNAI 1056, Springer, 1996. Άλλες αρχιτεκτονικές πρακτόρων πρακτικού συλλογισμού C. Jung, Emergent mental attitudes in layered agents, In Intelligent Agents V, eds. Muller, Singh and Rao, LNAI 1555, Springer, 1999. M. Mora et al, BDI models and systems: reducing the gap, In Intelligent Agents V, eds. Muller, Singh and Rao, LNAI 1555, Springer, 1999. 32