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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Γραφήματα & Επίπεδα Γραφήματα
Advertisements

Κατηγορηματικός Λογισμός
Βασικές έννοιες αλγορίθμων
1 Δορυφορικό 2 ης ομάδας. 2 Είσαι στη μέση του μαθήματος και βλέπεις...  έναν μαθητή να βγαίνει από την αίθουσα διδασκαλίας,  δύο μαθητές να μιλούν.
Επιμέλεια: Τίκβα Χριστίνα
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Βασικές Συναρτήσεις Πινάκων
Απαντήσεις Προόδου II.
Εισαγωγή στην Τεχνολογία Επικοινωνιών
Δομές Διακλάδωσης Μην ελπίζεις ότι θα ξεφύγεις αν κάνεις κάποιο κακό. Γιατί κι αν ξεφύγεις απ’ τη προσοχή των άλλων, θα υποπέσεις στην αντίληψη της συνείδησής.
ΣΧΕΔΙΑΣΜΟΣ (PLANNING)..και εφαρμογές σε video games! Τεχνητή Νοημοσύνη ΙΙ Εαρινό Εξάμηνο
ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ.
7.5.2 Αντικειμενοστραφής προγραμματισμός
Διαχείριση Έργου Οργάνωση, σχεδιασμός και προγραμματισμός έργων ανάπτυξης λογισμικού.
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Πιθανοκρατικοί Αλγόριθμοι
Ασκήσεις Συνδυαστικής
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
24/11/2003Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
22/11/2004Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Δρ. Παναγιώτης Συμεωνίδης
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Συστολικοί επεξεργαστές.
Αναγνώριση Προτύπων.
Νοήμονες Πράκτορες.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Γραφήματα & Επίπεδα Γραφήματα
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
Βάσεις Δεδομένων II Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Σεπτέμβρης 2002
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ» Β΄ τάξης Γενικού Λυκείου
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Ηλεκτρονική Ενότητα 5: DC λειτουργία – Πόλωση του διπολικού τρανζίστορ
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
ΕΙΣΑΓΩΓΗ ΣΤΑ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
Συνδυαστικά Κυκλώματα
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Σέρρες,Ιούνιος 2009 Τίτλος: Αυτόματος έλεγχος στο Scilab: Ανάπτυξη πακέτου για εύρωστο έλεγχο. Ονοματεπώνυμο Σπουδάστριας: Ευαγγελία Δάπκα Επιβλέπων Καθηγητής.
Ανάπτυξη Πρωτοτύπου Λογισμικού
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
Ενότητα Α.4. Δομημένος Προγραμματισμός
31 Μαρτίου 2015 ΔΙΑΦΑΝΕΙΑ 1 ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΤΜ. ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. – ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι Για τον προτασιακό.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
Κεφάλαιο 10 – Υποπρογράμματα
Μηχανική Μάθηση σε Συστήματα Πολλαπλών Πρακτόρων Παπαλιάς Κωνσταντίνος Τμήμα Πληροφορικής.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
Πράκτορες συνεπαγωγικού συλλογισμού Πράκτορες βασισμένοι στη γνώση.
Πράκτορες Λογισμικού.
Επίλυση Προβλημάτων με Αναζήτηση
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Νοήμονες Πράκτορες.
Εισαγωγή στην Τεχνητή Νοημοσύνη
Νοήμονες Πράκτορες.
Μεταγράφημα παρουσίασης:

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

Αρχιτεκτονικές Πρακτόρων Πράκτορες συμβολικής Τεχνητής Νοημοσύνης Αντιδραστικοί πράκτορες Πράκτορες με στόχους Αντιδραστικοί, μη συμβολικοί πράκτορες Υβριδικοί πράκτορες Συνδυασμός συμβολικών πρακτόρων (με στόχους) και μη συμβολικών (αντιδραστικών) πρακτόρων -Αρχικά (1956-1985) όλοι οι πράκτορες που σχεδιάζονταν στον χώρο της Τεχνητής Νοημοσύνης ήταν συμβολικοί πράκτορες. Αυτοί οι πράκτορες χρησιμοποιούν κάποιο σύστημα Λογικής για την λήψη αποφάσεων. -Κάποια προβλήματα των συμβολικών πρακτόρων οδήγησαν στην ανάπτυξη αντιδραστικών, μη συμβολικών πρακτόρων (1985-σήμερα). -Από το 1990 μέχρι σήμερα, έχουν προταθεί υβριδικές αρχιτεκτονικές, οι οποίες αποτελούν συνδυασμό συμβολικών πρακτόρων (για σχεδιασμό δράσης) και μη συμβολικών (αντιδραστικών) πρακτόρων. Σε αυτό το μάθημα θα δούμε συμβολικούς αντιδραστικούς πράκτορες. Στο επόμενο μάθημα θα δούμε συμβολικούς πράκτορες με στόχους. Δεν θα ασχοληθούμε καθόλου με μη συμβολικούς πράκτορες.

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

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

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

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

Τυπικός ορισμός συνεπαγωγικού πράκτορα Σε αυτό το μάθημα θα δούμε πως προγραμματίζουμε τις συναρτήσεις next και action. Η συνάρτηση see είναι θέμα κλασικής Τεχνητής Νοημοσύνης, πχ μηχανική όραση. Σύμφωνα με τη μορφή της action βλέπουμε ότι αυτή η αρχιτεκτονική είναι αντιδραστική, δηλαδή δεν έχουμε στόχους.

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

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

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

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

Αναπαράσταση του πράκτορα-καθαριστή (3) Παράδειγμα αντιδραστικής αρχιτεκτονικής, δεν έχουμε στόχους.

Προβλήματα στην λογική προσέγγιση για την κατασκευή πρακτόρων (1) Ακόμα και με τη χρήση προτασιακής λογικής η λήψη αποφάσεων στη χειρότερη περίπτωση είναι co-NP-complete, δηλαδή σημαντική πολυπλοκότητα.

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

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

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

Κανόνες δέσμευσης στην AGENT0 Κάθε κανόνας δέσμευσης ορίζεται από: Μία συνθήκη μηνύματος (message condition) Μία συνθήκη νοητική (mental condition) Μία ενέργεια (action) Η απλή αφηρημένη μορφή ενός κανόνα δέσμευσης είναι If <message condition> and <mental condition> then <action> Ένας κανόνας δέσμευσης ενεργοποιείται όταν η συνθήκη μηνύματός του ικανοποιείται με βάση τα μηνύματα που έχει λάβει ο πράκτορας. Τότε ελέγχεται αν ικανοποιείται η νοητική συνθήκη του κανόνα με βάση τις πεποιθήσεις του πράκτορα. Αν ναι, τότε ο πράκτορας δεσμεύεται να κάνει την ενέργεια που ορίζει ο κανόνας. Η πιο λεπτομερής μορφή ενός κανόνα δέσμευσης είναι commit(MessageCondition, MentalCondition, self, do(time, action) όπου, MessageCondition έχει τη δομή (Sender, Type, Content), MentalCondition έχει τη δομή (Β, [<list of beliefs>]) Στον Agent0 έχουμε επικοινωνία πρακτόρων, κάτι που δεν είχαμε στην προηγούμενη αρχιτεκτονική του συμβολικού πράκτορα-καθαριστή. Στον Agent0 η συνάρτηση action έχει μορφή action: M x D -> A, δηλαδή λαμβάνουμε και τα μηνύματα (αιτήσεων) Μ υπ’όψη. Η συνάρτηση see μένει ως έχει. Θα δούμε τη next στην επόμενη διαφάνεια. Βλέπουμε από τους κανόνες δέσμευσης ότι και αυτή η αρχιτεκτονική είναι αντιδραστική (αντίδραση σε μηνύματα), δεν έχουμε προσδιορισμό στόχων (planning).

Ενέργειες στην AGENT0 Μπορεί να είναι ιδιωτικές (private) δηλαδή να αντιστοιχούν σε υπορουτίνες που εκτελούνται εσωτερικά στον πράκτορα ή Επικοινωνιακές (communicative) δηλαδή να αντιστοιχούν σε αποστολή μηνυμάτων. Τα μηνύματα που μπορεί να στέλνει ο πράκτορας είναι τριών τύπων Αιτήσεις προς κάποιον άλλο πράκτορα για την εκτέλεση κάποιας ενέργειας (requests) Αιτήσεις προς κάποιον άλλο πράκτορα για να αποφύγει να εκτελέσει κάποια ενέργεια (unrequests) Πληροφόρηση κάποιου άλλου πράκτορα (inform) Τα μηνύματα αιτήσεων που λαμβάνει κάποιος πράκτορας έχουν σαν αποτέλεσμα να αλλάζουν, πιθανώς, οι δεσμεύσεις του. Τα μηνύματα πληροφόρησης που λαμβάνει κάποιος πράκτορας έχουν σαν αποτέλεσμα να αλλάζουν, πιθανώς, οι πεποιθήσεις του. Η είναι τώρα της μορφής next: D x Per x Minf -> D, δηλαδή λαμβάνει υποψη και τα μηνύματα πληροφόρησης MInf.

Παράδειγμα κανόνα δέσμευσης στην 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. Εδώ μιλάμε για χρόνο, κάτι που δεν είδαμε στη προηγούμενη αρχιτεκτονική Στην επόμενη αρχιτεκτονική ο χρόνος παίζει μεγάλο ρόλο

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

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

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, και Πληροφόρησε τον για τη νέα σου πρόθεση Θα ασχοληθούμε με πράκτορες με στόχους/προθέσεις στο επόμενο μάθημα.

Η σύγχρονη (concurrent) γλώσσα MetateM (Fisher 1994) Ένα σύστημα στη MetateM αποτελείται από ένα πλήθος πρακτόρων που λειτουργούν συγχρόνως και επικοινωνούν μεταξύ τους με ασύγχρονη μετάδοση μηνυμάτων (asynchronous broadcasting). Κάθε πράκτορας προγραμματίζεται δίνοντας τον ορισμό της επιθυμητής συμπεριφοράς του σε χρονική λογική. Ο ορισμός του πράκτορα εκτελείται για να παράγει τη συμπεριφορά του. Ο ορισμός κάθε πράκτορα περιέχει δύο στοιχεία Μια διεπαφή που ορίζει πώς ο πράκτορας αλληλεπιδρά με το περιβάλλον του (και με άλλους πράκτορες) Μια υπολογιστική μονάδα που ορίζει πώς ενεργεί ο πράκτορας. Σύγχρονη MetateM καθώς έχουμε σύγχρονη εκτέλεση πρακτόρων Temporal logic is classical logic augmented by modal operators for describing how the truth of propositions changes over time Η χρονική λογική είναι κλασική λογική η οποία έχει επιπλέον τροπικούς τελεστές οι οποίοι περιγράφουν πως η αληθοτιμή μιας πρότασης αλλάζει με την πάροδο του χρόνου.

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

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

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

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

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

Παράδειγμα λειτουργίας πράκτορα στη MetateM Πολλοί απλοί πράκτορες, όχι μεγάλη ευφυία. Η συμπεριφορά τους μοιάζει με αυτή των αντικειμένων. Πχ στο παράδειγμα της Agent0 ο πράκτορας ήλεγχε αν τα μηνύματα του είναι από φίλους. Θα μπορούσε να γίνει πιο πολύπλοκη η συμπεριφορά, αλλά όχι τόσο για ρεαλιστικά συστήματα.

Μία (ακόμα) γλώσσα στη φάση του πρωτότυπου MetateM Συνοψίζοντας: Μία (ακόμα) γλώσσα στη φάση του πρωτότυπου Αναπαράσταση δυναμικών συστημάτων με χρήση χρονικής λογικής Αλλά δεν μπορεί να χρησιμοποιηθεί για την υλοποίηση ενός «πλήρους» συστήματος Δεν βοηθάει στην ταχεία ανάπτυξη πρακτόρων, σε όλα τα στάδια ανάπτυξης λογισμικού (testing, etc). Χρειάζονται πιο πολύπλοκες δομές για την ανάπτυξη ρεαλιστικών, κοινωνικών πρακτόρων, μεγαλύτερη εκφραστικότητα. Πράκτορες που να καταλαβαίνουν μία γλώσσα επικοινωνίας πρακτόρων, και να κάνουν συμπερασμό για «κοινωνικές» έννοιες.

Βιβλιογραφία Κεφάλαιο 3ο από το βιβλίο του Wooldridge. Agent0 Υ. Shoham, Agent-Oriented Programming, Technical report STAN-CS-1335-90, Computer Science Department, Stanford University, 1990, Y. Shoham, Agent-Oriented Programming, Artificial Intelligence, 60(1), 51-92, 1993. http://www.ncat.edu/~esterlin/c7902s02/Notes/Shoham.pdf Planning Communicating Agents (PLACA) S. R. Thomas, PLACA, an Agent-Oriented Programming Language, PhD Thesis, Computer Science Department, Stanford University, 1993. S. R. Thomas, The PLACA Agent Programming Language, In Intelligent Agents: Theories, Architectures and Languages, eds. Wooldridge and Jennings, LNAI 890, 355-369, Springer 1995. Concurrent MetateM M. Fisher, A Survey of Concurrent MetateM-the Language and its Applications, In Proceedings of the 1st International Conference on Temporal Logic, eds. Gabbay and Ohlbach, LNAI 827, 480-505, Springer, 1994. Αναπαράσταση δυναμικών περιβαλλόντων 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 409-430, 1999. E. Mueller, Commonsense Reasoning, Morgan Kaufmann, 2006. Αντιδραστικοί, μη συμβολικοί πράκτορες R. A. Brooks, A Robust Layered Control System for a Mobile Robot, IEEE Journal of Robotics and Automation, 2(1), 14-23, 1986. P. E. Agre and S. J. Rosenchain (eds.), Computational Theories of Interaction and Agency, MIT Press, 1996. Υβριδικοί πράκτορες I. A. Ferguson, TouringMachines: an Architecture for Dynamic, Rational, Mobile Agents, PhD Thesis, University of Cambridge, 1992. J. Muller, A Cooperation Model for Autonomous Agents, In Intelligent Agents III, eds. Muller, Wooldridge, Jennings, LNAI 1193, 245-260, Springer, 1997.