Επικοινωνία πρακτόρων σε MAS

Σχετικά έγγραφα
Κεφάλαιο 28. Πολυπρακτορικά Συστήµατα. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

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

28 Πολυπρακτορικά Συστήµατα

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

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

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

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

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

PRAGMATIQUE ΠΡΑΓΜΑΤΟΛΟΓΙΑ. Αγγελική Αλεξοπούλου

Σύλλογος Αρχαίας Ελληνικής Φιλοσοφίας «σὺν Ἀθηνᾷ»

ΕΥΦΥΗ ΣΥΣΤΗΜΑΤΑ ΛΟΓΙΣΜΙΚΟΥ. ΣΩΜΑΡΑΣ ΧΡΗΣΤΟΣ Master στα Πληροφοριακά Συστήματα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

HY118-Διακριτά Μαθηματικά

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού

Νοήµονες Πράκτορες. ! Παροχή έξυπνων υπηρεσιών βοήθειας, Αναζήτηση πληροφοριών στο διαδίκτυο, Οργάνωση καθηµερινού προγράµµατος, κλπ.

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

Οντολογία για την περιγραφή των προσωπικοτήτων της Σάμου, την κατηγοριοποίηση και τις σχέσεις τους

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 1 ο : Εισαγωγή στην γλωσσική τεχνολογία. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος:

Επιχειρηματική Ηθική Τμήμα Λογιστικής και Χρηματ/μικής

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Μαλούτα Θεανώ Σελίδα 1

Περιεχόμενα ΕΝΟΤΗΤΑ I. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Πρόλογος 15

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Σημασιολογικό Ιστό, Ευφυείς Πράκτορες, Υπηρεσίες Ιστού

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

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

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

HY118-Διακριτά Μαθηματικά

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Οντολογία Ψηφιακής Βιβλιοθήκης

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014

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

ΘΕΜΑ Α / Η λογική έκφραση Χ KAI (ΟΧΙ Χ) είναι πάντα ψευδής κάθε τιμή της λογικής μεταβλητής Χ.

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ

2. JADE Μια Σύντομη Αναφορά

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Εισαγωγή στη Γλωσσολογία Ι

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. Α2. Να αναφέρετε ονομαστικά: i) τα αλγοριθμικά κριτήρια ii) τους τρόπους αναπαράστασης αλγορίθμου. (μονάδες 10)

Πρόβλημα 29 / σελίδα 28

Πως μπορούν (αλλά και γιατί πρέπει) να συνδυάζονται στην εκπαιδευτική διαδικασία;

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

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

Υπολογιστικά & Διακριτά Μαθηματικά

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 01 & 02. Δρ. Γεώργιος Χρ. Μακρής

Επαγγελματικές κάρτες

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 02 & 03. Δρ. Γεώργιος Χρ. Μακρής

Λίστες στο Scratch 2.0.

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

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

Όνομα(τα): Όνομα(τα): Όνομα Η/Υ: Τμήμα: Ημερομηνία: Δομή Επιλογής

Αλγόριθμος. Αλγόριθμο ονομάζουμε τη σαφή και ακριβή περιγραφή μιας σειράς ξεχωριστών οδηγιών βημάτων με σκοπό την επίλυση ενός προβλήματος.

2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος

Ερωτήσεις Σωστού-Λάθους

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

HY118-Διακριτά Μαθηματικά. Προτασιακός Λογισμός. Προηγούμενη φορά. Βάσεις της Μαθηματικής Λογικής. 02 Προτασιακός Λογισμός

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

Ενότητα εκπαίδευσης και κατάρτισης για τις δεξιότητες ηγεσίας

Τεχνολογία λογισμικού στην πράξη

. Μεθοδολογία Προγραμματισμού. Εισαγωγή. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

HY118-Διακριτά Μαθηματικά

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΣΗΜΑΣΙΟΛΟΓΙΑ - SEMANTICS

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Γ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. ΔΟΜΗ ΕΠΙΛΟΓΗΣ Διδάσκων: ΔΟΥΡΒΑΣ ΙΩΑΝΝΗΣ

επιµέλεια Θοδωρής Πιερράτος

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

SQL Data Manipulation Language

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

Στοχεύοντας στην ανάπτυξη της Υπολογιστικής Σκέψης. Α. Γόγουλου Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ

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

Περιεχόμενο του μαθήματος

1. Ποιους μαθησιακούς στόχους θα προσδιορίζατε στα πλαίσια της διδακτικής δραστηριότητας;

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ. Κεφάλαιο 3

Εφαρμογές Υπολογιστών

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

HY118-Διακριτά Μαθηματικά

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

«Γκρρρ,» αναφωνεί η Ζέτα «δεν το πιστεύω ότι οι άνθρωποι μπορούν να συμπεριφέρονται έτσι μεταξύ τους!»

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Εισαγωγή στις Βάσεις Δεδομζνων II

Κεφ 2. Βασικές Έννοιες Αλγορίθμων

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

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

Αρχεία και Βάσεις Δεδομένων

Θεωρία Προγραμματισμού

Ονοματεπώνυμο: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Δομή Ακολουθίας και Επιλογής Κεφ: 2.1, 2.3, , 6.3, , 8.1, 8.1.

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

Α.Ε.Π.Π. Προετοιμασία Γ Λυκείου

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

τι είναι αυτό που κάνει κάτι αληθές; τι κριτήρια έχουμε, για να κρίνουμε πότε κάτι είναι αληθές;

Transcript:

Επικοινωνία πρακτόρων σε MAS

Επικοινωνία μεταξύ αντικειμένων Στον αντικειμενοστραφή προγραμματισμό πώς επικοινωνούν τα αντικείμενα μεταξύ τους; Έστω ότι έχουμε δύο αντικείμενα JAVA, ο1 και ο2, και έστω ότι το ο1 έχει μια δημόσια μέθοδο μ1. Το αντικείμενο ο2 επικοινωνεί με το αντικείμενο ο1 ενεργοποιώντας τη μέθοδο μ1. Δηλαδή το ο2 εκτελεί μια εντολή που μοιάζει με ο1.μ1(...) όπου «...» είναι το περιεχόμενο (οι παράμετροι) που θέλει το ο2 να επικοινωνήσει στο ο1. Στον αντικειμενοστραφή προγραμματισμό το ο1 δεν ελέγχει την εκτέλεση τηςμεθόδουτουμ1. Η απόφαση για το αν αυτή η μέθοδος του ο1 θα εκτελεστεί ή όχι εναπόκειται στο αντικείμενο 02. 1

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

Επικοινωνιακές ενέργειες: Speech Acts Η θεωρία πράξεων λόγου (speech act theory) βλέπει την επικοινωνία σαν δράση: ό,τι λέει ένας πράκτορας θεωρείται πως είναι μία επικοινωνιακή ενέργεια κάποιου τύπου. Τα θεμέλια της θεωρίας πράξεων λόγου τέθηκαν από το φιλόσοφο John Austin (1962). Αυτός πρώτος παρατήρησε ότι μερικές εκφράσεις λόγου μπορούν να θεωρηθούν ενέργειες, γιατί αλλάζουν την κατάσταση του κόσμου, κατά τρόπο ανάλογο με τις φυσικές ενέργειες. Πώς μπορεί μία έκφραση να αλλάξει τον κόσμο; Ηέκφραση«και τώρα σας ονομάζω συζύγους» όταν ειπωθεί από τον κατάλληλο άνθρωπο στις κατάλληλες περιστάσεις αλλάζει τον κόσμο (πώς;) Ηέκφραση«αποβάλλεσαι» όταν ειπωθεί από το διαιτητή στη διάρκεια ενός αγώνα ποδοσφαίρου αλλάζει τον κόσμο (πώς;) Ηέκφραση«σήμερα είναι Τρίτη» όταν ειπωθεί σε κάποιον ο οποίος δεν γνωρίζει τι μέρα είναι του αλλάζει την κατάσταση. 3

Θεωρία πράξεων λόγου (Austin 1962) Υπάρχει μία σειρά από τελεστικά ρήματα (performative verbs), που αντιστοιχούν σε διαφορετικά είδη πράξεων λόγου (speech acts), π.χ. αιτούμαι, πληροφορώ, υπόσχομαι, κλπ. Κάθε έκφραση έχει τρεις όψεις. Π.χ. ηέκφραση«φέρε μου σε παρακαλώ έναν καφέ» περιλαμβάνει: Την λεκτική ενέργεια του να λέει κανείς την έκφραση «φέρε μου σε παρακαλώ έναν καφέ». Τηνπράξηλόγουστηνοποίααντιστοιχείαυτήηέκφραση: πρόκειται για μια αίτηση για καφέ. Το αποτέλεσμα της πράξης λόγου (φέρνω καφέ σ αυτόν που μου το ζήτησε). Κάθε έκφραση έχει μοναδική πράξη λόγου στην οποία αντιστοιχεί αλλά πολλές πιθανές λεκτικές ενέργειες. 4

Θεωρία πράξεων λόγου: Searle (1969) O John Searle επέκτεινε και συστηματοποίησε τη δουλειά του Austin και πρότεινε μια κατηγοριοποίηση των δυνατών τύπων πράξεων λόγου: 1. Αντιπροσωπευτικές (representatives): οι πράξεις λόγου που δεσμεύουν τον ομιλητή στην αλήθεια του περιεχομένου τους. Εκφράζονται με τελεστικό ρήμα inform. Π.χ. «σήμερα είναι Τρίτη», «βρέχει στο Βόλο τώρα». 2. Εντολές (directives): οι πράξεις λόγου με τις οποίες ο ομιλητής προσπαθεί να πείσει τον ακροατή να κάνει κάτι. Εκφράζονται με τελεστικό ρήμα request. Π.χ «φέρε μου έναν καφέ», «δώσε μου χρήματα», «κάνε την εργασία αυτή». 3. Δεσμευτικές (commissives): οι πράξεις λόγου που δεσμεύουν τον ομιλητή σε συγκεκριμένες ενέργειες. Εκφράζονται με τελεστικό ρήμα promise. Π.χ. «θα σου φέρω έναν καφέ», «θα φροντίσω εγώ τα παιδιά», «θα καθαρίσω εγώ το γραφείο». 4. Εκφραστικές (expressives): οι πράξεις λόγου που εκφράζουν την ψυχολογική κατάσταση του ομιλητή. Π.χ. «ευχαριστώ!», «σου είμαι ευγνώμων», «με στενοχώρησες». 5. Δηλωτικές (declarations): οι πράξεις λόγου που δημιουργούν ή αλλάζουν θεσμικές καταστάσεις. Εκφράζονται με τελεστικό ρήμα declare. Π.χ. «κηρύσσω πόλεμο», «αποβάλλεσαι από το παιχνίδι». 5

Η βασισμένη σε σχέδια δράσης θεωρία πράξεων λόγου Στα τέλη της δεκαετίας του 60, και αρχές του 70, διάφοροι ερευνητές προσπάθησαν να κατασκευάσουν συστήματα που θα κατασκεύαζαν σχέδια δράσης αυτόνομα, προκειμένου να πετύχουν τους στόχους τους. Οι Cohen & Perrault (1979) αναπαρέστησαν τις πράξεις λόγου σαν τελεστές όπως αναπαρίστανται και οι υπόλοιπες ενέργειες που έχει διαθέσιμες στο ρεπερτόριό του ένας πράκτορας, δηλαδή μέσω των προϋποθέσεων και των αποτελεσμάτων τους. Χρησιμοποίησαν το συμβολισμό του STRIPS μαζί με πρόσθετους τελεστές για να εκφράσουν τις πεποιθήσεις, τις ικανότητες και τις επιθυμίες των πρακτόρων. 6

Cohen & Perrault (1979) Request(S,H,a) Preconditions Cando.pr (S BELIEVE (H CANDO a)) (S BELIEVE (H BELIEVE (H CANDO a))) Want.pr (S BELIEVE (S WANT requestinstance)) Postconditions (H BELIEVE (S BELIEVE (S WANT a))) Inform(S,H,f) Preconditions Cando.pr (S BELIEVE f) Want.pr (S BELIEVE (S WANT informinstance)) Postconditions (H BELIEVE (S BELIEVE f)) 7

Γλώσσες επικοινωνίας πρακτόρων (Agent Communication Languages (ACLs)) Από τις αρχές της δεκαετίας του 90 KQML (Knowledge, Query and Manipulation Language): ορίζει συγκεκριμένη μορφή για κάθε τύπο μηνύματος που μπορεί να χρησιμοποιήσει ένας πράκτορας για να επικοινωνήσει με άλλον. Ορίζει ουσιαστικά τα τελεστικά ρήματα, τις προϋποθέσεις και τα αποτελέσματά τους χωρίς να ασχολείται με το περιεχόμενο των μηνυμάτων. KIF (Knowledge Interchange Format): επιτρέπει την αναπαράσταση εννοιών για συγκεκριμένους τομείς εφαρμογής. Το περιεχόμενο μηνυμάτων KQML αναπαρίσταται συχνά σε KIF. 8

KIF (Genesereth & Fikes 1992) Αναπτύχθηκε με σκοπό να αποτελέσει την κοινή γλώσσα στην οποία θα μπορούσαν να εκφραστούν ιδιότητες ενός τομέα εφαρμογής. Σκοπός δηλαδή ήταν να αναπαρίσταται το περιεχόμενο μηνυμάτων, όχιταίδιαταμηνύματα. Είναι βασισμένη στην κατηγορηματική λογική πρώτης τάξης και σημειογραφικά μοιάζει πολύ με τη γλώσσα προγραμματισμού LISP. Οι πράκτορες μπορούν να εκφράσουν σε αυτή: Ιδιότητες οντοτήτων ενός τομέα π.χ. ο Γιώργος είναι χορτοφάγος, ο Βαγγέλης είναι ψηλός. Σχέσεις μεταξύ οντοτήτων ενός τομέα π.χ. ο Γιώργος και η Μαρία είναι παντρεμένοι, η απόσταση από την Αθήνα στην Πάτρα είναι 200 χλμ. Γενικές ιδιότητες ενός τομέα π.χ. όλοι έχουν μία μητέρα, όποιος έχει παιδί είναι γονιός. 9

KIF Το λεξιλόγιο είναι βασισμένο σε αυτό της κατηγορηματικής λογικής πρώτης τάξης: Λογικά συνδετικά and,or,not κλπ. Ποσοδείκτες forall, exists Βασικό λεξιλόγιο αντικειμένων: αριθμοί, χαρακτήρες και strings Βασικές σχέσεις μεταξύ αντικειμένων: < μεταξύ αριθμών, +, * κλπ Παράδειγμα: «η θερμοκρασία του m1 είναι 83 βαθμοί κελσίου» (= (temperature m1) (scalar 83 Celsius)) Παράδειγμα: ορισμός της νέας ιδιότητας «εργένης» με βάση υπάρχουσες ιδιότητες (defrelation bachelor(?x):= (and (man?x) (not (married?x)))) Παράδειγμα: κάθε αντικείμενο με την ιδιότητα person έχει την ιδιότητα mammal (defrelation person(?x):=> (mammal?x)) 10

KQML Γλώσσα επικοινωνίας πρακτόρων, βασισμένη σε μηνύματα. Κάθε KQML μήνυμα μπορεί να ειδωθεί σαν αντικείμενο (σε όρους αντικειμενοστραφούς προγραμματισμού) που έχει: Ένα τελεστικό ρήμα (performative) που προσδιορίζει τον τύπο του (την κλάση του) Ένα σύνολο από παραμέτρους που παίρνουν τιμές. Παράδειγμα μηνύματος στο οποίο ο αποστολέας ρωτά την τιμή της μετοχής της IBM. Κάθε τύπος μηνύματος έχει διαφορετικές παραμέτρους, εδώ φαίνονται οι παράμετροι για τον τύπο μηνύματος ask-one. (ask-one :content :receiver :language :ontology ) (PRICE IBM?price) stock-server LPROLOG NYSE-TICKS 11

KQML S: αποστολέας, R: παραλήπτης, C: περιεχόμενο. ΤΕΛΕΣΤΙΚΟ ΡΗΜΑ achieve advertise ask-about ask-all ask-if ask-one broadcast broker-all delete-all eos evaluate insert recommend-all reply stream-about subscribe tell ΠΕΡΙΓΡΑΦΗ ο S επιθυμεί ο R να κάνει αληθή μία ιδιότητα περιβάλλοντος ο S υποστηρίζει ότι μπορεί να εκτελέσει μία διεργασία ο S επιθυμεί όλες τις σχετικές προτάσεις της βάσης γνώσης του R ο S επιθυμεί όλες τις απαντήσεις του R στην ερώτηση C ο S επιθυμεί να μάθει αν η απάντηση στο C είναι στη βάση γνώσης του R ο S επιθυμεί μία απάντηση του R στην ερώτηση C ο S επιθυμεί να στείλει ο R ένα μήνυμα σε όλους τους πράκτορες ο S επιθυμεί να συλλέξει ο R όλες τις απαντήσεις σε μία ερώτηση ο S επιθυμεί να διαγράψει ο R όλες τις προτάσεις που ικανοποιούν το C από τη βάση γνώσης του τέλος σε μία σειρά απαντήσεων σε ερώτηση ο S επιθυμεί ο R να υπολογίσει το C ο S επιθυμεί ο R να προσθέσει προτάσεις στη βάση γνώσης του ο S επιθυμεί να μάθει τα ονόματα όλων των πρακτόρων οι οποίοι μπορούν να απαντήσουν στην ερώτηση C απάντηση σε ερώτηση είναι όπως το ask-about αλλά περιμένει πολλαπλές απαντήσεις στο ερώτημα o S επιθυμεί να λαμβάνει όλες τις νέες πληροφορίες σχετικά με το C ο S πληροφορεί τον R ότι το C είναι στη βάση γνώσης του S 12

KQML Η ιδέα είναι ότι οι πράκτορες που χρησιμοποιούν KQML για να επικοινωνήσουν μπορεί να έχουν υλοποιηθεί με διαφορετικές γλώσσες και μοντέλα προγραμματισμού. Όποια πληροφορία έχουν εσωτερικά στη διάθεσή τους οι πράκτορες μπορεί να αναπαρασταθεί με οποιοδήποτε τρόπο για τον καθένα. Η ιδεατή βάση γνώσης (virtual knowledge base) κάθε πράκτορα είναι ένας τρόπος για να αναφέρεται ένας πράκτορας στη γνώση που θεωρεί ότι έχει κάποιος άλλος, χωρίς να ξέρει τον τρόπο αναπαράστασής της. 13

Διάλογοι KQML Άμεση επικοινωνία (ask): Άμεση επικοινωνία (stream): ask-about(x) Agent 1 Agent 2 tell(x) stream-about(x) ακολουθία από Agent 1 Agent 2 tell(x) eos 14

Διάλογοι KQML 15

Διάλογοι KQML 16

Διάλογοι KQML Έμμεση επικοινωνία μέσω facilitator/broker: Agent 1 Agent 2 1. advertise(ask(x)) 5. tell(x) 3. ask(x) 2. broker(ask(x)) Facilitator 4. tell(x) 17

Διάλογοι KQML Αναζήτηση πράκτορα μέσω facilitator/matchmaker: 4. ask(x) 5. tell(x) Agent 1 Agent 2 3. reply(x) 1. advertise(ask(x)) 2. recommend(ask(x)) Facilitator 18

Διάλογοι KQML Έμμεση επικοινωνία μέσω facilitator/feeder: Agent 1 Agent 2 3. tell(x) 2. tell(x) 1. subscribe(ask(x)) Facilitator 19

Μειονεκτήματα της KQML Το σύνολο των τελεστικών ρημάτων (τύπων μηνυμάτων) δεν ορίστηκε ποτέ αυστηρά με αποτέλεσμα πράκτορες με διαφορετικές υλοποιήσεις της γλώσσας να μην μπορούν να λειτουργήσουν μεταξύ τους. Η σημασιολογία των KQML μηνυμάτων δενορίστηκεποτέαυστηρά, έτσι ώστε να είναι αδύνατον να εξετάσουμε αν δυο πράκτορες που επικοινωνούν με την KQML χρησιμοποιούν σωστά τη γλώσσα. Η έννοια ενός KQML τελεστικού ρήματος αποδίδεται με τη χρήση φυσικής γλώσσας. Συνεπώς υπάρχει κίνδυνος διαφορετικοί πράκτορες να ερμηνεύσουν ένα τελεστικό ρήμα με διαφορετικό τρόπο. Η γλώσσα δεν περιλάμβανε μηνύματα τύπου δέσμευσης (commissives), που είναι απαραίτητα για να σχηματίζουν πράκτορες συμβόλαια με βάση τα οποία να συντονίζουν τη δράση τους. 20

Οι ACLs της FIPA Το 1995 η FIPA (Foundation for Intelligent Physical Agents) άρχισε να αναπτύσσει πρότυπα για γλώσσες επικοινωνίας πρακτόρων και κατέληξε με μία γλώσσα το 1999, την FIPA ACL, που μοιάζει πολύ στην KQML. Παράδειγμα: (inform ) :sender :receiver agent1 agent2 :content (price good2 150) :language :ontology sl hpl-auction Η βασική διαφορά μεταξύ της KQML και της FIPA ACL είναι ότι στην τελευταία τα τελεστικά ρήματα είναι κατηγοριοποιημένα και έχουν καλά ορισμένη σημασιολογία. 21

FIPA ACL ΤΕΛΕΣΤΙΚΟ ΡΗΜΑ accept-proposal agree cancel cfp confirm disconfirm failure inform propose query-if reject-proposal request subscribe ΠΕΡΙΓΡΑΦΗ Ο αποστολέας δηλώνει ότι δέχεται την πρόταση του παραλήπτη Ο αποστολέας έχει σκοπό να πραγματοποιήσει την πράξη που του ζήτησε ο παραλήπτης Ο αποστολέας δεν επιθυμεί πλέον να πραγματοποιηθεί μία πράξη (Call For Proposals.) Δηλώνει την έναρξη διαπραγμάτευσης μεταξύ πρακτόρων Ο αποστολέας επιβεβαιώνει στον παραλήπτη ότι το περιεχόμενο του μηνύματος είναι αληθές Ο αποστολέας επιβεβαιώνει στον παραλήπτη ότι το περιεχόμενο του μηνύματος είναι ψευδές Ο αποστολέας δηλώνει ότι η απόπειρα του να πραγματοποιήσει μία ενέργεια απέτυχε Ο αποστολέας δηλώνει ότι πιστεύει ότι το περιεχόμενο του μηνύματος είναι αληθές, και ότι επιθυμεί να πιστέψει το περιεχόμενο και ο παραλήπτης Ο αποστολέας κάνει μία πρόταση στον παραλήπτη (π.χ. μία απάντηση σε μήνυμα cfp) Ο αποστολέας επιθυμεί να πληροφορηθεί την αληθοτιμή του περιεχομένου του μηνύματος από τον παραλήπτη Ο αποστολέας δηλώνει ότι απορρίπτει την πρόταση του παραλήπτη Ο αποστολέας επιθυμεί να πραγματοποιήσει μία ενέργεια ο παραλήπτης Ο αποστολέας επιθυμεί να πληροφορηθεί για τυχόν αλλαγές σχετικές με το περιεχόμενο του μηνύματος 22

Σημασιολογία FIPA ACL Δεδομένου ότι το πιο βασικό μειονέκτημα της KQML είναι η έλλειψη επαρκούς σημασιολογίας, οι ερευνητές που ανέπτυξαν την FIPA ACL διατύπωσαν ένα αυστηρό (μαθηματικό) ορισμό της σημασιολογίας των FIPA ACL μηνυμάτων. Η σημασιολογία της FIPA ACL εκφράζεται με τη χρήση της γλώσσας SL, η οποία αναπαριστά τις πεποιθήσεις (beliefs), επιθυμίες (desires), και αβέβαιες πεποιθήσεις (uncertain beliefs) των πρακτόρων, καθώς και τις πράξεις που κάνουν οι πράκτορες. Σύμφωνα με τη σημασιολογία της FIPA ACL κάθε μήνυμα αντιστοιχεί σε μία πρόταση της γλώσσας SL. Αυτή η πρόταση ορίζει μία συνθήκη σκοπιμότητας (feasibility condition) που πρέπει να ικανοποιήσει ο αποστολέας του μηνύματος για να θεωρηθεί ότι το μήνυμα είναι σύμφωνο με τους κανόνες της FIPA ACL. Κάθε FIPA ACL μήνυμα επιπλέον αντιστοιχεί σε μία πρόταση SL η οποία ορίζει το ορθολογικό αποτέλεσμα (rational effect) του μηνύματος: σε τι αποβλέπει ο αποστολέας του μηνύματος. Σε μία κοινωνία αυτόνομων πρακτόρων το ορθολογικό αποτέλεσμα ενός μηνύματος δεν είναι βέβαιο ότι θα πραγματοποιηθεί. (Γιατί;) Συνεπώς δεν λαμβάνεται υπόψη το ορθολογικό αποτέλεσμα όταν εξετάζουμε αν ένα μήνυμα είναι σύμφωνο με τους κανόνες της FIPA ACL. 23

Σημασιολογία FIPA ACL Τα σημαντικότερα τελεστικά ρήματα της FIPA ACL είναι τα inform και request, γιατί όλα τα άλλα μπορούν να οριστούν από αυτά. Η σημασιολογία του inform: i,inform( j, ϕ) συνθήκη σκοπιμότητας : Bϕ B ορθολογικό αποτέλεσμα : B ϕ Η σημασιολογία του request: i,request( j, α) συνθήκη σκοπιμότητας : B Agent( α, j) ορθολογικό αποτέλεσμα : Done( α) i j i i ( Bif ϕ Uif ϕ) j B I i j j Done( α) 24

Μειονέκτημα της FIPA ACL Δοθέντων μίας γλώσσας επικοινωνίας πρακτόρων και ενός πράκτορα, θέλουμε να ελέγχουμε αν ο πράκτορας σέβεται τη σημασιολογία της γλώσσας όταν επικοινωνεί (semantic conformance testing). Για να ελέγξουμε αν ένας πράκτορας σέβεται τη σημασιολογία της FIPA ACL πρέπει να ελέγξουμε τις πεποιθήσεις, επιθυμίες, στόχους κλπ. του πράκτορα. Όμως: Δοθέντος του κώδικα ενός πράκτορα δεν είναι πάντα ξεκάθαρο ποιες είναι οι επιθυμίες, στόχοι του κλπ. Δεν έχουμε πάντα πρόσβαση στον κώδικα ενός πράκτορα. Συνεπώς ο έλεγχος συμμόρφωσης με τη σημασιολογία της FIPA ACL δεν πάντα εφικτός. 25

Γλώσσες Επικοινωνίας Πρακτόρων με «Κοινωνική» Σημασιολογία Τα τελευταία χρόνια έχει δοθεί έμφαση σε γλώσσες επικοινωνίας για «ανοικτά πολυπρακτορικά συστήματα», δηλαδή για συστήματα όπου οι πράκτορες έχουν αναπτυχθεί από οργανισμούς με αντικρουόμενα (οικονομικά) συμφέροντα, και όπου δεν υπάρχει πρόσβαση στον κώδικα των πρακτόρων. Η FIPA ACL δεν είναι η κατάλληλη γλώσσα γι αυτά τα συστήματα. (Γιατί;) Για επικοινωνία σε ανοιχτά πολυπρακτορικά συστήματα έχουν αναπτυχθεί γλώσσες με «κοινωνική» σημασιολογία (social semantics), δηλαδή γλώσσες που δεν κάνουν υποθέσεις για την εσωτερική δομή ενός πράκτορα (πεποιθήσεις, επιθυμίες, κλπ.), και οι οποίες συνεπώς επιτρέπουν τον έλεγχο συμμόρφωσης ενός πράκτορα με τη σημασιολογία της γλώσσας. Ησημασιολογίααυτώντωνγλωσσώνεκφράζεταιμεέννοιεςσχετικέςμεμίακοινωνία πρακτόρων καθοδηγούμενη από νόμους (norms), όπως θεσμοθετημένη δύναμη (institutional power), δικαίωμα (permission, right) και υποχρέωση (obligation, commitment). 26

Πρωτόκολλα Δέσμευσης Ένα πλαίσιο επικοινωνίας με «κοινωνική» σημασιολογία είναι τα πρωτόκολλα δέσμευσης (commitment protocols). Αυτά τα πρωτόκολλα εκφράζουν τις δεσμεύσεις/υποχρεώσεις (commitments) των πρακτόρων. c(x, Y, P) εκφράζει ότι ο πράκτορας Χ έχει δέσμευση ως προς τον πράκτορα Υ να πραγματοποιήσει την ενέργεια P. Ένας πράκτορας σέβεται/συμμορφώνεται με τη σημασιολογία ενός πρωτοκόλλου δέσμευσης αν ικανοποιήσει όλες τις δεσμεύσεις του. Συνήθως τα πρωτόκολλα δέσμευσης αναπαρίστανται με τη χρήση του Λογισμού Πράξης (Event Calculus). Ο Λογισμός Πράξης είναι μία υλοποίηση σε λογικό προγραμματισμό μίας λογικής πρώτης τάξης, η οποία εκφράζει τις ενέργειες των πρακτόρων και τα αποτελέσματα αυτών των ενεργειών. 27

Λογισμός Πράξης Κατηγορήματα Λογισμού Πράξης initiates( Act, F=V, T ) σημαίνει ότι αν η πράξη Act λάβειχώρατηχρονικήστιγμήττότετηχρονική στιγμή T+1 θα ισχύει F=V terminates( Act, F=V, T ) σημαίνει ότι αν η πράξη Act λάβειχώρατηχρονικήστιγμήττότετηχρονική στιγμή T+1 δεν θα ισχύει F=V holdsat( F=V, T ) σημαίνει ότι τη χρονική στιγμή T ισχύει F=V initially( F=V ) σημαίνει ότι τη χρονική στιγμή 0 ισχύει F=V happens( Act, T ) σημαίνει ότι η πράξη Act έλάβεχώρατηχρονικήστιγμήτ Ορισμοί Κατηγορημάτων Λογισμού Πράξης holdsat( F=V, T ) :- broken( F=V, T1, T3 ) :- initially( F=V), happens( Act, T2 ), not broken( F=V, 0, T ). T1 T2, T2 < T3, terminates( Act, F=V, T2 ). holdsat( F=V, T ) :- terminates( Act, F=V, T ) :- happens( Act, T' ), T' < T, initiates( Act, F=V', T ), initiates( Act, F=V, T' ), V V'. not broken( F=V, T', T ). 28

Πρωτόκολλα Δέσμευσης: Παράδειγμα Το πρωτόκολλο ηλεκτρονικού εμπορίου NetBill: 29

Το Πρωτόκολλο Δέσμευσης NetBill % C είναι ο πελάτης (consumer) καιμείναιοέμπορος(merchant) initiates( sendrequest(c, M), request(c, M)=true, T ). initiates( sendquote(m, C), quote(m, C)=true, T ). initiates( sendaccept(c, M), c(m, C, sendgoods)=true, T ) :- holdsat( quote(m, C)=true, T ). initiates( sendaccept(c, M), quote(m, C)=false, T ) :- holdsat( quote(m, C)=true, T ). initiates( sendgoods(m, C), c(c, M, sendepo)=true, T ). initiates( sendgoods(m, C), c(m, C, sendgoods)=false, T ). initiates( sendepo(c, M), c(c, M, sendepo)=false, T ). 30

Το Πρωτόκολλο Δέσμευσης NetBill % Μία εκτέλεση του πρωτοκόλλου δέσμευσης NetBill happens( sendquote(m, C), 4 ). happens( sendaccept(c, M), 11 ). happens( sendgoods(m, C), 12 ). happens( sendepo(c, M), 19 ). % Ποιες είναι οι δεσμεύσεις κάθε πράκτορα σε κάθε χρονική στιγμή; % Μία άλλη εκτέλεση του πρωτοκόλλου δέσμευσης NetBill happens( sendrequest(c, M), 3 ). happens( sendaccept(c, M), 14 ). happens( sendgoods(m, C), 22 ). happens( sendepo(c, M), 190 ). % Υπάρχει κάποιος πράκτορας που δεν σέβεται την σημασιολογία του πρωτοκόλλου; 31

Οντολογίες για επικοινωνία μεταξύ πρακτόρων Όταν δύο πράκτορες επικοινωνούν στα πλαίσια κάποιας συγκεκριμένης εφαρμογής θα πρέπει και οι δύο να συμφωνήσουν για την ορολογία που θα χρησιμοποιήσουν όταν θα περιγράφουν πλευρές του τομέα εφαρμογής. Παράδειγμα: δύο πράκτορες θα επικοινωνήσουν για την αγοραπωλησία κάποιων μηχανικών εξαρτημάτων π.χ. βίδες. Πρέπει και οι δύο να μπορούν να συζητούν χωρίς ασάφεια για ιδιότητες όπως «μέγεθος» και για μονάδες μέτρησής τους, όπως «εκατοστά» ή «ίντσες». Μια οντολογία είναι ουσιαστικά μία ορολογία για ένα τομέα εφαρμογής: είναι η τυπική αναπαράσταση κάποιας γνώσης που γίνεται ορίζοντας μία ιεραρχία από κλάσεις/υποκλάσεις και σχέσεις μεταξύ τους. Οντολογίες μπορούν να ορίζονται σε διάφορες γλώσσες, π.χ KIF. H Ontolingua είναι μία γνωστή πλατφόρμα ανάπτυξης οντολογιών και λειτουργεί με αναπαραστάσεις σε KIF. Άλλες γλώσσες έκφρασης οντολογιών είναι οι XML, DAML και OWL. 32

Βιβλιογραφία Κεφάλαιο 8 ο απότοβιβλίοτουwooldridge. Θεωρία πράξεων λόγου J. L. Austin, How to Do Things with Words, Oxford University Press, 1962. J. R. Searle, Speech Acts: an Essay in the Philosophy of Language, Cambridge University Press, 1969. Θεωρία πράξεων λόγου βασισμένη σε σχέδια δράσης P. R. Cohen & C. R. Perrault, Elements of a Plan Based Theory of Speech Acts, Cognitive Science, vol.3, 177 212, 1979. KIF http://www.ksl.stanford.edu/knowledge-sharing/kif/ KQML http://www.cs.umbc.edu/kqml/ FIPA http://www.fipa.org Γλώσσες επικοινωνίας πρακτόρων με κοινωνική σημασιολογία Singh, M.P., Agent communication languages: rethinking the principles, Computer, vol.31, no.12, 40-47, 1998. Singh, M.P., A social semantics for Agent communication languages, Issues in Agent Communication, 31 45, Springer, 2000. Artikis A., Pitt J. and Sergot M. Animated Specifications of Computational Societies, in the Proceedings of Autonomous Agents and Multi-Agent Systems (AAMAS), pp. 1053-1062, 2002.