Πράκτορες πρακτικού συλλογισμού
Πρακτικός συλλογισμός Ο συλλογισμός των ανθρώπων βασίζεται ασφαλώς στη λογική αλλά υπάρχουν διάφορες διεργασίες που συμβαίνουν όταν λαμβάνουμε μια απόφαση, πέρα από την επαγωγή, δηλαδή την απόδειξη θεωρημάτων. Ο πρακτικός συλλογισμός είναι συλλογισμός που προσανατολίζεται στην πράξη, δηλαδή στο να αποφασίσουμε τι να κάνουμε. –Ο πρακτικός συλλογισμός συνίσταται στο να ζυγίζουμε συγκρουόμενα επιχειρήματα υπέρ και κατά διαφόρων επιλογών δράσης. Τα συγκρουόμενα επιχειρήματα αφορούν τις επιθυμίες, τις αξίες, τις επιδιώξεις, τις πεποιθήσεις ενός πράκτορα. (Bratman 1990). Πρακτικός συλλογισμός θεωρητικός συλλογισμός. Ο δεύτερος επηρρεάζει τις πεποιθήσεις του πράκτορα. Ο πρώτος καθορίζει τις ενέργειες του πράκτορα. –Σύμφωνα με τον θεωρητικό συλλογισμό, αν πιστεύω ότι όλοι οι άνθρωποι είναι θνητοί, και ότι ο Σωκράτης είναι άνθρωπος, τότε συμπεραίνω ότι και ο Σωκράτης είναι θνητός. – Σύμφωνα με τον πρακτικό συλλογισμό συμπεραίνω ότι πρέπει να πάρω το τραίνο και όχι το λεωφορείο όταν μαθαίνω ότι είναι κλειστή η εθνική οδός.
Σκέψη και στόχευση Ο ανθρώπινος πρακτικός συλλογισμός φαίνεται ότι συνίσταται σε δύο διεργασίες –Αποφασίζουμε τι στόχο θέλουμε να πετύχουμε. (διεργασία σκέψης, deliberation) –Αποφασίζουμε πώς θα πετύχουμε το στόχο που επιλέξαμε. (διεργασία στόχευσης ή συλλογισμού μέσων-σκοπού, means-ends reasoning) Η διεργασία σκέψης έχει σκοπό να καταλήξει ο πράκτορας (ανθρωπος ή τεχνητός) στην επιλογή κάποιου σκοπού προς επίτευξη (π.χ επιλογή σκοπού μετά την αποφοίτηση). Η διεργασία στόχευσης έχει σκοπό να καταστρώσει ο πράκτορας ένα σχέδιο δράσης για να πετύχει το στόχο που έθεσε σαν αποτέλεσμα της διεργασίας σκέψης (π.χ. Αν έχω επιλέξει να βρώ δουλειά μετά την αποφοίτηση, η διεργασία στόχευσης επιστρέφει ένα σχέδιο, π.χ να δω τις αγγελίες, να κάνω αιτήσεις, να παω σε συνεντεύξεις, κλπ).
Υπολογιστικοί περιορισμοί για τις διεργασίες σκέψης και στόχευσης Ένας πράκτορας (άνθρωπος ή τεχνητός) εκτελεί τις διεργασίες σκέψης και στόχευσης με πεπερασμένους πόρους μνήμης και (υπολογιστικού) χρόνου. Η ικανότητα του πράκτορα να πετύχει στο περιβάλλον του καθορίζεται εν μέρει από την ικανότητά του να χρησιμοποιήσει αποτελεσματικά τους διαθέσιμους πόρους. Ο πράκτορας πρέπει να ελέγχει αποτελεσματικά το μηχανισμό συλλογισμού του. Οι πράκτορες δεν μπορεί να σκέφτονται επ’άπειρο. Κάποια στιγμή θα πρέπει η διεργασία σκέψης να τελειώσει και ο πράκτορας να έχει επιλέξει κάποιο στόχο προς επίτευξη. Ο στόχος αυτός ίσως δεν είναι ο βέλτιστος, δηλαδή αν ο πράκτορας είχε περισσότερο χρόνο στη διάθεσή του για σκέψη, τότε μπορεί να επέλεγε καλύτερο στόχο. Οι στόχοι τους οποίους επιλέγει ένας πράκτορας με την ολοκλήρωση της διεργασίας σκέψης λέγονται προθέσεις (intentions).
Προθέσεις στον πρακτικό συλλογισμό Οι προθέσεις αφορούν καταστάσεις που θέλει ένας πράκτορας να πετύχει στο μέλλον. Αποτέλεσμά τους είναι κάποια δράση εκ μέρους του πράκτορα. Δεν πρέπει να συγχέονται με τις επιθυμίες, οι οποίες χαλαρά χαρακτηρίζουν πιθανή δράση ενός πράκτορα. (π.χ. Επιθυμώ να πάω για ψώνια έχω πρόθεση να πάω για ψώνια). Οι προθέσεις έχουν διάρκεια, επιμένουν. Αν ειλικρινά ένας πράκτορας που σκεπτεται ορθολογικά έχει μια πρόθεση τότε προσπαθεί να κάνει κάτι να την πετύχει, δεν την εγκαταλείπει αμέσως. Φυσικά ο πράκτορας επιμένει στην πρόθεσή του όσο αυτή φαίνεται δυνατή και όσο υπάρχουν τρόποι δράσης για να την πετύχει. Η επιλογή μιας πρόθεσης σε μια χρονική στιγμή περιορίζει τον πρακτικό συλλογισμό του πράκτορα μετά από αυτή τη χρονική στιγμή, δηλαδή ο πράκτορας δεν κάνει επιλογές (προθέσεων ή δράσης) που είναι ασυνεπείς με την πρόθεσή του. Η επιλογή μιας πρόθεσης συνεπάγεται ότι ο πράκτορας πιστεύει ότι η κατάσταση που θέλει να πετύχει είναι δυνατή, δηλαδή πως αν καταστρώσει κατάλληλο σχέδιο δράσης για την πρόθεσή του και το περιβάλλον του είναι συνεργάσιμο, τότε θα την πραγματοποιήσει.
Η θέση ασυμμετρίας (Bratman 1987) Οι πεποιθήσεις και οι προθέσεις ενός πράκτορα αλληλεπιδρούν. Ασυνέπεια πρόθεσης-πεποίθησης (intention-belief inconsistency): Ο πράκτορας έχει την πρόθεση να επιφέρει την κατάσταση περιβάλλοντος φ και ταυτόχρονα πιστεύει ότι δεν θα επιφέρει την κατάσταση περιβάλλοντος φ. Αυτό δεν είναι ορθολογικό. Μη-πληρότητα πρόθεσης-πεποίθησης (intention-belief incompleteness): Ο πράκτορας έχει την πρόθεση να επιφέρει την κατάσταση περιβάλλοντος φ χωρίς να πιστεύει ότι η φ θα είναι αληθής. Αυτό είναι αποδεκτό για ορθολογικούς πράκτορες (δηλαδή πράκτορες που αναγνωρίζουν ότι η δράση τους δεν είναι πάντα, εγγυημένα, επιτυχής).
BDI μοντέλο πρακτόρων Υποθέτουμε ότι ένας πράκτορας έχει στη διάθεσή του μια αναπαράσταση των πεποιθήσεων, προθέσεων και επιθυμιών του. Αυτή η αναπαράσταση μπορεί να είναι συμβολική σε κάποια κατάλληλη λογική. –Β μεταβλητή που συμβολίζει το σύνολο Bel των πεποιθήσεων του πράκτορα –D μεταβλητή που συμβολίζει το σύνολο Des των επιθυμιών του πράκτορα –Ι μεταβλητή που συμβολίζει το σύνολο Ιnt των προθέσεων του πράκτορα. Η διεργασία σκέψης αναπαρίσταται μέσω δύο συναρτήσεων: –Συνάρτηση δημιουργίας επιλογών που με βάση τις τρέχουσες προθέσεις και πεποιθήσεις του πράκτορα δημιουργεί ένα σύνολο επιθυμιών options: (Bel) x (Int) (Des) –Συνάρτηση φιλτραρίσματος επιλογών που με βάση τις τρέχουσες πεποιθήσεις, επιθυμίες και προθέσεις του πράκτορα επιλέγει ως νέες προθέσεις τις καλύτερες από τις επιλογές του (δηλαδή τις καλύτερες από τις τρέχουσες επιθυμίες του) filter: (Bel) x (Des) x (Int) (Int) Η αναθεώρηση των πεποιθήσεων του πράκτορα αναπαρίσταται από τη συνάρτηση brf: (Bel) x Per (Bel)
Συλλογισμός μέσων-σκοπού (ή διεργασία στόχευσης) Συλλογισμός μέσων-σκοπού είναι η διεργασία με την οποία αποφασίζουμε πώς να πετύχουμε ένα σκοπό χρησιμοποιώντας τα διαθέσιμα μέσα, δηλαδή τις ενέργειες που μπορούμε να κάνουμε. Στην ΤΝ είναι γνωστή και ώς διεργασία κατάστρωσης σχεδίου δράσης ή σχεδιασμός (planning). Ο σχεδιασμός είναι ουσιαστικά αυτόματος προγραμματισμός. Ένας πράκτορας σχεδιασμού παίρνει σαν είσοδο –Ένα στόχο (ή μια πρόθεση ή μια εργασία). Αυτό αφορά μια εργασία εκπλήρωσης ώστε να δημιουργηθεί μια κατάσταση περιβάλλοντος ή μια εργασία συντήρησης ώστε να διατηρηθεί μια κατάσταση περιβάλλοντος. –Την τρέχουσα κατάσταση περιβάλλοντος που αποτελεί τις πεποιθήσεις του πράκτορα. –Το ρεπερτόριο των ενεργειών που είναι διαθέσιμες στον πράκτορα. Και παράγει σαν έξοδο ένα σχέδιο δράσης, δηλαδή μια ακολουθία ενεργειών που αν εκτελεστούν σωστά το περιβάλλον του πράκτορα θα μεταβεί από την τρέχουσα κατάσταση στην κατάσταση του στόχου.
Σχεδιασμός στην Τεχνητή Νοημοσύνη Το πρώτο ΥΣ σχεδιασμού ήταν το STRIPS (Fikes & Nilsson 1971). Αποτελούνταν από δύο συστατικά –Ένα μοντέλο του κόσμου αναπαριστάμενο με προτάσεις κατηγορηματικής λογικής πρώτης τάξης –Ένα σύνολο από σχήματα ενεργειών που περιγράφουν τις προϋποθέσεις και τα αποτελέσματα όλων των ενεργειών που είναι διαθέσιμες στο ΥΣ. Συνήθως οι αλγόριθμοι σχεδιασμού στην ΤΝ δοκιμάζονται στο παράδειγμα του λεγόμενου κόσμου των κύβων (Blocks world) –Έχουμε 3 ισομεγέθεις κύβους A, B, C, την επιφάνεια ενός τραπεζιού, κι ένα ρομπότ που μπορεί να σηκώνει και να μεταφέρει έναν κύβο τη φορά. Οι κύβοι μπορεί να είναι τοποθετημένοι στην επιφάνεια του τραπεζιού ή ο ένας πάνω στον άλλο σε διάφορους συνδυασμούς. –Το ΥΣ σχεδιασμού (ρομπότ) ξεκινά με μια κατάσταση περιβάλλοντος στην οποία οι κύβοι βρίσκονται σε κάποιες θέσεις και προσπαθεί να επιφέρει μια νέα κατάσταση περιβάλλοντος.
STRIPS and the Blocks world (1) Αναπαράσταση τρέχουσας κατάστασης περιβάλλοντος: {Clear(A), On(A,B), OnTable(B), OnTable(C), Clear(C)} Αναπαράσταση κατάστασης περιβάλλοντος στόχου: {OnTable(A), OnTable(B), OnTable(C)}
STRIPS and the Blocks World (2) Οι ενέργειες αναπαρίστανται με βάση το ακόλουθο σχήμα: –Όνομα της ενέργειας και οι παράμετροί της (αν έχει) –Σύνολο προϋποθέσεων, δηλαδή σύνολο όλων των προτάσεων που πρέπει να είναι αληθείς για να μπορεί να εκτελεστεί η ενέργεια. –Σύνολο αφαίρεσης, δηλαδή σύνολο όλων των προτάσεων που θα πάψουν να είναι αληθείς μετά την εκτέλεση της ενέργειας. –Σύνολο πρόσθεσης, δηλαδή σύνολο όλων των προτάσεων που θα γίνουν αληθείς μετά την εκτέλεση της ενέργειας. Η ενέργεια Stack(x, y) συμβαίνει όταν το ρομπότ τοποθετεί το αντικείμενο x πάνω στο αντικείμενο y: Stack(x, y) pre {Clear(y), Holding(x)} del {Clear(y), Holding(x)} add {ArmEmpty, On(x,y)}
STRIPS and the Blocks World (3) Η ενέργεια Unstack(x,y) συμβαίνει όταν το ρομπότ αφαιρεί το αντικείμενο x πάνω από το αντικείμενο y. H ενέργεια Pickup(x) συμβαίνει όταν το ρομπότ σηκώνει ένα αντικείμενο x από το τραπέζι. Η ενέργεια Putdown(x) συμβαίνει όταν το ρομπότ αφήνει ένα αντικείμενο x πάνω στο τραπέζι.
Τυπικός ορισμός σχεδιασμού (1)
Τυπικός ορισμός σχεδιασμού (2)
Συμβολισμός για σχέδια
Υλοποίηση ενός πρακτικά συλλογιζόμενου πράκτορα
Δέσμευση του πράκτορα σε σκοπό (πρόθεση) Όταν μια επιθυμία/επιλογή του πράκτορα επιλέγεται από τη συνάρτηση filter και γίνεται πρόθεση του πράκτορα, τότε λέμε ότι ο πράκτορας έχει δεσμευτεί σ’αυτή την πρόθεση. Η δέσμευση συνεπάγεται χρονική διάρκεια: όταν μια πρόθεση έχει καθοριστεί δεν μπορεί να την εγκαταλείπουμε αμέσως. Αλλά πόσο πρέπει να επιμένει ένας πράκτορας σε μια πρόθεση; Υπό ποιές συνθήκες μπορεί ο πράκτορας να εγκαταλείψει μια πρόθεσή του; Ο μηχανισμός που χρησιμοποιεί ένας πράκτορας για να αποφασίσει πότε και πώς να εγκαταλείψει τις προθέσεις του λέγεται στρατηγική δέσμευσης. Υπάρχουν τρείς τέτοιες στρατηγικές ευρέως συζητημένες: –Τυφλή δέσμευση (ή φανατική δέσμευση): ο πράκτορας διατηρεί μια πρόθεση μέχρι να πιστέψει ότι αυτή ικανοποιήθηκε. –Στενόμυαλη δέσμευση: ο πράκτορας διατηρεί μια πρόθεση μέχρι να πιστέψει είτε ότι αυτή εκπληρώθηκε είτε ότι δεν είναι πλέον δυνατό να εκπληρωθεί. –Ανοιχτόμυαλη δέσμευση: ο πράκτορας διατηρεί μια πρόθεση για όσο διάστημα πιστεύει ότι αυτή είναι δυνατό να εκπληρωθεί.
Δέσμευση του πράκτορα σε μέσα (σχέδια) Σύμφωνα με τον αλγόριθμο υλοποίησης, ο πράκτορας διατηρεί (στενόμυαλη) δέσμευση σε μια πρόθεση μέχρι –Να πιστέψει ότι αυτή εκπληρώθηκε ή –Να πιστέψει ότι αυτή δεν είναι δυνατό να εκπληρωθεί ή –Δεν υπάρχει καμία άλλη ενέργεια προς εκτέλεση στο σχέδιό του. succeeded(I,B) σημαίνει ότι δοθέντων των πεποιθήσεων Β οι προθέσεις Ι θεωρείται ότι εκπληρώνονται. impossible(I,B) σημαίνει ότι δοθέντων των πεποιθήσεων Β οι προθέσεις Ι είναι αδύνατο να εκπληρωθούν. Το δεύτερο while-loop αναπαριστά τη δέσμευση του πράκτορα στα μέσα του.
Πότε ο πράκτορας αναθεωρεί τις προθέσεις του; Μια επιλογή είναι να τις αναθεωρεί με κάθε ευκαιρία, δηλαδή μετά την εκτέλεση όποιας ενέργειας είναι δυνατή. Αυτό συνεπάγεται ότι οι συναρτήσεις options και filter ξαναϋπολογίζονται, πράγμα απαγορευτικό: όσο ο πράκτορας σκέφτεται (που απαιτεί σημαντικό υπολογιστικό χρόνο) το περιβάλλον του αλλάζει κι έτσι οι όποιες επιλογές του πιθανό να είναι άχρηστες μόλις τις κάνει. Το δίλημμα: –Ο πράκτορας δεν αναθεωρεί τις προθέσεις του αρκετά συχνά, κι έτσι προσπαθεί να τις εκπληρώσει ακόμα κι όταν είναι προφανές ότι αυτές δεν είναι δυνατό να εκπληρωθούν ή δεν υπάρχει πια λόγος για να εκπληρωθούν –Ο πράκτορας που συνεχώς αναθεωρεί τις προθέσεις του και ξοδεύει ελάχιστο χρόνο για να ενεργήσει ώστε να τις εκπληρώσει με κίνδυνο να μην τις εκπληρώσει ποτέ. Απαιτείται μια «χρυσή τομή» που αναπαρίσταται στον αλγόριθμο υλοποίησης με την Boolean συνάρτηση reconsider(I,B) που γίνεται αληθής όταν είναι κατάλληλο να αναθεωρήσει ο πράκτορας τις προθέσεις του Ι δοθέντων των πεποιθήσεών του Β.
Βέλτιστη συμπεριφορά της συνάρτησης reconsider(…) Αν υποθέσουμε ότι οι συναρτήσεις σκέψης και σχεδιασμού του πράκτορα συμπεριφέρονται «τέλεια» (πάντα επιλέγεται η «καλύτερη» πρόθεση και το «καλύτερο» σχέδιο) και ότι ο χρόνος που μένει αδρανής ο πράκτορας κοστίζει, τότε η συνάρτηση reconsider(…) συμπεριφέρεται τέλεια αν και μόνο αν όποτε ο πράκτορας επιλέγει να σκεφτεί, αλλάζει προθέσεις. Διαφορετικά, αν ο πράκτορας επιλέγει να σκεφτεί και δεν αλλάζει προθέσεις, τότε ο χρόνος της σκέψης πάει χαμένος. Παρόμοια, αν ο πράκτορας έπρεπε να αλλάξει προθέσεις και δεν το έπραξε, τότε ο χρόνος που προσπαθούσε να εκπληρώσει τις προθέσεις του πάει χαμένος.
Στρατηγικές αναθεώρησης (Kinny & Georgeff 1991) Στα πειράματα που έγιναν χρησιμοποιήθηκαν δύο στρατηγικές αναθεώρησης: –Τολμηροί πράκτορες, που ποτέ δεν αναθεωρούν τις προθέσεις τους πριν ολοκληρώσουν την εκτέλεση του τρέχοντος σχεδίου τους. –Επιφυλακτικοί πράκτορες, που αναθεωρούν τις προθέσεις τους μετά την εκτέλεση κάθε μιας ενέργειας του σχεδίου τους. Αποτελέσματα των πειραμάτων: –Αν το περιβάλλον αλλάζει αργά τότε οι τολμηροί αποδίδουν καλύτερα από τους επιφυλακτικούς γιατί ενεργούν γρήγορα για την εκπλήρωση των προθέσεών τους και δεν χάνουν χρόνο σε αναθεώρηση. –Αν το περιβάλλον αλλάζει γρήγορα τότε οι επιφυλακτικοί αποδίδουν καλύτερα γιατί αντιλαμβάνονται πιο έγκαιρα πότε κάποια πρόθεση πρέπει να εγκαταλειφθεί.
Το σύστημα PRS (Georgeff & Lansky 1987) Η πρώτη αρχιτεκτονική πράκτορα που συμπεριέλαβε το μοντέλο BDI. Έχει εφαρμοστεί σε σύστημα εναέριας κυκλοφορίας (OASIS, Sydney airport), σε σύστημα προσομοίωσης για την Αυστραλιανή πολεμική αεροπορία και σε σύστημα επιχειρηματικών διεργασιών.
Σχέδια στο PRS Ο πράκτορας δεν κατασκευάζει σχέδια από την αρχή. Του δίδεται βιβλιοθήκη με κάποια προγραμματισμένα σχέδια. Κάθε σχέδιο ορίζεται από –Το στόχο που επιτυγχάνει, δηλαδή την κατάσταση περιβάλλοντος που θα είναι αληθής μετά την ολοκλήρωσή του. –Την προϋπόθεσή του, δηλαδή την κατάσταση περιβάλλοντος που πρέπει να είναι αληθής για να μπορεί να εκτελεστεί –Το κύριο μέρος του, δηλαδή τις ενέργειες που περιλαμβάνει. Στα σχέδια του PRS, το κύριο μέρος δεν είναι μόνο μια ακολουθία από ενέργειες. Μπορεί να περιλαμβάνει –στόχους, οι οποίοι πρέπει να εκπληρωθούν μόλις φτάσει ο πράκτορας σε εκείνο το σημείο του σχεδίου (πράγμα που οδηγεί σε εμφωλιασμένα σχέδια) –Διάζευξη στόχων, οπότε ο πράκτορας μπορεί να επιλέξει εμφωλιασμένο σχέδιο –Κύκλους («συνέχισε να πραγματοποιείς το στόχο φ μέχρι ψ να γίνει αληθής»).