ΚΕΦΑΛΑΙΟ 6 - Νοήμονες Πράκτορες

Σύνοψη

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

Προαπαιτούμενη γνώση

Επίλυση Προβλημάτων, Αναπαράσταση Γνώσης, Έμπειρα Συστήματα, Μηχανική μάθηση.

6.1 Εισαγωγικά

Η εμφάνιση των πρακτόρων (agents) και ειδικότερα των ευφυών πρακτόρων (intelligent agents) στον κλάδο της ΤΝ και, γενικότερα, στην περιοχή της Επιστήμης των Υπολογιστών υπόσχεται ριζικές αλλαγές στην επικοινωνία μεταξύ χρήστη και λογισμικού στο σημερινό διασυνδεδεμένο και δικτυωμένο ψηφιακό κόσμο. Ήδη, γίνεται αισθητή η παρουσία τους σε πληθώρα εφαρμογών, όπως είναι η αναζήτηση και το φιλτράρισμα των πληροφοριών στο διαδίκτυο, η παροχή έξυπνων υπηρεσιών βοήθειας και εξυπηρέτησης πελατών, καθώς και ο έλεγχος σωστής λειτουργίας μεγάλων εργοστασιακών μονάδων.

Σχήμα 6.1 Διασύνδεση χρήστη-προγράμματος μέσω πράκτορα

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

Έχει αποδειχθεί ιδιαίτερα δύσκολο το να δοθεί ένας αυστηρός ορισμός για τον όρο πράκτορας λόγω του ότι ορισμένα από τα χαρακτηριστικά του έχουν τελείως διαφορετική σημασία και βαρύτητα στους διαφορετικούς επιστημονικούς κλάδους που ερευνούν το αντικείμενο. Σε μία, όσο γίνεται, γενικότερη θεώρηση, ένας πράκτορας είναι μία οντότητα που αντιλαμβάνεται το περιβάλλον μέσα στο οποίο βρίσκεται με τη βοήθεια αισθητήρων (sensors), αποτελεί μέρος του περιβάλλοντος αυτού, κάνει συλλογισμούς και δρα σε αυτό με τη βοήθεια μηχανισμών δράσης (effectors) για την επίτευξη δεδομένων στόχων εκ μέρους του χρήστη ή κάποιας άλλης οντότητας λογισμικού που πρέπει να διαθέτει κάποιο βαθμό αυτονομίας (Russel & Norvig, 2009).

Σχήμα 6.2 Βασικός Πράκτορας κατά Russel και Norvig

Αν και δεν είναι εφικτό να δοθεί, όπως προείπαμε, ένας ενιαίος ορισμός για όλα τα είδη πρακτόρων, δεδομένου ότι διαφέρουν μεταξύ τους στον τρόπο λειτουργίας τους και το επιστημονικό πεδίο στο πλαίσιο του οποίου καλούνται να λειτουργήσουν, ο παραπάνω βασικός ορισμός κατά Russel και Norvig αποτελεί κοινό τους παρανομαστή.

Ο βασικός αυτός ορισμός περιγράφει έναν άνθρωπο, ένα ρομπότ, ένα πρόγραμμα υπολογιστή ή και έναν απλό αισθητήρα. Η περίπτωση του αισθητήρα, π.χ. σε ένα σύστημα θερμοστάτη, είναι το απλούστερο παράδειγμα που μπορεί να δοθεί για έναν πράκτορα χωρίς ευφυΐα, δεδομένου ότι είναι ενσωματωμένος σε ένα φυσικό περιβάλλον και παράγει εξόδους του τύπου «άνοιξε τη βαλβίδα»-«κλείσε τη βαλβίδα». Φυσικά, ένα πιο πολύπλοκο σύστημα αυτοματισμού θα μπορούσε να αναλύει τα δεδομένα που δέχεται ο θερμοστάτης για τη θερμοκρασία του, για να δει το βαθμό συμμετοχής τους στα ασαφή σύνολα της έννοιας «θερμοκρασία» και να λαμβάνει αποφάσεις για το άνοιγμα της βαλβίδας με βάση την ασαφή λογική και λαμβάνοντας επιπλέον υπόψη την αβεβαιότητα που πιθανώς υπάρχει στην ακρίβεια των μετρήσεων. Οι ‘δαίμονες’ λογισμικού που επιτηρούν το περιβάλλον ενός λογισμικού και επεμβαίνουν στη λειτουργία του, για να επιφέρουν μεταβολές, όταν το κρίνουν σκόπιμο, μπορούν να θεωρηθούν πράκτορες. Ελεγκτές εναέριας κυκλοφορίας, συστήματα που παρακολουθούν το ηλεκτρονικό σας ταχυδρομείο και σας ειδοποιούν, όταν υπάρχει νέο μήνυμα, κ.ά μπορούν να θεωρηθούν πράκτορες.

Συνοπτικά,

 

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

 

Στη συνέχεια, ακολουθεί μια ανασκόπηση μερικών από τους πολλούς τρόπους με τους οποίους ο όρος «πράκτορας» έχει χρησιμοποιηθεί στο πλαίσιο των αυτόνομων πρακτόρων διακρίνοντάς τους σαφώς από ένα πρόγραμμα. Αυτή η ανασκόπηση θα οδηγήσει σε μια προτεινόμενη ταξινόμηση για τους αυτόνομους πράκτορες.

6.2 Ορισμοί πρακτόρων

Στην εισαγωγή δόθηκε ο βασικός ορισμός των Russel και Norvig (2009) που δίνει έμφαση στην αλληλεπίδραση πρακτόρων με το περιβάλλον τους. Παρά ταύτα, υπάρχει ένα πλήθος ορισμών οι οποίοι προσπαθούν να καλύψουν τον τομέα των πρακτόρων, ο καθένας από διαφορετική σκοπιά. Στην παράγραφο αυτή επιχειρούμε να παρουσιάσουμε το εύρος των ορισμών για τους πράκτορες που συναντώνται συχνά στη βιβλιογραφία, παραθέτοντας τρεις χαρακτηριστικούς από αυτούς.

Η Pattie Maes, του Media Lab στο MIT, είναι από τους πρωτοπόρους της έρευνας στο χώρο των πρακτόρων. Στον ορισμό της για το τι είναι πράκτορας προσθέτει ένα κρίσιμο χαρακτηριστικό: οι πράκτορες πρέπει να δρουν αυτόνομα, ώστε να «συνειδητοποιούν ένα σύνολο στόχων». Το μοντέλο πρακτόρων Maes (Maes, 1995), εκτός της αυτονομίας και της ύπαρξης στόχων, δίνει έμφαση και στο ότι το περιβάλλον είναι πολύπλοκο και πιθανώς δυναμικό:

 

«Οι πράκτορες είναι υπολογιστικά συστήματα που δρουν σε ένα πολύπλοκο περιβάλλον, αντιλαμβάνονται και δρουν αυτόνομα σε αυτό. Με τον τρόπο αυτό επιτυγχάνουν ένα σύνολο από στόχους και εκτελούν καθήκοντα για τα οποία έχουν σχεδιαστεί.»

Σχήμα 6.3 Ο βασικός πράκτορας κατά Maes

Στην περίπτωση κατά την οποία αναφερόμαστε σε ευφυείς πράκτορες, ένας ορισμός που ανταποκρίνεται στα χαρακτηριστικά τους είναι το μοντέλο Hayes-Roth (Hayes-Roth, 1995), που δίνει έμφαση στη συλλογιστική:

 

«Οι ευφυείς πράκτορες συνεχώς εκτελούν τρεις λειτουργίες: αντιλαμβάνονται τις δυναμικές συνθήκες του περιβάλλοντος, δρουν στο περιβάλλον, ώστε να το αλλάξουν, και συλλογίζονται, ώστε να ερμηνεύσουν αυτά που αντιλαμβάνονται, να λύσουν προβλήματα, να εξάγουν συμπεράσματα, για να καθορίσουν τη δράση τους.»

Σχήμα 6.4 Ο βασικός πράκτορας κατά Hayes - Roth

Τέλος, ο SodaBot είναι ένα περιβάλλον ανάπτυξης για πράκτορα λογισμικού που κατασκευάστηκε στο MIT AI Lab από τον Michael Coen το 1994. Ο Coen στο μοντέλο του δίνει έμφαση στη διαδραστικότητα (interactivity):

 

«Οι λογισμικοί πράκτορες είναι προγράμματα που διενεργούν διάλογο, διαπραγματεύονται και συντονίζουν τη ροή πληροφοριών.»

Σχήμα 6.5 Ο βασικός πράκτορας κατά Coen

6.3 Κοινά Χαρακτηριστικά Πρακτόρων

Βασικό κοινό χαρακτηριστικό των πρακτόρων είναι η αυτονομία τους. Ως αυτόνομες οντότητες ελέγχουν τις καταστάσεις και τις συμπεριφορές τους, χωρίς να κατευθύνονται εξωγενώς βήμα προς βήμα. Άλλα κοινά χαρακτηριστικά που διαθέτουν είναι η κοινωνικότητα και η δυνατότητα συνεργασίας με άλλους πράκτορες:

Οι ευφυείς πράκτορες διαθέτουν επιπλέον χαρακτηριστικά που αφορούν το βαθμό νοημοσύνης που διαθέτουν, όπως:

Εκτός των χαρακτηριστικών που προαναφέρθηκαν υπάρχουν και επιπλέον χαρακτηριστικά που απαντούν σε συγκεκριμένες κατηγορίες πρακτόρων προσφέροντας μια «ανθρωπόμορφη αρχιτεκτονική» λογισμικού, που επιτρέπει:

Τα χαρακτηριστικά των πρακτόρων μπορούν να ομαδοποιηθούν σε τρεις άξονες:

Σχήμα 6.6 Άξονες χαρακτηριστικών πρακτόρων

Στο παραπάνω σχήμα, ο άξονας της συνεργασίας αφορά χαρακτηριστικά αλληλεπίδρασης του πράκτορα με το χρήστη, καθώς και συνεργασία του με άλλους πράκτορες, όταν ανήκει σε ένα πολυ-πρακτορικό σύστημα. Ο άξονας της κινητικότητας αφορά χαρακτηριστικά είτε ρομποτικών πρακτόρων που μετακινούνται, για να δράσουν επιτόπου, είτε λογισμικών που δρουν εξ αποστάσεως. Τέλος, ο άξονας της νοημοσύνης αφορά χαρακτηριστικά που πρέπει να διαθέτει επιπλέον ένας ευφυής πράκτορας, ώστε να είναι ικανός να μαθαίνει, να οργανώνει τις ενέργειές του και να συλλογίζεται, για να αντιδρά «έξυπνα» σε ερεθίσματα που δέχεται.

6.4 Κατηγορίες Πρακτόρων

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

Σχήμα 6.7 Ιεραρχική ταξινόμηση πρακτόρων

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

Οι βιολογικοί πράκτορες (biological agents) χρησιμοποιούν τις αισθήσεις τους, για να αντιληφθούν το γύρω κόσμο, τις γνώσεις τους, για να συναγάγουν συμπεράσματα γι’ αυτόν, και τα μέρη του σώματός τους, για να εκτελέσουν τις ενέργειες που προκύπτουν από τη συλλογιστική τους.

Οι τεχνητοί πράκτορες (artificial agents) λειτουργούν με παρόμοιο τρόπο και χωρίζονται σε δύο υποκατηγορίες, τους ρομποτικούς και τους υπολογιστικούς πράκτορες.

Οι ρομποτικοί πράκτορες (robotic agents ή robots) έχουν ως αισθητήρες και μηχανισμούς δράσης μηχανικά ή ηλεκτρονικά μέρη και δρουν στον πραγματικό κόσμο.

Σχήμα 6.8 Λειτουργία ρομποτικού πράκτορα

Στους υπολογιστικούς πράκτορες (computational agents) ανήκουν οι λογισμικοί πράκτορες (software agents), προγράμματα που λειτουργούν συνεχώς και αυτόνομα στο πλαίσιο ενός υπολογιστικού συστήματος. Ο πράκτορας δραστηριοποιείται με έξυπνο και ευέλικτο τρόπο ανταποκρινόμενος στις αλλαγές του περιβάλλοντος, χωρίς να απαιτείται η παρέμβαση του χρήστη. Οι λογισμικοί πράκτορες μπορούν να υποδιαιρεθούν σε πράκτορες επιμέρους εργασιών (task-specific agents), πράκτορες ψυχαγωγίας (entertainment agents) και ιούς (viruses). Τέλος, στους υπολογιστικούς πράκτορες ανήκουν οι πράκτορες τεχνητής ζωής (artificial life agents) που, επίσης, βασίζονται στο λογισμικό, αλλά έχουν δικά τους ιδιαίτερα χαρακτηριστικά, με βασικότερο ότι λειτουργούν σε εικονικά περιβάλλοντα.

Σχήμα 6.9 Λειτουργία λογισμικού πράκτορα

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

6.4.1 Ορθολογικοί πράκτορες

Οι ορθολογικοί πράκτορες (rational agents) λαμβάνουν αποφάσεις και δρουν βάσει μιας διαδικασίας λογικής απόδειξης. Στηρίζονται σε μία βάση γνώσης (knowledge base), χάρη στην οποία διατηρούν την αντίληψή τους για το περιβάλλον με μορφή λογικών προτάσεων (logic formulae), και σε ένα σύνολο κανόνων συμπερασμού, για να δράσουν. Έτσι, οι δράσεις που θα εκτελεστούν ανάγονται σε προβλήματα απόδειξης της μαθηματικής λογικής και πολλές φορές χρησιμοποιούνται συμπερασματικές μηχανές, για να επιτευχθούν.

Οι ορθολογικοί πράκτορες εκτελούν συνεχώς τις εξής τρεις λειτουργίες:

  1. αντιλαμβάνονται τις δυναμικές συνθήκες του περιβάλλοντος,
  2. δρουν στο περιβάλλον, ώστε να το αλλάξουν και
  3. συλλογίζονται, ώστε να ερμηνεύσουν αυτά που αντιλαμβάνονται, να λύσουν προβλήματα, να συμπεράνουν και να καθορίσουν τη δράση τους.

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

6.5 Σύγχρονες Θεωρήσεις Πρακτόρων

Όπως αναφέραμε ήδη, είναι δύσκολη μία ενιαία θεώρηση για το τι είναι ένας πράκτορας, δεδομένου ότι ο κάθε τομέας της Επιστήμης Υπολογιστών τους εξετάζει από διαφορετική σκοπιά. Για παράδειγμα:

Έτσι προκύπτουν οι εξής δύο σύγχρονες θεωρήσεις για τους πράκτορες, η χαλαρή θεώρηση και η ισχυρή θεώρηση. Η πρώτη ανήκει περισσότερο στο χώρο της τεχνολογίας λογισμικού, ενώ η δεύτερη στο χώρο της ΤΝ. Πιο συγκεκριμένα:

6.6 Περιβάλλοντα Πρακτόρων

Μέχρι στιγμής έχει αναφερθεί αρκετές φορές ο όρος «περιβάλλον» μέσα στο οποίο δρα ένας πράκτορας. Γενικότερα, υπό μια έννοια το περιβάλλον αποτελεί το «πρόβλημα» για το οποίο οι πράκτορες αποτελούν τη «λύση». Οι Russel & Norvig (2009) κατηγοριοποιούν τα περιβάλλοντα των πρακτόρων ως εξής:

Οι παραπάνω κατηγοριοποιήσεις περιγράφουν εντέλει την πολυπλοκότητα ενός περιβάλλοντος. Όσο πιο πολύπλοκο είναι το περιβάλλον, τόσο πιο δύσκολη είναι η ανάπτυξη ενός λειτουργικού πράκτορα που δρα μέσα σε αυτό. Μία σημαντική παρατήρηση είναι ότι η πολυπλοκότητα δεν είναι μία προκαθορισμένη ιδιότητα του περιβάλλοντος, αλλά εξαρτάται σε μεγάλο βαθμό από τους αισθητήρες του πράκτορα που αλληλεπιδρά με αυτό. Δύο πράκτορες ίδιας λειτουργίας αλλά διαφορετικών αισθητήρων οι οποίοι δρουν στο ίδιο περιβάλλον το αντιλαμβάνονται διαφορετικά.

6.7 Αφηρημένες Αρχιτεκτονικές Πρακτόρων

Στις προηγούμενες ενότητες, αναφέρθηκαν αρκετοί ορισμοί των πρακτόρων και τα χαρακτηριστικά ενός πράκτορα, ώστε να δοθεί μια γενική εικόνα της οντότητας των πρακτόρων. Όμως, τίθεται ένα εύλογο ερώτημα: πώς ένας πράκτορας κάνει εκτίμηση των αλλαγών του περιβάλλοντος στο οποίο βρίσκεται και πώς ενεργεί, ώστε να εκπληρώσει επιτυχώς τους στόχους του;

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

Η αρχιτεκτονική ενός πράκτορα βασίζεται

Σκοπός είναι να ορίζει:

Με βάσει την αφηρημένη αρχιτεκτονική τους, οι πράκτορες μπορεί να κατηγοριοποιηθούν σε δύο βασικές αρχιτεκτονικές ευφυών πρακτόρων, οι οποίες είναι οι αντιδραστικοί πράκτορες (reactive agents) και οι πράκτορες με εσωτερική κατάσταση (internal state agents). Η βασική διαφορά των δύο αρχιτεκτονικών έγκειται στο ότι χαρακτηρίζονται η μεν πρώτη κατηγορία από τη λογική «ερέθισμα- αντίδραση», η δε δεύτερη από την ύπαρξη εσωτερικής συμβολικής αναπαράστασης του περιβάλλοντος κόσμου.

Επιπλέον κατηγορίες είναι οι υβριδικοί πράκτορες με διαστρωματωμένη αρχιτεκτονική που δανείζεται από τις δυο βασικές κατηγορίες, και οι κινητοί πράκτορες, με χαρακτηριστικό τους το ότι κινούνται ελεύθερα στο περιβάλλον τους.

Σχήμα 6.10 Κατηγορίες ευφυών πρακτόρων βάσει της αρχιτεκτονικής τους

6.7.1 Αντιδραστικοί Πράκτορες

Η αρχιτεκτονική ενός αντιδραστικού πράκτορα (reactive agent) αποσκοπεί στη δημιουργία μιας αρχιτεκτονικής όσο γίνεται πιο απλής. Σε αντίθεση με τους πράκτορες με εσωτερική κατάσταση,οι αντιδραστικοί πράκτορες δεν χαρακτηρίζονται από μία εσωτερική συμβολική αναπαράσταση του περιβάλλοντος με το οποίο αλληλεπιδρούν, αλλά η συμπεριφορά τους βασίζεται στη λογική ερέθισμα-αντίδραση στην τρέχουσα κατάσταση του κόσμου όπου βρίσκονται. Επιπλέον, δεν έχουν μνήμη. Υπάρχουν τρεις τύποι αντιδραστικών πρακτόρων: οι απλοί, αυτοί που βασίζονται σε μοντέλα του κόσμου τους και αυτοί που βασίζονται σε στόχους.

Εικόνα 6.1 Συμπεριφορά απλού αντιδραστικού πράκτορα

Ένας αντιδραστικός πράκτορας προσδιορίζεται πλήρως από ένα μηχανισμό επιλογής της εκάστοτε κατάλληλης δράσης, που εκτελείται από το τμήμα εκείνο του πράκτορα που καλείται ενεργοποιητής (activator).

Ο απλός αντιδραστικός πράκτορας (simple reactive agent) διαθέτει μια τρέχουσα αντίληψη για το περιβάλλον του αγνοώντας τι έχει προηγηθεί και χωρίς να τον απασχολεί τι θα ακολουθήσει, αφού δράσει. Ο μηχανισμός αυτός μπορεί να είναι μια συνάρτηση γραμμένη σε κάποια γλώσσα προγραμματισμού ή η μηχανή εξαγωγής συμπερασμάτων σε ένα έμπειρο σύστημα.

Σχήμα 6.11 Αρχιτεκτονική απλού αντιδραστικού πράκτορα

Ο αντιδραστικός πράκτορας βασισμένος σε μοντέλο (model-based reactive agent) αντιλαμβάνεται την τρέχουσα κατάσταση του κόσμου μέσω των αισθητήρων του και τη συγκρίνει με ένα εσωτερικό μοντέλο που διαθέτει για το πώς εξελίσσεται ο κόσμος του. Στη συνέχεια βρίσκει έναν κατάλληλο κανόνα με βάση τον οποίο ενεργεί όπως και ο απλός αντιδραστικός πράκτορας.

Σχήμα 6.12 Αρχιτεκτονική αντιδραστικού πράκτορα βασισμένου σε μοντέλα

6.7.2 Πράκτορες με Εσωτερική Κατάσταση

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

Σχήμα 6.13 Γενικό μοντέλο πράκτορα με εσωτερική κατάσταση

Όταν οι πράκτορες εσωτερικής κατάστασης έχουν μια βάση γνώσης, στην οποία διατηρούν την αντίληψή τους για τον πραγματικό κόσμο με μορφή λογικών προτάσεων και ένα σύνολο συμπερασματικών κανόνων που μπορεί να εκτελέσει ο πράκτορας υπό τύπον συλλογιστικής, τότε καλούνται πράκτορες βασισμένοι στη λογική (deliberated agents).

Η κατηγορία των πρακτόρων με εσωτερική κατάσταση περιλαμβάνει δύο υποκατηγορίες αρχιτεκτονικής πρακτόρων: τους πράκτορες με στόχους, που είναι βασισμένοι στους επιδιωκόμενους στόχους και τους πράκτορες με πεποιθήσεις - επιθυμίες – προθέσεις (βλέπε Σχήμα 6.10).

Πράκτορες με στόχους

Ένας πράκτορας με στόχο (goal-based agent), εκτός των πληροφοριών που προσλαμβάνει μέσω των αισθητήρων του για την τρέχουσα κατάσταση του κόσμου, διαθέτει και πληροφορίες που περιγράφουν τον επιδιωκόμενο στόχο. Ένας στόχος (goal) είναι ένα υποσύνολο επιθυμητών μελλοντικών καταστάσεων οι οποίες μπορούν να πραγματοποιηθούν και δεν περιέχουν συγκρούσεις μεταξύ τους. Ο πράκτορας συνδυάζει αυτές τις πληροφορίες με τη γνώση που έχει εσωτερικά για τον κόσμο, ώστε να διερευνήσει τα αποτελέσματα των δυνατών ενεργειών του, προκειμένου να επιλέξει την καταλληλότερη ενέργεια που θα οδηγήσει στο στόχο.

Η εσωτερική κατάσταση μπορεί να βασίζεται σε μοντέλα ή σε οποιαδήποτε άλλη μορφή αναπαράστασης γνώσης.

Σχήμα 6.14 Αρχιτεκτονική πρακτόρων με εσωτερική κατάσταση και στόχο

Πράκτορες με Πεποιθήσεις– Επιθυμίες– Προθέσεις

Ο τρόπος λειτουργίας ενός πράκτορα BDI (BDI agent) στηρίζεται σε θεωρητικά μοντέλα ανθρώπινης συλλογιστικής (Weiss, 1999). Βάσει αυτών, η εσωτερική του κατάσταση περιγράφεται και από τις εξής βασικές έννοιες της ισχυρής θεώρησης των πρακτόρων: «πεποιθήσεις», «επιθυμίες» και «προθέσεις».

Η λειτουργία ενός πράκτορα BDI βασίζεται στην ύπαρξη συμβάντων που προκαλούν την αντίδρασή του:

Η διαδικασία δράσης ενός πράκτορα BDI, με βάση όλα όσα προαναφέρθηκαν, είναι η ακόλουθη:

  1. Ο πράκτορας, μέσα από ένα σύνολο επιθυμιών, επιλέγει ανάλογα με την κρίση του τους στόχους του.
  2. Στη συνέχεια επιλέγει ένα υποσύνολο από αυτούς (προθέσεις) με βάση το πόσο τον ικανοποιούν (χρησιμότητα) και αφοσιώνεται σε αυτούς.
  3. Στο τελικό στάδιο της διαδικασίας δράσης αναλύει τους τρόπους (πλάνα) με τους οποίους οι επιλεγμένες προθέσεις μπορούν να επιτευχθούν.

Η ικανοποίηση του πράκτορα από την επιλογή κάποιου στόχου καλείται χρησιμότητα (utility). Η χρησιμότητα προκύπτει από τη συνάρτηση χρησιμότητας (utility function) που αντιστοιχίζει μια κατάσταση σε έναν πραγματικό αριθμό που καλείται βαθμός ικανοποίησης. Οι επιλογές που ικανοποιούν τον πράκτορα γίνονται προθέσεις, οι οποίες στη συνέχεια προσδιορίζουν τις ενέργειες του πράκτορα.

Οι προθέσεις επιδρούν στις πεποιθήσεις, πάνω στις οποίες θα βασιστεί η μελλοντική συλλογιστική.

Σχήμα 6.15 Η Αρχιτεκτονική BDI

Αξίζει να αναφερθεί ότι ένας πράκτορας BDI, αφότου επιλέξει τους στόχους του από το σύνολο των προθέσεών του, δεσμεύεται πλέον από αυτούς στις μελλοντικές του ενέργειες. Σημειωτέα η επιμονή του πράκτορα προς την επίτευξη των προθέσεων. Αφότου έχει αποφασίσει ότι μία πρόθεση είναι εφικτή, ο πράκτορας αφιερώνει χρόνο επεξεργασίας και υπολογιστικούς πόρους, για να την πετύχει. Βέβαια, αν κριθεί ότι αυτές οι προθέσεις είναι αδύνατον τελικά να επιτευχθούν ή σε τελικό στάδιο δεν ικανοποιούν τον πράκτορα στην λειτουργία που θέλει να επιτελέσει, οι προθέσεις αυτές εγκαταλείπονται. Έτσι, ο πράκτορας θα επανεξετάσει τις προθέσεις του για την εύρεση πιο κατάλληλων στόχων. Η συχνότητα επανεξέτασης των προθέσεων του πράκτορα αποτελεί σημαντικότατο κομμάτι στον σχεδιασμό του και επηρεάζει σε μεγάλο βαθμό την αποδοτικότητά του.

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

 

Στο χρόνο t = 0 ο παίχτης έχει ως:

Στον επόμενο χρόνο t = 1 ο παίχτης μεταφέρεται στο σημείο Ρ και έχει ως:

Δεδομένου όμως ότι ο εξωγήινος επίσης κινείται, η πρόθεση του παίχτη δε μπορεί να επιτευχθεί λόγω λανθασμένης πεποίθησης άρα οφείλει να την επανεξετάσει.

Πράκτορες που μαθαίνουν

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

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

Σχήμα 6.16 Αποτύπωση διαδικασιών μάθησης αντιδραστικών πρακτόρων με μοντέλο

6.7.3 Υβριδικοί Πράκτορες

Η αρχιτεκτονική των υβριδικών πρακτόρων (hybrid agents) βασίζεται στο συνδυασμό των δύο προηγούμενων αρχιτεκτονικών με σκοπό την εκμετάλλευση των πλεονεκτημάτων τους. Στους υβριδικούς πράκτορες υπάρχουν τουλάχιστον δύο επίπεδα υπεύθυνα για την αντιδραστική συμπεριφορά και την συμπεριφορά με εσωτερική κατάσταση.

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

Σχήμα 6.17 Ροή ελέγχου σε υβριδικούς πράκτορες

6.7.4 Κινητοί Πράκτορες

Η τελευταία κατηγορία λογισμικών πρακτόρων που θα εξετάσουμε είναι οι κινητοί πρακτόρες (mobile agents). Ιδιαίτερο χαρακτηριστικό της κατηγορίας αυτής είναι η ικανότητα των πρακτόρων να μετακινούνται μέσα στο περιβάλλον τους που συνήθως είναι διαδικτυακό. Οι κινητοί πράκτορες είναι στην πραγματικότητα διεργασίες λογισμικού (software processes), οι οποίες έχουν την δυνατότητα να εκτελούνται σε οποιονδήποτε υπολογιστή και αν μεταφερθούν.

Ο τρόπος λειτουργίας των κινητών πρακτόρων δεν απαιτεί τη συνεχή επικοινωνία μεταξύ του εξυπηρετητή (server) όπου είναι εγκατεστημένος ο πράκτορας και του υπολογιστή στον οποίο μεταφέρεται, για να δράσει. Με αυτό τον τρόπο υπάρχει ελάχιστη κατανάλωση στους πόρους του δικτύου και η ακεραιότητα των πληροφοριών που λαμβάνει ο πράκτορας δεν επηρεάζεται από τυχόν προβλήματα επικοινωνίας με τον εξυπηρετητή. Για παράδειγμα, ένας κινητός πράκτορας που πρέπει να συλλέξει πληροφορίες από διάφορους ιστοχώρους θα πρέπει να μετακινηθεί στους εξυπηρετητές των ιστοχώρων αυτών στη σειρά, δηλαδή να επισκεφτεί τον πρώτο στη σειρά, όπου θα αντλήσει τις πληροφορίες που τον ενδιαφέρουν, στη συνέχεια θα μεταβεί στο δεύτερο και ούτω καθ’ εξής, μέχρι να επιστρέψει στη βάση του επιβαρύνοντας μόνο το σύστημα του υπολογιστή στον οποίο ενεργεί κάθε χρονική στιγμή. Αντίθετα, ένας μη κινητός πράκτορας θα στείλει αιτήματα προς τους εξυπηρετητές των ιστοσελίδων με τα στοιχεία που τον ενδιαφέρουν και, αφού επεξεργαστεί τις απαντήσεις που θα λάβει, θα παρουσιάσει τα αποτελέσματα στο χρήστη, διαδικασία που αντιστοιχεί σε μεγάλο επικοινωνιακό κόστος και όγκο μεταφερόμενων πληροφοριών.

Βέβαια, ο τρόπος λειτουργίας των κινητών πρακτόρων εμπεριέχει μεγάλα κενά ασφάλειας. Κατά την μεταφορά των πρακτόρων μεταξύ των εξυπηρετητών, υπάρχει το ενδεχόμενο αλλοίωσης του κώδικά τους από κακόβουλα λογισμικά, με συνέπεια οι διεργασίες που εκτελούνται να δώσουν πιθανώς μη επιθυμητά αποτελέσματα και, ακόμα χειρότερα, επικίνδυνα για τους ίδιους τους εξυπηρετητές. Επίσης, βρίσκονται σε κίνδυνο και οι υπολογιστές στους οποίους θα μεταφερθούν οι πράκτορες στην συνέχεια, αφού ο λειτουργικός σκοπός τους είναι, πλέον, αμφίβολος. Τέλος, δεδομένου ότι οι πράκτορες μετακινούνται συνέχεια, είναι δύσκολη η παρακολούθηση της τρέχουσας θέσης τους, ώστε να ελεγχθεί η κατάσταση λειτουργίας τους.

6.8 Πολυπρακτορικά Συστήματα

Ένα πολυπρακτορικό σύστημα (multi-agent system) αποτελείται από ένα σύνολο από πράκτορες που δρουν μαζί, για να επιλύσουν ένα πρόβλημα. Ένα τέτοιο σύστημα στοχεύει στη διασύνδεση και λειτουργία ήδη υπαρχόντων συστημάτων, καθώς και στην επίλυση προβλημάτων:

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

Εικόνα 6.2 Πολυπρακτορικό σύστημα για την περιβαλλοντική εποπτεία, την παρακολούθηση και οικολογική προστασία

6.8.1 Χαρακτηριστικά πολυπρακτορικών συστημάτων

Κύριο χαρακτηριστικό των συνεργαζόμενων πρακτόρων είναι ο συντονισμός (coordination). Για το συντονισμό, ένας αντιπροσωπευτικός ορισμός είναι ο παρακάτω:

 

«O συντονισμός είναι η ιδιότητα ενός συστήματος πρακτόρων να φέρουν εις πέρας ενέργειες μέσα σε ένα κοινό περιβάλλον.»

 

Υπάρχουν δύο τρόποι συντονισμού:

Άλλα χαρακτηριστικά των πολυπρακτορικών συστημάτων είναι τα ακόλουθα:

Τα χαρακτηριστικά ενός πολυπρακτορικού συστήματος επιδρούν παράλληλα στον σχεδιασμό και τη λειτουργία των πρακτόρων που το αποτελούν.

6.8.2 Κρίσιμα σημεία στη σχεδίαση & υλοποίηση

Το σημαντικότερο και πιο κρίσιμο σημείο στην ανάπτυξη πολυπρακτορικών συστημάτων είναι ο τρόπος επικοινωνίας των πρακτόρων, που απαιτεί την ύπαρξη τριών διαφορετικών επιπέδων:

Θέματα που εγείρονται κατά το σχεδιασμό της επικοινωνίας πρακτόρων είναι:

Η αρμονική συνύπαρξη των μελών ενός πολυπρακτορικού συστήματος θέτει τα θεμέλια για την αποδοτική και σταθερή λειτουργία του. Για την επιτυχή αλληλεπίδραση των πρακτόρων ως μελών μιας ομάδας με κοινό σκοπό, θα απαιτηθεί τυποποίηση, κατάλληλη περιγραφή και διαμοιρασμός του προβλήματος, καθώς και σύνθεση των λύσεων που κάθε πράκτορας μεμονωμένα θα εμφανίζει. Επίσης, προσεκτικό και λεπτομερή σχεδιασμό απαιτούν αφενός ο τρόπος για συμβιβασμό πιθανών διαφορετικών απόψεων μεταξύ πρακτόρων και αντιμετώπιση ενδεχόμενων συγκρουόμενων προθέσεών τους, αφετέρου ο τρόπος διαχείρισης περιορισμένων πόρων.

6.8.3 Μοντέλα διασύνδεσης πολυπρακτορικών συστημάτων

Η αρχιτεκτονική δομή του συστήματος, δηλαδή η διασύνδεση των πρακτόρων του συστήματος μεταξύ τους, απαιτεί σχεδιασμό ανεξάρτητα από την δημιουργία και την ένταξη των πρακτόρων στο σύστημα. Τα επικρατέστερα μοντέλα διασύνδεσης για τη συνεργασία των πρακτόρων είναι τα συστήματα μαυροπίνακα (blackboard systems) και τα συστήματα ανταλλαγής μηνυμάτων (message passing systems).

Στο μοντέλο με μαυροπίνακα η διασύνδεσης των πρακτόρων γίνεται μέσω μιας κεντρικής μονάδας ελέγχου που καλείται Μαυροπίνακας (βλέπε επόμενο σχήμα).

Σχήμα 6.18 Μοντέλο διασύνδεσης Μαυροπίνακα

Η κεντρική μονάδα ελέγχου χωρίζεται σε τρία επιμέρους τμήματα, όπως φαίνεται στο παρακάτω σχήμα 6.19:

Σχήμα 6.19 Αρχιτεκτονική κεντρικής μονάδας ελέγχου στο μοντέλο διασύνδεσης με Μαυροπίνακα

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

Σχήμα 6.20 Μοντέλο διασύνδεσης ανταλλαγής μηνυμάτων

Τα χαρακτηριστικά του μοντέλου ανταλλαγής μηνυμάτων είναι:

Τα συστήματα που βασίζονται στο μοντέλο ανταλλαγής μηνυμάτων προσφέρουν μεγαλύτερη ευελιξία στην ανταλλαγή πληροφοριών από όσο τα συστήματα μαυροπίνακα.

6.8.4 Επικοινωνία μεταξύ πρακτόρων

Απαραίτητη προϋπόθεση για τη λειτουργία ενός πολυπρακτορικού συστήματος είναι η ύπαρξη πρωτοκόλλων επικοινωνίας και αλληλεπίδρασης. Τα πρωτόκολλα επικοινωνίας ορίζουν μηχανισμούς μέσω των οποίων οι πράκτορες μεταδίδουν μεμονωμένα μηνύματα, ενώ τα πρωτόκολλα αλληλεπίδρασης κατευθύνουν την ανταλλαγή μίας σειράς μηνυμάτων μεταξύ των πρακτόρων∙ δηλαδή, πραγματοποιούν διάλογο (Huhns και Stephens, 1999).

Η επικοινωνία μεταξύ των πρακτόρων μπορεί να είναι σύγχρονη ή ασύγχρονη. Κατά τη σύγχρονη επικοινωνία, ο πράκτορας που θέτει μία ερώτηση είναι απαραίτητο να διακόψει τη λειτουργία του, μέχρι να πάρει μία απάντηση, ενώ, κατά την ασύγχρονη, η απάντηση μπορεί να έλθει οποιαδήποτε στιγμή μετά το χρόνο υποβολής της ερώτησης, χωρίς η λειτουργία του πράκτορα να διακόπτεται.

Επιπρόσθετα, ένα άλλο θέμα που αφορά την επικοινωνία των πρακτόρων σε ένα σύστημα είναι ο βαθμός επικοινωνίας (cardinality). Αυτός ορίζεται ως ο αριθμός των αποστολέων και των παραληπτών κατά την ανταλλαγή πληροφορίας. Ο βαθμός επικοινωνίας μπορεί να είναι:

6.8.5 Αλληλεπίδραση Πρακτόρων

Όπως αναφέρθηκε παραπάνω, τα πρωτόκολλα επικοινωνίας καθορίζουν την επικοινωνία μεταξύ των πρακτόρων σε πρωτογενές επίπεδο. Οι πράκτορες, ιδιαίτερα αυτοί με εσωτερική κατάσταση, είναι οντότητες με ξεχωριστούς στόχους, επιθυμίες και πεποιθήσεις και απαιτούν πρωτόκολλα αλληλεπίδρασης που θα τους επιτρέψουν να λειτουργήσουν ως κοινωνία πρακτόρων. Στο πλαίσιο μιας τέτοιας κοινωνίας απαιτείται συντονισμός (coordination) των πρακτόρων, να εμποδίζεται η άσχετη με το στόχο δραστηριότητα μέσω της αποφυγής καταστάσεων αδιεξόδου και ενεργούς αναμονής.

Ο συντονισμός σε πολυπρακτορικά περιβάλλοντα μέσα στα οποία οι πράκτορες δεν έχουν αντικρουόμενους στόχους εκφράζεται ως συνεργασία (cooperation), με πρωτόκολλα συνεργασίας (cooperation protocols), ενώ στην αντίθετη περίπτωση ορίζεται ως διαπραγμάτευση (negotiation), με πρωτόκολλα διαπραγμάτευσης (negotiation protocols).

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

Τα πρωτόκολλα αλληλεπίδρασης προσδιορίζουν την τυποποίηση των μηνυμάτων που μπορούν να ανταλλάξουν οι πράκτορες μεταξύ τους. Ένα πρωτόκολλο αλληλεπίδρασης θα μπορούσε να ορίσει την ακόλουθη τυποποίηση των μηνυμάτων που ανταλλάσσουν δύο πράκτορες:

Βασιζόμενοι σε αυτού του τύπου τα μηνύματα, μία τυπική επικοινωνία μεταξύ του Πράκτορα_Α και του Πράκτορα_Β, η οποία είναι παράλληλα ένα στιγμιότυπο του πρωτοκόλλου αλληλεπίδρασης για την διαπραγμάτευση, είναι η ακόλουθη:

6.8.6 Πολυπρακτορικό περιβάλλον

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

6.8.7 Γλώσσες επικοινωνίας

Για τη μεταξύ τους επικοινωνία οι πράκτορες χρησιμοποιούν ειδικές γλώσσες επικοινωνίας. Ένα πρωτόκολλο αλληλεπίδρασης ταυτίζεται με τη γλώσσα επικοινωνίας και καθορίζεται από δύο επίπεδα:

Οι κυριότερες γλώσσες επικοινωνίας πρακτόρων από τις αρχές της δεκαετίας του 1990 έως σήμερα είναι η KQML και η FIPA ACL. Η FIPA ACL δημιουργήθηκε από τον Οργανισμό για Ευφυείς Φυσικούς Πράκτορες (Foundation for Intelligent Physical Agents - FIPA) το 1999 και βασίστηκε στην προσπάθεια για διασύνδεση των διαφορετικών συστημάτων πρακτόρων που αναπτύσσονται στη βιομηχανία. Η FIPA ACL μοιάζει αρκετά στην KQML, αλλά έχει μία σημαντική διαφορά. Τα τελεστικά μηνύματα και η σημασιολογία της είναι αυστηρώς ορισμένα.

Η σημασιολογία της FIPA ACL εκφράζεται με τη χρήση της γλώσσας S/SL8 , η οποία περιλαμβάνει, μεταξύ άλλων, τις πεποιθήσεις, τις επιθυμίες και τις πράξεις των πρακτόρων. Με βάση τη λογική αυτή, κάθε μήνυμα ACL αντιστοιχεί σε ένα ορθολογικό αποτέλεσμα ή, αλλιώς, στο τι αποβλέπει ο αποστολέας του μηνύματος.

Σε γενικές γραμμές η FIPA ACL δεν μπορεί να χρησιμοποιηθεί σε πολυπρακτορικά συστήματα στα οποία δρουν πράκτορες συγκρουόμενων συμφερόντων. Στις περιπτώσεις εκείνες, όμως, κατά τις οποίες έχει διασφαλιστεί ότι δεν ισχύει κάτι τέτοιο, δεν παρουσιάζονται σημαντικά προβλήματα στην χρησιμοποίησή της. Τέλος, αξίζει να σημειωθεί πως το 2005 η FIPA ACL ως δημιούργημα της FIPA εντάχθηκε στην προτυποποίηση του IEEE.

6.9 Εφαρμογές πρακτόρων

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

Οι πράκτορες διεπαφής αποτελούν προσωπικούς βοηθούς (personal assistants) του χρήστη. Μαθαίνουν τις ιδιαίτερες προτιμήσεις του και τον βοηθούν στην ικανοποίηση αναγκών του ∙ παράδειγμα, ο γνωστός συνδετήρας του προγράμματος Word και τα προγράμματα που βοηθούν τους χρήστες να οργανώσουν το ημερήσιο πρόγραμμά τους (Calendar Agent, Calendar Aprentice).

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

Ιδιαίτερη κατηγορία αποτελούν οι πράκτορες διαδικτύου, που διευκολύνουν το χρήστη στην ανεύρεση χρήσιμης πληροφορίας, ενώ προσπαθούν να μάθουν τα ειδικότερα ενδιαφέροντα του χρήστη χρησιμοποιώντας μεθόδους μάθησης μηχανής, για να τον εξυπηρετήσουν καλύτερα. Οι πράκτορες αυτοί ανήκουν κυρίως σε τέσσερις διαφορετικούς τύπους:

Τέλος, η διαθεσιμότητα του παγκόσμιου χώρου των δεδομένων (Web of Data) δημιουργεί νέες ευκαιρίες για σχεδιασμό ευφυών πρακτόρων που θα εκμεταλλεύονται τεχνικές της ΤΝ σε σχέση με την αναπαράσταση γνώσης, την ανάκτηση πληροφορίας, την εξόρυξη δεδομένων και την ενσωμάτωση πληροφοριών σε βάσεις δεδομένων.