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

Εξόρυξη Δεδομένων
-----------------

Η Εξόρυξη Δεδομένων (*Data Mining - DM*) είναι στενά συνδεδεμένη με την ανακάλυψη γνώσης σε βάσεις δεδομένων (*Knowledge Discovery in Databases – KDD*), και πολλές φορές οι ορισμοί των δυο αυτών διαδικασιών ταυτίζονται. Η ανακάλυψη γνώσης σε βάσεις δεδομένων (KDD) είναι η σημαντική διαδικασία της αναγνώρισης προτύπων μέσα στα δεδομένα μιας βάσης, για τα οποία ισχύει ότι είναι καινούρια, εφαρμόσιμα, πιθανόν χρήσιμα και απόλυτα κατανοητά.
Τα περισσότερα συστήματα KDD χρησιμοποιούν μεθόδους μηχανικής μάθησης και στατιστικής. Θέματα που εμπλέκονται σε αυτή τη διαδικασία είναι ο θόρυβος, το μέγεθος του δείγματος, καθώς και η κάλυψη των δεδομένων. Μερικά συστήματα εντοπίζουν μαθηματικές σχέσεις, και άλλα ανακαλύπτουν συμβολικούς κανόνες ώστε να εξάγουν γνώση .
Η εξόρυξη δεδομένων είναι ένα από τα βήματα της KDD διαδικασίας, το οποίο περιλαμβάνει "την εφαρμογή ανάλυσης δεδομένων και αλγορίθμων εξερεύνησης με σκοπό την εύρεση ενός συγκεκριμένου αριθμού προτύπων μέσα στα δεδομένα, υπό τον περιορισμό της αποδεκτής υπολογιστικής πολυπλοκότητας και απόδοσης". Αν και από τον παραπάνω ορισμό φαίνεται ότι το DM αποτελεί υποσύνολο της KDD διαδικασίας, συχνά οι όροι KDD και DM θεωρούνται ταυτόσημοι και εναλλάσσονται.
Οι πράκτορες μπορούν να συνεισφέρουν στην βελτίωση του DM προσφέροντας την ευφυΐα τους στα συστήματα εξόρυξης δεδομένων, και από την άλλη μεριά τα συστήματα πρακτόρων μπορούν να επωφεληθούν από την εξόρυξη δεδομένων επεκτείνοντας την ικανότητα ανακάλυψης γνώσης .

Πράκτορες
---------

Σύμφωνα με τον Michael Wooldridge  και τους Βλαχάβα et al. η επιστημονική κοινότητα δεν έχει καταλήξει σε έναν κοινό ορισμό για τον όρο «Πράκτορες». Η δυσκολία εξαιτίας της οποίας δεν είναι εφικτή η συμφωνία της κοινότητας σε έναν ορισμό, είναι η ύπαρξη διαφορετικής βαρύτητας γνωρισμάτων, ανάλογα με το πεδίο εφαρμογής των πρακτόρων.
Παρόλα αυτά, ο ορισμός που προκρίνει ο Michael Wooldridge είναι ότι ο Πράκτορας είναι ένα υπολογιστικό σύστημα, το οποίο τοποθετείται σε ένα περιβάλλον, μέσα στο οποίο έχει την δυνατότητα να ενεργήσει αυτόνομα, με γνώμονα την επίτευξη των στόχων που του έχουν ορισθεί. Τις ενέργειες αυτές, ο πράκτορας τις εκτελεί εκ μέρους κάποιας οντότητας (άνθρωπος ή μηχανή – σύστημα λογισμικού), χωρίς όμως η οντότητα αυτή να παρεμβαίνει στην λήψη των αποφάσεων. Προκειμένου να φτάσει στην λήψη της απόφασης, ο πράκτορας λαμβάνει πληροφορία από το περιβάλλον με την χρήση αισθητήρων. 
Θα μπορούσαμε να πούμε λοιπόν, ότι ο πράκτορας βρίσκεται σε έναν κλειστό βρόχο, όπου δέχεται το σήμα ανάδρασης από αισθητήρες που ελέγχουν το περιβάλλον του και αποφασίζει για την επόμενη ενέργειά του, ανάλογα με αυτό.

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

Γιατί να χρησιμοποιηθούν πράκτορες στην εξόρυξη δεδομένων
---------------------------------------------------------

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

* Αυτονομία των πηγών: ένας πράκτορας ο οποίος ενεργεί σε ένα σύστημα εξόρυξης δεδομένων, μπορεί να θεωρηθεί ως σπονδυλωτή (modular) επέκταση ενός συστήματος διαχείρισης δεδομένων, η οποία ως σκοπό έχει τον συμβουλευτικό χειρισμό στην πρόσβαση στις πηγές των δεδομένων, σε συμφωνία με τους περιορισμούς της απαιτούμενης αυτονομίας του συστήματος των δεδομένων και του μοντέλου.
* Επεκτασιμότητα του DM σε κατανεμημένα δεδομένα μαζικής κλίμακας (Massive Distributed Data -MDD): Μία επιλογή για την μείωση του φόρτου εργασίας στον εξυπηρετητή (*server*) καθώς επίσης για την κίνηση του δικτύου, θα μπορούσε να είναι η επιτρεπόμενη μετανάστευση πρακτόρων στους χώρους που βρίσκονται τοπικά αποθηκευμένα τα δεδομένα, έτσι ώστε να εκτελούν τις εργασίες εξόρυξης δεδομένων εκεί, και είτε να επιστρέφουν, είτε να στέλνουν τα αποτελέσματα της έρευνά τους στον εξυπηρετητή για περαιτέρω ανάλυση.
* Συνεργατικότητα στο DM: Οι πράκτορες εξόρυξης πληροφορίας, θα μπορούν να λειτουργούν ανεξάρτητα από τα δεδομένα που έχουν συλλέξει σε τοπικό επίπεδο και μετά να συνδυάζουν τα μοντέλα εξόρυξης που τους έχουν αντιστοιχηθεί. Μία άλλη επιλογή θα μπορούσε να είναι ο προσυμφωνημένος διαμοιρασμός γνώσης μόλις αυτή ανακαλύπτεται με σκοπό το αμοιβαίο όφελος μεταξύ των πρακτόρων. Η αναγκαιότητα για συνεργατικότητα στην εξόρυξη πληροφορίας φαίνεται σε εφαρμογές όπου θα πρέπει να ανιχνευθούν και να αναλυθούν δεδομένα από διαφορετικά πληροφοριακά συστήματα, με διαφορετικές αυτόνομες πηγές δεδομένων. Μία τέτοια εφαρμογή θα μπορούσε να είναι η ανίχνευση απάτης μέσω πιστωτικών καρτών.
* Multi-strategy DDM (Distributed Data Mining): Για ορισμένες πιο απαιτητικές εφαρμογές, ο συνδυασμός διαφόρων τεχνικών για την εξόρυξη δεδομένων μπορεί να αποδειχθεί περισσότερο αποτελεσματικός από την εφαρμογή αποκλειστικά μίας. Οι πράκτορες DM θα μπορούσαν να αποφασίζουν την κατάλληλη στιγμή για την στρατηγική εξόρυξης που θα ακολουθηθεί ανάλογα με τα δεδομένα που ανακτήθηκαν από τις διαφορετικές πηγές και τους στόχους που έχουν ορισθεί.
* Ασφάλεια και εμπιστοσύνη: Στην πραγματικότητα, τα ζητήματα ασφαλείας θα μπορούσαν να αποτελέσουν τροχοπέδη για την χρήση πρακτόρων σε συστήματα εξόρυξης πληροφορίας. Είναι φανερό λοιπόν, ότι οποιοδήποτε σύστημα εξόρυξης πληροφορίας βασισμένο σε πράκτορες, θα πρέπει να διασφαλίζει την ακεραιότητα και την ιδιωτικότητα των δεδομένων που διαχειρίζεται. Επιπλέον ζητήματα τα οποία θα πρέπει να ληφθούν υπόψη από το σχεδιαστή ενός τέτοιου συστήματος είναι η εξάλειψη απειλών όπως denial of service επιθέσεις, παρακολουθήσεις δικτύου (network eaves dropping) κ.α.. Ένα ακόμα πολύ σημαντικό ζήτημα το οποίο θα πρέπει να ληφθεί υπόψη κατά την υλοποίηση μίας πρακτορικής εφαρμογής είναι η πιθανότητα μετατροπής ενός πράκτορα που το σύστημα θεωρεί χρήσιμο κομμάτι για την λειτουργία του, σε κακόβουλο λογισμικό μέσω μίας hijacking διαδικασίας.

Η εξόρυξη δεδομένων βασισμένη σε πράκτορες
------------------------------------------

Η εξόρυξη δεδομένων σε κατανεμημένο (DDM) περιβάλλον έχει πολλές εφαρμογές. Η ανίχνευση απάτης στη χρήση πιστωτικών καρτών, τα συστήματα ανίχνευσης εισβολών, η κατανεμημένη συσταδοποίηση (clustering), η κατάτμηση της αγοράς, η δημιουργία προφίλ πελατών αποτελούν ορισμένες εφαρμογές της DDM. Η χρήση των πρακτόρων μπορεί να βελτιώσει τέτοιες εφαρμογές DDM. Έτσι η εξόρυξη δεδομένων βασισμένη σε πράκτορες (ADDM) κάνει χρήση των βασικών αρχών του DDM και τις βελτιώνει με την εισαγωγή της ευφυΐας των πρακτόρων.
Σε γενικές γραμμές, τρία βασικά χαρακτηριστικά καθορίζουν την ανάπτυξη αλλά και αξιολόγηση ADDM συστημάτων. Αυτά είναι η διαλειτουργικότητα, η δυναμική διαμόρφωση του συστήματος αλλά και η απόδοση.
Η συνεργατικότητα των πρακτόρων δεν αποτελεί το μόνο μέτρο διαλειτουργικότητας αλλά και η εξωτερική αλληλεπίδραση, δηλαδή η απρόσκοπτη είσοδος των πρακτόρων στο σύστημα. Η αρχιτεκτονική του συστήματος πρέπει να είναι ανοιχτή και ευέλικτη ώστε να μπορεί να υποστηρίξει την αλληλεπίδραση των μονάδων του, όπως τα πρωτόκολλα επικοινωνίας, η πολιτική ένταξης και οι υπηρεσίες καταλόγου. Στα πρωτόκολλα επικοινωνίας περιλαμβάνεται η κωδικοποίηση των μηνυμάτων, η κρυπτογράφηση και η μεταφορά πληροφορίας μεταξύ των πρακτόρων. Τα παραπάνω βέβαια πρέπει να ακολουθούν το πλαίσιο FIPA (Foundation of Intelligent Physical Agents). Η πολιτική ένταξης αναφέρεται στη συμπεριφορά του συστήματος όταν μια εξωτερική μονάδα, όπως ένας πράκτορας ή μια περιοχή δεδομένων, επιθυμεί να εισέλθει ή να εξέλθει του συστήματος. 
Η δυναμική διαμόρφωση του συστήματος αποτελεί μια πρόκληση των ADDM συστημάτων λόγω της πολυπλοκότητας του σχεδιασμού και των αλγόριθμων εξόρυξης. Σε μια διαδικασία εξόρυξης μπορεί να εμπλέκονται αρκετοί πράκτορες και αρκετές πηγές πληροφορίας. Μια αλλαγή σε πηγές πληροφορίας επηρεάζει τις εργασίες εξόρυξης, πόσο μάλλον όταν ένας πράκτορας μπορεί ακόμα να εκτελεί κάποιον αλγόριθμο εξόρυξης.
Βασικός παράγοντας στην απόδοση ADDM συστημάτων αποτελεί η κατανομή των δεδομένων. Σε κατανεμημένο περιβάλλον οι εργασίες εκτελούνται ταυτόχρονα και έτσι προκύπτουν θέματα συγχρονισμού. Η ποιότητα της απόδοσης της εξόρυξης δεδομένων και της προοπτικής γενικά του συστήματος είναι επιθυμητή και εξαρτάται και από την εξόρυξη δεδομένων αλλά και από τους πράκτορες.
Τα δεδομένα βρίσκονται στο χαμηλότερο επίπεδο και αποτελούν το βασικό σημείο ενδιαφέροντος. Σε κατανεμημένα περιβάλλοντα τα δεδομένα μπορεί να βρίσκονται σε διαφορετικές μορφές και φυσικά διαφορετικές τοποθεσίες. Το σύστημα αναζητά τους σχετικούς πόρους από την υπηρεσία καταλόγου η οποία διατηρεί μια λίστα με πηγές δεδομένων, αλγόριθμους εξόρυξης, τύπους και σχήματα δεδομένων. Σε αυτό το σημείο τα πρωτόκολλα επικοινωνίας ποικίλουν ανάλογα με την υλοποίηση του συστήματος (client server, peer-to-peer κ.ο.κ.).
Στο υψηλότερο επίπεδο βρίσκεται η διεπιφάνεια του χρήστη με την οποία όλες αυτές οι πολύπλοκες λειτουργίες παρουσιάζονται με μορφή μηνυμάτων, διαγραμμάτων και αναφορών.
Όταν ο χρήστης αιτείται τη διαδικασία εξόρυξης, τότε εμπλέκονται οι παρακάτω μονάδες:

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

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

* Local Knowledge Discovery (KD): η διαδικασία εξόρυξης εκτελείται τοπικά και μετατρέπει τα δεδομένα σε κατάλληλα μοτίβα τα οποία τα αντιπροσωπεύουν
* Knowledge Discovery: η κυρίως διαδικασία εξόρυξης η οποία με κατάλληλο αλγόριθμο παράγει γνώση από τα προ-επεξεργασμένα δεδομένα.
* Knowledge Consolidation: σε αυτό το στάδιο πραγματοποιείται η προσπάθεια μετατροπής των αποτελεσμάτων σε κατάλληλη μορφή η οποία έχει το κατάλληλο νόημα για τον χρήστη.

Παραπομπές
----------

1. ↑  Davies, Winton (15 Αυγούστου 1994). *Agent-Based Data-Mining*.
2. ↑  Chao Luo and Chenggi Zhang (2007). *Agent-Mining Interaction: An Emerging Area*. Springer Berlin Heidelberg. σελίδες 60–73. [*νεκρός σύνδεσμος*]
3. ↑  Wooldridge, Michael (1999). *Intelligent Agents. In Multiagent Systems, edited by G. Weiss*. The MIT Press.
4. 1 2  Ιωάννης Βλαχάβας· Πέτρος Κεφαλάς· Νίκος Βασιλειάδης· Φώτης Κόκκορας· Ηλίας Σακελλαρίου (2011). *Τεχνητή Νοημοσύνη*. Πανεπιστήμιο Μακεδονίας, Θεσσαλονίκη. σελίδες 587–591.
5. ↑  Matthis Klusch· Stefano Lodi· Gianluca Moro (13–16 Οκτωβρίου 2003). *The role of agents in distributed data mining: issues and benefits*. IAT 2003. IEEE/WIC International Conference. σελίδες 211–217.
6. ↑  Chayapol Moemeng· Vladimir Gorodetsky· Ziye Zuo· Yong Yang· Zhang Chengqi (2009). *Agent-Based Distributed Data Mining: A Survey Edited by L.Cao. Data Mining and Multi-agent Intergration*. Springer Science + Buisness Media. σελίδες 211–217.