Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Πράκτορες συνεπαγωγικού συλλογισμού Πράκτορες βασισμένοι στη γνώση."— Μεταγράφημα παρουσίασης:

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

2 2 Αρχιτεκτονικές Πρακτόρων Πράκτορες συμβολικής Τεχνητής Νοημοσύνης –Αντιδραστικοί πράκτορες –Πράκτορες με στόχους Αντιδραστικοί, μη συμβολικοί πράκτορες Υβριδικοί πράκτορες –Συνδυασμός συμβολικών πρακτόρων (με στόχους) και μη συμβολικών (αντιδραστικών) πρακτόρων

3 3 Πράκτορες βασισμένοι στη γνώση (ή πράκτορες συμβολικής Τεχνητής Νοημοσύνης) Βασικό συστατικό τους είναι η βάση γνώσης τους. Η βάση γνώσης περιέχει προτάσεις που περιγράφουν: –το περιβάλλον του πράκτορα και –τις προϋποθέσεις και τα αποτελέσματα των ενεργειών του. Οι προτάσεις αναπαρίστανται με μία τυπική γλώσσα αναπαράστασης: κάποιο σύστημα Λογικής. –Σύμβολα της γλώσσας και κανόνες για τη δημιουργία προτάσεων σε αυτή. –Κανόνες εξαγωγής συμπεράσματος, δηλαδή κανόνες δημιουργίας νέων προτάσεων με βάση τις υπάρχουσες. Ο πράκτορας επεξεργάζεται «συντακτικά» αυτή την αναπαράσταση για να αποφασίσει ποια ενέργεια να εκτελέσει δεδομένων των αντιλήψεών του. Η διαδικασία της απόφασής του ανάγεται στην διαδικασία απόδειξης ενός θεωρήματος με αφετηρία τις προτάσεις που βρίσκονται στη βάση γνώσης του.

4 4 Παράδειγμα RALPH: ο πράκτορας-καθαριστής Ο RALPH λειτουργεί σε φυσικό περιβάλλον που αποτελείται από διαδρόμους και τοίχους. Οι αισθητήρες του δέχονται είσοδο από μία βίντεο-κάμερα. Το υποσύστημα interp μετατρέπει την είσοδο των αισθητήρων του σε προτάσεις λογικής πρώτης τάξης. Η γνώση του για το περιβάλλον του περιέχεται στη Βάση Γνώσης του. Το υποσύστημα plan χρησιμοποιεί τη Βάση γνώσης για να συμπεράνει ποια ενέργεια πρέπει να εκτελεστεί. Το υποσύστημα Action μεταφράζει το συμπέρασμα στον κατάλληλο μηχανισμό δράσης.

5 5 Τα βασικά προβλήματα Για να κατασκευάσουμε τον RALPH (και οποιονδήποτε άλλο πράκτορα) με συμβολική ΤΝ πρέπει να επιλύσουμε δύο προβλήματα: –Πώς να μεταφράσουμε τον πραγματικό κόσμο σε μια συμβολική αναπαράσταση, που να είναι ακριβής και επαρκής, και σε χρόνο ώστε να είναι χρήσιμη η αναπαράσταση; Μηχανική όραση για επεξεργασία εικόνας Επεξεργασία ήχου Επεξεργασία φυσικής γλώσσας Μηχανική μάθηση –Σε ποια συμβολική μορφή να κάνουμε την αναπαράσταση ώστε να μπορούν οι πράκτορες να την επεξεργάζονται για να εκτελούν συλλογισμούς με αυτήν σε χρόνο που να είναι χρήσιμα τα αποτελέσματα/συμπεράσματά τους; Συστήματα λογικής για αναπαράσταση γνώσης Αυτόματη απόδειξη θεωρημάτων (αυτόματος συλλογισμός) Αυτόματη κατάστρωση σχεδίου δράσης

6 6 Οι πράκτορες συνεπαγωγικού συλλογισμού Η βάση γνώσης τους αντιστοιχεί στην εσωτερική τους κατάσταση. Η πληροφορία αναπαρίσταται σε κατηγορηματική λογική (ή λογική πρώτης τάξης). Τα περιεχόμενα της βάσης γνώσης αντιστοιχούν σε αυτό που αποκαλούμε «πεποιθήσεις» για τους ανθρώπους, δηλαδή ο πράκτορας θεωρεί ότι οι προτάσεις της βάσης γνώσης του είναι αληθείς. Παράδειγμα: στο φυσικό περιβάλλον του πράκτορα μπορεί η θερμοκρασία στο δωμάτιο 21 να είναι 40 βαθμοί. Η βάση δεδομένων του πράκτορα θα πρέπει να περιέχει την πρόταση temperature(room21,40). Όπως συμβαίνει και με τις πεποιθήσεις των ανθρώπων μπορεί οι πεποιθήσεις ενός πράκτορα να είναι λάθος (π.χ. επειδή υπάρχει σφάλμα σε κάποιον αισθητήρα, επειδή η πληροφορία του πράκτορα δεν είναι ενημερωμένη, επειδή ο συλλογισμός του πράκτορα είναι λανθασμένος κλπ) η ελλιπής. –Προσοχή λοιπόν, όπως και στις βάσεις δεδομένων ισχύει η διάκριση πραγματικού κόσμου και μικρο-κόσμου.

7 7 Τυπικός ορισμός συνεπαγωγικού πράκτορα

8 8 Ψευδοκώδικας ορισμού της συνάρτησης δράσης Ο προγραμματιστής του πράκτορα κωδικοποιεί τους κανόνες ρ και τη βάση Δ έτσι ώστε αν μια πρόταση Do(α) (όπου α είναι μια ενέργεια) μπορεί να εξαχθεί, τότε η α είναι η καλύτερη ενέργεια. Ο πράκτορας δοκιμάζει για κάθε μια από τις ενέργειές του να αποδείξει Do(α) χρησιμοποιώντας τους κανόνες ρ. Αν πετύχει τότε η α είναι η ενέργεια που επιλέγεται. Αν αποτύχει, προσπαθεί να αποδείξει  Do(α). Αν αποτύχει τότε η ενέργεια α δεν απαγορεύεται και επιστρέφεται. Αν αποτύχει και πάλι τότε καμία ενέργεια δεν επιτρέπεται και επιστρέφει null.

9 9 Παράδειγμα: ο πράκτορας-καθαριστής Ο πράκτορας έχει τώρα μεγαλύτερο κόσμο να διατρέξει! Έχει αισθητήρα θέσης και αισθητήρα σκόνης (είσοδος) Έχει μηχανισμό δράσης για να αναρροφά τη σκόνη και μηχανισμό δράσης για να μετακινείται εμπρός κατά ένα βήμα καθώς και μηχανισμό για να μπορεί να στρίβει 90 μοίρες δεξιά και αριστερά. Ας υποθέσουμε ότι ξεκινά πάντα στο κελί (0,0) με προσανατολισμό Βόρεια.

10 10 Αναπαράσταση γνώσης (1)

11 11 Αναπαράσταση του πράκτορα-καθαριστή (2)

12 12 Αναπαράσταση του πράκτορα-καθαριστή (3)

13 13 Προβλήματα στην λογική προσέγγιση για την κατασκευή πρακτόρων (1)

14 14 Προβλήματα στη λογική προσέγγιση για την κατασκευή πρακτόρων (2)

15 15 Λύσεις σε μερικά από τα προβλήματα λογικής προσέγγισης για την κατασκευή πρακτόρων Χρήση λιγότερο εκφραστικών συστημάτων λογικής. Αντιδραστικοί, μη συμβολικοί πράκτορες. Η διαδικασία λήψης αποφάσεων λαμβάνει χώρα πριν την εκκίνηση του πράκτορα: βιβλιοθήκες με «έτοιμες» αποφάσεις.

16 16 «Πράκτορο-στραφής προγραμματισμός» (Agent-Oriented Programming, Shoham 1993) Η βασική ιδέα είναι να προγραμματίζουμε πράκτορες με βάση νοητικές έννοιες όπως τις πεποιθήσεις τους, τις επιθυμίες και τους στόχους τους, γιατί και οι άνθρωποι χρησιμοποιούμε τέτοιες έννοιες σαν αφαιρετικό μηχανισμό για να περιγράψουμε τις ιδιότητες πολύπλοκων συστημάτων. Η πρώτη ΑΟP γλώσσα προγραμματισμού για πράκτορες είναι η AGENT0. Η γλώσσα είναι στη φάση του πρωτότυπου, δεν χρησιμοποιείται για την κατασκευή συστημάτων μεγάλης κλίμακας. Ένας πράκτορας προσδιορίζεται ορίζοντας –Ένα σύνολο ικανοτήτων του (δηλαδή το σύνολο των ενεργειών του) –Ένα σύνολο αρχικών πεποιθήσεων (δηλαδή μια αρχική βάση γνώσης, πιθανώς {}) –Ένα σύνολο αρχικών δεσμεύσεων (δηλαδή ένα σύνολο ενεργειών που πρέπει αρχικά να εκτελέσει, πιθανώς {}) –Ένα σύνολο κανόνων δέσμευσης. Αυτό καθορίζει πώς επιλέγει νέες ενέργειες ο πράκτορας.

17 17 Κανόνες δέσμευσης στην AGENT0 Κάθε κανόνας δέσμευσης ορίζεται από: –Μία συνθήκη μηνύματος (message condition) –Μία συνθήκη νοητική (mental condition) –Μία ενέργεια (action) Η απλή αφηρημένη μορφή ενός κανόνα δέσμευσης είναι If and then Ένας κανόνας δέσμευσης ενεργοποιείται όταν η συνθήκη μηνύματός του ικανοποιείται με βάση τα μηνύματα που έχει λάβει ο πράκτορας. Τότε ελέγχεται αν ικανοποιείται η νοητική συνθήκη του κανόνα με βάση τις πεποιθήσεις του πράκτορα. Αν ναι, τότε ο πράκτορας δεσμεύεται να κάνει την ενέργεια που ορίζει ο κανόνας. Η πιο λεπτομερής μορφή ενός κανόνα δέσμευσης είναι commit(MessageCondition, MentalCondition, self, do(time, action) όπου, MessageCondition έχει τη δομή (Sender, Type, Content), MentalCondition έχει τη δομή (Β, [ ])

18 18 Ενέργειες στην AGENT0 Μπορεί να είναι –ιδιωτικές (private) δηλαδή να αντιστοιχούν σε υπορουτίνες που εκτελούνται εσωτερικά στον πράκτορα ή –Επικοινωνιακές (communicative) δηλαδή να αντιστοιχούν σε αποστολή μηνυμάτων. Τα μηνύματα που μπορεί να στέλνει ο πράκτορας είναι τριών τύπων –Αιτήσεις προς κάποιον άλλο πράκτορα για την εκτέλεση κάποιας ενέργειας (requests) –Αιτήσεις προς κάποιον άλλο πράκτορα για να αποφύγει να εκτελέσει κάποια ενέργεια (unrequests) –Πληροφόρηση κάποιου άλλου πράκτορα (inform) Τα μηνύματα αιτήσεων που λαμβάνει κάποιος πράκτορας έχουν σαν αποτέλεσμα να αλλάζουν, πιθανώς, οι δεσμεύσεις του. Τα μηνύματα πληροφόρησης που λαμβάνει κάποιος πράκτορας έχουν σαν αποτέλεσμα να αλλάζουν, πιθανώς, οι πεποιθήσεις του.

19 19 Παράδειγμα κανόνα δέσμευσης στην AGENT0 COMMIT ( (agent, REQUEST, DO(time, action) ), ;;; msg condition (B, [now, Friend agent] AND CAN(self, action) AND NOT [time, CMT(self, anyaction)] ), ;;; mental condition self, DO(time, action)) Σε παράφραση: Αν λάβω μήνυμα από έναν πράκτορα agent που μου ζητά να κάνω την ενέργεια action τη χρονική στιγμή time και πιστεύω ότι: Ο πράκτορας agent κατά τη χρονική στιγμή λήψης του μηνύματος είναι φίλος & Μπορώ να κάνω την ενέργεια action & Στη χρονική στιγμή time δεν είμαι δεσμευμένος να κάνω κάποια άλλη ενέργεια Τότε δεσμεύομαι να κάνω την ενέργεια action στο χρόνο time.

20 20 Κύκλος πράκτορα στην AGENT0 Ο πράκτορας εκτελεί τον κύκλο –Διάβασε όλα τα τρέχοντα μηνύματα και ενημέρωσε τις πεποιθήσεις και τις δεσμεύσεις σου όπου αυτό είναι απαραίτητο –Εκτέλεσε όλες τις δεσμεύσεις σου για τον τρέχοντα κύκλο όπου η προϋπόθεση της σχετικής ενέργειας ικανοποιείται

21 21 AGENT0 και PLAnning Communicating Agents Η AGENT0 μπορεί να χρησιμοποιηθεί για τον προγραμματισμό πολλαπλών πρακτόρων, οι οποίοι επικοινωνούν μεταξύ τους και συνεργάζονται. Επιπλέον, παρέχει δυνατότητα για debugging. Αλλά είναι μία γλώσσα στη φάση του πρωτότυπου, η οποία αναπτύχθηκε για να περιγράψει κάποιες αρχές προγραμματισμού πρακτόρων, και όχι για τον προγραμματισμό ρεαλιστικών/εμπορικών πρακτόρων. Η Thomas, στο διδακτορικό της το 1993, ανέπτυξε την γλώσσα Planning Communication Agents, με σκοπό να καλύψει ένα βασικό μειονέκτημα της AGENT0: την έλλειψη δυνατότητας προγραμματισμού πρακτόρων με στόχους και συνεπώς με δυνατότητα σχεδιασμού. Ο προγραμματισμός πρακτόρων στην γλώσσα της Thomas γίνεται όπως και στην AGENT0, με κανόνες αλλαγής της εσωτερικής κατάστασης πρακτόρων, δηλαδή των πεποιθήσεων, των δεσμεύσεων και των προθέσεων τους.

22 22 AGENT0 και PLAnning Communicating Agents Παράδειγμα κανόνα αλλαγής πρόθεσης: ((( self ?agent REQUEST (?t (xeroxed ?x))) (AND (CAN-ACHIEVE (?t xeroxed ?x))) (NOT (BEL (*now* shelving))) (NOT (BEL (*now* (vip ?agent)))) ((ADOPT (INTEND (5pm (xeroxed ?x))))) ((?agent self INFORM (*now * (INTEND (5pm (xeroxed ?x))))))) Αν κάποιος σου ζητήσει να φωτοτυπήσεις κάτι, και έχεις την ικανότητα να το κάνεις, και δεν πιστεύεις ότι πρέπει να βάζεις βιβλία στα ράφια, ή ότι αυτός που σου το ζήτησε είναι VIP, τότε: –Υιοθέτησε την πρόθεση να το φωτοτυπήσεις μέχρι τις 5, και –Πληροφόρησε τον για τη νέα σου πρόθεση

23 23 Η σύγχρονη (concurrent) γλώσσα MetateM (Fisher 1994) Ένα σύστημα στη MetateM αποτελείται από ένα πλήθος πρακτόρων που λειτουργούν συγχρόνως και επικοινωνούν μεταξύ τους με ασύγχρονη μετάδοση μηνυμάτων (asynchronous broadcasting). Κάθε πράκτορας προγραμματίζεται δίνοντας τον ορισμό της επιθυμητής συμπεριφοράς του σε χρονική λογική. Ο ορισμός του πράκτορα εκτελείται για να παράγει τη συμπεριφορά του. Ο ορισμός κάθε πράκτορα περιέχει δύο στοιχεία –Μια διεπαφή που ορίζει πώς ο πράκτορας αλληλεπιδρά με το περιβάλλον του (και με άλλους πράκτορες) –Μια υπολογιστική μονάδα που ορίζει πώς ενεργεί ο πράκτορας.

24 24 Διεπαφή πράκτορα στην MetateM Η διεπαφή πράκτορα αποτελείται από: –Ένα μοναδικό όνομα για τον ορισμό της ταυτότητάς του. –Ένα σύνολο συμβόλων που ορίζουν τα μηνύματα που μπορεί να δεχτεί ο πράκτορας (προτάσεις του περιβάλλοντος, είσοδος). –Ένα σύνολο συμβόλων που ορίζουν τα μηνύματα που μπορεί να στείλει ο πράκτορας (προτάσεις του συστατικού, έξοδος). Παράδειγμα: η διεπαφή ενός πράκτορα-στοίβας μπορεί να είναι stack(pop, push) [popped, full] Όποτε μεταδίδεται μήνυμα pop ή push ο πράκτορας με όνομα stack το δέχεται. Αν μεταδίδεται μήνυμα διαφορετικό ο πράκτορας stack το αγνοεί. Τα μόνα μηνύματα που μπορεί να στείλει ο πράκτορας stack ξεκινούν με τα σύμβολα popped ή full.

25 25 Υπολογιστική μονάδα πράκτορα στην MetateM Ορίζεται από ένα σύνολο κανόνων της μορφής Συνθήκη για το παρελθόν  επακόλουθο για το παρόν και το μέλλον Οι προτάσεις αριστερά και δεξιά από το σύμβολο  είναι προτάσεις σε χρονική λογική. Η εκτέλεση ενός πράκτορα είναι μία διαδικασία κατά την οποία κάθε κανόνας του πράκτορα ελέγχεται με βάση την κατάσταση του (τις πεποιθήσεις του), και ενεργοποιείται αν η πρόταση αριστερά από το  ικανοποιείται. Οι προτάσεις δεξιά από το  των κανόνων που ενεργοποιούνται αποτελούν τις μελλοντικές δεσμεύσεις του πράκτορα.

26 Υπολογιστική μονάδα πράκτορα στην MetateM Κανόνες πράκτορα: Συνθήκη για το παρελθόν  επακόλουθο για το παρόν και το μέλλον Οι προτάσεις αριστερά και δεξιά από το σύμβολο  είναι προτάσεις σε χρονική λογική και χρησιμοποιούν τα λογικά συνδετικά που ορίζονται στον παρακάτω πίνακα. φφφ αληθής αύριο φφ φ αληθής χθες φφφ αληθής κάποια στιγμή στο μέλλον φφφ αληθής πάντα στο μέλλον φφφ αληθής κάποια στιγμή στο παρελθόν φφ αληθής πάντα στο παρελθόν φ U ψφ αληθής μέχρι να γίνει αληθής ψ φ S ψφ είναι από το παρελθόν αληθής από τότε που έγινε αληθής ψ φ W ψφ αληθής εκτός αν είναι αληθής ψ φ Z ψφ αληθής από το παρελθόν και πιθανά από τότε που έγινε αληθής ψ

27 27 Παραδείγματα προτάσεων σε χρονική λογική  σημαντικοι(πρακτορες) –είναι τώρα και θα είναι πάντα αληθές ότι οι πράκτορες είναι σημαντικοί  ψηλος(Γιαννης) –κάποια στιγμή στο μέλλον ο Γιάννης θα είναι ψηλός  φιλοι(εμεις) U συγγνωμη(εσυ) –δεν είμαστε φίλοι μέχρι να μου ζητήσεις συγγνώμη  συγγνωμη(εσυ) –αύριο (στην επόμενη κατάσταση) θα μου ζητήσεις συγγνώμη  αγεντικο(εσυ) – ήσουν το αφεντικό κάποια στιγμή στο παρελθόν

28 28 Κύκλος πράκτορα στη MetateM Ο πράκτορας εκτελεί τον κύκλο 1.Διάβασε τα μηνύματα που λαμβάνεις από το περιβάλλον (δηλαδή από άλλους πράκτορες) και ενημέρωσε τις πεποιθήσεις σου με αυτά. 2.Έλεγξε ποιοι κανόνες ενεργοποιούνται, δηλαδή ποιων κανόνων οι συνθήκες παρελθόντος ικανοποιούνται σύμφωνα με τις πεποιθήσεις σου. 3.Εκπλήρωσε τις δεσμεύσεις που δημιουργούνται από τους κανόνες που ενεργοποιήθηκαν στον τωρινό κύκλο, καθώς και τις δεσμεύσεις που είναι ενεργές από προηγούμενους κύκλους, δηλαδή Μάζεψε όλα τα επακόλουθα κανόνων που είναι ενεργοποιημένοι στον τωρινό κύκλο και όλα τα επακόλουθα κανόνων που ήταν ενεργοποιημένοι σε προηγούμενους κύκλους αλλά δεν εκπληρώθηκαν. Όσες δεσμεύσεις δεν εκπληρωθούν στον τρέχοντα κύκλο μεταφέρονται στον επόμενο κύκλο.

29 29 Παράδειγμα λειτουργίας πράκτορα στη MetateM

30 30 MetateM Συνοψίζοντας: –Μία (ακόμα) γλώσσα στη φάση του πρωτότυπου –Αναπαράσταση δυναμικών συστημάτων με χρήση χρονικής λογικής –Αλλά δεν μπορεί να χρησιμοποιηθεί για την υλοποίηση ενός «πλήρους» συστήματος

31 31 Βιβλιογραφία Κεφάλαιο 3 ο από το βιβλίο του Wooldridge. Agent0 Υ. Shoham, Agent-Oriented Programming, Technical report STAN-CS , Computer Science Department, Stanford University, 1990, Y. Shoham, Agent-Oriented Programming, Artificial Intelligence, 60(1), 51-92, Planning Communicating Agents (PLACA) S. R. Thomas, PLACA, an Agent-Oriented Programming Language, PhD Thesis, Computer Science Department, Stanford University, S. R. Thomas, The PLACA Agent Programming Language, In Intelligent Agents: Theories, Architectures and Languages, eds. Wooldridge and Jennings, LNAI 890, , Springer Concurrent MetateM M. Fisher, A Survey of Concurrent MetateM-the Language and its Applications, In Proceedings of the 1 st International Conference on Temporal Logic, eds. Gabbay and Ohlbach, LNAI 827, , Springer, Αναπαράσταση δυναμικών περιβαλλόντων M. Shanahan, The Event Calculus Explained, in Artificial Intelligence Today, ed. M.J.Wooldridge and M.Veloso, Springer Lecture Notes in Artificial Intelligence no. 1600, Springer, pages , E. Mueller, Commonsense Reasoning, Morgan Kaufmann, Αντιδραστικοί, μη συμβολικοί πράκτορες R. A. Brooks, A Robust Layered Control System for a Mobile Robot, IEEE Journal of Robotics and Automation, 2(1), 14-23, P. E. Agre and S. J. Rosenchain (eds.), Computational Theories of Interaction and Agency, MIT Press, Υβριδικοί πράκτορες I. A. Ferguson, TouringMachines: an Architecture for Dynamic, Rational, Mobile Agents, PhD Thesis, University of Cambridge, J. Muller, A Cooperation Model for Autonomous Agents, In Intelligent Agents III, eds. Muller, Wooldridge, Jennings, LNAI 1193, , Springer, 1997.


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google