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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1

2 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εξόρυξη και διαχείριση κανόνων συσχέτισης με χρήση τεχνικών Ανάκτησης Πληροφορίας ΘΕΟΔΩΡΟΣ Θ. ΒΑΡΣΑΜΗΣ Πάτρα, Φεβρουάριος 2013

3

4 Εξόρυξη και διαχείριση κανόνων συσχέτισης με χρήση τεχνικών Ανάκτησης Πληροφορίας ΘΕΟΔΩΡΟΣ Θ. ΒΑΡΣΑΜΗΣ ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Επιβλέπων: Επίκουρος Καθηγητής Χρήστος Μακρής, Τμήμα Μηχανικών Η/Υ και Πληροφορικής Παν/μίου Πατρών Εξεταστική Επιτροπή : Καθηγητής Τσακαλίδης Αθανάσιος, Τμήμα Μηχανικών Η/Υ και Πληροφορικής Παν/μίου Πατρών. Επίκουρος Καθηγητής Χρήστος Μακρής, Τμήμα Μηχανικών Η/Υ και Πληροφορικής Παν/μίου Πατρών. Επίκουρος Καθηγητής Χατζηλυγερούδης Ιωάννης, Τμήμα Μηχανικών Η/Υ και Πληροφορικής Παν/μίου Πατρών. Πάτρα, Φεβρουάριος 2013

5

6 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΕΥΡΕΤΗΡΙΟ ΕΙΚΟΝΩΝ ΕΥΡΕΤΗΡΙΟ ΠΙΝΑΚΩΝ ΕΥΧΑΡΙΣΤΙΕΣ ΠΕΡΙΛΗΨΗ ΕΙΣΑΓΩΓΗ ΕΞΟΡΥΞΗ ΣΥΧΝΩΝ ΜΟΤΙΒΩΝ ΚΑΙ ΚΑΝΟΝΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ ΤΩΝ ΣΥΧΝΩΝ ΣΥΝΟΛΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Παράδειγμα ΕΡΕΥΝΗΤΙΚΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΚΑΙ ΙΔΕΕΣ ΜΕΧΡΙ ΣΗΜΕΡΑ Αλγόριθμοι Οριζόντιας Διαμοίρασης Αλγόριθμος Mannila Αλγόριθμος CAP Αλγόριθμος CLOSE Αλγόριθμος UWEP Αλγόριθμος FP-Growth Αλγόριθμος Closet Αλγόριθμος SmartMiner Αλγόριθμος TFP Αλγόριθμος AFOPT Αλγόριθμος CLOSET Αλγόριθμος Patricia Αλγόριθμος CFP-Tree Αλγόριθμος FP-Array και FP-Close Αλγόριθμοι Κατακόρυφης Διαμοίρασης Αλγόριθμος MAFIA

7 2002 Αλγόριθμος GenMax Σύστημα Ανάκτησης Πληροφοριών Αλγόριθμος Charm Αλγόριθμος DCI-CLOSED Memory-based online pattern Αλγόριθμος DBV-Miner Υβριδικοί Αλγόριθμοι Αλγόριθμος Eclat Αλγόριθμος kdci ΠΡΟΤΑΣΗ ΝΕΟΥ ΑΛΓΟΡΙΘΜΟΥ ΚΕΝΤΡΙΚΗ ΙΔΕΑ ΒΗΜΑΤΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ Κατασκευή της βασικής δομής Invert Index File (IIF) Παραγωγή του συνόλου Κλειστών Συχνών Συνόλων Αντικειμένων (CFI) Παραγωγή του συνόλου Μέγιστων Συχνών Συνόλων Αντικειμένων (MFI) Ερωτήματα Συχνών Συνόλων Αντικειμένων ΒΕΛΤΙΣΤΟΠΟΙΗΣΕΙΣ Προοδευτική, συχνοτικά ανοδική παραγωγή CFI Χρήση δυναμικού δυαδικού πίνακα συναλλαγών Συμπίεση δυαδικών πινάκων συναλλαγών ΠΕΙΡΑΜΑΤΙΚΗ ΣΥΜΠΕΡΙΦΟΡΑ ΚΑΙ ΔΕΔΟΜΕΝΑ Παραγωγή IIF Παραγωγή CFI Παραγωγή MFI Σύγκριση ερωτημάτων (CFI Vs. MFI) ΣΥΜΠΕΡΑΣΜΑΤΑ ΒΕΛΤΙΩΤΙΚΕΣ ΣΚΕΨΕΙΣ ΚΑΙ ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΙΔΕΕΣ ΠΑΡΑΡΤΗΜΑ A (ΠΙΝΑΚΕΣ ΜΕΤΡΗΣΕΩΝ)

8 ΠΑΡΑΡΤΗΜΑ B (ΠΗΓΑΙΟΣ ΚΩΔΙΚΑΣ) ΒΙΒΛΙΟΓΡΑΦΙΑ

9

10 ΕΥΡΕΤΗΡΙΟ ΕΙΚΟΝΩΝ Εικόνα 1: Η εξέλιξη της τεχνολογίας των συστημάτων Βάσεων Δεδομένων [40] Εικόνα 2: Ανάλυση καλαθιού καταναλωτών Εικόνα 3: Αναπαράσταση του χώρου συνόλων αντικειμένων. Με γκρι αναπαρίστανται όλα τα σύνολα, με λαχανί τα συχνά σύνολα αντικειμένων, με πορτοκαλί τα μέγιστα συχνά σύνολα και με πράσινο τα κλειστά συχνά σύνολα αντικειμένων.error! Bookmark not defined. Εικόνα 4: Παράδειγμα βάσης δεδομένων με δέκα συναλλαγές Εικόνα 5: Πίνακας με την υποστήριξη καθενός συνόλου αντικειμένων Εικόνα 6: Βάση συναλλαγών D Εικόνα 7: Δυνατά υποσύνολα αντικειμένων της βάσης D Εικόνα 8: Ο αλγόριθμος Apriori σε ψευδοκώδικα Εικόνα 9: Ο ψευδοκώδικας του αλγορίθμου Mannila Εικόνα 10: Ο ψευδοκώδικας του αλγορίθμου CAP Εικόνα 11: Ο ψευδοκώδικας του CLOSE αλγορίθμου Εικόνα 12: Ο ψευδοκώδικας του αλγορίθμου UWEP Εικόνα 13: Παράδειγμα βάσης συναλλαγών και το αντίστοιχο FP-tree Εικόνα 14: Ο ψευδοκώδικας του αλγορίθμου ανάπτυξης του FP-tree Εικόνα 15: Ο ψευδοκώδικας του αλγορίθμου FP-Growth Εικόνα 16: Παράδειγμα προβολής μεγάλης βάσης δεδομένων. Για κάθε συχνό σύνολο αντικειμένων δημιουργούνται προθεματικές υπο-βάσεις Εικόνα 17: Ο ψευδοκώδικας του αλγορίθμου CLOSET Εικόνα 18: Παράδειγμα χρήσης του αλγορίθμου SmartMiner για την εύρεση MFI Εικόνα 19: Ο ευριστικός αλγόριθμος του SmartMiner για την επιλογή αντικειμένου με βάση το οποίο θα γίνει κατάτμηση του χώρου αναζήτησης Εικόνα 20: Ο ψευδοκώδικας της μεθόδου infmfi για την εύρεση της πληροφορίας ουράς Εικόνα 21: Υπολογισμός του αθροίσματος υποστήριξης απογόνων (descendant_sum) για έναν τελικό κόμβο του FP-tree Εικόνα 22: Δεικτοδότηση δύο επιπέδων για την επαλήθευση της κλειστότητας συνόλου Εικόνα 23: Ο ψευδοκώδικας του αλγορίθμου AFOPT

11 Εικόνα 24: Ο ψευδοκώδικας επέκτασης του βασικού αλγορίθμου AFOPT για την εξόρυξη κλειστών συχνών συνόλων αντικειμένων Εικόνα 25: Ο ψευδοκώδικας του αλγορίθμου κλαδέματος υπερσυνόλων κατά τον έλεγχο, με βάση τα Μέγιστα Συχνά Σύνολα αντικειμένων (MFI) Εικόνα 26: Σύνοψη του αλγορίθμου CLOSET Εικόνα 27: Δέντρο αποτελεσμάτων με δύο επίπεδα δεικτοδότησης Εικόνα 28: Ο ψευδοκώδικας του αλγορίθμου Patricia Εικόνα 29: Αλγόριθμος patricia: a. Παράδειγμα βάσης συναλλαγών, b. Κλασικό δέντρο αναπαράστασης της βάσης, c. Το αντίστοιχο δέντρο Patricia Εικόνα 30: Παράδειγμα βάσης δεδομένων, πίνακα συχνών συνόλων και του αντίστοιχου CFP-tree Εικόνα 31: Ο ψευδοκώδικας του αλγορίθμου κατασκευής CFP-tree Εικόνα 32: Παράδειγμα βάση συναλλαγών, του αντίστοιχης ταξινόμησης με βάση την υποστήριξη και το FP δέντρο, καθώς και του τριγωνικού FP-array Εικόνα 33: Ο ψευδοκώδικας του αλγορίθμου MAFIA Εικόνα 34: Ο ψευδοκώδικς του αλγορίθμου εξόρυξης μέγιστων συχνών συνόλων με προοδευτική εστίαση (progressive focusing) Εικόνα 35: Ο ψευδοκώδικας του αλγορίθμου GenMax Εικόνα 36: Ο ψευδοκώδικας του αλγορίθμου συνδυασμού συχνών αντικειμένων με διάδοση διαφορών (diffset propagation) Εικόνα 37: Παράδειγμα βάσης συναλλαγών με το αντίστοιχο ευρετήριο (χωρίς και με συμπίεση) Εικόνα 38: Ο ψευδοκώδικας του αλγορίθμου CHARM Εικόνα 39: Ο ψευδοκώδικας του DCI_CLOSED αλγορίθμου Εικόνα 40: Παράδειγμα βάσης συναλλαγών (πάνω αριστερά), του αντίστοιχου πίνακα κλειστών συνόλων (πάνω δεξιά) και του δυαδικού πίνακα που προκύπτει (κάτω) Εικόνα 41: Ο ψευδοκώδικας του αλγορίθμου αντιπαραβολής Εικόνα 42: Παράδειγμα δυαδικού πίνακα και συμπίεσής του Εικόνα 43: Ο ψευδοκώδικας του DBV-Miner αλγορίθμου Εικόνα 44: Ο ψευδοκώδικας του αλγορίθμου kdci Εικόνα 45: Παράδειγμα συμπίεσης των συνόλων αντικειμένων από τον kdci Εικόνα 46: Παράδειγμα ομαδοποίησης συνόλων αντικειμένων με βάση τα στοιχεία κλειδιά (key_elements) του αλγορίθμου kdci (PASCAL) Εικόνα 47: Ορισμός του τρόπου υλοποίησης του IIF

12 Εικόνα 48: Ο ψευδοκώδικας της συνάρτησης main Εικόνα 49: Ο ψευδοκώδικας της κατασκευής του IIF Εικόνα 50: Παράδειγμα κατασκευής IIF με κατώφλι υποστήριξης Εικόνα 51: Ο ψευδοκώδικας της κατασκευής των pivot itemsets (2-itemsets) Εικόνα 52: Ο ψευδοκώδικας της παραγωγής των sub pivot itemsets (N-itemsets) Εικόνα 53: Ο ψευδοκώδικας της ενημέρωσης των CFI Εικόνα 54: Ο ψευδοκώδικας της εκκαθάρισης των CFI από μη κλειστά σύνολα Εικόνα 55: Παράδειγμα παραγωγής pivot itemsets, sub pivot itemsets, CFI και ταξινόμησης και εκκαθάρισης των CFI Εικόνα 56: Ο ψευδοκώδικας του ελέχγου προθεματικών υποσυνόλων στα υποψήφια MFI Εικόνα 57: Ο ψευδοκώδικας του ελέγχου διάσπαρτων υποσυνόλων στα υποψήφια MFI Εικόνα 58: Το MFI σύνολο του παραδείγματος Εικόνα 59: Ο ψευδοκώδικας του αλγορίθμου απάντησης του ερωτήματος υποσυνόλου (subset query) Εικόνα 60: Παράδειγμα εκτέλεσης ερωτήματος υποσυνόλου και σύγκριση μεγέθους χώρου αναζήτησης Εικόνα 61: Ο ψευδοκώδικας του αλγορίθμου απάντησης του ερωτήματος υπερσυνόλου (superset query) Εικόνα 62: Παράδειγμα εκτέλεσης ερωτήματος υπερσυνόλου και σύγκριση μεγέθους χώρου αναζήτησης Εικόνα 63: Ο ψευδοκώδικας του αλγορίθμου απάντησης του ερωτήματος ομοιότητας (similarity query) Εικόνα 64: Παράδειγμα εκτέλεσης ερωτήματος ομοιότητας και σύγκριση μεγέθους χώρου αναζήτησης Εικόνα 65: Παράδειγμα παραγωγής pivot-iif, sub-pivot-iif και CFI (με κατώφλι υποστήριξης 3) Εικόνα 66: Παράδειγμα δυαδικών πινάκων συναλλαγών και πρόσθεσής τους Εικόνα 67: Παράδειγμα συμπίεσης δυαδικών πινάκων συναλλαγών (με κατώφλι συμπίεσης 4) Εικόνα 68: Ιστόγραμμα με τις σχετικές τιμές υποστήριξης των συχνών αντικειμένων στις υποψήφιες βάσεις Εικόνα 69: Πλήθος αντικειμένων σε 3000 συναλλαγές των βάσεων

13 Εικόνα 70: Ποσοστιαίες διαφορές στο μέγεθος του IIF για τρεις βάσεις συναλλαγών έπειτα από συμπίεση Εικόνα 71: Χρόνοι κατασκευής των IIF για διαφορετικές βάσεις συναλλαγών με και χωρίς συμπίεση Εικόνα 72: Αναπαράσταση του χρόνου παραγωγής των CFI συναρτήσει του μεγέθους εισόδου, για τη βάση συναλλαγών Τ40I10D100K.dat, με και χωρίς συμπίεση Εικόνα 73: Αναπαράσταση του χρόνου παραγωγής των CFI συναρτήσει του μεγέθους εισόδου, για τη βάση συναλλαγών pumsb.dat, με και χωρίς συμπίεση Εικόνα 74: Γραφική παράσταση του μεγέθους της δομής CFI ανάλογα του μεγέθους εισόδου για τη βάση συναλλαγών Τ40I10D100K.dat, με και χωρίς συμπίεση Εικόνα 75: Γραφική παράσταση του μεγέθους της δομής CFI ανάλογα του μεγέθους εισόδου για τη βάση συναλλαγών pumsb.dat, με και χωρίς συμπίεση Εικόνα 76: Γραφική παράσταση του χρόνου κατασκευής του MFI συναρτήσει του μεγέθους εισόδου για τη βάση συναλλαγών Τ40I10D100K.dat Εικόνα 77: Γραφική παράσταση του χρόνου κατασκευής του MFI συναρτήσει του μεγέθους εισόδου για τη βάση συναλλαγών pumsb.dat Εικόνα 78: Γραφική παράσταση της ποσοστιαίας μείωσης του πλήθους εγγραφών του MFI σε σχέση με το αντίστοιχο CFI, συναρτήσει του μεγέθους εισόδου για τη βάση συναλλαγών Τ40I10D100K.dat Εικόνα 79: Γραφική παράσταση της ποσοστιαίας μείωσης του πλήθους εγγραφών του MFI σε σχέση με το αντίστοιχο CFI, συναρτήσει του μεγέθους εισόδου για τη βάση συναλλαγών pumsb.dat Εικόνα 80: Πειραματικές μετρήσεις με τους χρόνους απάντησης ερωτημάτων υποσυνόλου με βάση τα CFI και τα MFI για το pumsb.dat. Με τρίγωνα σημειώνονται οι αντίστοιχες ποσοστιαίες μειώσεις στο χρόνο Εικόνα 81: Πειραματικές μετρήσεις με τους χρόνους απάντησης ερωτημάτων υπερσυνόλου με βάση τα CFI και τα MFI για το pumsb.dat. Με τρίγωνα σημειώνονται οι αντίστοιχες ποσοστιαίες μειώσεις στο χρόνο Εικόνα 82: Πειραματικές μετρήσεις με τους χρόνους απάντησης ερωτημάτων ομοιότητας με βάση τα CFI και τα MFI για το pumsb.dat. Με τρίγωνα σημειώνονται οι αντίστοιχες ποσοστιαίες μειώσεις στο χρόνο Εικόνα 83: Πειραματικές μετρήσεις με τους χρόνους απάντησης ερωτημάτων υποσυνόλου με βάση τα CFI και τα MFI για το T40I10D100K.dat. Με τρίγωνα σημειώνονται οι αντίστοιχες ποσοστιαίες μειώσεις στο χρόνο

14 Εικόνα 84: Πειραματικές μετρήσεις με τους χρόνους απάντησης ερωτημάτων υπερσυνόλου με βάση τα CFI και τα MFI για το T40I10D100K.dat. Με τρίγωνα σημειώνονται οι αντίστοιχες ποσοστιαίες μειώσεις στο χρόνο Εικόνα 85: Πειραματικές μετρήσεις με τους χρόνους απάντησης ερωτημάτων ομοιότητας με βάση τα CFI και τα MFI για το T40I10D100K.dat. Με τρίγωνα σημειώνονται οι αντίστοιχες ποσοστιαίες μειώσεις στο χρόνο Εικόνα 86: Πίνακας με τις πειραματικές μετρήσεις των χρόνων κατασκευής και μεγέθους της δομής MFI για διάφορα μεγέθη εισόδου της βάσης συναλλαγών Τ40I10D100K.dat Εικόνα 87: Πίνακας με πειραματικές μετρήσεις του πλήθους των εγγραφών MFI και σύγκριση με τις εγγραφές του αντίστοιχου CFI, για διάφορα μεγέθη εισόδου της βάσης συναλλαγών Τ40I10D100K.dat Εικόνα 88: Πίνακας με τις πειραματικές μετρήσεις των χρόνων κατασκευής και μεγέθους της δομής MFI για διάφορα μεγέθη εισόδου της βάσης συναλλαγών pumsb.dat Εικόνα 89: Πίνακας με πειραματικές μετρήσεις του πλήθους των εγγραφών MFI και σύγκριση με τις εγγραφές του αντίστοιχου CFI, για διάφορα μεγέθη εισόδου της βάσης συναλλαγών pumsb.dat

15

16 ΕΥΡΕΤΗΡΙΟ ΠΙΝΑΚΩΝ Πίνακας 1: Τεχνικές μείωσης δεδομένων Πίνακας 2: Πίνακας με τις πειραματικές μετρήσεις για την κατασκευή του IIF της βάσης T40I10D100K.dat Πίνακας 3: Πίνακας με τις πειραματικές μετρήσεις για την κατασκευή του IIF της βάσης pumsb.dat Πίνακας 4: Πίνακας με τις πειραματικές μετρήσεις για την κατασκευή του IIF της βάσης connect.dat Πίνακας 5: Πίνακας με τις πειραματικές μετρήσεις για την κατασκευή των CFI από τη βάση συναλλαγών Τ40I10D100K.dat Πίνακας 6: Πίνακας με τις πειραματικές μετρήσεις για την κατασκευή των CFI από τη βάση συναλλαγών pumsb.dat Πίνακας 7: Πίνακας με τις πειραματικές μετρήσεις παραδειγμάτων ερωτημάτων υποσυνόλου, υπερσυνόλου και ομοιότητας για τις βάσεις συναλλαγων pumsb.dat και T40I10D100K.dat, καθώς και συγκρίσεις των χρόνων απάντησης χρησιμοποιώντας τα CFI ή τα MFI

17

18 ΕΥΧΑΡΙΣΤΙΕΣ Στους γονείς μου και σε αυτούς που με εμπνέουν

19

20 ΠΕΡΙΛΗΨΗ Σε έναν κόσμο που κατακλύζεται από δεδομένα, καθίσταται αναγκαία η αποδοτική οργάνωσή τους και η μετέπειτα επεξεργασία τους, με σκοπό την εύρεση και την ανάκτηση πληροφορίας για λήψη αποφάσεων. Στα πλαίσια της προσπάθειας αυτής έχουν δημοσιευθεί διάφορες μελέτες που στοχεύουν στην ανεύρεση σχέσεων μεταξύ των δεδομένων, οι οποίες μπορούν να αναδείξουν άγνωστες μέχρι πρότινος εξαρτήσεις και να επιτρέψουν την πρόγνωση και την πρόβλεψη μελλοντικών αποτελεσμάτων και αποφάσεων. Στην εργασία αυτή μελετάμε τους πιο διαδεδομένους αλγορίθμους εύρεσης κανόνων συσχετίσεων και ακολούθως προτείνουμε ένα σχήμα που χρησιμοποιεί ως βασική δομή για την ανάκτηση πληροφορίας από βάσεις δεδομένων συναλλαγών τα αντεστραμμένα αρχεία. Στόχος μας είναι η εύκολη παραγωγή κανόνων συσχέτισης αντικειμένων, βασιζόμενη στην αποδοτική αποθήκευση και ανάκτηση των Συχνών Συνόλων Αντικειμένων (Frequent Itemsets). Αρχικά επικεντρωνόμαστε στον τρόπο εύρεσης και αποθήκευσης ενός ελάχιστου συνόλου συναλλαγών, εκμεταλλευόμενοι την πληροφορία που εμπεριέχουν τα Κλειστά Συχνά Σύνολα Αντικειμένων (Closed Frequent Itemsets) και τα Μέγιστα Συχνά Σύνολα Αντικειμένων (Maximum Frequent Itemsets). Στη συνέχεια, αξιοποιώντας την αποθηκευμένη πληροφορία στα MFI και με ελάχιστο υπολογιστικό κόστος, προτείνουμε τον αλγόριθμο MFI-drive που απαντάει σε ερωτήματα εύρεσης υπερσυνόλου και υποσυνόλου αντικειμένων, καθώς και συνόλων αντικειμένων με προκαθορισμένο βαθμό ομοιότητας σε σχέση με ένα δεδομένο σύνολο.

21

22 1. ΕΙΣΑΓΩΓΗ Σε πολλές πτυχές της καθημερινής μας ζωής παρουσιάζεται η ανάγκη για λήψη αποφάσεων, είτε πρόκειται για θέματα λιγότερο σημαντικά όπως η επιλογή τηλεοπτικού ή ραδιοφωνικού προγράμματος, είτε για περισσότερο σημαντικά όπως παραδείγματος χάρη η αλλαγή χώρας εργασίας ή κατοικίας. Το κοινό γνώρισμά τους είναι η προ-διεργασία που επιτελείται, συνειδητά τις περισσότερες φορές, κατά την οποία δικαιολογείται η σωστή 1 απόφαση. Η επιλογή γίνεται με εμπειρικά, λογικά, συναισθηματικά και άλλου είδους κριτήρια με σκοπό πάντα το όφελος, υλικό ή μη, και την ικανοποίηση. Υπάρχουν περιπτώσεις, όμως, όπου οι λήψεις αποφάσεων είναι δύσκολες για λόγους όπως έλλειψη πληροφοριών, αυξημένη πολυπλοκότητα ή απουσία γνώσης. Σε αυτό το πρόβλημα έχουν αναλάβει να βοηθήσουν εδώ και πολλά χρόνια τα υπολογιστικά συστήματα, αξιοποιώντας την μεγάλη επεξεργαστική τους ισχύ και τη δυνατότητα αποθήκευσης μεγάλου όγκου δεδομένων, που ξεπερνούν κάθε ανθρώπινη ικανότητα. Με τον τρόπο αυτό, αποφάσεις που αφορούν καθημερινές δραστηριότητες, όπως η επιλογή αγοράς αντικειμένων, οι τραπεζικές συναλλαγές όπως η έγκριση δανείου, οι ιατρικές διαγνώσεις, η αναγνώριση επικινδύνων υπολογιστικών εφαρμογών και πακέτων κίνησης δικτύων και πολλά άλλα, μπορούν να πραγματοποιηθούν χωρίς την ανθρώπινη παρέμβαση, εξασφαλίζοντας ταχύτητα και επιτυχία. Κοινή βάση και αρχή για τα συστήματα αυτά είναι η επεξεργασία δεδομένων για την απόκτηση γνώσης. Ο τομέας της πληροφορικής που μελετά την απόκτηση γνώσης από ένα σύνολο δεδομένων είναι η Εξόρυξη Δεδομένων (Data Mining) ή αλλιώς Ανακάλυψη Γνώσης από Δεδομένα (Knowledge Discovery from Data, KDD) και αποτελεί φυσική εξέλιξη της τεχνολογίας της πληροφορίας (Εικόνα 1). Η μεγάλη ανάπτυξη των Βάσεων Δεδομένων τις τελευταίες δεκαετίες επέτρεψε την αποθήκευση τεράστιου όγκου 1 Η χρήση εισαγωγικών γίνεται γιατί η κρίση μιας απόφασης ως σωστής είναι πολλές φορές δύσκολο ή και αδύνατο μιας και δεν είναι γνωστό πάντα το αποτέλεσμα των διαφορετικών αποφάσεωνμονοπατιών. Οπότε η κρίση είναι άκρως υποκειμενική και επισφαλής.

23 δεδομένων κυρίως σε επιχειρηματικούς τομείς, όπως τηλεπικοινωνίες, τραπεζικά συστήματα, επιστήμες και μηχανική, αποκαλύπτοντας την αδυναμία επαρκούς επεξεργασίας τους. Το κενό αυτό επιχειρεί να καλύψει η Εξόρυξη Δεδομένων μέσω μιας ορισμένης ακολουθίας βημάτων, τα οποία αναφέρονται στην ακόλουθη Εικόνα 1. Εικόνα 1: Η εξέλιξη της τεχνολογίας των συστημάτων Βάσεων Δεδομένων [40]

24 Το πρώτο στάδιο της διαδικασίας Εξόρυξης Δεδομένων αφορά την προεπεξεργασία του περιεχομένου μιας ή πολλών βάσεων με στόχο την βελτίωση της ποιότητάς τους, όπως αυτή ορίζεται από την ακρίβεια, την συνοχή και τη συνέπεια. Η Εκκαθάριση των Δεδομένων (Data Cleaning) στοχεύει στη συμπλήρωση ελλιπών στοιχείων, στην εξομάλυνση δεδομένων που έχουν αλλοιωθεί από θόρυβο, στην αναγνώριση ακραίων τιμών και την ασφαλή απομάκρυνσή ή αντικατάστασή τους, στην διαγραφή πλεοναζόντων δεδομένων καθώς και στην επίλυση ασυνεπειών μεταξύ αυτών. Μετ την ολοκλήρωση της εκκαθάρισης, ακολουθεί η Ενοποίηση των Δεδομένων (Data Integration), η οποία ασχολείται με τη συνένωση πολλαπλών πηγών δεδομένων. Αυτές μπορεί να χρησιμοποιούν διαφορετική οργάνωση και δομή (schema), επιβάλλοντας την προσεχτική ενοποίηση των μετα-δεδομένων και την ανίχνευση-επίλυση συγκρούσεων, ώστε να προκύψει μια βάση χωρίς πλεονάζοντα στοιχεία, με μια σαφή και πλήρη δομή. Το αποτέλεσμα που προκύπτει από την ένωση των πηγών μπορεί να είναι τεράστιο σε χωρητικότητα, καθιστώντας απαγορευτική ακόμα την επεξεργασία των δεδομένων για εξόρυξη γνώσης. Για το λόγο αυτό το επόμενο στάδιο είναι η Επιλογή Δεδομένων (Data Selection) ή αλλιώς Μείωση Δεδομένων (Data Reduction). Σκοπός είναι η απομάκρυνση όσο το δυνατό περισσοτέρων δεδομένων, με αντίστοιχη μείωση της πληροφορίας σε επιθυμητά επίπεδα. Οι τεχνικές που χρησιμοποιούνται στο στάδιο αυτό είναι πάρα πολλές, με εκτενές θεωρητικό υπόβαθρο η καθεμία, και μπορούν να καταταχθούν στις ακόλουθες τρεις κατηγορίες: 1. Μείωση Διαστάσεων, που είναι η διαδικασία μείωσης του αριθμού των τυχαίων μεταβλητών που περιγράφουν το πρόβλημα. 2. Αριθμητική Μείωση, που μελετά την αλλαγή-αντικατάσταση στοιχείων με παραμετρικές και μη αριθμητικές αναπαραστάσεις. 3. Συμπίεση Δεδομένων, που μπορεί να είναι απωλεστική ή μη και που προσπαθεί μέσω της ανακατασκευής των δεδομένων να επιτύχει μικρότερη χωρητικότητα.

25 Ορισμένες από τις πιο αντιπροσωπευτικές τεχνικές μείωσης δεδομένων παρουσιάζονται στον Πίνακας 1. Τεχνικές Μείωσης Δεδομένων Περιγραφή Γραμμική τεχνική επεξεργασίας σημάτων που επιτυγχάνει Μετασχηματισμός Wavelet Συνάθροιση διαστάσεων Κύβων Δεδομένων (Data Cubes) Δειγματοληψία Ομαδοποίηση Ιστογράμματα συμπίεση δεδομένων, αναπαριστώντας δεδομένα με συγκεκριμένους συντελεστές Wavelet Συνάθροιση ή ομαδοποίηση διαστάσεων Κύβων Δεδομένων με σκοπό την αντικατάσταση πολλών διαστάσεων σε λιγότερες, εφαρμόζοντας στατιστικές μεθόδους. Αντικατάσταση ενός συνόλου δεδομένων με άλλο μικρότερο, έπειτα από αντιπροσωπευτική επιλογή δειγμάτων Αντικατάσταση ενός συνόλου δεδομένων με άλλο μικρότερο έπειτα από εύρεση ομάδων ομοιότητας που τα περιλαμβάνουν και επιλογή αντιπροσώπων από κάθε ομάδα. Καταμερισμός των δεδομένων σε κουβάδες αναλόγως των τιμών τους και αντικατάστασή τους από την αριθμητική αναπαράσταση των κουβάδων. Πίνακας 1: Τεχνικές μείωσης δεδομένων Τέλος, η προ-επεξεργασία των δεδομένων ολοκληρώνεται με τον Μετασχηματισμό και την Διακριτοποίηση των Δεδομένων (Data Transformation and Discretization). Στο στάδιο αυτό τα δεδομένα μετασχηματίζονται και συνενώνονται, ώστε να αποκαλυφθούν μοτίβα και η εξόρυξη δεδομένων να γίνει πιο αποδοτική. Μερικές από τις τεχνικές που χρησιμοποιούνται ευρέως είναι η ομαλοποίηση των δεδομένων (smoothing) με απομάκρυνση του θορύβου, η συνάθροιση (aggregation), η δημιουργία νέων χαρακτηριστικών (attribute/feature construction) με σκοπό την αντικατάσταση άλλων συσχετιζόμενων ή για τη διευκόλυνση μετέπειτα διεργασιών, η κανονικοποίηση τιμών (normalization) για την ομογενοποίηση του εύρους τους, η διακριτοποίηση (discretization) για την

26 αντικατάσταση περιγραφικών τιμών από αριθμητικές, καθώς και η δημιουργία ιεραρχικών εννοιών (concept hierarchy generation) για ονομαστικά δεδομένα με στόχο την καλύτερη οργάνωσή τους [1]. Μετά τη μείωση και οργάνωση της βάσης δεδομένων μέσω της προ-επεξεργασίας, ακολουθεί η διαδικασία της εξόρυξης γνώσης, μέσω της εύρεσης μοτίβων και συσχετίσεων. Στο υπόλοιπο αυτής της εργασίας θα αναφερθούμε στη σημασία της εύρεσης μοτίβων στη λεγόμενη ανάλυση καλαθιού καταναλωτή (market basket analysis), θα αναλύσουμε τους βασικούς όρους περιγραφής του προβλήματος και θα παρουσιάσουμε τη μέχρι τώρα ερευνητική δραστηριότητα, τελειώνοντας με την λεπτομερή περιγραφή ενός καινούριου αλγορίθμου εύρεσης συχνών συνόλων αντικειμένων (Frequent Itemsets) και απάντησης ερωτημάτων συσχετίσεων. 2. ΕΞΟΡΥΞΗ ΣΥΧΝΩΝ ΜΟΤΙΒΩΝ ΚΑΙ ΚΑΝΟΝΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Η εξόρυξη Συχνών Μοτίβων (Frequent Pattern) και η εύρεση Κανόνων Συσχετίσεων (Association Rules) είναι ένα από τα σημαντικότερα προβλήματα στο τομέα της Εξόρυξης Δεδομένων και με μια ευρεία περιοχή εφαρμογής. Πολλά συστήματα αποφάσεων χρησιμοποιούν αυτή τη τεχνική και μάλιστα ορισμένα από αυτά και σε πραγματικό χρόνο (real time) αλληλεπιδρώντας με τις επιλογές και τη συμπεριφορά του κάθε χρήστη. Η τεχνική της εξόρυξης πρωτοπαρουσιάστηκε στις εργασίες του Rakesh Agrawal [2], [3] προσπαθώντας να αναλύσει το λεγόμενο πρόβλημα των πωλήσεων super market ή περιεχομένου καλαθιού (market basket analysis), σύμφωνα με το οποίο αναζητούνται συσχετίσεις μεταξύ των διαφορετικών αντικειμένων τα οποία ένας καταναλωτής τοποθετεί στο καλάθι του. Παραδείγματος χάρη, είναι ενδιαφέρον να γνωρίζει ο υπεύθυνος πωλήσεων του super market ότι το 80% των αγοραστών δημητριακών και ζάχαρης επιλέγουν και γάλα ή ότι οι καταναλωτές που αγοράζουν

27 ψωμί, στο 70% των περιπτώσεων επιλέγουν ταυτόχρονα να αγοράσουν και τυρί. Ο στόχος είναι, μέσω της εύρεσης τέτοιων μοτίβων της καταναλωτικής συμπεριφοράς, να αναπτυχθούν κατάλληλες στρατηγικές προώθησης προϊόντων (marketing) που αφενός να οδηγήσουν στην καλύτερη εξυπηρέτηση του πελάτη, όπως π.χ. τα συσχετιζόμενα προϊόντα να τοποθετούνται κοντά ή σε προσφορά, και αφετέρου να βελτιώσουν τη κερδοφορία της επιχείρησης από τη στιγμή που γνωρίζουν τις καταναλωτικές επιθυμίες a priori. Προφανώς, οι κανόνες συσχέτισης μπορούν και εφαρμόζονται και σε άλλα πεδία, όπως στην επεξεργασία κειμένων, στην ανάλυση δεδομένων απογραφής, σε τηλεπικοινωνιακά δεδομένα, σε ιατρικές προγνώσεις και γενικά σε σύνολα δεδομένων που μπορούν να ομαδοποιηθούν σε κατηγορίες ή αλλιώς «καλάθια». Εικόνα 2: Ανάλυση καλαθιού καταναλωτών. Κατά την επεξεργασία μιας βάσης δεδομένων μπορούν να ανακαλυφθούν πολλαπλά μοτίβα και κανόνες συσχέτισης διαφορετικής βαρύτητας και ενδιαφέροντος. Παραδείγματος χάρη, στην ανάλυση ιατρικών δεδομένων μπορεί να ανακαλυφθεί, μεταξύ άλλων, μια σχέση μεταξύ της ηλίασης και της αφυδάτωσης, καθώς και μια εξάρτηση ορισμένων μορφών καρκίνου με χημικές πτητικές ενώσεις ευκόλως ανιχνεύσιμων από σκυλιά. Από τους δυο αυτούς συσχετισμούς κάποιοι θα θεωρήσουν σημαντικότερο το δεύτερο αναγνωρίζοντας σε αυτό μεγαλύτερο πληροφοριακό περιεχόμενο και σημασία. Στην προσπάθεια να

28 βελτιωθεί και να μελετηθεί καλύτερα η τεχνική της εξόρυξης μοτίβων και κανόνων συσχετίσεων, εισήχθησαν όροι όπως εμπιστοσύνη (confidence) και υποστήριξη (support) κανόνων, που εξυπηρετούν τη ταξινόμηση και τη περαιτέρω επιλογή τους. Ακολουθεί μια σύντομη παρουσίαση των όρων αυτών και άλλων εννοιών που ορίζουν και μοντελοποιούν μαθηματικά το πρόβλημα. 2.1 ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ ΤΩΝ ΣΥΧΝΩΝ ΣΥΝΟΛΩΝ ΑΝΤΙΚΕΙΜΕΝΩΝ ΚΑΙ ΚΑΝΟΝΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Θεωρώντας ένα σύνολο m αντικειμένων {, έχουμε ως δεδομένα από τη εφαρμογή μας μια βάση συναλλαγών {, με κάθε συναλλαγή T να είναι ένα μη κενό σύνολο αντικειμένων έτσι ώστε. Κάθε συναλλαγή συνοδεύεται από ένα αναγνωριστικό-κλειδί, TID (Transaction IDentifier). Θεωρώντας ένα σύνολο αντικειμένων A, μια συναλλαγή Τ περιέχει το Α εάν Ένας κανόνας συσχέτισης είναι μια συνεπαγωγή της μορφής, όπου και. Ο κανόνας ισχύει στο σύνολο συναλλαγών D με υποστήριξη (support) s, όπου s είναι το ποσοστό των συναλλαγών στο D που περιέχουν, δηλαδή την ένωση των A και B ή αλλιώς το A και το B. Αυτό εξ ορισμού είναι η πιθανότητα. Ο κανόνας έχει εμπιστοσύνη (confidence) c στο σύνολο συναλλαγών D, όπου c είναι το ποσοστό των συναλλαγών στο D που περιέχουν το B, δεδομένου ότι περιέχουν και το. Αυτό εξ ορισμού είναι η πιθανότητα. Εν συντομία, δηλαδή, ισχύουν οι ακόλουθοι ορισμοί: (2.1-1) (2.1-2) Οι κανόνες συσχέτισης που ικανοποιούν ένα ελάχιστο κατώφλι υποστήριξης (min_sup) και ένα ελάχιστο κατώφλι εμπιστοσύνης (min_conf) καλούνται ισχυροί. Συνηθίζεται οι τιμές υποστήριξης και εμπιστοσύνης να λαμβάνουν ποσοστιαίες τιμές επί τοις εκατό 0% - 100%, παρά μεταξύ 0 και 1.

29 Ένα σύνολο αντικειμένων (itemset) το οποίο περιέχει k αντικείμενα αναφέρεται ως k-σύνολο αντικειμένων (k-itemset), π.χ. το {ψωμί, γάλα είναι ένα 2-σύνολο αντικειμένων (2-itemset). Η συχνότητα εμφάνισης ενός συνόλου αντικειμένων ισούται με το πλήθος των συναλλαγών που περιέχουν το σύνολο και αναφέρεται συχνά ως συχνότητα (frequency), πλήθος υποστήριξης (support count) ή πλήθος (count) του συνόλου. Η υποστήριξη ενός συνόλου αντικειμένων, όπως αυτό ορίστηκε παραπάνω στην εξίσωση 2.1-1, συχνά αναφέρεται και ως σχετική υποστήριξη, ενώ η συχνότητα εμφάνισης αναφέρεται και ως απόλυτη υποστήριξη. Εάν η σχετική υποστήριξη ενός συνόλου αντικειμένων I ικανοποιεί ένα προκαθορισμένο ελάχιστο κατώφλι υποστήριξης, τότε το I είναι ένα συχνό σύνολο αντικειμένων (frequent itemsets). Τα συχνά σύνολα k-αντικειμένων συμβολίζονται συνήθως με L 2 k. Από τις εξισώσεις και προκύπτει η ακόλουθη σχέση: (2.1-3) Η εξίσωση δείχνει ότι η εμπιστοσύνη ενός κανόνα μπορεί εύκολα να προκύψει από τα πλήθη υποστήριξης των A και Δηλαδή από τη στιγμή που γίνουν γνωστές οι συχνότητες των A, B και, είναι υποτυπώδης η παραγωγή των κανόνων συσχέτισης και και ο έλεγχος της ισχύος τους. Με τον τρόπο αυτό το πρόβλημα της εξόρυξης κανόνων συσχετίσεων ανάγεται στο πρόβλημα εξόρυξης συχνών συνόλων αντικειμένων. Γενικά, η εξόρυξη κανόνων συσχετίσεων μπορεί να θεωρηθεί ως μια διαδικασία δύο βημάτων: 2 Σε αρχικές μελέτες και άρθρα τα συχνά σύνολα αντικειμένων αναφέρονταν ως μεγάλα (Large). Αυτός ο όρος δεν χρησιμοποιείται πια συχνά, αλλά προτιμάται ακόμα για ιστορικούς λόγους στο συμβολισμό των k-συνόλων ως L k.

30 1. Εύρεση όλων των συχνών συνόλων αντικειμένων. Το καθένα από τα σύνολα αυτά θα εμφανίζεται στη βάση συναλλαγών τουλάχιστον τόσο συχνά όσο η προκαθορισμένη ελάχιστη υποστήριξη (min_support). 2. Παραγωγή των ισχυρών κανόνων συσχετίσεων από τα συχνά σύνολα αντικειμένων. Εξ ορισμού αυτοί οι κανόνες θα ικανοποιούν τα προκαθορισμένα ελάχιστα κατώφλια υποστήριξης (min_support) και εμπιστοσύνης (min_confidence). Λόγω του συγκριτικά μειωμένου υπολογιστικού κόστους του δεύτερου βήματος παραγωγής των κανόνων συσχετίσεων, η συνολική απόδοση της εξόρυξης των κανόνων καθορίζεται από το πρώτο βήμα της εύρεσης των συχνών συνόλων. Μια μεγάλη πρόκληση στην εξόρυξη συχνών αντικειμένων από μεγάλα σύνολα συναλλαγών είναι ο τεράστιος αριθμός συνόλων που προκύπτει κατά την διαδικασία ιδιαίτερα εάν το κατώφλι ελάχιστης υποστήριξης είναι χαμηλό. Αυτό ενισχύεται από το γεγονός ότι όταν ένα σύνολο αντικειμένων είναι συχνό τότε επακόλουθα και τα υποσύνολά του είναι συχνά. Ένα πολυπληθές συχνό σύνολο αντικειμένων μπορεί περιέχει εκθετικό αριθμό υποσυνόλων. Για παράδειγμα, ένα συχνό σύνολο 100 αντικειμένων { περιέχει ( ) συχνά 1-σύνολα: {α 1, {α 2,, {α 100 και ( ) συχνά 2-σύνολα: { { { και ούτω καθεξής. Ο συνολικός αριθμός των συχνών υποσυνόλων προκύπτει από τον ακόλουθο τύπο: ( ) ( ) ( ) (2.1-4) Ο αριθμός αυτός είναι πολύ μεγάλος για να μπορεί να αποθηκευτεί ή να αποτελέσει αντικείμενο επεξεργασίας από οποιοδήποτε υπολογιστή και για το λόγο αυτό χρησιμοποιούνται συχνά μικρότερα σύνολα αντικειμένων, όπως τα κλειστά συχνά σύνολα αντικειμένων (closed frequent itemsets) και τα μέγιστα συχνά σύνολα αντικειμένων (maximal frequent itemsets).

31 Ένα σύνολο αντικειμένων X είναι κλειστό σε μια ομάδα δεδομένων D εάν δεν υπάρχει κανένα καθαρό υπερσύνολο Y το οποίο να έχει την ίδια υποστήριξη που έχει το X στο D. Ένα σύνολο αντικειμένων X καλείται κλειστό συχνό σύνολο αντικειμένων στο D εάν είναι ταυτόχρονα συχνό και κλειστό. Ένα σύνολο αντικειμένων X καλείται μέγιστο συχνό σύνολο αντικειμένων στο D εάν το X είναι συχνό και δεν υπάρχει κανένα καθαρό υπερσύνολο Y, το οποίο να είναι συχνό. Εικόνα 3: Αναπαράσταση του χώρου συνόλων αντικειμένων. Με θαλασσί αναπαρίστανται όλα τα σύνολα, με μπλέ τα συχνά σύνολα αντικειμένων, με πορτοκαλί τα μέγιστα συχνά σύνολα και με μοβ τα κλειστά συχνά σύνολα αντικειμένων. Παράδειγμα Για την καλύτερη κατανόηση των παραπάνω ορισμών ας θεωρήσουμε ένα παράδειγμα στο οποίο έχοντας ως είσοδο μια βάση δεδομένων και θεωρώντας ένα καθορισμένο κατώφλί υποστήριξης, θα εντοπίσουμε τα συχνά σύνολα αντικειμένων, τα κλειστά συχνά σύνολα αντικειμένων και τα μέγιστα συχνά σύνολα αντικειμένων. Έστω ότι έχουμε τη βάση δεδομένων D που περιέχει 10 συναλλαγές, όπως φαίνεται στην Εικόνα 4 και ο αντίστοιχος πίνακας υποστήριξης για κάθε δυνατό σύνολο αντικειμένων στην Εικόνα 5 με τις αντίστοιχες τιμές υποστήριξης.

32 Βάση δεδομένων συναλλαγών TID Σύνολα Αντικειμένων 1 {a, d, e 2 {b, c, d 3 {a, c, e 4 {a, c, d, e 5 {a, e 6 {a, c, d 7 {b, c 8 {a, c, d, e 9 {b, c, e 10 {a, d, e Εικόνα 4: Παράδειγμα βάσης δεδομένων με δέκα συναλλαγές. Στο απλό παράδειγμα αυτό, οι τιμές υποστήριξης μπορούν να υπολογιστούν με το μάτι, έπειτα από καταμετρήσεις των υποσυνόλων στη βάση δεδομένων. Συχνά σύνολα αντικειμένων και συχνότητες/υποστήριξης 1-σύνολα 2-σύνολα 3-σύνολα 4-σύνολα 5-σύνολα {a: 7 {a, b: 0 {a, b, c: 0 {a, b, c, d: 0 {a,b,c,d,e: 0 {b: 3 {a, c: 4 {a, b, d: 0 {a, b, c, e: 0 {c: 7 {a, d: 5 {a, b, e: 0 {a, b, d, e: 0 {d: 6 {a, e: 6 {a, c, d: 3 {a, c, d, e: 2 {e: 7 {b, c: 3 {a, c, e: 3 {b, c, d, e: 0 {b, d: 1 {a, d, e: 3 {b, e: 1 {b, c, d: 1 {c, d: 4 {b, c, e: 1 {c, e: 4 {b, d, e: 1 {d, e: 4 {c, d, e: 2 Εικόνα 5: Πίνακας με την υποστήριξη καθενός συνόλου αντικειμένων. Παρατηρούμε ότι για έναν μικρό αριθμό (5) διαφορετικών αντικειμένων έχουμε σύμφωνα με την εξίσωση 2.1-4, 31 δυνατά υποσύνολα προς εξέταση. Θεωρώντας ως κατώφλι υποστήριξης την τιμή 30%, βλέπουμε ότι τα σημειωμένα με πράσινο χρώμα σύνολα αναγνωρίζονται ως συχνά. Επίσης, τα υπερσύνολα μη συχνών υποσυνόλων είναι και αυτά μη συχνά.

33 Τέλος, από τη στιγμή που έχουν εντοπιστεί τα συχνά σύνολα αντικειμένων μπορούν να δημιουργηθούν οι κανόνες συσχέτισης με τα αντίστοιχες τιμές υποστήριξης και εμπιστοσύνης με βάση τις εξισώσεις 2.1-1, και 2.1-3, όπως παραδείγματος χάρη: { {, με υποστήριξη 30% και εμπιστοσύνη 75% { {, με υποστήριξη 40% και εμπιστοσύνη 57%.

34 3. ΕΡΕΥΝΗΤΙΚΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΚΑΙ ΙΔΕΕΣ ΜΕΧΡΙ ΣΗΜΕΡΑ Το πρόβλημα εύρεσης Συχνών Συνόλων Αντικειμένων (Frequent Itemsets) απασχολεί αρκετά χρόνια την επιστημονική κοινότητα λόγω του εγγενούς υπολογιστικού κόστους του και της ανάγκης εύρεσης αποδοτικών λύσεων. Ακολουθώντας την απλούστερη προσέγγιση εξέτασης όλων των πιθανών συνόλων δεδομένου ενός συνόλου αντικειμένων, θα πρέπει να εξεταστεί ένας μεγάλος αριθμός συνδυασμών, εκθετικού μεγέθους πάνω στην είσοδο,. Ακόμα και για μια μικρή βάση συναλλαγών, όπως στην Εικόνα 6, οι πιθανοί συνδυασμοί είναι πολλοί όπως φαίνεται στην Εικόνα 7. Χρησιμοποιώντας, όμως, κριτήρια όπως την ελάχιστη υποστήριξη (στο παράδειγμα 20%) παρατηρούμε ότι το πλήθος των ενδιαφερόντων συνδυασμών μειώνεται κατά πολύ. TID Items 1 {a, c, d 2 {b, c, e 3 {a, b, c, e 4 {b, e 5 {a, b, c, e Εικόνα 6: Βάση συναλλαγών D. abcde abcd abce abde acde bcde abc abd abe acd ace ade bcd bce bde cde ab ac ad ae bc bd be cd ce de a b c d e Ø Συχνό Σύνολο Αντικειμένων (Ελάχιστη Υποστήριξη 2) Μη συχνό σύνολο Εικόνα 7: Δυνατά υποσύνολα αντικειμένων της βάσης D.

35 Από τη στιγμή που η προαναφερθείσα τεχνική είναι αδύνατη για μεγάλες τιμές του m είναι απαραίτητη η χρήση αλγορίθμων που εκμεταλλευόμενοι χαρακτηριστικά του προβλήματος όπως τη φύση των δεδομένων, την ελάχιστη υποστήριξη και τη διαφορετική αναπαράσταση δεδομένων μπορούν να ανακαλύψουν τα συχνά σύνολα αντικειμένων με αποδοτική αξιοποίηση της μνήμης, της επεξεργαστικής ισχύος ή και των δύο ταυτόχρονα. Στη συνέχεια θα παρουσιαστούν διάφοροι αλγόριθμοι και τεχνικές, που έχουν ιστορικό και ερευνητικό ενδιαφέρον και αποτέλεσαν τη βάση για το νέο αλγόριθμο που παρουσιάζεται στο ακόλουθο κεφάλαιο. Αλγόριθμος Apriori Ο αλγόριθμος Apriori έχει επηρεάσει σε μικρό ή μεγάλο βαθμό την πλειοψηφία των σημερινών σχετικών αλγορίθμων. Πρωτοπαρουσιάστηκε το 1994 από τους R. Agrawal και R. Srikant για την εξόρυξη συχνών συνόλων αντικειμένων με σκοπό τη παραγωγή Boolean κανόνων συσχέτισης [3]. Το όνομα του αλγορίθμου προέρχεται από το βασικό χαρακτηριστικό του, τη χρήση προγενέστερης γνώσης για τη συχνότητα συνόλου αντικειμένων, όπως θα αναλυθεί στη συνέχεια. Ο Apriori χρησιμοποιεί μια επαναληπτική μέθοδο επιπέδων, στην οποία κ-σύνολα χρησιμοποιούνται για την εξέταση (κ+1)-συνόλων. Το πρώτο βήμα είναι η σάρωση της βάσης δεδομένων μετρώντας τις εμφανίσεις του κάθε αντικειμένου για την εύρεση της συχνότητας του καθενός, ώστε να επιλεγούν μόνο αυτά που ικανοποιούν το προκαθορισμένο κατώφλι υποστήριξης. Το σύνολο αντικειμένων που προκύπτει με τον τρόπο αυτό ονομάζεται L 1. Στη συνέχεια το L 1 χρησιμοποιείται για την εύρεση του L 2, που είναι το σύνολο των συχνών 2-συνόλων, το οποίο με τη σειρά του χρησιμοποιείται για την εύρεση του L 3 και ούτω καθεξής έως ότου δεν μπορεί να βρεθεί κάποιο κ-σύνολο που να είναι συχνό. Η εύρεση καθενός από τα L i απαιτεί μια πλήρη σάρωση της βάσης δεδομένων.

36 Για τη βελτίωση της αποδοτικότητας εύρεσης των L i του αλγορίθμου, χρησιμοποιείται μια σημαντική ιδιότητα που ονομάζεται Apriori και η οποία στοχεύει να ελαττώσει το χώρο αναζήτησης. Ιδιότητα Apriori: Όλα τα μη κενά υποσύνολα ενός συχνού συνόλου αντικειμένων είναι επίσης συχνά. Η ιδιότητα αυτή βασίζεται στην παρατήρηση ότι, εξ ορισμού, εάν ένα σύνολο αντικειμένων δεν ικανοποιεί το κριτήριο της ελάχιστης υποστήριξης, min_support, τότε το δεν είναι συχνό, δηλαδή. Εάν ένα αντικείμενο A προστεθεί στο σύνολο, τότε το παραγόμενο σύνολο δεν μπορεί να εμφανίζεται πιο συχνά από το. Επομένως, το είναι και αυτό μη συχνό με. Η ιδιότητα αυτή ανήκει σε μια ειδική κατηγορία ιδιοτήτων που ονομάζονται αντιμονοτονικές (antimonotonicity property) με την έννοια ότι, εάν κάποιο σύνολο δεν ικανοποιεί ένα κριτήριο, τότε και οποιοδήποτε υπερσύνολό του ομοίως δεν το ικανοποιεί. Η ιδιότητα Apriori επομένως καλείται αντιμονοτονική επειδή έχει μονοτονική συμπεριφορά στη μη ικανοποίηση του κριτηρίου. Για την καλύτερη κατανόηση της λειτουργίας του αλγορίθμου Apriori αναλύουμε παρακάτω τα δύο βήματα που απαιτούνται για την παραγωγή του L k από το L k-1 για. 1. Βήμα συνένωσης: Για την εύρεση του L k, παράγεται ένα σύνολο υποψηφίων κ-συνόλων αντικειμένων, C k, εφαρμόζοντας την πράξη συνένωσης (join) στο σύνολο L k-1 με τον εαυτό του. Έστω και δύο σύνολα αντικειμένων στο L k-1 και με [ ] θεωρούμε το j-ιοστό αντικείμενο στο σύνολο. Θεωρούμε επίσης ότι κάθε συναλλαγή ή σύνολο έχουν τα αντικείμενά τους ταξινομημένα λεξικογραφικά. Για το (κ-1)-σύνολο αυτό σημαίνει ότι [ ] [ ] [ ]. Η συνένωση, πραγματοποιείται θεωρώντας ότι τα μέλη του είναι συνενώσιμα μόνο

37 εάν τα πρώτα (k-2) αντικείμενα είναι κοινά. Δηλαδή τα μέλη και του συνενώνονται μόνο εάν [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]. Η συνθήκη [ ] [ ] απλώς εξασφαλίζει την αποφυγή παραγωγής διπλοτύπων. Το αποτέλεσμα της συνένωσης των και είναι { [ ] [ ] [ ] [ ] [ ]. 2. Βήμα κλαδέματος: Το C k είναι υπερσύνολο του L k καθώς τα μέλη του μπορεί να είναι ή να μην είναι συχνά, αλλά τα συχνά κ-σύνολα ανήκουν στο C k. Για την εύρεση του L k πρέπει σαρωθεί η βάση συναλλαγών, ώστε να μετρηθούν οι εμφανίσεις καθενός κ-συνόλου κάθε κ-σύνολο με συχνότητα μεγαλύτερη της ελάχιστης υποστήριξης ανήκει στο L k. Το C k, όμως, μπορεί να είναι τεράστιο καθιστώντας τη σάρωση της βάσης υπολογιστικά ασύμφορη. Για το λόγο αυτό χρησιμοποιείται η ιδιότητα Apriori, σύμφωνα με την οποία εάν οποιοδήποτε (κ-1)-υποσύνολο ενός κ-συνόλου δεν ανήκει στο L k-1, τότε και το κ-σύνολο δεν ανήκει στο L k και αφαιρείται από το C k. Ο έλεγχος των υποσυνόλων μπορεί να γίνει αποδοτικά χρησιμοποιώντας hash-trees για τη διαχείρισή τους. Στην Εικόνα 8 παρουσιάζεται σε μορφή ψευδοκώδικα ο αλγόριθμος Apriori. Η συνάρτηση apriori_gen υλοποιεί τη συνένωση (join) και το κλάδεμα (prune) των ανεπιθύμητων συνόλων με βάση την Apriori ιδιότητα και ο έλεγχος των μη συχνών συνόλων αντικειμένων γίνεται από τη συνάρτηση has_infrequent_subset.

38 Algorithm: Apriori. Find frequent itemsets using an iterative level-wise approach based on the candidate generation. Input: D, a database of transactions; min_sup, the minimum support count threshold. Output: L, frequent itemsets in D. Method: (1) L 1 = find_frequent_1-itemsets(d); (2) for(k = 2; L k-1 Ø; k++) { (3) C k = Apriori_gen(L k-1 ); (4) for each transaction t ϵ D { // scan D for counts (5) C t = subset(c k, t); // get the subsets of t that are candidates (6) for each candidate c ϵ C t (7) c.count++; (8) (9) L k = {c ϵ C k c.count min_sup (10) (11) Return L = U k L k ; procedure apriori_gen(l k-1 : frequent (k-1)-itemsets) (1) for each itemset l 1 ϵ L k-1 (2) for each itemset l 2 ϵ L k-1 (3) if(l 1 [1] = l 2 [1] ʌ l 1 [2] = l 2 [2] ʌ ʌ(l 1 [k-2] = l 2 [k-2]) ʌ (l 1 [k-1] < l 2 [k-1])) then { (4) c = l 1 l 2 ; //join step: generate candidates (5) If has_infrequent_subset(c, L k-1 ) then (6) delete c; //prune step; remove unfruitful candidate (7) else add c to C k ; (8) (9) return C k ; procedure has_infrequent_subset(c: candidate k-itemset; L k-1 : frequent (k- 1)-itemsets); // use prior knowledge (1) for each (k-1)-subset s of c (2) if s L k-1 then (3) return TRUE; (4) return FALSE; Εικόνα 8: Ο αλγόριθμος Apriori σε ψευδοκώδικα. Ο αλγόριθμος Apriori, όπως και πολλοί άλλοι γνωστοί αλγόριθμοι εξόρυξης συχνών μοτίβων, λειτουργεί σε μια συγκεκριμένη μορφοποίηση δεδομένων της μορφής δυάδας TID-itemset, όπου TID (Transaction IDentifier) είναι ο αναγνωριστικός κωδικός μια συναλλαγής και itemset είναι το σύνολο αντικειμένων. Αυτή η δομή ονομάζεται οριζόντια μορφοποίηση. Εναλλακτικά, τα δεδομένα εισόδου μπορούν να αναπαρασταθούν στη μορφή item-tid_set, όπου κάθε αντικείμενο συνοδεύεται από τη λίστα των συναλλαγών που το συμπεριλαμβάνουν. Αυτή η δομή καλείται

39 κατακόρυφη μορφοποίηση. Στη συνέχεια θα παρουσιάσουμε για κάθε τύπο μορφοποίησης, καθώς και για συνδυαστικές ή αλλιώς υβριδικές περιπτώσεις, ορισμένους από τους πιο αντιπροσωπευτικούς αλγορίθμους σε χρονολογική σειρά. Αλγόριθμοι Οριζόντιας Διαμοίρασης Τον αλγόριθμο Apriori ακολούθησαν πολλοί άλλοι που βασίζονταν σε αυτόν και βελτίωναν ορισμένες πτυχές του. Στη συνέχεια παρατίθενται χρονολογικά σύντομες παρουσιάσεις ορισμένων εκ των γνωστότερων αλγορίθμων που επέκτειναν τον Apriori και υιοθετούν την οριζόντια διαμοίραση Αλγόριθμος Mannila Ο αλγόριθμος Mannila [4] βασίζεται στην ίδια κεντρική ιδέα με αυτή του Apriori ακολουθώντας τον ίδιο τύπο οριζόντιας διαμοίρασης. Διαφέρει στη μέθοδο απαλοιφής συνόλων αντικειμένων χάρη σε προσεκτική συνδυαστική ανάλυση σε κάθε φάση σάρωσης της βάσης συναλλαγών. Πιο συγκεκριμένα, σε κάθε φάση κατασκευής της ομάδας συχνών συνόλων αντικειμένων,, ανιχνεύει εάν υπάρχουν συνδυασμοί που συγκεντρωτικά αποτελούν δυναμοσύνολο ενός itemset του. Εάν, παραδείγματος χάρη, ισχύει ότι L 2 ={AB, BC, AC, AE, BE, AF, CG, τότε ο αλγόριθμος Manilla ανιχνεύει ότι τα ABC και ABE αποτελούν στοιχεία του L 3, καθώς όλα τα δυνατά υποσύνολά τους ανήκουν στο L 2, αλλά και ότι το L 4 θα είναι κενό. Πιο συγκεκριμένα, εάν το, τότε το X πρέπει να περιέχει s+1 σύνολα από το. Επομένως, μια αναγκαιότητα για τον υπολογισμό του είναι να περιλαμβάνει όλα τα σύνολα για τα οποία ισχύει η ακόλουθη ιδιότητα: {

40 1. C1 :- {{A I A E R; 2. 8 := 1; 3. while C~ ~ 0 do 4. database pass: let L~ be the elements of Cs that are covering; 5. candidate generation: compute C~+1 from L~; 6. s := s + 1; 7.. od; Εικόνα 9: Ο ψευδοκώδικας του αλγορίθμου Mannila Στην ίδια εργασία αναλύεται η αποδοτικότητα εύρεσης κανόνων συσχέτισης μέσω δειγματοληψίας των συναλλαγών από τη βάση δεδομένων. Εάν είναι η υποστήριξη ενός δεδομένου συνόλου ιδιοτήτων και θεωρήσουμε ένα τυχαίο δείγμα με αντικατάσταση μεγέθους h, τότε ο αριθμός των γραμμών που περιέχουν το Χ είναι μια τυχαία μεταβλητή που ακολουθεί την διωνυμική κατανομή, Β(h,τ). Τα όρια Chernoff [5], [6] ορίζουν ότι για όλα τα α ισχύει: [ ] Το παραπάνω οδηγεί στο συμπέρασμα ότι η πιθανότητα για την εκτιμηθείσα υποστήριξη να απέχει κατά τουλάχιστον α είναι: [ ] Αναδεικνύεται ότι, ακόμα και για μικρές τιμές του κατωφλίου υποστήριξης, ένα δείγμα εγγραφών επαρκεί για μια καλή εκτίμηση της συχνότητας των συνόλων αντικειμένων. Πειραματικές μετρήσεις και εμπειρικά αποτελέσματα επιδεικνύουν τη βελτίωση στο χρόνο και στη μνήμη συγκριτικά με τον Apriori, ενώ εφαρμόζοντας δειγματοληψία σε ένα πρόβλημα, καταφέρνουν να δικαιολογήσουν την αποδοτικότητα αυτής της τεχνικής Αλγόριθμος CAP Στο [7] οι Raymond, Laks και Jiawei παρατηρούν αρχικώς ότι ο τομέας της εξόρυξης γνώσης, όπως είχε διαμορφωθεί εκείνη την εποχή, υστερεί σε τρία σημεία: 1. την αδυναμία του χρήστη να ελέγξει και να ερευνήσει τη διαδικασία εκ των έσω, 2. την

41 έλλειψη καθοδήγησης προς συγκεκριμένη κατεύθυνση και 3. την ακαμψία των κανόνων συσχετίσεων. Εικόνα 10: Ο ψευδοκώδικας του αλγορίθμου CAP. Στοχεύοντας στην επίλυση αυτών των μειονεκτημάτων, εισάγουν σημεία ελέγχου (breakpoints), τα οποία επιτρέπουν την επίδραση του χρήστη όχι μόνο για την καθοδήγηση και τον έλεγχο της διαδικασίας εξόρυξης δεδομένων αλλά και στην απόφαση υπολογιστικά ακριβών ενεργειών. Επιπρόσθετα, στοχεύοντας στην απεξάρτηση από τα αυστηρά όρια κατωφλιού εμπιστοσύνης και υποστήριξης, εμπλουτίζουν τη διαδικασία επιλογής και δημιουργίας σχέσεων με τα ερωτήματα περιορισμένων συσχετίσεων (constrained association queries CAQ), που επιτρέπουν τον καθορισμό κατηγοριών και στόχων που καλούνται να πληρούν οι τελικοί κανόνες. Προς την ίδια κατεύθυνση, επιτρέπουν την εισαγωγή από τον χρήστη νέων κριτηρίων, επιπόρσθετα της υποστήριξης και της εμπιστοσύνης. Με τον τρόπο αυτό, συνολικά, παρουσιάζουν μια νέα αρχιτεκτονική, που εμπλουτίζει την τύπου μαύρο-κουτί (black-box) διαδικασία εξόρυξης κανόνων συσχετίσεων, με αυξημένες δυνατότητες ελέγχου και επίδρασης του χρήστη, προσδίδοντας ελαστικότητα, ευελιξία και προσαρμοστικότητα στην διαδικασία παραγωγής κανόνων συσχετίσεων.

42 Επιπλέον, παρουσιάζονται οι έννοιες της αντιμονοτονικότητας (antimonotonicity) και περιεκτικότητας (succinctness), στις οποίες βασίζονται για τον χαρακτηρισμό των περιορισμών του προβλήματος εύρεσης κανόνων συσχετίσεων και την περαιτέρω κατηγοριοποίησή τους. Με βάση αυτές τις κατηγορίες ο αλγόριθμος CAP υπολογίζει τις σχέσεις μεταξύ των συνόλων αντικειμένων και καταλήγει στην επίλυση του προβλήματος Αλγόριθμος CLOSE Στην εργασία [8] οι Nicolas Pasquier, Yves Bastide, Rafik Taouil και Lotfi Lakhal παρουσιάζουν ένα νέο αλγόριθμο οριζόντιας διαμοίρασης, τον CLOSE. Εικόνα 11: Ο ψευδοκώδικας του CLOSE αλγορίθμου. Εκμεταλλευόμενοι τις ιδιότητες της κλειστότητας όπως το μικρότερο χώρο αποθήκευσης και το συγκεντρωτικό πληροφοριακό περιεχόμενο, χωρίζουν το νέο αλγόριθμο στις ακόλουθες τρεις φάσεις: 1. Εύρεση όλων των κλειστών συχνών συνόλων της δεδομένης βάσης συναλλαγών με πλήρωση του κριτηρίου της προκαθορισμένης ελάχιστης υποστήριξης. 2. Παραγωγή όλων των συχνών συνόλων αντικειμένων από το σύνολο των κλειστών συνόλων με χρήση κατάλληλων συναρτήσεων, καθώς και με υπολογισμό της αντίστοιχης υποστήριξής τους. 3. Παραγωγή των κανόνων συσχέτισης για κάθε ένα από τα συχνά σύνολα αντικειμένων.

43 1999 Αλγόριθμος UWEP Στο [9] οι Necip Fazll Ayan, Abdullah Uz Tansel και Erol Arkun επιδιώκουν να αντιμετωπίσουν προβλήματα που παρουσιάζονται σε δυναμικά συστήματα, όπως η πρόσθεση νέων συναλλαγών στη βάση δεδομένων. Συνεχίζοντας το έργο των αλγορίθμων FUP 2 [10] και Partition-Update [11], παρουσιάζουν τον αλγόριθμο UWEP, που προσφέρει μια αποδοτική λύση στο πρόβλημα ανανέωσης των συχνών συνόλων αντικειμένων, έπειτα από πρόσθεση καινούριων συναλλαγών στη βάση δεδομένων. Αποφεύγοντας τη δαπανηρή επανεκτέλεση του αρχικού αλγορίθμου, ο UWEP σαρώνει το πολύ μια φορά τη αρχική και μόνο μια φορά την καινούρια βάση συναλλαγών, παράγοντας και απαριθμώντας ταυτόχρονα τον ελάχιστο αριθμό υποψήφιων συνόλων αντικειμένων, ώστε να καθορίσει τα νέα συχνά σύνολα. Σε αντίθεση με παλιότερους αλγορίθμους, κατορθώνει επίσης να μειώσει σε κάθε βήμα τα παραγόμενα υποψήφια σύνολα, μειώνοντας ακολούθως και το υπολογιστικό κόστος. Αυτό επιτυγχάνεται εφαρμόζοντας τεχνικές πρόβλεψης (lookahead) με βάση τα ακόλουθα τρία λήμματα: Λήμμα 1: Όλα τα υπερσύνολα ενός μη συχνού (small) συνόλου αντικειμένων, είναι και αυτά μη συχνά. Λήμμα 2: Έστω X ένα σύνολο αντικειμένων, DB η βάση με τις παλιές συναλλαγές, db η βάση με τις νέες συναλλαγές και τα συχνά σύνολα αντικειμένων της βάσης δεδομένων D. Εάν, τότε μόνο εάν. Λήμμα 3: Έστω X ένα σύνολο αντικειμένων. Εάν και, τότε. Το αποτέλεσμα είναι μια γρήγορη και αποδοτική, από θέμα χρόνου, τεχνική ανανέωσης των συχνών συνόλων.

44 Εικόνα 12: Ο ψευδοκώδικας του αλγορίθμου UWEP Αλγόριθμος FP-Growth Οι Jian Pei, Jiawei Han, Yiwen Yin και Runying Mao στην εργασία [12] παρουσιάζουν μία καινοτόμο, στον τομέα αυτόν, δομή δεδομένων, το FP-tree, και έναν αλγόριθμο, FP-Growth, που επιτυγχάνει πολύ καλύτερα αποτελέσματα στην εξόρυξη συχνών συνόλων αντικειμένων από άλλους αλγορίθμους της εποχής όπως τον Apriori [3] και τον Tree-projection [13].

45 Εικόνα 13: Παράδειγμα βάσης συναλλαγών και το αντίστοιχο FP-tree. Το δέντρο συχνών προτύπων, FP-tree (frequent pattern tree), είναι μια δενδρική δομή δεδομένων που αποτελείται από μια ρίζα (root) με ετικέτα null, από ένα σύνολο υπο-δέντρων με προθέματα αντικείμενα ως παιδιά της ρίζας και ένα πίνακα με τις επικεφαλίδες των συχνών αντικειμένων. Κάθε κόμβος περιλαμβάνει τρία πεδία: το όνομα του αντικειμένου που αντιπροσωπεύει ο κόμβος, ένα μετρητή εμφανίσεων στη βάση συναλλαγών του μονοπατιού αντικειμένων από τη ρίζα μέχρι τον συγκεκριμένο κόμβο και ένα σύνδεσμο κόμβου που συνδέει με τον επόμενο κόμβο που φέρει το ίδιο όνομα αντικειμένου ή είναι κενό εάν δεν υπάρχει τέτοιος. Ο πίνακας επικεφαλίδων περιέχει δυο πεδία για κάθε εγγραφή, το όνομα αντικειμένου και τη διεύθυνση του πρώτου κόμβου στο δέντρο που φέρει το αντίστοιχο όνομα.

46 Τα πλεονεκτήματα του αλγορίθμου FP-Growth συγκριτικά με άλλους μπορούν να επικεντρωθούν στα ακόλουθα: Εικόνα 14: Ο ψευδοκώδικας του αλγορίθμου ανάπτυξης του FP-tree. - Κατασκευάζει ένα υψηλά συμπιεσμένο FP-tree, το οποίο συνήθως είναι σημαντικά μικρότερο σε μέγεθος από την αρχική βάση συναλλαγών, με αποτέλεσμα να εξοικονομεί σαρώσεις της βάσης στις ενδιάμεσες φάσεις. - Εφαρμόζει μια μέθοδο ανάπτυξης με βάση πρότυπα υποσυνόλων αντικειμένων και συνενώνει διαδοχικά τα συχνά 1-σύνολα στα εξαρτώμενα υπο-δέντρα, αποφεύγοντας με τον τρόπο αυτό τη δαπανηρή δημιουργία υποψηφίων και ελέγχων. Αυτό εξασφαλίζει τη μη παραγωγή υποψηφίων που δεν συναντώνται στη βάση συναλλαγών. Συγκριτικά με την παραγωγή και τον έλεγχο του Apriori, ο αλγόριθμος αυτός εφαρμόζει μια τακτική ανάπτυξης συχνών τμηματικών προτύπων. - Ακολουθεί μια μέθοδο «διαίρει και βασίλευε» με τμηματοποίηση, η οποία μειώνει σημαντικά τις εξαρτώμενες βάσεις συναλλαγών και υπο-δέντρων που προκύπτουν σε ενδιάμεσες φάσεις των αλγορίθμων εξόρυξης συχνών συνόλων.

47 - Τέλος, ο FP-Growth με διάφορες βελτιστοποιήσεις, όπως απευθείας δημιουργία προτύπου για απλά μονοπάτια και επιλογή των λιγότερο συχνών συνόλων αντικειμένων για προθέματα, κατορθώνει να αυξήσει την απόδοσή του. Εικόνα 15: Ο ψευδοκώδικας του αλγορίθμου FP-Growth Αλγόριθμος Closet Στο [14] παρουσιάζεται από τους Jian Pei, Jiawei Han και Runying Mao ένας νέος αλγόριθμος, ο CLOSET, που επεκτείνει την δομή δεδομένων του [12] με σκοπό την εξόρυξη κλειστών συχνών συνόλων αντικειμένων με μικρότερο υπολογιστικό και χωρικό κόστος. Πιο συγκεκριμένα παρουσιάζονται τρεις τεχνικές: 1. Μια εξέλιξη του δέντρου προθεμάτων (prefix) συμπίεσης συχνών μοτίβων (FP- Tree) που επιτρέπει την εξόρυξη κλειστών συνόλων αντικειμένων χωρίς την παραγωγή υποψηφίων, σε μικρότερο χώρο αναζήτησης και γρηγορότερη εύρεση των ζητούμενων συνόλων.

48 2. Συμπίεση με βάση το πρόθεμα που απλοποιεί την εύρεση συχνών κλειστών συνόλων. 3. Ένας τμηματικός μηχανισμός προβολής για επεκτάσιμη εξόρυξη μεγάλων βάσεων συναλλαγών. Εικόνα 16: Παράδειγμα προβολής μεγάλης βάσης δεδομένων. Για κάθε συχνό σύνολο αντικειμένων δημιουργούνται προθεματικές υπο-βάσεις.

49 Εικόνα 17: Ο ψευδοκώδικας του αλγορίθμου CLOSET. Και οι τρεις τεχνικές χρησιμοποιούνται στην εύρεση των κλειστών συχνών συνόλων αντικειμένων, καθώς σύμφωνα με τους Pasquier et al. [15] για την εξόρυξη κανόνων συσχετίσεων αρκεί η εύρεση την κλειστών συνόλων και των αντίστοιχων κανόνων, χωρίς να είναι αναγκαία η εξόρυξη όλων των συχνών συνόλων αντικειμένων. Η δομή δεδομένων που χρησιμοποιείται, το FP-Tree, είναι ένα δέντρο προθεμάτων και οι συναλλαγές εισάγονται με τέτοιο τρόπο, έτσι ώστε αυτές που έχουν το ίδιο πρόθεμα να έχουν κοινό τμήμα μονοπατιού ξεκινώντας από τη ρίζα.

50 Εκμεταλλευόμενοι το μικρότερο χώρο αποθήκευσης και επεξεργασίας των κλειστών συνόλων μέσω της συμπιεσμένης προθεματικής μορφής της δομής δεδομένων, FP- Tree, κατορθώνουν να μειώσουν το χρόνο εκτέλεσης και να επιδείξουν καλύτερη απόδοση από άλλους γνωστούς αλγορίθμους, όπως ο CHARM [16] και ο A-Close [15] Αλγόριθμος SmartMiner Οι Qinghua Zou, Wesley W. Chu, Baojing Lu, καταφέρνουν στο [17] να παρουσιάσουν έναν νέο αλγόριθμο που βελτιώνει την εύρεση Μέγιστων Συχνών Συνόλων αντικειμένων (MFI), συγκριτικά με προηγούμενους αλγορίθμους, όπως οι Mafia [18] και GenMax [19]. Ο νέος αλγόριθμος, SmartMiner, χρησιμοποιεί αρχικά καθολική και τοπική πληροφορία σχετικά με συχνά επιθέματα με σκοπό τη μείωση του χώρου έρευνας.

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

52 Εικόνα 19: Ο ευριστικός αλγόριθμος του SmartMiner για την επιλογή αντικειμένου με βάση το οποίο θα γίνει κατάτμηση του χώρου αναζήτησης. Εικόνα 20: Ο ψευδοκώδικας της μεθόδου infmfi για την εύρεση της πληροφορίας ουράς Αλγόριθμος TFP Στο [20] οι Jiawei Han, Jianyong Wang, Ying Lu και Petre Tzvetkov παρουσιάζουν τον αλγόριθμο TFP στοχεύοντας στην αποδοτική εξόρυξη των κ-πρώτων συχνών συνόλων αντικειμένων που έχουν υποστήριξη μεγαλύτερη από μια προκαθορισμένη τιμή,. Η εξόρυξη των κλειστών συχνών συνόλων αντικειμένων γίνεται εφαρμόζοντας δύο νέες μεθόδους, close_node_count και

53 descendant_sum, σε μια δομή τύπου FP-tree, φιλτράροντας αποδοτικά τα σύνολα με μικρότερη υποστήριξη και κλαδεύοντας το δέντρο κατά τη διάρκεια της κατασκευής αλλά και μετά. Εικόνα 21: Υπολογισμός του αθροίσματος υποστήριξης απογόνων (descendant_sum) για έναν τελικό κόμβο του FPtree. Για την αποτελεσματική εξόρυξη των κλειστών συνόλων αντικειμένων και το γρήγορο υπολογισμό της υποστήριξής τους χρησιμοποιείται μια καινοτόμος μέθοδος που σαρώνει τη δομή από κάτω προς τα επάνω και αντίθετα, ενώ ταυτόχρονα γίνεται χρήση ενός πίνακα κατακερματισμού (hash table) για την γρήγορη εξακρίβωση της κλειστότητας των συνόλων. Η υπεροχή αυτού του αλγορίθμου σε σχέση με παρόμοιους όπως οι CLOSET και CHAR αποδεικνύεται με πειραματικά δεδομένα. Εικόνα 22: Δεικτοδότηση δύο επιπέδων για την επαλήθευση της κλειστότητας συνόλου.

54 2003 Αλγόριθμος AFOPT Οι Guimei Liu, Hongjun Lu, Jeffrey Xu Yu,Wei Wang και Xiangye Xiao παρουσιάζουν στο [21] μια μελέτη των υπαρχόντων αλγορίθμων εξόρυξης προτύπων και διακρίνουν τις ακόλουθες διαστάσεις του προβλήματος, πάνω στις οποίες εργάζονται και προτείνουν τον AFOPT, έναν προσαρμοστικό αλγόριθμο ανάλυσης προτύπων: - Η σειρά αναζήτησης αντικειμένων η οποία μπορεί να είναι στατική λεξικογραφική ή αύξουσα με βάση τη συχνότητα. - Η αναπαράσταση της εξαρτημένης βάσης δεδομένων είτε με χρήση πινάκων, είτε με δεντρική δομή. - Η κατασκευή της εξαρτημένης βάσης δεδομένων με δημιουργία νέων δομών ή με ψευδο-κατασκευή. - Η μέθοδος κάλυψης του δέντρου με φορά είτε από πάνω προς τα κάτω ή αντίθετα. Με βάση τις παραπάνω διαστάσεις οι υπάρχοντες αλγόριθμοι εξόρυξης προτύπων προσπαθούν να μειώσουν τον αριθμό των εξαρτημένων βάσεων δεδομένων και το κόστος δημιουργίας της καθεμίας.

55 Εικόνα 23: Ο ψευδοκώδικας του αλγορίθμου AFOPT. Εικόνα 24: Ο ψευδοκώδικας επέκτασης του βασικού αλγορίθμου AFOPT για την εξόρυξη κλειστών συχνών συνόλων αντικειμένων.

56 Ο AFOPT χρησιμοποιεί τρεις διαφορετικές δομές δεδομένων για την αναπαράσταση των εξαρτημένων υπο-βάσεων ανάλογα με την πυκνότητα της αρχικής βάσης δεδομένων επιτυγχάνοντας έτσι τη μείωση χώρου. Ο βασικός αλγόριθμος έχει εμπλουτιστεί με μεθόδους εξόρυξης Κλειστών και Μεγίστων Συχνών Συνόλων αντικειμένων καθώς και τεχνικές γρήγορης επιβεβαίωσης της εγκυρότητάς τους. Εικόνα 25: Ο ψευδοκώδικας του αλγορίθμου κλαδέματος υπερσυνόλων κατά τον έλεγχο, με βάση τα Μέγιστα Συχνά Σύνολα αντικειμένων (MFI) Αλγόριθμος CLOSET+ Στο [22] οι Jianyong Wang, Jiawei Han και Jian Pei παρουσιάζουν μια συγκριτική μελέτη των υπαρχόντων αλγορίθμων εξόρυξης συχνών συνόλων αντικειμένων και προτείνουν ένα νέο αλγόριθμο, τον CLOSE+, ο οποίος βάσει των πειραματικών αποτελεσμάτων υπερέχει προηγούμενων προτάσεων, όπως των CLOSEΤ [14], CHARM [16] και OP [23].

57 Εικόνα 26: Σύνοψη του αλγορίθμου CLOSET+. Βασική ιδέα του CLOSET+ είναι η προσαρμογή στην εκάστοτε φύση των δεδομένων: για αραιά σύνολα χρησιμοποιείται μια εικονική δεντρική προβολή από πάνω προς τα κάτω και ο έλεγχος των υποσυνόλων γίνεται από κάτω προς τα επάνω, ενώ για πιο πυκνές συλλογές δεδομένων προτείνεται μια πραγματική δεντρική προβολή από κάτω προς τα επάνω και ένα συμπιεσμένο δέντρο αποτελεσμάτων. Επιπρόσθετα της παρουσίασης του CLOSET+ γίνεται και αναφορά σε συμπεράσματα από τη συγκριτική μελέτη:

58 - Για τη εξόρυξη συχνών συνόλων αντικειμένων προτείνεται η εργασία πάνω στα Κλειστά Συχνά Σύνολα (CFI), καθότι αυτά περιέχουν όλη τη πληροφορία συγκεντρωμένη. - Αναφέρεται ότι με τη χρήση κατακόρυφης διαμοίρασης απαιτείται περισσότερη μνήμη συγκριτικά με τη χρήση δενδρικών δομών, όπως του FPtree. - Για υψηλά αποδοτική εξόρυξη συχνών συνόλων αντικειμένων συστήνεται η χρήση προσαρμοστικών αλγορίθμων που λαμβάνουν υπ όψιν την πυκνότητα των μοτίβων. Εικόνα 27: Δέντρο αποτελεσμάτων με δύο επίπεδα δεικτοδότησης Αλγόριθμος Patricia Στην εργασία «Mining Frequent Itemsets using Patricia Tries» [24] οι Andrea Pietracaprina και Dario Zandolin παρουσιάζουν τον PatriciaMine, έναν αλγόριθμο εξόρυξης συχνών συνόλων αντικειμένων με αναζήτηση κατά βάθος.

59 Εικόνα 28: Ο ψευδοκώδικας του αλγορίθμου Patricia. Οι βασικές προσθέσεις του νέου αλγορίθμου σε προϋπάρχοντες, όπως οι Eclat, FPtree και DCI, συνοψίζονται στα ακόλουθα δύο σημεία: - Χρήση ενός συμπιεσμένου δέντρου, του Patricia tree, που αναπαριστά τη βάση δεδομένων σε ελάχιστο χώρο χωρίς να χρειάζεται διαφορές τακτικές για αραιές ή πυκνές βάσεις, όπως προηγούμενοι αλγόριθμοι. - Σημαντικές βελτιστοποιήσεις όπως ο ευριστικός αλγόριθμος για την ελαχιστοποίηση των φυσικών προβολών της βάσης κατά τη διάρκεια τρεξίματος, μηχανισμοί ομαδοποίησης των όμοιων συνόλων αντικειμένων και τεχνικές δεντρικής αναζήτησης αποφεύγοντας πολλαπλές επισκέψεις σε κόμβους.

60 Εικόνα 29: Αλγόριθμος patricia: a. Παράδειγμα βάσης συναλλαγών, b. Κλασικό δέντρο αναπαράστασης της βάσης, c. Το αντίστοιχο δέντρο Patricia Αλγόριθμος CFP-Tree Μια νέα δομή δεδομένων που χρησιμοποιεί το σκληρό δίσκο για αποθήκευση και επιτυγχάνει μεγάλα ποσοστά συμπίεσης παρουσιάζουν οι Guimei Liua, Hongjun Lua και Jeffrey Xu Yu στο [25] μαζί με αλγορίθμους για εξόρυξη συχνών συνόλων και άλλων λειτουργιών πάνω στη νέα δομή. Το CFP-tree παρέχει τη δυνατότητα σε διαφορετικά σύνολα να μοιράζονται κοινά προθέματα αλλά και επιθέματα, επιτυγχάνοντας με τον τρόπο αυτό μεγάλα ποσοστά συμπίεσης. Επιπρόσθετα του αλγορίθμου κατασκευής του CFP-tree παρουσιάζονται στην εργασία και αλγόριθμοι συντήρησης του δέντρου κατά την αφαίρεση ή πρόσθεση συχνών συνόλων καθώς και αλγόριθμοι που απαντούν στους ακόλουθους τύπους ερωτημάτων:

61 Εικόνα 30: Παράδειγμα βάσης δεδομένων, πίνακα συχνών συνόλων και του αντίστοιχου CFPtree. - Εμφάνισης συχνών συνόλων που οι τιμές υποστήριξής τους είναι μεγαλύτερες ενός προκαθορισμένου κατωφλίου υποστήριξης ( minimum support constraints query). - Εμφάνισης των συχνών συνόλων που εμπεριέχουν ένα προκαθορισμένο σετ συνόλων (superset query). - Εμφάνισης των συχνών συνόλων που είναι υποσύνολα ενός δεδομένου συνόλου (subset query). - Εμφάνισης των συχνών υποσυνόλων που περιέχουν τουλάχιστον m κοινά αντικείμενα με ένα δεδομένων σύνολο (similarity query). - Εμφάνισης των συχνών συνόλων αντικειμένων που πληρούν κάποιο συνδυασμό των προ-αναφερθέντων κριτηρίων (multiple constraints query).

62 Εικόνα 31: Ο ψευδοκώδικας του αλγορίθμου κατασκευής CFP-tree Αλγόριθμος FP-Array και FP-Close Οι Goesta Grahne και Jianfei Zhu παρουσιάζουν στο [26] μια καινοτόμα τεχνική, ονόματι FP-array, η οποία εφαρμόζεται συμπληρωματικά και επιτυγχάνει πολύ καλύτερη απόδοση στην διαδικασία αναζήτησης σε ένα FP-tree συγκριτικά με τους προηγούμενους αλγορίθμους βελτιώνοντας με τον τρόπο αυτό χρονικά την εξόρυξη συχνών συνόλων αντικειμένων.

63 Εικόνα 32: Παράδειγμα βάση συναλλαγών, του αντίστοιχης ταξινόμησης με βάση την υποστήριξη και το FP δέντρο, καθώς και του τριγωνικού FP-array. Επιπλέον της νέας δομής αναλύουν ένα βελτιωμένο αλγόριθμο ανάπτυξης του FPtree, FP-growth*, και παρουσιάζουν παραλλαγές του FP-tree (MFI-tree, CFI-tree) και του βασικού αλγορίθμου (FPmax, FPclose) για την εξόρυξη μέγιστων και κλειστών συχνών συνόλων αντικειμένων. Αλγόριθμοι Κατακόρυφης Διαμοίρασης Στη συνέχεια παρουσιάζονται χρονολογικά οι βασικότεροι αλγόριθμοι που χρησιμοποιούν κατακόρυφη διαμοίραση.

64 2001 Αλγόριθμος MAFIA Οι Doug Burdick, Manuel Calimlim και Johannes Gehrke παρουσιάζουν στο [18] τον MAFIA, ένα νέο αλγόριθμο εξόρυξης μέγιστων συχνών συνόλων αντικειμένων που είναι ιδιαίτερα αποδοτικός σε βάσεις συναλλαγών με μεγάλα σύνολα αντικειμένων. Σημαντικό χαρακτηριστικό του είναι η χρήση κατακόρυφης διαμοίρασης για την αναπαράσταση της βάσης συναλλαγών. Εικόνα 33: Ο ψευδοκώδικας του αλγορίθμου MAFIA. Στην εργασία αυτή περιλαμβάνεται, επίσης, η ανάλυση των ακόλουθων συμπληρωματικών αλγορίθμων: - Ο αλγόριθμος Simple που διατρέχει το δέντρο με αναζήτηση κατά βάθος για την απομόνωση των υποψήφιων μέγιστων συχνών συνόλων. - Ο αλγόριθμος PEP που μικραίνει το σύνολο των υποψηφίων μέγιστων συχνών συνόλων εφαρμόζοντας τεχνικές κλαδέματος συγκρίνοντας συγγενικούς κόμβους. - Ο αλγόριθμος FHUT που και αυτός μικραίνει το σύνολο υποψήφιων μέγιστων συχνών συνόλων εφαρμόζοντας τεχνικές κλαδέματος ελέγχοντας κοινά υπερσύνολα. - Ο αλγόριθμος HUTMFI που υπολογίζει την υποστήριξη των συχνών συνόλων.

65 - Ο αλγόριθμος Project που συμπιέζει τους δυαδικούς πίνακες (bitmaps) για εξοικονόμηση χώρου Αλγόριθμος GenMax Στο [19] οι Karam Gouda και Mohammed J Zaki παρουσιάζουν τον GenMax, ένα αλγόριθμο εξόρυξης μέγιστων συχνών συνόλων αντικειμένων. Ο αλγόριθμος αυτός χρησιμοποιεί μια καινοτόμα τεχνική, την προοδευτική εστίαση (progressive focusing) για τον έλεγχο μεγιστότητας, καθώς και μια διαδικασία διάδοσης διαφορών συνόλων (diffset propagation) για το γρήγορο υπολογισμό συχνοτήτων εμφάνισης αντικειμένων. Εικόνα 34: Ο ψευδοκώδικς του αλγορίθμου εξόρυξης μέγιστων συχνών συνόλων με προοδευτική εστίαση (progressive focusing). Στον GenMax αλγόριθμο χρησιμοποιείται η μέθοδος αναζήτησης με οπισθοχώρηση (backtracking search) για την απαρίθμηση των μέγιστων συνόλων αντικειμένων. Η μέθοδος αυτή επιλέγεται σε πολλά συνδυαστικά προβλήματα στα οποία η λύση μπορεί να αναπαρασταθεί ως ένα σύνολο {, όπου κάθε επιλέγεται από ένα ορισμένο πιθανό σύνολο. Αρχικώς το είναι κενό και επεκτείνεται με ένα στοιχείο κάθε φορά καθώς διασχίζεται ο χώρος αναζήτησης, με αποτέλεσμα το

66 μέγεθος του αναζήτησης. να είναι ίσο με το βάθος του αντίστοιχου κόμβου στο δέντρο Δεδομένης μιας μερικής λύσης μήκους, {, οι πιθανές τιμές για το επόμενο στοιχείο προέρχονται από ένα υποσύνολο που καλείται συνδυαστικό σύνολο. Εάν το, τότε οι κόμβοι στο υπο-δέντρο με ρίζα το { δεν θα συμμετάσχουν στον αλγόριθμο οπισθοχώρησης, εφαρμόζοντας με τον τρόπο αυτό «κλάδεμα» (pruning), από τη στιγμή που κάποια μονοπάτια του δέντρου αποφεύγονται. Εικόνα 35: Ο ψευδοκώδικας του αλγορίθμου GenMax. Εικόνα 36: Ο ψευδοκώδικας του αλγορίθμου συνδυασμού συχνών αντικειμένων με διάδοση διαφορών (diffset propagation).

67 2005 Σύστημα Ανάκτησης Πληροφοριών Στο [27] οι Ιωάννης Κουρής, Χρήστος Μακρής και Αθανάσιος Τσακαλίδης παρουσιάζουν μια πρόταση για ένα on-line σύστημα που μπορεί να παράγει κανόνες συσχέτισης. Η βάση του συστήματος είναι το ευρετήριο που δημιουργούν χρησιμοποιώντας αντεστραμμένα αρχεία. Εικόνα 37: Παράδειγμα βάσης συναλλαγών με το αντίστοιχο ευρετήριο (χωρίς και με συμπίεση). Για την αντιμετώπιση του προβλήματος ελλιπούς χώρου σε περιπτώσεις μεγάλου πλήθους συναλλαγών, παρουσιάζουν μια μέθοδο συμπίεσης του ευρετηρίου παρέχοντας τη δυνατότητα για αποθήκευσή του στη προσωρινή μνήμη, ώστε οι υπολογιστικοί χρόνοι για τις on-line ερωτήσεις να είναι αρκούντως μικροί.

68 2005 Αλγόριθμος Charm Οι Mohammed J Zaki και Ching-Jui Hsiao, αναγνωρίζοντας το πληροφοριακό περιεχόμενο και τη χρησιμότητα του συνόλου των κλειστών συνόλων συχνών αντικειμένων, παρουσιάζουν στο [28] τον CHARM. Ο αλγόριθμος αυτός δομώντας τη βάση σε μια μορφή συμπιεσμένης κατακόρυφης διαμοίρασης με χρήση diffset [29] απαριθμεί τα κλειστά συχνά σύνολα αξιοποιώντας ένα διπλό δέντρο αντικειμένων-αναγνωριστικών συναλλαγών και μια γρήγορη υβριδική τεχνική αναζήτησης. Για την απομάκρυνση μη κλειστών συνόλων από τα υποψήφια υλοποιείται ένας αλγόριθμος ελέγχου με χρήση πίνακα κατακερματισμού (hash table). Εικόνα 38: Ο ψευδοκώδικας του αλγορίθμου CHARM.

69 Επιπρόσθετα παρουσιάζεται και ένας αλγόριθμος παραγωγής κανόνων συσχέτισης και παρουσίασής τους, ο CHARM-L Αλγόριθμος DCI-CLOSED Οι Claudio Lucchese, Salvatore Orlando και Raffaele Perego παρουσιάζουν στο [30] ένα νέο αλγόριθμο που χρησιμοποιεί επίσης κατακόρυφη διαμοίραση, τον DCI_CLOSED. Εικόνα 39: Ο ψευδοκώδικας του DCI_CLOSED αλγορίθμου. Τα βασικά βήματα του DCI_CLOSED αλγορίθμου είναι η εφαρμογή κατακόρυφης διαμοίρασης και η δημιουργία πίνακα συνόλων αναγνωριστικών συναλλαγών, ο

70 έλεγχος διπλότυπων και ο υπολογισμός της κλειστότητας. Συμπληρωματικά εφαρμόζονται βελτιστοποιήσεις όπως η προβολή εξαρτημένων συνόλων, η απομάκρυνση συνόλων με υψηλή ομοιότητα με άλλα υποψήφια και η επαναχρησιμοποίηση μερικών ενδιάμεσων αποτελεσμάτων από προηγούμενα βήματα κατά τον έλεγχο κλειστότητας Memory-based online pattern Στο [31] οι Mei Qiao και Degan Zhang μελετούν το πρόβλημα της πραγματικού χρόνου αναζήτησης προτύπων και προτείνουν ένα καινοτόμο αλγόριθμο που κατασκευάζει ένα δυαδικό πίνακα (bitmap) για την αναπαράσταση των κλειστών συχνών συνόλων αντικειμένων, με στόχο - βασικά - την εξοικονόμηση αποθηκευτικού χώρου. Επιπρόσθετα, για την αντιστοίχιση των συχνών συνόλων αντικειμένων στα κατάλληλα κλειστά σύνολα χρησιμοποιούνται δευτερεύοντες δυαδικοί πίνακες με στόχο και πάλι την ελαχιστοποίηση χώρου, αλλά και τη χρήση γρήγορων δυαδικών πράξεων. Εικόνα 40: Παράδειγμα βάσης συναλλαγών (πάνω αριστερά), του αντίστοιχου πίνακα κλειστών συνόλων (πάνω δεξιά) και του δυαδικού πίνακα που προκύπτει (κάτω).

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

72 2012 Αλγόριθμος DBV-Miner Μια από τις τελευταίες προσπάθειες εκμετάλλευσης της κατακόρυφης διαμοίρασης παρουσιάζεται στην εργασία [32] από τους Bay Vo, Tzung-Pei Hong και Bac Le, που προτείνουν τον αλγόριθμο DBV-Miner. Εικόνα 42: Παράδειγμα δυαδικού πίνακα και συμπίεσής του. Ο αλγόριθμος αυτός χρησιμοποιεί δυναμικούς δυαδικούς πίνακες για τη συμπίεση της βάσης συναλλαγών έπειτα από μία μόνο σάρωσή της. Στη συνέχεια κατασκευάζει ένα DBV-tree έχοντας ως δομικά στοιχεία τους δυαδικούς πίνακες και υπολογίζει τα κλειστά συχνά υποσύνολα εφαρμόζοντας δυαδικές πράξεις όπως AND, OR. Επιπλέον, για το γρήγορο υπολογισμό των τιμών υποστήριξης για κάθε σύνολο αντικειμένων χρησιμοποιούνται πίνακες αντιστοιχίας που δημιουργούνται μαζί με τους δυαδικούς πίνακες. Οι τεχνικές αυτές έχουν ως αποτέλεσμα ο DBV-Miner να αποδίδει καλύτερα σε σχέση με άλλους αλγορίθμους με μικρότερη κατανάλωση μνήμης και υπολογιστικό κόστος.

73 Εικόνα 43: Ο ψευδοκώδικας του DBV-Miner αλγορίθμου. Υβριδικοί Αλγόριθμοι Στις παρακάτω ενότητες παρουσιάζονται κάποιοι αλγόριθμοι που συνδυάζουν τα χαρακτηριστικά της κατακόρυφης και οριζόντιας διαμοίρασης προσπαθώντας να αξιποιήσουν τα θετικά σημεία και των δύο τεχνικών Αλγόριθμος Eclat Ένας από τους πρώτους αλγορίθμους που χρησιμοποίησε την κατακόρυφη και οριζόντια διαμοίραση είναι ο Eclat, που προτάθηκε από τους Mohammed Javeed Zaki, Srinivasan Parthasarathy, Mitsunori Ogihara και Wei Li στο [33]. Στην εργασία αυτή παρουσιάζονται, επίσης, γρήγοροι αλγόριθμοι για αναζήτηση κανόνων

74 συσχέτισης, νέα σχήματα ομαδοποίησης συχνών συνόλων και τεχνικές εύρεσης συχνών συνόλων. Πιο συγκεκριμένα, αναλύονται οι παρακάτω αλγόριθμοι. Όλοι τους υπολογίζουν τα συχνά σύνολα αντικειμένων εφαρμόζοντας παραλλαγές τεχνικών αναζήτησης και ομαδοποίησης: - Ο ClusterApr χρησιμοποιεί οριζόντια διαμοίραση και ομαδοποίηση με κλίκες. - Ο Eclat εφαρμόζει κατακόρυφη διαμοίραση και χρησιμοποιεί ομαδοποίηση κλάσεων και αναζήτηση πίνακα από κάτω προς τα πάνω. - Ο MaxEclat εφαρμόζει κατακόρυφη διαμοίραση και κάνει χρήση ομαδοποίησης με ισοδύναμες κλάσεις και υβριδικής αναζήτησης. Βρίσκει επίσης τα μέγιστα συχνά σύνολα. - Ο Clique χρησιμοποιεί κλίκες με μέγιστους υπερ-γράφους και αναζήτηση από κάτω προς τα επάνω. - Ο MaxClique, επίσης, χρησιμοποιεί κλίκες με μέγιστους υπερ-γράφους αλλά με υβριδικής αναζήτησης. Βρίσκει, επιπλέον, τα μέγιστα συχνά σύνολα. - Ο TopDown χρησιμοποιεί κλίκες με μέγιστους υπερ-γράφους και αναζήτηση από επάνω προς τα κάτω Αλγόριθμος kdci Οι Claudio Lucchese, Salvatore Orlando, Paolo Palmerini, Raffaele Perego και Fabrizio Silvestri παρουσιάζουν στο [34] μια επέκταση του αλγορίθμου DCI [35]. Ο νέος αλγόριθμος, kdci, βασίζεται σε μια καινοτόμα μέθοδο καταμέτρησης υποστήριξης συνόλων και μπορεί εύκολα να κλιμακωθεί για εφαρμογή σε μεγάλες βάσεις δεδομένων.

75 Εικόνα 44: Ο ψευδοκώδικας του αλγορίθμου kdci. Μια από τις καινοτόμες τεχνικές που χρησιμοποιεί ο kdci είναι η συμπίεση των συνόλων αντικειμένων έπειτα από λεξικογραφική ταξινόμηση.

76 Εικόνα 45: Παράδειγμα συμπίεσης των συνόλων αντικειμένων από τον kdci. Επιπρόσθετα, ο kdci προσαρμόζεται ανάλογα με τη πυκνότητα της βάσης δεδομένων, η οποία υπολογίζεται με ευριστικό αλγόριθμο. Σε περιπτώσεις αραιών βάσεων χρησιμοποιεί τεχνικές προβολής και κλαδέματος, ενώ σε πυκνές βάσεις εφαρμόζοντας κατακόρυφη διαμοίραση ανακατατάσσει τα σύνολα ομαδοποιώντας τα όμοια. Για τον καθορισμό των τιμών υποστήριξης καθενός συνόλου αντικειμένων, οι ερευνητές χρησιμοποιούν τον αλγόριθμο PASCAL από τα θεωρητικά αποτελέσματα που παρουσιάστηκαν στην εργασία «Mining frequent patterns with counting inference» των Y. Bastide, R. Taouil, N. Pasquier, G. Stumme, και L. Lakhal [36]. Ο αλγόριθμος αυτός υπολογίζει την υποστήριξη των συνόλων, όχι με καταμέτρηση των συχνοτήτων τους, αλλά από τις ελάχιστες τιμές υποστήριξης των υποσυνόλων τους έπειτα από ομαδοποίηση εξοικονομώντας με τον τρόπο αυτό υπολογιστικό κόστος.

77 Εικόνα 46: Παράδειγμα ομαδοποίησης συνόλων αντικειμένων με βάση τα στοιχεία κλειδιά (key_elements) του αλγορίθμου kdci (PASCAL).

78 4. ΠΡΟΤΑΣΗ ΝΕΟΥ ΑΛΓΟΡΙΘΜΟΥ Στις ακόλουθες ενότητες παρουσιάζεται ο προτεινόμενος αλγόριθμος, ο MFI-drive. Στην αρχή περιγράφονται οι ανάγκες που προσπαθεί να καλύψει με βάση την υπάρχουσα αλγοριθμική και ερευνητική κατάσταση και δραστηριότητα στον τομέα εξόρυξης δεδομένων Συχνών Συνόλων Αντικειμένων. Επιπλέον, παρατίθεται η κεντρική ιδέα του αλγορίθμου και οι βασικοί στόχοι του. Στη συνέχεια, παρουσιάζονται τα κυριότερα βήματα του αλγορίθμου, συνοδευόμενα από τα αντίστοιχα παραθέματα ψευδοκώδικα καθώς και από παραδείγματα. Σε κάθε στάδιο αναλύεται η λογική που προτιμήθηκε για την υλοποίηση και τα αναμενόμενα προτερήματά της. Επιπρόσθετα, αναφέρονται όλες οι τεχνικές που χρησιμοποιήθηκαν για την επίτευξη καλύτερου χρόνου εκτέλεσης, λιγότερης δεσμευμένης μνήμης καθώς και καλύτερη διαχείρισης αυτής. Στο τέλος του κεφαλαίου αναλύονται λεπτομερώς ορισμένα από τα προαναφερθέντα βασικά σημεία των επιμέρους αλγορίθμων, τα οποία οδήγησαν σε καλύτερη απόδοση και αναδείχτηκαν σε καταλύτες της συνολικής προσπάθειας. 4.1 ΚΕΝΤΡΙΚΗ ΙΔΕΑ Από την υπάρχουσα ερευνητική δραστηριότητα παρατηρείται μια επικέντρωση σε αλγορίθμους παραγωγής και δομές κατασκευής των Κλειστών Συχνών Συνόλων Αντικειμένων (CFI) και Μέγιστων Συχνών Συνόλων Αντικειμένων (MFI), παραβλέποντας τον τομέα της αποδοτικής χρήσης τους. Στην εργασία αυτή δίνεται βαρύτητα στο χρηστικό πεδίο της εξόρυξης δεδομένων επιδιώκοντας την καλύτερη εκμετάλλευση των δομών MFI και CFI. Ο αλγόριθμος MFI-Drive, όπως δηλώνει και το όνομά του, εκμεταλλεύεται το σετ Μέγιστων Συχνών Συνόλων Αντικειμένων (MFI) για να οδηγήσει σε αποδοτικότερη απάντηση ερωτημάτων συχνών συνόλων, όπως τα ερωτήματα υπερσυνόλου,

79 υποσυνόλου κ.α. Η κεντρική ιδέα είναι η προσπάθεια μείωσης του χώρου αναζήτησης απορρίπτοντας αχρείαστες πληροφορίες και δεδομένα. Η προσπάθεια αυτή επιτυγχάνεται με τη χρήση του συνόλου MFI αντί του CFI, το οποίο περιλαμβάνει συγκεκριμένα αντικείμενα του CFI και είναι αρκετά μικρότερο στο μέγεθος από αυτό. Υπενθυμίζεται ότι ένα σύνολο αντικειμένων ανήκει στο MFI εάν και μόνο εάν είναι συχνό και δεν υπάρχει άλλο συχνό σύνολο, υπερσύνολο αυτού. Με βάση αυτό τον ορισμό το MFI είναι υποσύνολο του CFI και αναλόγως της βάσης δεδομένων συναλλαγών μπορεί να είναι αρκετά μικρότερο σε ποσοστά μεγαλύτερα του 40%. Επιτυγχάνοντας μια τέτοιου μεγέθους μείωση του χώρου αναζήτησης για τα ερωτήματα, αναμένεται σημαντική βελτίωση του χρόνου απάντησής τους, ιδιαίτερα εάν ληφθεί υπ όψιν το υπολογιστικό κόστος της βασικής διεργασίας, που είναι η παραγωγή όλων των δυνατών συχνών συνόλων αντικειμένων από ένα δεδομένο σύνολο αντικειμένων. 4.2 ΒΗΜΑΤΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ Στο κεφάλαιο αυτό παρουσιάζονται τα βασικά βήματα του αλγορίθμου. Για την υλοποίηση προτιμήθηκε η γλώσσα προγραμματισμού C++, η οποία προσφέρει, μέσω των standard libraries και των containers, πολύτιμα εργαλεία για την επίτευξη των στόχων με ικανοποιητική απόδοση. Για τη μελέτη της χρήσης των MFI στην απάντηση ερωτημάτων, αρχικά κατασκευάζεται από τη βάση δεδομένων συναλλαγών η βασική δομή που χρησιμοποιείται καθ όλη την υλοποίηση και έχει δανειστεί από τον τομέα ανάκτησης πληροφοριών το ανεστραμμένο αρχείο (Invert Index File). Η επιλογή αυτή έγινε για να αποφευχθούν πολλαπλές δαπανηρές σαρώσεις της βάσης δεδομένων, καθώς και ικανοποιητικός συνδυασμός συμπίεσης της πληροφορίας και ευχρηστίας της. Στην υλοποίηση αυτή το IIF κατασκευάζεται με χρήση του C++ map container στο οποίο χρησιμοποιούνται ως κλειδί το σύνολο αντικειμένων και ως τιμές η υποστήριξη ή αλλιώς συχνότητα αυτού καθώς και ο δυαδικός πίνακας που

80 καταγράφει τις συναλλαγές στις οποίες συναντάται το σύνολο αντικειμένων. Στην συνέχεια θα αναλυθούν οι λόγοι αυτής της επιλογής. Εικόνα 47: Ορισμός του τρόπου υλοποίησης του IIF. Έπειτα από την κατασκευή του IIF, απομακρύνονται τα σύνολα αντικειμένων που δεν πληρούν το προκαθορισμένο κριτήριο υποστήριξης και με βάση τα προκριθέντα σύνολα παράγεται το σύνολο CFI, το οποίο εσωτερικά χρησιμοποιεί τον ίδιο τύπο δομής του ανεστραμμένου αρχείου με το map container. Η παραγωγή αυτή γίνεται σταδιακά, με συγκεκριμένη σειρά, εξαρτώμενη από την υποστήριξη καθενός συνόλου αντικειμένων 3. Μετά την ολοκλήρωση του CFI, αυτό χρησιμοποιείται στην παραγωγή του συνόλου MFI, με την οποία και τελειώνει το στάδιο κατασκευής των δομών με τις αναγκαίες πληροφορίες. Η εύρεση όλων των Μέγιστων Συχνών Συνόλων Αντικειμένων γίνεται και πάλι χρησιμοποιώντας ως βασική δομή το ανεστραμμένο αρχείο με την ίδια 3 περισσότερες λεπτομέρειες δίνονται στην αντίστοιχη παράγραφο παρακάτω.

81 μορφή (map container) και σταδιακά, για να διασπαστεί η πολυπλοκότητα και να επιταχυνθεί η διαδικασία. Στο τελικό στάδιο υλοποιούνται τα ερωτήματα συχνών συνόλων αντικειμένων που αποδεικνύουν την διαφορά στην απόδοση μεταξύ χρήσης του CFI και του MFI. Τα ερωτήματα αυτά είναι η εύρεση υπoσυνόλου (subset query), η εύρεση υπερσυνόλου (superset query) και η εύρεση ομοιότητας (similarity query). Εικόνα 48: Ο ψευδοκώδικας της συνάρτησης main. Κατασκευή της βασικής δομής Invert Index File (IIF) Για την κατασκευή του ανεστραμμένου αρχείου (IIF) από τη βάση δεδομένων συναλλαγών έπρεπε αρχικά να γίνει η κατάλληλη επιλογή για τον τύπο δεδομένων που θα το αναπαριστούσε. Αναγνωρίζοντας την ανάγκη διασφάλισης της μοναδικότητας των συνόλων αντικειμένων, επιλέχθηκε μια μορφή δεδομένων που εγγυάται τη μοναδικότητα και παρέχει, επίσης, λεξικογραφική ταξινόμηση στα σύνολα αυτά (κλειδιά), η οποία μπορεί να αξιοποιηθεί ακολούθως. Επιπρόσθετα,

82 μαζί με το σύνολο αντικειμένων-κλειδί, επιπλέον πληροφορίες πρέπει να αποθηκευτούν, όπως η τιμή υποστήριξης του συνόλου ή αλλιώς συχνότητα, που δηλώνει τον αριθμό εμφανίσεων αυτού στη βάση συναλλαγών, καθώς και η πληροφορία για τις συναλλαγές που το περιέχουν. Με βάση αυτές τις προϋποθέσεις επιλέχθηκε το C++ map container, όπως φαίνεται και στην Εικόνα 47. Η δομή αυτή παρέχει για την εισαγωγή και τη διαγραφή αντικειμένων λογαριθμική πολυπλοκότητα στη χειρότερη περίπτωση, αλλά καταμερισμένα (amortized) σταθερή, εάν δοθεί η θέση εισαγωγής, ενώ για την εύρεση στοιχείου η πολυπλοκότητα είναι πάντα λογαριθμική [37]. Για την αναπαράσταση των συνόλων αντικειμένων χρησιμοποιήθηκε ο τύπος δεδομένων std::string, καθώς με αυτό μπορούμε να χειριστούμε αλφαριθμητικά δεδομένα. Για τις τιμές υποστήριξης χρησιμοποιήθηκε unsigned integer, αφού δεν αναμένουμε αρνητικές τιμές, ενώ τέλος για το δυαδικό πίνακα συναλλαγών χρησιμοποιήθηκε και πάλι std::string και όχι άλλος δυαδικός τύπος, όπως bit vector ή bitset, γιατί δεν είχαν την ευελιξία δυναμικού μεγέθους, αποδοτικής συνένωσης δύο συνόλων ή αποκοπής τμημάτων τους. Εικόνα 49: Ο ψευδοκώδικας της κατασκευής του IIF. Έχοντας αποφασίσει τον τύπο δεδομένων για την κατασκευή του IIF, σαρώνεται η βάση μια φορά μόνο. Στη συνέχεια, απομακρύνονται τα αντικείμενα που δεν

83 ικανοποιούν το προκαθορισμένο κατώφλι υποστήριξης και τελικά συμπιέζεται η πληροφορία σχετικά με τις συναλλαγές που περιέχει το κάθε αντικείμενο. Η διαδικασία συμπίεσης παρουσιάζεται παρακάτω στην ενότητα 4.3 Βελτιστοποιήσεις, καθώς δεν είναι βασικό κομμάτι της διαδικασίας και απλώς παρέχει εξοικονόμηση χώρου. Ακολουθεί ένα παράδειγμα κατασκευής IIF από μια μικρή βάση δεδομένων, θεωρώντας ως κατώφλι υποστήριξης την τιμή τρία (3): Εικόνα 50: Παράδειγμα κατασκευής IIF με κατώφλι υποστήριξης 3. Παρατηρούμε ότι αντικείμενα με υποστήριξη μικρότερη του τρία (3), όπως το 32 στην όγδοη (8) συναλλαγή, δεν εμφανίζονται στο IIF, καθώς επίσης, ότι τα αντικείμενα στο πρώτο πεδίο του IIF είναι διατεταγμένα λεξικογραφικά. Στο δεύτερο πεδίο του IIF είναι αποθηκευμένες οι τιμές υποστήριξης και στο τρίτο πεδίο οι δυαδικοί πίνακες που αναπαριστούν τις συναλλαγές στις οποίες το αντίστοιχο αντικείμενο εμφανίζεται. Παραδείγματος χάρη, το αντικείμενο 4 έχει υποστήριξη 3 και εμφανίζεται στην τρίτη, έκτη και όγδοη συναλλαγή με τους άσους στα αντίστοιχα πεδία

84 Παραγωγή του συνόλου Κλειστών Συχνών Συνόλων Αντικειμένων (CFI) Για την παραγωγή των Κλειστών Συχνών Συνόλων Αντικειμένων (CFI) πρέπει για κάθε αντικείμενο που περιέχεται στο IIF να παραχθούν και να ελεγχθούν προοδευτικά όλοι οι δυνατοί συνδυασμοί με τα υπόλοιπα αντικείμενα, ανεξαρτήτως σειράς και χωρίς επαναλήψεις. Εάν σε κάποιο στάδιο όπου το αντικείμενο βρίσκεται σε ένα συχνό σύνολο αντικειμένων μεγέθους Ν, προκύψει ένας νέος συνδυασμός μεγέθους Ν+1, ο οποίος δεν είναι συχνός, τότε το μονοπάτι αυτών των συνδυασμών παύει να ελέγχεται, διότι σύμφωνα και με τον Apriori αλγόριθμο δεν μπορεί να προκύψει συχνό υπερσύνολο. Παραδείγματος χάρη, για το παράδειγμα στην Εικόνα 50 το αντικείμενο 154 εάν συνδυαστεί με το 10 παράγει το σύνολο αντικειμένων (2-itemset) με υποστήριξη τρία (3), το οποίο είναι συχνό. Στη συνέχεια, εάν συνδυαστεί με το αντικείμενο 49, τότε το 3-itemset που προκύπτει, , έχει υποστήριξη ένα, μικρότερη από το κατώφλι και επομένως απορρίπτεται και παύει η περαιτέρω ανάπτυξη και έλεγχος για το 3-itemset Προσπαθώντας να αποφευχθούν όσο πιο γρήγορα τα μονοπάτια ελέγχου που οδηγούν σε μη συχνά σύνολα αντικειμένων, η παραγωγή συνδυασμών ξεκινάει από το αντικείμενο με τη μικρότερη υποστήριξη και προχωρά στα επόμενα αντικείμενα ακολουθώντας αύξουσα συχνοτική σειρά (σειρά 8 στην Εικόνα 48). Το πρώτο βήμα είναι η δημιουργία και ο έλεγχος των δυνατών συχνών 2-itemsets. Τα σύνολα αυτά τα ονομάζουμε pivot itemsets, καθώς πάνω σε αυτά χτίζονται όλοι οι ακόλουθοι συνδυασμοί.

85 Εικόνα 51: Ο ψευδοκώδικας της κατασκευής των pivot itemsets (2-itemsets). Στη συνέχεια, εάν προκύψουν για ένα αντικείμενο παραπάνω από ένα pivot itemsets, αυτά συνδυάζονται για την παραγωγή όλων των δυνατών συνόλων αντικειμένων εφόσον σε κάθε στάδιο τα προϊόντα ικανοποιούν το κατώφλι υποστήριξης. Τα N-itemsets που προκύπτουν ονομάζονται sub pivot itemsets και ανανεώνονται σε κάθε βήμα, μέχρις ότου να εξαντληθούν και να ελεγχθούν όλοι οι συνδυασμοί. Εικόνα 52: Ο ψευδοκώδικας της παραγωγής των sub pivot itemsets (N-itemsets). Έχοντας οργανώσει αποδοτικά τον τρόπο δημιουργίας των συνδυασμών συνόλων αντικειμένων, γίνεται έλεγχος σχετικά με την κλειστότητα του συνόλου. Σύμφωνα με τον ορισμό της, ένα σύνολο είναι κλειστό συχνό σύνολο εάν και μόνο εάν δεν

86 υπάρχει συχνό υπερσύνολό του με την ίδια υποστήριξη. Με βάση αυτόν τον ορισμό, σε κάθε βήμα παραγωγής συχνού υπερσυνόλου αυτό προσθέτεται στα CFI και γίνεται έλεγχος εάν υπάρχει υποσύνολο στο CFI με την ίδια υποστήριξη. Εάν υπάρχει τότε αυτό απομακρύνεται. Εικόνα 53: Ο ψευδοκώδικας της ενημέρωσης των CFI. Όταν ολοκληρωθεί η αρχική συμπλήρωση του CFI, τότε ταξινομούνται λεξικογραφικά όλα τα αντικείμενα σε κάθε σύνολο αντικειμένων του CFI και στη συνέχεια καλείται μια τελευταία συνάρτηση που ελέγχει για σύνολα με υποστήριξη όμοια με υπερσύνολά τους. Αυτός ο τελευταίος έλεγχος καλύπτει περιπτώσεις όπου πολύ συχνά αντικείμενα εμφανίζονται μαζί σε υπερσύνολα-συνδυασμούς λιγότερο συχνών αντικειμένων σε ύστερα στάδια, με αποτέλεσμα τον εσφαλμένο χαρακτηρισμό τους στο τελικό στάδιο ως κλειστά.

87 Εικόνα 54: Ο ψευδοκώδικας της εκκαθάρισης των CFI από μη κλειστά σύνολα. Στη συνέχεια παρατίθεται το CFI σύνολο για το παράδειγμα της Εικόνα Αρχικά εμφανίζονται τα συχνά pivot itemsets (2-itemsets) για κάθε αντικείμενο. Τα μη συχνά έχουν απομακρυνθεί. Στη συνέχεια, για κάθε περίπτωση όπου υπάρχουν παραπάνω από δύο pivot itemsets, παράγονται όλα τα δυνατά συχνά υπερσύνολα και έτσι προκύπτει η λίστα με τα sub pivot IIF. Έπειτα από τον πρώτο έλεγχο κλειστότητας δημιουργείται μια πρώτη λίστα υποψήφιων συνόλων, η οποία ταξινομείται σε επίπεδο αντικειμένων και μετά ελέγχεται για μια τελευταία φορά. Παρατηρούμε ότι στο παράδειγμα αυτό υπάρχουν στη πρώτη CFI λίστα σύνολα που τελικώς απομακρύνονται, όπως τα 5-10 και Και στις δύο περιπτώσεις τα σύνολα αυτά περιέχονται σε προηγούμενα υπερσύνολα με την ίδια τιμή υποστήριξης, οπότε δεν μπορούν να χαρακτηριστούν ως κλειστά. Ο λόγος 4 Προς το παρόν ας αγνοηθούν τα τρίτα πεδία των εγγραφών που περιέχουν τους συμπιεσμένους δυαδικούς πίνακες συναλλαγών. Τα πεδία αυτά αναλύονται παρακάτω στις βελτιστοποιήσεις.

88 εμφάνισής τους οφείλεται στη μεγάλη υποστήριξη των αντικειμένων 5, 10 και 12 που οδήγησε στην εμφάνιση αυτού του ζεύγους ή τριάδας σε προηγούμενα στάδια, και συγκεκριμένα κατά τον έλεγχο του αντικειμένου 3. Εικόνα 55: Παράδειγμα παραγωγής pivot itemsets, sub pivot itemsets, CFI και ταξινόμησης και εκκαθάρισης των CFI. Παραγωγή του συνόλου Μέγιστων Συχνών Συνόλων Αντικειμένων (MFI) Στο στάδιο αυτό παράγεται το MFI σύνολο από το CFI. Η λογική στην οποία βασίζεται ο αλγόριθμος είναι να απομονωθούν αποδοτικά τα μέγιστα σύνολα. Αγνοώντας την υποστήριξη των συνόλων αντικειμένων απομακρύνονται όλα τα υποσύνολα. Επειδή είναι υπολογιστικά ακριβός ο έλεγχος υποσυνόλων για κάθε σύνολο αντικειμένων στο CFI, σπάμε τη διαδικασία σε δύο επίπεδα εκμεταλλευόμενοι την τοπικότητα των συνόλων αντικειμένων χάρη στη λεξικογραφική τους ταξινόμηση: 1. Έλεγχος όλων των κλειστών συνόλων εάν είναι προθεματικά υποσύνολα των γειτονικών τους. Παραδείγματος χάρη το σύνολο συναντάται γειτονικά στα 10, , , 10-23, , και Αρχικά το 10 απορρίπτεται από την αρχή γιατί βρίσκεται πρώτο στη λίστα, καθώς έχει

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

90 Εικόνα 57: Ο ψευδοκώδικας του ελέγχου διάσπαρτων υποσυνόλων στα υποψήφια MFI. Στην τελική κατάσταση το MFI σύνολο που προκύπτει έχει μόνο τα μέγιστα σύνολα από το CFI και στις περισσότερες των περιπτώσεων μικρότερο μέγεθος από αυτό. Παρακάτω παρουσιάζεται το MFI σύνολο του παραδείγματος. Παρατηρούμε ότι πολλά από τα 1-itemsets έχουν απομακρυνθεί και έχουμε μεγαλύτερο όφελος στα συχνά αντικείμενα. Στην περίπτωση αυτή είχαμε μια μείωση της τάξης του 21%:

91 Εικόνα 58: Το MFI σύνολο του παραδείγματος. Ερωτήματα Συχνών Συνόλων Αντικειμένων Για τη συγκριτική μελέτη χρήσης του συνόλου MFI σε σχέση με το σύνολο CFI υλοποιήθηκαν τρεις τύποι συχνών ερωτημάτων που παρουσιάζονται και σε προαναφερθείσες εργασίες. Βασικό στοιχείο των ερωτημάτων που επωφελούνται από τα MFI είναι η απουσία ανάγκης επίγνωσης ή χρήσης της υποστήριξης των συνόλων αντικειμένων. Και αυτό γιατί κατά την παραγωγή του συνόλου MFI από το CFI η πληροφορία της υποστήριξης κάθε συνόλου αντικειμένων χάνεται και παραμένει μόνο η πληροφορία για τα όρια του CFI, ή αλλιώς για τα μέγιστα συχνά αντικείμενα 5. Βασική παρατήρηση και συνιστώσα για τα ακόλουθα ερωτήματα είναι η ανάγκη εύρεσης συχνών συνόλων αντικειμένων που έχουν κάποια ιδιότητα σε σχέση με 5 Σε κάποιους τύπους ερωτημάτων αυτή η πληροφορία μπορεί να χρησιμοποιηθεί για την επιτάχυνση της εύρεσης αποτελέσματος. Αυτό μπορεί να αποτελέσει αντικείμενο επακόλουθης έρευνας. Περισσότερες λεπτομέρειες στο Κεφάλαιο 7.

92 ορισμένα από τα δεδομένα εισόδου. Η εύρεση όλων των συχνών συνόλων είτε από συγκεκριμένα CFI, είτε από MFI είναι μια ακριβή πράξη γιατί απαιτεί την παραγωγή όλων των δυνατών συνδυασμών από κάποια σύνολα αντικειμένων. Όσο έξυπνος, πρωτοποριακός, αποδοτικός μπορεί να είναι ένας αλγόριθμος παραγωγής συνδυασμών αντικειμένων θα επιτύχει καλύτερα αποτελέσματα αν ξεκινάει από ένα μικρότερο χώρο συνόλων αντικειμένων. Αυτό είναι και το βασικό σημείο το οποίο περιγράφουμε με λεπτομέρεια παρακάτω και παρουσιάζεται και στις μετρήσεις. Ακολουθούν για κάθε τύπο ερωτήματος σύντομη περιγραφή, ο αντίστοιχος ψευδοκώδικας και παραδείγματα. I. Ερώτημα Υποσυνόλου (Subset Query) Το πρώτο ερώτημα που υλοποιήθηκε είναι για την εύρεση υποσυνόλων. Σύμφωνα με τον ορισμό, το ερώτημα υποσυνόλου (subset query) έγκειται στην εύρεση όλων των συχνών αντικειμένων, τα οποία είναι υποσύνολα ενός δεδομένου συνόλου αντικειμένων. Εικόνα 59: Ο ψευδοκώδικας του αλγορίθμου απάντησης του ερωτήματος υποσυνόλου (subset query).

93 Στη συνέχεια δίνονται τα αποτελέσματα για ένα παράδειγμα πάνω στη βάση δεδομένων συναλλαγών, καθώς και τα CFI και τα MFI που χρησιμοποιούνται στις προηγούμενες παραγράφους: Εικόνα 60: Παράδειγμα εκτέλεσης ερωτήματος υποσυνόλου και σύγκριση μεγέθους χώρου αναζήτησης. Στο παράδειγμα αυτό παρατηρούμε ότι για είσοδο , έχουμε δεκατρία διαφορετικά συχνά σύνολα αντικειμένων που αποτελούν υποσύνολα της εισόδου. Αυτό που αξίζει αναφορά, είναι ότι τα ίδια αποτελέσματα προκύψανε από δύο διαφορετικούς χώρους αναζήτησης, με τον μεγαλύτερο, προερχόμενος από τα CFI, να είναι σχεδόν διπλάσιος από τον μικρότερο, που παράχθηκε από τα MFI. Μπορεί στο παράδειγμα αυτό η διαφορά στους χρόνους να είναι αμελητέα λόγω του μεγέθους της βάσης δεδομένων και των επιδόσεων του χρησιμοποιούμενου υπολογιστή, αλλά για μεγέθη βάσεων της τάξεως χιλιάδων ή εκατοντάδων χιλιάδων εγγραφών και αντίστοιχα μεγάλων συνόλων CFI και MFI, η διαφορά είναι αξιοσημείωτη.

94 II. Ερώτημα Υπερσυνόλου (Superset Query) Το επόμενο ερώτημα που μελετήθηκε είναι το ερώτημα υπερσυνόλου (superset query). Το ζητούμενο στην περίπτωση αυτή είναι η εύρεση όλων των συχνών συνόλων αντικειμένων τα οποία είναι υπερσύνολα ενός δεδομένου συνόλου. Ακολουθεί στην Εικόνα 61 ο ψευδο-κώδικας της υλοποίησης του αντίστοιχου αλγορίθμου. Η βασική διαφορά με τον αλγόριθμο για το ερώτημα υποσυνόλου βρίσκεται στη γραμμή δύο, όπου τα MFI επιλέγονται μόνο εάν περιέχουν όλα τα αντικείμενα του συνόλου αντικειμένων της εισόδου. Εικόνα 61: Ο ψευδοκώδικας του αλγορίθμου απάντησης του ερωτήματος υπερσυνόλου (superset query). Για την καλύτερη κατανόηση ακολουθεί ένα παράδειγμα το οποίο εκτελείται πάνω στην ίδια βάση δεδομένων όπως και στις προηγούμενες ενότητες.

95 Εικόνα 62: Παράδειγμα εκτέλεσης ερωτήματος υπερσυνόλου και σύγκριση μεγέθους χώρου αναζήτησης. Στο παράδειγμα αυτό παρατηρούμε ότι χρησιμοποιήθηκαν εννέα σύνολα αντικειμένων από τα CFI και τέσσερα σύνολα από τα MFI, για να παράγουν τα ίδια δεκατέσσερα αποτελέσματα που αποτελούν συχνά υπερσύνολα της εισόδου (12). Και στην περίπτωση αυτή, η διαφορά του χώρου αναζήτησης είναι σημαντική, της τάξεως του 56%. III. Ερώτημα Ομοιότητας (Similarity Query) Το τελευταίο ερώτημα που αναλύθηκε είναι το ερώτημα ομοιότητας (similarity query). Σκοπός στην περίπτωση αυτή είναι η εύρεση όλων των συχνών συνόλων αντικειμένων, τα οποία έχουν ακριβώς m όμοια αντικείμενα με το σύνολο αντικειμένων εισόδου. Το m δίνεται και αυτό στην είσοδο του αλγορίθμου και παίρνει θετικές ακέραιες τιμές μικρότερες από το πλήθος αντικειμένων του συνόλου εισόδου.

96 Ο ψευδοκώδικας του αλγορίθμου απάντησης του ερωτήματος ομοιότητας δίνεται στην Εικόνα 63. Υπάρχουν πολλές ομοιότητες με τον αλγόριθμο απάντησης του ερωτήματος υπερσυνόλου. Βασική πρόσθεση είναι η παραγωγή όλων των δυνατών m-itemsets από το σύνολο αντικειμένων εισόδου και ο πρώτος βρόγχος ο οποίος παράγει για το καθένα από αυτά όλα τα δυνατά συχνά υπερσύνολα. Εικόνα 63: Ο ψευδοκώδικας του αλγορίθμου απάντησης του ερωτήματος ομοιότητας (similarity query). Το ερώτημα αυτό είναι ακριβότερο υπολογιστικά από τα προηγούμενα διότι εμπεριέχει το επιπρόσθετο βήμα της παραγωγής όλων των δυνατών m-itemsets στην αρχή του αλγορίθμου και την εκτέλεση του superset αλγορίθμου για το καθένα. Παρακάτω παρουσιάζεται ένα παράδειγμα για το ερώτημα αυτό.

97 Εικόνα 64: Παράδειγμα εκτέλεσης ερωτήματος ομοιότητας και σύγκριση μεγέθους χώρου αναζήτησης. Στην περίπτωση αυτή παρατηρούμε ότι λόγω του επιπρόσθετου βρόγχου που αναφέραμε υπάρχει επανέλεγχος αρκετών μελών του CFI και MFI. Κατά τη χρήση των CFI χρησιμοποιήθηκαν για την παραγωγή αποτελεσμάτων έντεκα σύνολα αντικειμένων, ενώ από τα MFI μόνο πέντε αποφεύγοντας αρκετές επαναχρήσεις και υπολογιστικό κόστος. 4.3 ΒΕΛΤΙΣΤΟΠΟΙΗΣΕΙΣ Σε αρκετά σημεία της υλοποίησης εφαρμόστηκαν βελτιστοποιήσεις με σκοπό να ελαττωθεί η κατανάλωση μνήμης και η πολυπλοκότητα. Αυτό οδήγησε σε σημαντική μείωση του υπολογιστικού κόστους, η οποία γίνεται προφανής σε περιπτώσεις που οι βάσεις δεδομένων συναλλαγών είναι μεγάλες και όταν πολλά αντικείμενα έχουν σχετικά μεγάλες τιμές υποστήριξης. Η επίτευξη καλύτερης απόδοσης στηρίχτηκε σthn προσεχτική επιλογή και χρήση των τύπων δεδομένων και των δομών που προσφέρει η C++, καθώς και σε τεχνικές που μειώνουν

98 απαιτούμενες συγκρίσεις ή ελέγχους σε διεργασίες που επαναλαμβάνονται όπως στο εσωτερικό βρόγχων. Παρακάτω παρουσιάζονται οι τρείς κυριότερες τεχνικές που επιτυγχάνουν τις σημαντικότερες βελτιώσεις σε καίρια σημεία των αλγορίθμων. Προοδευτική, συχνοτικά ανοδική παραγωγή CFI Μία από τις βασικές απαιτήσεις σε αρκετά σημεία της υλοποίησης είναι η παραγωγή όλων των δυνατών συνδυασμών αντικειμένων, είτε πρόκειται για παραγωγή κλειστών συχνών συνόλων αντικειμένων, είτε για την απάντηση ερωτημάτων. Όντας πρόβλημα με πολυπλοκότητα Ο(n 2 ) έπρεπε να ελαχιστοποιηθούν οι χειρότερες περιπτώσεις και να αποφευχθούν αχρείαστες πράξεις. Στην περίπτωση της παραγωγής των συνόλων CFI για να βελτιωθεί η απόδοση έγινε χρήση κατάλληλης δομής και τεχνικής. Δηλαδή, χρησιμοποιήθηκε ως δομή το map container που προσφέρει η C++, ώστε ανά πάσα στιγμή τα δεδομένακλειδιά να είναι ταξινομημένα λεξικογραφικά, ενώ για την παραγωγή των συνδυασμών αξιοποιήθηκε η τοπικότητα των συνόλων αντικειμένων μέσα στη δομή. Επιπρόσθετα, η όλη διαδικασία παραγωγής των CFI γίνεται σταδιακά ξεκινώντας από το αντικείμενο με τη μικρότερη συχνότητα/υποστήριξη, προχωρώντας προς τα πιο συχνά και αφαιρώντας από τη δεξαμενή διαθέσιμων αντικειμένων όσα έχουν ελεγχθεί. Με τον τρόπο αυτό, τα συχνά αντικείμενα που αναμένετε να έχουν και τους περισσότερους συνδυασμούς ελέγχονται στο τέλος της διαδικασίας, όταν οι διαθέσιμες επιλογές για συνδυασμούς είναι λίγοι. Στην πραγματικότητα δεν αποφεύγονται συνδυασμοί, αλλά καταμερίζονται σε προηγούμενα στάδια, αποφεύγοντας για τα συχνά αντικείμενα πολλαπλούς ελέγχους και δέσμευση πολλής μνήμης.

99 Εικόνα 65: Παράδειγμα παραγωγής pivot-iif, sub-pivot-iif και CFI (με κατώφλι υποστήριξης 3). Στο παραπάνω παράδειγμα παρουσιάζονται τα βήματα παραγωγής των pivot-iif (2- itemsets) από τα συχνά 1-itemsets, των sub-pivot-iif από τα συχνά pivot-iif και τέλος των CFI. Αρχικώς όπως παρατηρούμε, ξεκινώντας από τα συχνά σύνολα στο IIF παράγονται όλα τα δυνατά 2-itemsets (pivot-iif). Η διαδικασία ακολουθεί ανοδική συχνοτική σειρά, αρχίζοντας από το αντικείμενο με τη μικρότερη υποστήριξη, στην περίπτωση αυτή το 154, συνεχίζοντας με το 4 κ.ο.κ., μέχρι το προτελευταίο αντικείμενο, 10. Το τελευταίο αντικείμενο, 12, παραλείπεται καθώς δεν μπορεί να υπάρξει συνδυασμός με ένα μόνο αντικείμενο. Μετά την παραγωγή των pivot-iif επιλέγονται τα συχνά σύνολα σύμφωνα με το κατώφλι υποστήριξης (στην Εικόνα 65 σημαδεμένα με πράσινο), στην περίπτωση αυτή το κατώφλι είναι τρία (3), και εφόσον υπάρχουν δύο και περισσότερα σύνολα αντικειμένων με το ίδιο μέγιστο πρόθεμα (όπως παραδείγματος χάρη τα και που έχουν κοινό μέγιστο πρόθεμα το σύνολο 3-10), τότε αυτά συνδυάζονται για την παραγωγή νέων συνδυασμών μεγαλύτερου μεγέθους. Εάν τα μέγιστα

100 προθέματα δεν είναι ίδια, όπως για τα και που έχουν μέγιστα προθέματα τα 3-10 και 3-12 αντιστοίχως, τότε η διαδικασία συνεχίζεται με την επόμενη προσπάθεια συνδυασμού. Λόγω της ταξινομημένης σειράς αποθήκευσης των συνόλων αντικειμένων μέσα στο map container, παρατηρούμε ότι η προσπάθεια συνδυασμού ενός sub-pivot συνόλου με τα υπόλοιπα δεν διατρέχει όλη τη βάση, αλλά σταματάει εάν βρεθεί άλλο sub-pivot με διαφορετικό πρόθεμα, καθώς όλα τα υπόλοιπα θα έχουν και αυτά διαφορετικό πρόθεμα. Παραδείγματος χάρη, όταν παράγονται οι συνδυασμοί για το 45-12, στην αρχή ελέγχεται το που έχει το ίδιο πρόθεμα, αλλά μετά από αυτό δεν ελέγχεται το γιατί ξεκινάει με διαφορετικό αντικείμενο. Με αυτό τον τρόπο παράγονται όλοι οι δυνατοί συνδυασμοί αντικειμένων. Εάν σε κάποιο στάδιο παραχθεί κάποιο CFI με ίδια αντικείμενα σε διαφορετική σειρά, τότε αυτά απαλείφονται μετά την ταξινόμηση όλων των αντικειμένων στο CFI. Χρήση δυναμικού δυαδικού πίνακα συναλλαγών Για την αποθήκευση της πληροφορίας σχετικά με τις συναλλαγές στις οποίες συναντάται κάθε σύνολο αντικείμενων, χρησιμοποιείται ο τύπος δεδομένων αλφαριθμητικού (string) στον οποίο αποθηκεύονται μηδέν (0) ή ένα (1), ανάλογα με το εάν η αντίστοιχη συναλλαγή περιέχει το σύνολο αντικειμένων ή όχι. Τη δομή αυτή την ονομάζουμε bitstring ή δυαδικό πίνακα συναλλαγών. Παραδείγματος χάρη, εάν μια εγγραφή του IIF είναι :4: αυτό σημαίνει ότι το σύνολο έχει υποστήριξη, ή αλλιώς συχνότητα, τέσσερα (4) και υπάρχει στην τρίτη, έβδομη, όγδοη και ένατη συναλλαγή της βάσης δεδομένων που δίνεται ως είσοδος. Για το περιορισμό υπολογιστικού κόστους και δεσμευμένης μνήμης κατά τη δημιουργία του IIF, οι δυαδικοί πίνακες συναλλαγών που δημιουργούνται για κάθε αντικείμενο δεν έχουν το ίδιο μέγεθος. Το μήκος του για το κάθε αντικείμενο ισούται με το μέγιστο αύξοντα αριθμό συναλλαγής που συναντήθηκε. Εάν δηλαδή το αντικείμενο βρέθηκε τελευταία φορά στη τριακοστή συναλλαγή, τότε το μέγεθος

101 του bitstring θα είναι τριακόσια. Κάθε φορά που το αντικείμενο συναντάται σε κάποια συναλλαγή τότε ο πίνακάς του επεκτείνεται με μηδενικά και με ένα άσο (1) στο τέλος για να δηλώσει την ύπαρξή του στην τελευταία συναλλαγή. Επιπλέον, στη συνέχεια, κατά τη παραγωγή των συνδυασμών αντικειμένων οι δυαδικοί πίνακες προσθέτονται ανά θέση εφαρμόζοντας την δυαδική πράξη AND (bitwise AND) και το αποτέλεσμα έχει μέγεθος ίσο με τον μικρότερο προσθετέο. Εικόνα 66: Παράδειγμα δυαδικών πινάκων συναλλαγών και πρόσθεσής τους. Στο παραπάνω παράδειγμα στην Εικόνα 66 παρατηρούμε ότι τα μεγέθη των 1- itemset στο IIF διαφέρουν και ποικίλουν από επτά (7) έως δέκα (10) αντί να έχουν όλα δέκα, που είναι και το πλήθος των συναλλαγών. Το όφελος στη δεσμευμένη μνήμη εξαρτάται από την υποστήριξη των αντικειμένων, καθώς και από τη μορφή της βάσης. Εάν οι συναλλαγές με τα περισσότερα αντικείμενα βρίσκονται στο τέλος της βάσης τότε αναμένουμε μικρό όφελος και το αντίθετο. Συμπίεση δυαδικών πινάκων συναλλαγών Μία από τις σημαντικές βελτιστοποιήσεις που έχουν εισαχθεί στην υλοποίηση είναι η μη απωλεστική συμπίεση των δυναμικών δυαδικών πινάκων συναλλαγών των συνόλων αντικειμένων. Για τη συμπίεσή τους χρησιμοποιήθηκε μια απλή αλλά αποδοτική κωδικοποίηση τρέχοντος μήκους (Run-length encoding [38]). Σύμφωνα

102 με αυτήν εάν υπάρχουν συνεχόμενοι όμοιοι χαρακτήρες πλήθους μεγαλύτερου από ένα κατώφλι, τότε αυτές οι ακολουθίες αντικαθίστανται από ένα νούμερο που δηλώνει το πλήθος. Στην περίπτωση του MFI-drive, η αντικατάσταση πολλαπλών συνεχόμενων όμοιων χαρακτήρων πραγματοποιείται μόνο εάν οι χαρακτήρες είναι μηδενικά. Η απόφαση αυτή λήφθηκε γιατί η εξόρυξη συχνών προτύπων έχει μεγαλύτερη αξία όταν εφαρμόζεται σε βάσεις με σχετικά λίγα συχνά σύνολα αντικειμένων, οπότε και αναμένονται πολλές ακολουθίες μηδενικών και όχι άσων. Επιπρόσθετα, όπως και με κάθε συμπίεση, έτσι και με τη συγκεκριμένη πρέπει να αναλογιστούν προσεχτικά τα οφέλη από το trade-off μνήμης έναντι υπολογιστικού χρόνου. Σε κάθε περίπτωση όμως η επέκταση της κωδικοποίησης σε συνεχόμενες ακολουθίες άσων είναι εφικτή και εύκολα υλοποιήσιμη. Εικόνα 67: Παράδειγμα συμπίεσης δυαδικών πινάκων συναλλαγών (με κατώφλι συμπίεσης 4). Στο παραπάνω παράδειγμα στην Εικόνα 67 μπορούμε να παρατηρήσουμε περιπτώσεις συμπίεσης ακολουθιών μηδενικών στις περιπτώσεις των αντικειμένων 154, 49 και 99. Στην περίπτωση αυτή η διαφορά μεγέθους είναι μικρή λόγω της μεγάλης μέσης συχνότητας των αντικειμένων και του μεγέθους της βάσης. Σε περιπτώσεις εισόδου μεγάλων βάσεων η ελάττωση του μεγέθους τους μπορεί να φτάσει σε ποσοστά μεγαλύτερα του 50%.

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Κανόνες Συσχέτισης: Μέρος Β http://delab.csd.auth.gr/~gounaris/courses/dwdm/ gounaris/courses/dwdm/ Ευχαριστίες Οι διαφάνειες του μαθήματος σε γενικές γραμμές

Διαβάστε περισσότερα

Ανάλυση Συσχέτισης IΙ

Ανάλυση Συσχέτισης IΙ Ανάλυση Συσχέτισης IΙ Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006 ΟΑλγόριθμοςFP-Growth Εξόρυξη Δεδομένων: Ακ. Έτος 2010-2011 ΚΑΝΟΝΕΣ

Διαβάστε περισσότερα

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων Ενότητα 12: Κανόνες Συσχέτισης Μέρος B Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης

Διαβάστε περισσότερα

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Κανόνες Συσχέτισης: FP-Growth Ευχαριστίες Xρησιμοποιήθηκε επιπλέον υλικό από τα βιβλία «Εισαγωγή στην Εξόρυξη και τις Αποθήκες Δεδομένων» «Introduction to Data

Διαβάστε περισσότερα

Ο Αλγόριθμος FP-Growth

Ο Αλγόριθμος FP-Growth Ο Αλγόριθμος FP-Growth Με λίγα λόγια: Ο αλγόριθμος χρησιμοποιεί μια συμπιεσμένη αναπαράσταση της βάσης των συναλλαγών με τη μορφή ενός FP-δέντρου Το δέντρο μοιάζει με προθεματικό δέντρο - prefix tree (trie)

Διαβάστε περισσότερα

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων Ενότητα 11: Κανόνες Συσχέτισης Μέρος Α Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης

Διαβάστε περισσότερα

TID Items. Τ = {t 1, t 2,.., t N } ένα σύνολο από δοσοληψίες, όπου κάθε t i είναι ένα στοιχειοσύνολο

TID Items. Τ = {t 1, t 2,.., t N } ένα σύνολο από δοσοληψίες, όπου κάθε t i είναι ένα στοιχειοσύνολο Εισαγωγή Κανόνες Συσχέτισης Ι Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006 Market-Basket transactions (Το καλάθι της νοικοκυράς!)

Διαβάστε περισσότερα

Data mining Εξόρυξη εδοµένων. o Association rules mining o Classification o Clustering o Text Mining o Web Mining

Data mining Εξόρυξη εδοµένων. o Association rules mining o Classification o Clustering o Text Mining o Web Mining Data mining Εξόρυξη εδοµένων o Association rules mining o Classification o Clustering o Text Mining o Web Mining ιάγραµµα της παρουσίασης Association rule Frequent itemset mining Γνωστοί Αλγόριθµοι Βελτιώσεις

Διαβάστε περισσότερα

Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006

Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006 Κανόνες Συσχέτισης Ι Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006 Εισαγωγή Market-Basket transactions (Το καλάθι της νοικοκυράς!)

Διαβάστε περισσότερα

Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006

Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006 Ανάλυση Συσχέτισης Ι Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 2006 Εισαγωγή Market Basket transactions (Το καλάθι της νοικοκυράς!)

Διαβάστε περισσότερα

Lecture Notes for Chapter 6. Introduction to Data Mining

Lecture Notes for Chapter 6. Introduction to Data Mining Κανόνες Συσχέτισης: Βασικές αρχές και αλγόριθμοι (Association Analysis: Basic Concepts and Algorithms) Lecture Notes for Chapter 6 Introduction to Data Mining by Tan, Steinbach, Kumar Εξόρυξη κανόνων συσχέτισης

Διαβάστε περισσότερα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

Διαβάστε περισσότερα

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Εξόρυξη Γνώσης από εδοµένα (Data Mining) Εξόρυξη Κανόνων Συσχετίσεων. Γιάννης Θεοδωρίδης

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής. Εξόρυξη Γνώσης από εδοµένα (Data Mining) Εξόρυξη Κανόνων Συσχετίσεων. Γιάννης Θεοδωρίδης Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Εξόρυξη Γνώσης από εδοµένα (Data Mining) Εξόρυξη Κανόνων Συσχετίσεων Γιάννης Θεοδωρίδης Οµάδα ιαχείρισης εδοµένων Εργαστήριο Πληροφοριακών Συστηµάτων http://isl.cs.unipi.gr/db

Διαβάστε περισσότερα

Τεχνικές Εξόρυξης Δεδομένων

Τεχνικές Εξόρυξης Δεδομένων ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Διατμηματικό Μεταπτυχιακό Πρόγραμμα στα Πληροφοριακά Συστήματα ( MIS ) Τεχνικές Εξόρυξης Δεδομένων για την βελτίωση της απόδοσης σε Κατανεμημένα Συστήματα Ζάχος Δημήτριος Επιβλέποντες:

Διαβάστε περισσότερα

Κεφάλαιο 7: Εξόρυξη Συχνών Στοιχειοσυνόλων και Κανόνων Συσχέτισης

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

Διαβάστε περισσότερα

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

Διαβάστε περισσότερα

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή ισχύει ότι S i S j =, για κάθε i,j µε i j και S 1 S k = U. Λειτουργίες q MakeSet(X): επιστρέφει

Διαβάστε περισσότερα

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

Διαβάστε περισσότερα

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 20: Δυαδικό Δέντρο Αναζήτησης Δυαδικό δέντρο Κάθε κόμβος «γονέας» περιέχει δύο δείκτες που δείχνουν σε δύο κόμβους «παιδιά» του ιδίου τύπου. Αν οι δείκτες προς αυτούς

Διαβάστε περισσότερα

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή

Διαβάστε περισσότερα

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 8 Ξένα Σύνολα

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος

Διαβάστε περισσότερα

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 4: Εισαγωγή / Σύνολα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

Διαβάστε περισσότερα

2η ΔΙΑΛΕΞΗ Συναρτησιακές εξαρτήσεις

2η ΔΙΑΛΕΞΗ Συναρτησιακές εξαρτήσεις 2η ΔΙΑΛΕΞΗ 1 Συναρτησιακές εξαρτήσεις Συναρτησιακές εξαρτήσεις 2 Θέματα Ανάπτυξης Έννοια και ορισμός των συναρτησιακών εξαρτήσεων Κανόνες του Armstrong Μη αναγώγιμα σύνολα εξαρτήσεων Στόχος και Αποτελέσματα

Διαβάστε περισσότερα

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών, 4 Μαρτίου 2019 ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018-2019 Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 13 Μαϊου

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Δομές Δεδομένων Ενότητα 1 - Εισαγωγή Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αντικείμενο μαθήματος Δομές Δεδομένων (ΔΔ): Στην επιστήμη υπολογιστών

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

Διαβάστε περισσότερα

Αλγόριθμοι Εξόρυξης δεδομένων για χειρισμό πολλαπλών υποστηρίξεων και αρνητικών συσχετίσεων

Αλγόριθμοι Εξόρυξης δεδομένων για χειρισμό πολλαπλών υποστηρίξεων και αρνητικών συσχετίσεων ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ : «ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ» ΤΙΤΛΟΣ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ : Αλγόριθμοι Εξόρυξης δεδομένων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων Ενότητα 7: Ομαδοποίηση Μέρος Α Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

Διαβάστε περισσότερα

Δέντρα Απόφασης (Decision(

Δέντρα Απόφασης (Decision( Δέντρα Απόφασης (Decision( Trees) Το μοντέλο που δημιουργείται είναι ένα δέντρο Χρήση της τεχνικής «διαίρει και βασίλευε» για διαίρεση του χώρου αναζήτησης σε υποσύνολα (ορθογώνιες περιοχές) Ένα παράδειγμα

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

Διαβάστε περισσότερα

Αποθήκες και Εξόρυξη Δεδομένων

Αποθήκες και Εξόρυξη Δεδομένων ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Αποθήκες και Εξόρυξη Δεδομένων 4 Ο Εργαστήριο WEKA (Association Rules) Στουγιάννου Ελευθερία estoug@unipi.gr -2- Κανόνες Συσχέτισης (Association Rules) Εύρεση

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

Διαβάστε περισσότερα

Ευφυής Προγραμματισμός

Ευφυής Προγραμματισμός Ευφυής Προγραμματισμός Ενότητα 10: Δημιουργία Βάσεων Κανόνων Από Δεδομένα-Προετοιμασία συνόλου δεδομένων Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δημιουργία Βάσεων Κανόνων

Διαβάστε περισσότερα

Κεφάλαιο 20. Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Κεφάλαιο 20. Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Κεφάλαιο 20 Ανακάλυψη Γνώσης σε Βάσεις δεδοµένων Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η. Σακελλαρίου Τεχνητή Νοηµοσύνη, B' Έκδοση - 1 - Ανακάλυψη Γνώσης σε

Διαβάστε περισσότερα

Δομές Δεδομένων & Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι Θέματα Απόδοσης Αλγορίθμων 1 Η Ανάγκη για Δομές Δεδομένων Οι δομές δεδομένων οργανώνουν τα δεδομένα πιο αποδοτικά προγράμματα Πιο ισχυροί υπολογιστές πιο σύνθετες εφαρμογές Οι πιο σύνθετες εφαρμογές απαιτούν

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο Πρόβλημα ο Ασκήσεις Φροντιστηρίου 5 o Φροντιστήριο Δίνεται το παρακάτω σύνολο εκπαίδευσης: # Είσοδος Κατηγορία 0 0 0 Α 2 0 0 Α 0 Β 4 0 0 Α 5 0 Β 6 0 0 Α 7 0 Β 8 Β α) Στον παρακάτω κύβο τοποθετείστε τα

Διαβάστε περισσότερα

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων: Oμαδοποίηση: Μέρος Α http://delab.csd.auth.gr/~gounaris/courses/dwdm/ gounaris/courses/dwdm/ Ευχαριστίες Οι διαφάνειες του μαθήματος σε γενικές γραμμές ακολουθούν

Διαβάστε περισσότερα

Περιεχόμενα. Περιεχόμενα

Περιεχόμενα. Περιεχόμενα Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...

Διαβάστε περισσότερα

Α. ΔΙΑΓΡΑΜΜΑ ΔΙΑΣΠΟΡΑΣ Απεικόνιση της σχέσης(θετική, αρνητική, απροσδιόριστη) δύο μεταβλητών. Παραδείγματα σχέσεων. Παράδειγμα

Α. ΔΙΑΓΡΑΜΜΑ ΔΙΑΣΠΟΡΑΣ Απεικόνιση της σχέσης(θετική, αρνητική, απροσδιόριστη) δύο μεταβλητών. Παραδείγματα σχέσεων. Παράδειγμα Α. ΔΙΑΓΡΑΜΜΑ ΔΙΑΣΠΟΡΑΣ Απεικόνιση της σχέσης(θετική, αρνητική, απροσδιόριστη) δύο μεταβλητών. Παραδείγματα σχέσεων Παράδειγμα Μας δίνονται τα παρακάτω δεδομένα που αντιπροσωπεύουν τις τιμές πίεσης σε ατμόσφαιρες

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Ικανοποίηση Περιορισμών Κατηγορία προβλημάτων στα οποία είναι γνωστές μερικές

Διαβάστε περισσότερα

Διπλωματική Εργασία: «Συγκριτική Μελέτη Μηχανισμών Εκτίμησης Ελλιπούς Πληροφορίας σε Ασύρματα Δίκτυα Αισθητήρων»

Διπλωματική Εργασία: «Συγκριτική Μελέτη Μηχανισμών Εκτίμησης Ελλιπούς Πληροφορίας σε Ασύρματα Δίκτυα Αισθητήρων» Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πρόγραμμα Μεταπτυχιακών Σπουδών Διπλωματική Εργασία: «Συγκριτική Μελέτη Μηχανισμών Εκτίμησης Ελλιπούς Πληροφορίας σε Ασύρματα Δίκτυα Αισθητήρων» Αργυροπούλου Αιμιλία

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

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

Διαβάστε περισσότερα

Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήματα

Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήματα Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήματα Ανάλυση Μεγάλων Δεδομένων - Μελέτη Περίπτωσης στη Διαδικτυακή Εφαρμογή «Help Me Vote» - Big Data Analysis - a Case Study on the Web-Based

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

Διαβάστε περισσότερα

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

ΕΠΙΔΡΩΝΤΕΣ ΠΑΡΑΓΟΝΤΕΣ ΣΤΗ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ ΜΑΡΚΕΤΙΝΓΚ Η ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΜΑΡΚΕΤΙΝΓΚ Το Μάρκετινγκ αποτελεί μια βασική επιχειρηματική λειτουργία που έχει στόχο την ανάπτυξη, την οργάνωση και των έλεγχο ανταλλακτικών διαδικασιών μεταξύ της επιχείρησης και των

Διαβάστε περισσότερα

Προεπεξεργασία Δεδομένων. Αποθήκες και Εξόρυξη Δεδομένων Διδάσκουσα: Μαρία Χαλκίδη

Προεπεξεργασία Δεδομένων. Αποθήκες και Εξόρυξη Δεδομένων Διδάσκουσα: Μαρία Χαλκίδη Προεπεξεργασία Δεδομένων Αποθήκες και Εξόρυξη Δεδομένων Διδάσκουσα: Μαρία Χαλκίδη Η διαδικασίας της ανακάλυψης γνώσης Knowledge Discovery (KDD) Process Εξόρυξη δεδομένων- πυρήνας της διαδικασίας ανακάλυψης

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται

Διαβάστε περισσότερα

Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά δεδομένα

Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά δεδομένα 6ο Πανελλήνιο Συνέδριο των Εκπαιδευτικών για τις ΤΠΕ «Αξιοποίηση των Τεχνολογιών της Πληροφορίας και της Επικοινωνίας στη Διδακτική Πράξη» Σύρος 6-8 Μαϊου 2011 Ανακάλυψη κανόνων συσχέτισης από εκπαιδευτικά

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός

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

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα Δυναμικός Προγραμματισμός

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

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

Διαβάστε περισσότερα

Συναρτησιακές Εξαρτήσεις 7ο Φροντιστήριο. Βάρσος Κωνσταντίνος

Συναρτησιακές Εξαρτήσεις 7ο Φροντιστήριο. Βάρσος Κωνσταντίνος ΗΥ-360 Αρχεια και Βασεις εδοµενων, Τµηµα Επιστηµης Υπολογιστων, Πανεπιστηµιο Κρητης Συναρτησιακές Εξαρτήσεις Βάρσος Κωνσταντίνος 24 Νοεµβρίου 2017 Ορισµός 1. Μια συναρτησιακή εξάρτηση µεταξύ X και Y συµβολίζεται

Διαβάστε περισσότερα

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινομημένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Διαβάστε περισσότερα

Κεφάλαιο 10 Ψηφιακά Λεξικά

Κεφάλαιο 10 Ψηφιακά Λεξικά Κεφάλαιο 10 Ψηφιακά Λεξικά Περιεχόμενα 10.1 Εισαγωγή... 213 10.2 Ψηφιακά Δένδρα... 214 10.3 Υλοποίηση σε Java... 222 10.4 Συμπιεσμένα και τριαδικά ψηφιακά δένδρα... 223 Ασκήσεις... 225 Βιβλιογραφία...

Διαβάστε περισσότερα

Κανόνες Συσχέτισης IIΙ

Κανόνες Συσχέτισης IIΙ Κανόνες Συσχέτισης IIΙ Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 26 Σύντομη Ανακεφαλαίωση Εξόρυξη Δεδομένων: Ακ. Έτος 2-2 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ

Διαβάστε περισσότερα

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

Διαβάστε περισσότερα

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» 2 ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβλήματα ελάχιστης συνεκτικότητας δικτύου Το πρόβλημα της ελάχιστης

Διαβάστε περισσότερα

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

Διαβάστε περισσότερα

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:

Διαβάστε περισσότερα

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

ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ ΓΙΑ ΤΗΝ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ ΓΙΑ ΤΗΝ ΕΞΟΡΥΞΗ ΔΕΔΟΜΕΝΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ Κολώνια Αγγελική Στείρου

Διαβάστε περισσότερα

ΔΕΟ13 - Επαναληπτικές Εξετάσεις 2010 Λύσεις

ΔΕΟ13 - Επαναληπτικές Εξετάσεις 2010 Λύσεις ΔΕΟ - Επαναληπτικές Εξετάσεις Λύσεις ΘΕΜΑ () Το Διάγραμμα Διασποράς εμφανίζεται στο επόμενο σχήμα. Από αυτό προκύπτει καταρχήν μία θετική σχέση μεταξύ των δύο μεταβλητών. Επίσης, από το διάγραμμα φαίνεται

Διαβάστε περισσότερα

Αναδρομή Ανάλυση Αλγορίθμων

Αναδρομή Ανάλυση Αλγορίθμων Αναδρομή Ανάλυση Αλγορίθμων Παράδειγμα: Υπολογισμός του παραγοντικού Ορισμός του n! n! = n x (n - 1) x x 2 x 1 Ο παραπάνω ορισμός μπορεί να γραφεί ως n! = 1 αν n = 0 n x (n -1)! αλλιώς Παράδειγμα (συνέχ).

Διαβάστε περισσότερα

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεδιασμός Βάσεων Δεδομένων και Κανονικοποίηση Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan

Διαβάστε περισσότερα

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

ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ Βασίλης Δ. Ανδριτσάνος Δρ. Αγρονόμος - Τοπογράφος Μηχανικός ΑΠΘ Επίκουρος Καθηγητής ΤΕΙ Αθήνας 3ο εξάμηνο http://eclass.teiath.gr Παρουσιάσεις,

Διαβάστε περισσότερα

Ζητήματα ηήμ με τα δεδομένα

Ζητήματα ηήμ με τα δεδομένα Ζητήματα ηήμ με τα δεδομένα Ποιότητα Απαλοιφή θορύβου Εντοπισμός ανωμαλιών λώ Ελλιπείς τιμές Μετασχηματισμός Κβάντωση Μείωση μεγέθους Γραμμών: ειγματοληψία Στηλών: Ιδιοδιανύσματα, Επιλογή χαρακτηριστικών

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Ενότητα 11: Τεχνικές Κατακερματισμού Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: μέθοδοι μονοδιάστατης ελαχιστοποίησης Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 6 η /2017 Τι παρουσιάστηκε

Διαβάστε περισσότερα

Αλγόριθμοι Ταξινόμησης Μέρος 2

Αλγόριθμοι Ταξινόμησης Μέρος 2 Αλγόριθμοι Ταξινόμησης Μέρος 2 Μανόλης Κουμπαράκης 1 Προχωρημένοι Αλγόριθμοι Ταξινόμησης Στη συνέχεια θα παρουσιάσουμε τρείς προχωρημένους αλγόριθμους ταξινόμησης: treesort, quicksort και mergesort. 2

Διαβάστε περισσότερα

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων Γλωσσική Τεχνολογία Ακαδημαϊκό Έτος 2011-2012 Ημερομηνία Παράδοσης: Στην εξέταση του μαθήματος ΑΣΚΗΣΗ Δημιουργία Ευρετηρίων Συλλογής Κειμένων Σκοπός της άσκησης είναι η υλοποίηση ενός συστήματος επεξεργασίας

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

«Αναζήτηση Γνώσης σε Νοσοκομειακά Δεδομένα»

«Αναζήτηση Γνώσης σε Νοσοκομειακά Δεδομένα» ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ Μεταπτυχιακό Πρόγραμμα Σπουδών M.I.S. «Αναζήτηση Γνώσης σε Νοσοκομειακά Δεδομένα» Μεταπτυχιακός Φοιτητής: Επιβλέπων Καθηγητής: Εξεταστής Καθηγητής: Τορτοπίδης Γεώργιος Μηχανικός

Διαβάστε περισσότερα

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με

Διαβάστε περισσότερα

Κανόνες Συσχέτισης IΙ

Κανόνες Συσχέτισης IΙ Κανόνες Συσχέτισης IΙ Οι διαφάνειες στηρίζονται στο P.-N. Tan, M.Steinbach, V. Kumar, «Introduction to Data Mining», Addison Wesley, 26 Σύντομη Ανακεφαλαίωση Εξόρυξη Δεδομένων: Ακ. Έτος 28-29 ΚΑΝΟΝΕΣ ΣΥΣΧΕΤΙΣΗΣ

Διαβάστε περισσότερα

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

Διαβάστε περισσότερα

ΠΕΡΙΛΗΨΗ. Η μελέτη αφορά την εξόρυξη κανόνων συσχέτισης από βάση δεδομένων με ασθενής με

ΠΕΡΙΛΗΨΗ. Η μελέτη αφορά την εξόρυξη κανόνων συσχέτισης από βάση δεδομένων με ασθενής με ΠΕΡΙΛΗΨΗ Η μελέτη αφορά την εξόρυξη κανόνων συσχέτισης από βάση δεδομένων με ασθενής με καρδιαγγειακά επεισόδια. Είναι γεγονός ότι στην Κύπρο παρατηρείται αυξημένη συχνότητα των καρδιαγγειακών επεισοδίων.

Διαβάστε περισσότερα

Ο αλγόριθμος Quick-Sort. 6/14/2007 3:42 AM Quick-Sort 1

Ο αλγόριθμος Quick-Sort. 6/14/2007 3:42 AM Quick-Sort 1 Ο αλγόριθμος Quick-Sort 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7 9 2 2 9 9 6/14/2007 3:42 AM Quick-Sort 1 Κύρια σημεία για μελέτη Quick-sort ( 4.3) Αλγόριθμος Partition step Δέντρο Quick-sort Παράδειγμα εκτέλεσης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

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

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ» ΗΜΕΡ.ΑΝΑΘΕΣΗΣ: Δευτέρα 21 Δεκεμβρίου 2015 ΗΜΕΡ.ΠΑΡΑΔΟΣΗΣ: Δευτέρα 25 Ιανουαρίου 2016 Διδάσκοντες:

Διαβάστε περισσότερα

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ

Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ Τ.Ε.Ι. ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ & ΕΠΙΧΕΙΡΗΣΕΩΝ Η Έρευνα Μάρκετινγκ ως εργαλείο ανάπτυξης νέων προϊόντων ΕΙΣΗΓΗΤΗΣ: Δρ. Ιωάννης Σ. Τουρτούρας Μηχανικός Παραγωγής & Διοίκησης Δ.Π.Θ.

Διαβάστε περισσότερα

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

Διαβάστε περισσότερα

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική

Διαβάστε περισσότερα

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά

Διαβάστε περισσότερα

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή Oι οπτικές επιδράσεις, που μπορεί να προκαλέσει μια εικόνα στους χρήστες, αποτελούν ένα από τα σπουδαιότερα αποτελέσματα των λειτουργιών γραφικών με Η/Υ. Τον όρο της οπτικοποίησης

Διαβάστε περισσότερα

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης

Διαβάστε περισσότερα