Κατανεµηµένη Τεχνητή Νοηµοσύνη Τµήµα Πληροφορικής Πανεπιστήµιο Πειραιώς Αλέξανδρος Αρτίκης
Καθολικότητα Τάσεις στην ιστορία της πληροφορικής (1) Η συνεχιζόµενη µείωση του κόστους στον υπολογιστικό εξοπλισµό καθιστά δυνατή τη χρήση τεχνολογίας σε κάθε είδους συσκευές καθηµερινής χρήσης. ιασύνδεση Τα πρώτα υπολογιστικά συστήµατα λειτουργούσαν µεµονωµένα. Σήµερα πλέον οι ΗΥ διασυνδέονται και σχηµατίζουν δίκτυα κατανεµηµένης υπολογιστικής δύναµης. Το διαδίκτυοείναι το πιο προφανές παράδειγµα. Μέχρι πρότινος τα παράλληλα ή τα κατανεµηµένα υπολογιστικά συστήµατα θεωρούνταν σπάνια και δύσκολα, σήµερα όµως αποτελούν τον κανόνα τόσο στην έρευνα όσο και στη βιοµηχανία. Απαιτούνται νέες θεωρίες υπολογισµού ώστε να αναλύεται και να εξηγείται η διαδικασία του υπολογισµού ως αποτέλεσµα αλληλεπίδρασης. Νοηµοσύνη Οι εργασίες που αναθέτουµε στους ΗΥ είναι αυξανόµενης πολυπλοκότητας και απαιτούν ολοένα και περισσότερο ευφυήσυστήµατα. Γινόµαστε συνεχώς καλύτεροι στην κατασκευή τέτοιων συστηµάτων. 2
Μεταβίβαση/ανάθεση Τάσεις στην ιστορία της πληροφορικής (2) Αυξάνεται ο αριθµός και το είδος των εργασιώνπου αναθέτουµεστους ΗΥ σε τοµείς που µέχρι πρότινος µόνο φανταζόµασταν, π.χ. αναθέτουµε σε ΗΥ δραστηριότητες κρίσιµης ασφάλειας όπως η πλοήγηση αεροσκαφών, ο έλεγχος πυρηνικών αντιδραστήρων, η ρύθµιση της οδικής κυκλοφορίας, η διαχείριση φυσικών πόρων. Πολλές φορές, όπως στην πλοήγηση αεροσκάφους, εµπιστευόµαστε περισσότερο την κρίση του ΗΥ παρά του ανθρώπου-χειριστή. Η ανάθεση εργασιών σε ΗΥ συνεπάγεται και ανάθεση ελέγχου σε αυτούς. Ανθρωποκεντρισµός Αποµακρυνόµαστε από µηχανοκεντρικέςαπόψεις για τον προγραµµατισµό προς απόψεις που προσεγγίζουν περισσότερο τον τρόπο µε τον οποίο βλέπουµε εµείς τα πράγµατα. Π.χ. παλιότερα χρησιµοποιούσαµε command line interfaces, διαδικασιακέςγλώσσες προγραµµατισµού, ενώ σήµερα χρησιµοποιούµε γραφικά user interfaces και δηλωσιακές γλώσσες προγραµµατισµού. 3
Νέες προκλήσεις για την πληροφορική Καθολικός Υπολογισµός (Global computing) Τι τεχνικές µπορούν να χρησιµοποιηθούν για να αναπτύξουµε διασυνδεδεµένα πανταχούπαρόντα υπολογιστικά συστήµατα; Πραγµατικά µεγάλα συστήµατα µε 10 10 επεξεργαστές δεν αναπτύσσονται επαρκώς µε τα σηµερινά µοντέλα ανάπτυξης λογισµικού. Τεχνητή Νοηµοσύνη Οι τάσεις για νοηµοσύνη και ανάθεση σηµαίνουν ότι χρειαζόµαστε συστήµατα που µπορούν να λειτουργούν αποτελεσµατικά για λογαριασµό µας. Αυτά τα συστήµατα πρέπει να λειτουργούν ανεξάρτηταχωρίς να είναι απαραίτητη η δική µας παρέµβαση. Πρέπει επίσης να λειτουργούν έτσι ώστε να εξυπηρετούνται τα συµφέροντά µας καθώς αλληλεπιδρούν µε άλλα συστήµατα ή ανθρώπους. 4
Συστήµατα πολλαπλών πρακτόρων Καθολικός Υπολογισµός + Τεχνητή Νοηµοσύνη = Κατανεµηµένη Τεχνητή Νοηµοσύνη. Όταν ένα υπολογιστικό σύστηµα (ΥΣ) που λειτουργεί για λογαριασµό του Α αλληλεπιδρά µε ένα ΥΣ που λειτουργεί για λογαριασµό του Βσπάνια εξυπηρετούνται τόσο τα συµφέροντα του Αόσο και του Β. Γίνεται απαραίτητο τα ΥΣ να διαπραγµατευτούν και να συµφωνήσουνκάποιο τρόπο συνεργασίας. ΥΣ που έχουν αυτήτη δυνατότητα αλληλεπίδρασης µεταξύ τους δεν έχουν µελετηθεί εκτενώς ακόµα και είναι το αντικείµενό µας. 5
Πράκτορας = Πολυπρακτορικά συστήµατα εν συντοµία... ΥΣ ικανό για ανεξάρτητηδράση για λογαριασµό του χρήστη/ιδιοκτήτη του, δηλαδή µπορεί να αποφασίσει τι πρέπει να κάνει για να ικανοποιήσει τους στόχους για τους οποίους σχεδιάστηκε, χωρίς να χρειάζεται εντολές ανά πάσα στιγµή. Πολυπρακτορικό σύστηµα (Multi-Agent System (MAS)) = µια κοινωνίααπό πολλούς πράκτορες που αλληλεπιδρούνανταλλάσοντας µηνύµατα µέσω ενός δικτύου. Στην γενική περίπτωση κάθε πράκτορας εκπροσωπεί διαφορετικά συµφέροντα και για να αλληλεπιδράσουν επιτυχώς οι πράκτορες πρέπει να διαπραγµατευτούν, να συνεργαστούν και να συντονιστούν όπως οι άνθρωποι στις κοινωνίες τους. 6
Σχεδιασµός Πράκτορα Θέµατα ενδιαφέροντος Πώς κατασκευάζουµε πράκτορες ικανούς για ανεξάρτητη δράση ώστε να µπορούν να κάνουν τις εργασίες που τους αναθέτουµε; Σχεδιασµός Κοινωνίας Πρακτόρων Πώς κατασκευάζουµε πράκτορες ικανούς να αλληλεπιδρούν (συνεργασία, διαπραγµάτευση, συντονισµός) µε άλλους πράκτορες ώστε να κάνουν τις εργασίες που τους αναθέτουµε, ιδιαίτερα όταν δεν µοιράζονται κοινούς στόχους και συµφέροντα; 7
Ειδικότερα ερωτήµατα για MAS Πως προκύπτει συνεργασία σε κοινωνίες εγωιστικών (ιδιοτελών) πρακτόρων; Τι γλώσσεςµπορούν να χρησιµοποιήσουν οι πράκτορες για να εκφράσουν τις πεποιθήσεις και τους στόχους τους σε άλλους πράκτορες και ανθρώπους; Πώς αντιλαµβάνονται οι πράκτορες ότι οι πεποιθήσεις, οι στόχοι ή οι ενέργειές τους συγκρούονται και πώς συµφωνούνµεταξύ τους ώστε να αποφεύγονται ή να επιλύονται οι συγκρούσεις; Πως µπορούν αυτόνοµοι πράκτορες να συντονίζουντη δράση τους ώστε να επιτυγχάνουν στόχους συνεργαζόµενοι; 8
Το όραµα για τα MAS Σενάριο 1 Εξαιτίας κάποιας βλάβης ένας διαστηµικός σταθµός που πλησιάζει τον Κρόνο χάνει την επαφή µε το επιτελείο που τον καθοδηγεί από τη Γη και, κατά συνέπεια, χάνει τον προσανατολισµό του. Αντί να χαθεί στο διάστηµα, ο σταθµός αναγνωρίζει ότι προέκυψε βασική βλάβη στο σύστηµά του, αποµονώνει την αιτία του σφάλµατος και αυτο-διορθώνει την πορεία του ώστε να ανακτήσει την επικοινωνία µε το επιτελείο που τον καθοδηγεί. Απαιτήσεις Ο σταθµός πρέπει να δρα αυτόνοµα: να αναγνωρίζει τη βλάβη, να διακρίνει τι ενέργειες πρέπει να γίνουν ώστε να αποµονωθεί η αιτία της, να κάνει τις ενέργειες αυτές και να παρακολουθεί το αποτέλεσµά τους µέχρι να διορθώσει την πορεία του. Πραγµατικότητα Deep Space 1 (NASA, 24/10/98) ο πρώτος σταθµός µε αυτόνοµο σύστηµα ελέγχου βασισµένο σε πράκτορα. Πριν χρειάζονταν 300 µέλη επιτελείου που έπαιρναν αποφάσεις και τις µετέδιδαν (υψηλό κόστος, µεγάλος χρόνος απόκρισης σε προβλήµατα). 9
Το όραµα για τα MAS Σενάριο 2 Ένα σύστηµα ελέγχου εναέριας κυκλοφορίας παθαίνει ξαφνικά βλάβη µε συνέπειες για τις πτήσεις που κατευθύνονται προς το αεροδρόµιο. Ευτυχώς, αυτόνοµα συστήµατα ελέγχου εναέριας κυκλοφορίας σε γειτονικά αεροδρόµια αναγνωρίζουν τη βλάβη και συνεργάζονται για να εντοπίσουν και να δροµολογήσουν τις πτήσεις µεταξύ τους έτσι ώστε όλες οι πτήσεις να εξυπηρετηθούν µε πολύ µικρές καθυστερήσεις. Απαιτήσεις Να παίρνουν πρωτοβουλίατα ΥΣ όταν αυτό χρειάζεται (άρα να κάνουν εκτίµηση της κατάστασης και να αποφασίζουν τι πρέπει να γίνει και πότε). Να µπορούν τα ΥΣ να συνεργάζονταιγια να επιλύσουν πρόβληµα που κανένα ΥΣ δεν µπορεί να επιλύσει µόνο του. Πραγµατικότητα Distributed Vehicle Monitoring Testbed project (1981-1991)όπου κάθε πράκτορας έχει αισθητήρες και ελέγχει ένα µόνο µέρος ενός χώρου. Από το 1992 λειτουργεί το ΟΑSIS, ένα MASγια τον έλεγχο εναέριας κυκλοφορίας στο αεροδρόµιο του Sydney. 10
Το όραµα για τα MAS Σενάριο 3 Αναζήτηση πακέτου διακοπών. Αφού προσδιορίσατε τις απαιτήσεις σας στον προσωπικό ψηφιακό βοηθό σας, «αυτός» συνοµιλεί µε ένα πλήθος από δικτυακούς τόπους που παρέχουν υπηρεσίες όπως αεροπορικά εισιτήρια, δωµάτια ξενοδοχείων, ενοικίαση αυτοκινήτων κλπ. Μετά από σκληρές διαπραγµατεύσεις για λογαριασµό σας, ο ψηφιακός βοηθός σας σας παρουσιάζει το κατάλληλο πακέτο διακοπών για σας. Απαιτήσεις Πώς δηλώνονται οι προτιµήσειςµας στον πράκτορα; Πώς µπορεί ο πράκτορας να συγκρίνει τις προσφορές διαφόρων πωλητών; Με τι αλγόριθµουςµπορεί ο πράκτορας να διαπραγµατευτεί µε άλλους πράκτορες για να εξασφαλίσει ό,τι καλύτερο για µας στη χαµηλότερη τιµή; Πραγµατικότητα Πολλοί δικτυακοί τόποι υπάρχουν για την παροχή αγαθών/υπηρεσιών αλλά απαιτείται πραγµατικήδιαπραγµάτευση. Τα οικονοµικά οφέλη από τις αυτοµατοποιηµένες διαπραγµατεύσεις θα ήταν τεράστια π.χ. για κυβερνητικούς/ευρω-κοινοτικούς διαγωνισµούς (µε αντίστοιχα οικονοµικά οφέλη για τους φορολογούµενους...) 11
ιάφορες απόψεις για την περιοχή των MAS Πράκτορες ως τρόπος ανάπτυξης και σχεδίασης λογισµικού Είναι πλέον ευρέως αποδεκτό ότι η αλληλεπίδρασηείναι το βασικότερο χαρακτηριστικό πολύπλοκου λογισµικού, το οποίο απαιτείται για τις περισσότερες εφαρµογές που µας ενδιαφέρουν σήµερα. Οι αρχιτεκτονικές λογισµικού που περιέχουν πολλά συνιστώντα στοιχεία τα οποία αλληλεπιδρούν είναι πολύ δυσκολότερο να κατασκευαστούν σωστά και αποτελεσµατικά σε σύγκριση µε εκείνες τις αρχιτεκτονικές που περιέχουν µόνο ένα στοιχείο το οποίο µετατρέπει είσοδο σε έξοδο (η συνολική συµπεριφορά δεν είναι απαραίτητα άθροισµα των επιµέρους συµπεριφορών!) Πράκτορες ως εργαλείο για να κατανοήσουµε τις ανθρώπινες κοινωνίες Τα ΜASείναι εργαλείο για την προσοµοίωση κοινωνιών ώστε να κατανοήσουµε διάφορες κοινωνικο-οικονοµικο-πολιτικές διεργασίες. Παράδειγµα το ΕΟS projectπου χρησιµοποίησε MASγια να να καταλάβουµε πώς και γιατί προέκυψε κοινωνική πολυπλοκότητα σε µια παλαιολιθική κοινότητα στη νότια Γαλλία στην τελευταία εποχή των παγετών. Βλέπε επίσης την «ψυχο-ιστορία» του Αsimov = ψυχολογία+ιστορία+οικονοµικά για την πρόβλεψη της µελλοντικής εξέλιξης µιας κοινωνίας. 12
«Τα MASδεν είναι απλά συστήµατα κατανεµηµένου/σύγχρονου υπολογισµού;» Υπάρχει ήδη πολλή έρευνα, θεωρία και ανάπτυξη εφαρµογών, γλωσσών προγραµµατισµού και εργαλείων λογισµικού για συστήµατα που αποτελούνται από πολλαπλά αλληλεπιδρώντα συστατικά. Τα MASείναι εξ ορισµού υποσύνολο αυτών των συστηµάτων και τα προβλήµατα ενδιαφέροντος για τα συστήµατα κατενεµηµένου/σύγχρονου υπολογισµού προκύπτουν και στα MAS (π.χ. αµοιβαίος αποκλεισµός για κοινούς πόρους, deadlock, livelock,κλπ). Αλλά: Οι πράκτορες θεωρούνται αυτόνοµοι (ικανοί να αποφασίσουν για το τι ενέργειες να κάνουν προκειµένου να ικανοποιήσουν τους σχεδιαστικούς στόχους τους) οπότε οι δοµές συγχρονισµού και συντονισµού που χρησιµοποιούν δεν θεωρούνται προπρογραµµατισµένες. Αντ αυτούχρησιµοποιούν µηχανισµούς συγχρονισµού και συντονισµού στη διάρκεια της λειτουργίας τους, δηλαδή δυναµικά. Οι σχέσεις µεταξύ υπολογιστικών στοιχείων σε ένα MASείναι οικονοµικές, δηλαδή σχέσεις µεταξύ οντοτήτων που έχει, η κάθε µια, τα δικά της συµφέροντα. Στα κλασικά κατανεµηµένα/σύγχρονα συστήµατα υποθέτουµε ότι τα συστατικά µοιράζονται ένα κοινό στόχο (την εύρυθµη λειτουργία του συστήµατος). Έτσι τα προβλήµατα που µας απασχολούν στα MASέχουν να κάνουν µε το πώς οι πράκτορες µπορούν να συνάψουν συµφωνίες κατόπιν διαπραγµάτευσης, πώς µπορούν δυναµικά να συγχρονίσουν τις ενέργειές τους και µάλιστα όταν οι στόχοι και τα κίνητρα του κάθε πράκτορα δεν είναι εκ των προτέρων γνωστά. 13
«Τα MAS δεν είναι απλά συστήµατα τεχνητής νοηµοσύνης;» Πολλοί ισχυρίζονται ότι τα MAS είναι υποσύνολο της τεχνητής νοηµοσύνης, αν και ακριβέστερα ισχύει το αντίθετο. Πολλοί ισχυρίζονται ότι όλο το πεδίο της τεχνητής νοηµοσύνηςµπορεί να θεωρηθεί πως είναι σχετικό µε την κατασκευή ενός ευφυούς πράκτορα. Αλλά Η ΤΝ έχει ασχοληθεί µε τα στοιχεία της ευφυΐας (την ικανότητα για µάθηση, για σχεδιασµό δράσης, για κατανόηση ήχου, εικόνας, γλώσσας κλπ). Τα MAS ασχολούνται µε την ολοκλήρωσηόλων αυτών των στοιχείων σε ένα ΥΣ που µπορεί να λάβει αποφάσεις ανεξάρτητο. Αλλά δεν χρειάζεται να συµπεριλάβουµε όλες τις πτυχές της ΤΝ σε ένα πράκτορα. Η κλασική ΤΝ έχει αγνοήσει την κοινωνικήπλευρά των πρακτόρων, δηλαδή την ικανότητα επικοινωνίας, συνεργασίας, διαπραγµάτευσης κλπ. 14
«Τα MAS δεν είναι απλά θεωρία παιγνίων ή οικονοµικά;» Η θεωρία παιγνίων µελετά τις αλληλεπιδράσεις µεταξύ οντοτήτων που η κάθε µια έχει τα δικά της συµφέροντα. Παλιότερα θεωρούνταν σχετική µόνο µε οικονοµικά θέµατα. Πρόσφατα όµως έχει βρει εφαρµογές στην πληροφορική. Σήµερα είναι ένα σηµαντικό θεωρητικό εργαλείο για την ανάλυση πολυπρακτορικών συστηµάτων. Έτσι, κάποιοι θεωρούν τα MAS σαν υποσύνολο της θεωρίας παιγνίων. Αλλά: Πολλές λύσεις που αναπτύχθηκαν στη θεωρία παιγνίων δεν είναι υπολογιστικά εφικτές. Περιγράφουν ποιά είναι η βέλτιστη λύση σε ένα πρόβληµα αλλά δεν µας λένε πώςνα την υπολογίσουµε. Ο υπολογισµός µπορεί να είναι ΝΡ. Πολλές λύσεις της θεωρίας παιγνίων βασίζονται σε συγκεκριµένες υποθέσεις για το τι αποτελεί πράκτορα ορθολογικό. Σήµερα υπάρχει σε εξέλιξη συζήτηση για το αν ο ορισµός της ορθολογικότητας της θεωρίας παιγνίων είναι κατάλληλος ή/και χρήσιµος για να κατανοήσουµε τα MAS ή τις ανθρώπινες κοινωνίες. 15
«Τα MAS δεν είναι απλά κοινωνικές επιστήµες;» Οι κοινωνικές επιστήµες ασχολούνται µε την κατανόηση της συµπεριφοράς των ανθρώπινων κοινωνιών. Μερικοί επιστήµονες αυτής της κοινότητας βρίσκουν τα MASχρήσιµο εργαλείο για να προσοµοιώσουν διάφορες συνθήκες και να τις µελετήσουν. Πολλοί ερευνητές των MAS κατασκευάζουν πολυπρακτορικά συστήµατα µελετώντας και αναπαράγοντας αντίστοιχες λειτουργίες στις ανθρώπινες κοινωνίες. Αλλά: Αν και είναι χρήσιµη η αναλογία µε τις ανθρώπινες κοινωνίες δεν σηµαίνει αυτό ότι µπορούµε πάντα να κατασκευάσουµε τεχνητές κοινωνίες κατά τον ίδιο τρόπο. Ακόµα κι αν µπορούµε να κατασκευάζουµε το ανάλογο της ανθρώπινης κοινωνίας, αυτό δεν σηµαίνει ότι είναι και το καλύτερο! 16
Μερικές εφαρµογές πολυπρακτορικών συστηµάτων Ηλεκτρονικό εµπόριο ιαχείριση διεργασιών εταιρειών Trading agent competitions Συστήµατα διάσωσης, διαχείριση φυσικών καταστροφών: RoboCup Rescue ALADDIN Project Εκκένωση αστικών κέντρων ίκτυα αισθητήρων Συντονισµός µη επανδρωµένων οχηµάτων Αναζήτηση και συλλογή πληροφοριών Συστήµατα φιλτραρίσµατος πληροφορίας βασισµένα σε συνεργασία πρακτόρων Σηµασιολογικός ιστός Άρθρα περιγραφής συστηµάτων (demo papers) δηµοσιευµένα στο συνέδριο Autonomous Agents and Multi-Agent Systems (AAMAS): http://www.ifaamas.org/proceedings/aamas08/proceedings/demopapers.htm http://www.ifaamas.org/aamas/aamas06/accepted_demos.html 17
Βιβλιογραφία Κεφάλαιο 1 ο από το βιβλίο του Wooldridge. Deep Space 1 http://nmp.jpl.nasa.gov/ds1/ N. Muscettola et al., Remote agents: to boldly go where no AI system has gone before. Artificial Intelligence, 103, 5-47, 1998. Distributed Vehicle Monitoring Testbed E. H. Durfee, Coordination of Distributed Problem Solvers, Kluwer Academic, 1988. OASIS M. Ljunberg and A. Lucas, The OASIS air traffic management system, Proceedings of PRICAI, 1992. EOS J. Doran and M. Palmer, The EOS project: integrating two models of paeleolithic social change, Artificial Societies: the Computer Simulation of Social Life (eds Gilbert and Conte), 103-125, 1995. Προβλήµατα που απασχολούν την έρευνα πολυπρακτορικών συστηµάτων Εισαγωγικό κεφάλαιο του: Bond and Gasser (eds) Readings in Distributed Artificial Intelligence, Morgan Kaufmann, 1988. 18
Βιβλία Οι διαφάνειες είναι βασισµένες στις διαφάνειες της Ασπασίας ασκαλοπούλου (Πανεπιστήµιο Θεσσαλίας), οι οποίες είναι βασισµένες στο βιβλίο του Wooldridge: Michael Wooldridge (2002). Εισαγωγή στα Πολυπρακτορικάσυστήµατα. Κλειδάριθµος. ISBN 960-461-125-9 Άλλα βιβλία: Βλαχάβας, Κεφαλάς, Βασιλειάδης, Κόκκορας, Σακελλαρίου, Τεχνητή Νοηµοσύνη, ΓκιούρδαςΕκδοτική, 2006. Κεφάλαια 27 και 28. Multi-Agent Systems (eds Weiss). MIT Press. 2000. Τα πρώτα κεφάλαια είναι διαθέσιµα: http://ai.eecs.umich.edu/people/durfee/courses/592winter99/ Luck, Ashri, D Inverno, Agent-based software development, Artech House, 2004. Άλλο υλικό: http://agents.umbc.edu/introduction/ http://www.agentlink.org/roadmap/ Συνέδριο Autonomous Agents and Multi-Agent Systems Journal of Autonomous Agents and Multi-Agent Systems http://www.multiagent.com 19
Πρακτικά θέµατα Βαθµολογία: 50%εξετάσεις, 50% εργασία. Ο συνολικός βαθµός προκύπτει από το άθροισµα της βαθµολογίας των γραπτών εξετάσεων και της εργασίας. Προϋπόθεση για να προστεθούν οι µονάδες της εργασίας αποτελεί να είναι προβιβάσιµοςο βαθµός των γραπτών εξετάσεων, δηλαδή 3/5. Οι εργασίες θα παραδοθούν µέχρι τα τέλη του µαθήµατος (πριν τις εξετάσεις). Επιπλέον, θα παρουσιαστούν στην αίθουσα κατά τη διάρκεια των δύο τελευταίων µαθηµάτων (αρχές Μαΐου). Κάθε Τρίτη 7:00-8:00 θα γίνεται συζήτηση για την πρόοδο της εργασίας. Ιστοσελίδα µαθήµατος http://www.iit.demokritos.gr/~a.artikis/teaching.html Επικοινωνία E-mail: a.artikis@iit.demokritos.gr 20