Π Τ Υ Χ Ι Α Κ Η /ΔΙ Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α

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

Download "Π Τ Υ Χ Ι Α Κ Η /ΔΙ Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α"

Transcript

1 Α Ρ Ι Σ Τ Ο Τ Ε Λ Ε Ι Ο Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Θ Ε Σ Σ Α Λ Ο Ν Ι Κ Η Σ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Π Τ Υ Χ Ι Α Κ Η /ΔΙ Π Λ Ω Μ ΑΤ Ι Κ Η Ε Ρ ΓΑ Σ Ι Α ΜΑΘΗΣΗ ΜΕΓΑΛΗΣ ΚΛΙΜΑΚΑΣ ΑΠΟ ΔΕΔΟΜΕΝΑ ΠΟΛΛΑΠΛΩΝ ΕΤΙΚΕΤΩΝ ΣΥΓΓΡΑΦΕΑΣ Μάνδρος Παναγιώτης ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: Τσουμάκας Γρηγόριος, Λέκτορας ΘΕΣΣΑΛΟΝΙΚΗ 2012

2 1

3 Περιεχόμενα Κατάλογος πινάκων... 4 Κατάλογος σχημάτων... 4 Κατάλογος εικόνων Εισαγωγή Συμβολή της πτυχιακής Δομή της πτυχιακής Υπόβαθρο Μηχανική μάθηση Μάθηση πολλαπλών ετικετών Κατηγορίες εργασιών Μετασχηματισμός προβλήματος Προσαρμογή αλγορίθμου Στατιστικές παράμετροι Μετρικές αξιολόγησης Κλιμάκωση αλγορίθμων μηχανικής μάθησης Ευκαιρίες και προκλήσεις για τη μηχανική μάθηση Θεωρητικό μοντέλο υπολογισμού και προβλήματα με το μεγέθος των δεδομένων Τεχνικές για ενασχόληση με πολλά δεδομένα που χωράνε στην κύρια μνήμη Big Data Κλιμάκωση μάθησης πολλαπλών ετικετών Hadoop Αρχιτεκτονικές υπολογιστών και διαφάνεια Hadoop Hadoop Distributed Filesystem Hadoop Map/Reduce Στήσιμο ενός Hadoop cluster και Hadoop API Ευκαιρίες με το Hadoop Δέντρα απόφασης Ανάπτυξη αλγορίθμων μάθησης πολλαπλών ετικετών στο Hadoop PLANET Το δέντρο απόφασης Κόμβοι του δέντρου (DecisionTreeNode) Το δέντρο απόφασης (DecisionTree)

4 Διάσχιση του δέντρου Αποθήκευση του δέντρου Αλγόριθμος Κατανεμημένο χτίσιμο (single label) Χτίσιμο στη μνήμη (single label) Διάσπαση (single label) Κριτήρια τερματισμού Επέκταση σε δεδομένα πολλαπλών ετικετών Controller Πρόβλεψη και αξιολόγηση Τεχνάσματα για καλύτερη απόδοση Αριθμός κόμβων για ταυτόχρονη διάσπαση Χτίσιμο στη μνήμη Εύρεση σημείων διαχωρισμού Binary Relevance Aποτελέσματα PLANET Binary Relevance Μελλοντική εργασία PLANET BR Βιβλιογραφία

5 Κατάλογος πινάκων Πίνακας 1: Είσοδος αλγορίθμου μετασχηματισμού προβλήματος Πίνακας 2: Μέθοδος αντιγραφής Πίνακας 3: Μέθοδος τυχαίας επιλογής Πίνακας 4: Μέθοδος παράληψης Πίνακας 5: Πρώτη ετικέτα Πίνακας 6: Δεύτερη ετικέτα Πίνακας 7: Τρίτη ετικέτα Πίνακας 8: Τέταρτη ετικέτα Πίνακας 9: Δεδομένα εισόδου Πίνακας 10: Υπολογισμός κατάταξης Πίνακας 11: Δεδομένα διάσχισης Πίνακας 12: Σύνολα δεδομένων για μέτρηση Πίνακας 13: Αποτελέσματα Πίνακας 14: Ranking των αλγορίθμων βάσει Πίνακας 15: Σύνολα δεδομένων για απολογισμό κλιμάκωσης Κατάλογος σχημάτων Σχήμα 1: Δέντρο απόφασης για διάσχιση Σχήμα 2: HashMap της ρίζας μετά την εκπαίδευση Σχήμα 3: Σύνολο δεδομένων εισόδου ενός map task Σχήμα 4: Το HashMap του map task μετά τον τερματισμό του Σχήμα 5: Κόμβος γονέας D Σχήμα 6: Παιδί D Σχήμα 7 : Παιδί D Κατάλογος εικόνων Εικόνα 1: RAkEL ο, εκπαίδευση Εικόνα 2: RAkEL ο, πρόβλεψη Εικόνα 3: RAkEL d, πρόβλεψη Εικόνα 4: RAkEL d, εκπαίδευση Εικόνα 5: RAkEL ο, ensemble πρόβλεψη Εικόνα 6: Αρχιτεκτονική HDFS Εικόνα 7: Δημιουργία αντεστραμμένου καταλόγου με Map/Reduce Εικόνα 8: Αρχιτεκτονική Map/Reduce Εικόνα 9: Αρχιτεκτονική ενός Cluster Εικόνα 10: Δεδομένα εισόδου δέντρου απόφασης Εικόνα 11: Δέντρο απόφασης μετά την εκπαίδευση

6 5

7 1 Εισαγωγή 1.1 Συμβολή της πτυχιακής Μπορούμε να πούμε με βεβαιότητα ότι στην εποχή που ζούμε τα δεδομένα είναι άπειρα. Η πρόοδος της τεχνολογίας, το Web 2.0 και ο ανταγωνισμός μεταξύ εταιριών έχουν συμβάλει τα μέγιστα σε αυτό το γεγονός. Μέχρι τώρα η ανθρωπότητα έχει επωφεληθεί πάρα πολύ από την επεξεργασία δεδομένων. Πρωταρχικό ρόλο σε αυτή την επεξεργασία έχει παίξει η μηχανική μάθηση, που αποτελεί σημαντικό κλάδο της επιστήμης των υπολογιστών. Ένας τομέας της μηχανικής μάθησης που πρόσφατα κέντρισε το ενδιαφέρον πολλών ερευνητών και θα απασχολήσει και εμάς, είναι η μάθηση πολλαπλών ετικετών. Το γεγονός της ύπαρξης πάρα πολλών δεδομένων, γνωστό και ως Big Data, αποτελεί μία από τις μεγαλύτερες προκλήσεις για τη μηχανική μάθηση. Τα δεδομένα είναι πάρα πολλά και οι συμβατικοί αλγόριθμοι αδυνατούν να τα διαχειριστούν. Στην πτυχιακή αυτή εργασία θα σχολιάσουμε λεπτομερώς την κλιμάκωση αλγορίθμων μηχανικής μάθησης. Θα παρουσιάσουμε επίσης υλοποιήσεις για την επίλυση αυτού του προβλήματος με τη χρήση κατανεμημένων συστημάτων, κυρίως στον τομέα της μάθησης πολλαπλών ετικετών. 1.2 Δομή της πτυχιακής Στο κεφάλαιο 2 παρουσιάζουμε το γνωστικό υπόβαθρο της πτυχιακής αυτής εργασίας. Πιο συγκεκριμένα περιγράφουμε τι είναι μηχανική μάθηση και μάθηση πολλαπλών ετικετών. Αναφερόμαστε επίσης στο πρόβλημα της κλιμάκωσης των αλγορίθμων, στο Hadoop καθώς και στα δέντρα απόφασης. Το κεφάλαιο 3 περιέχει τις δύο εφαρμογές που υλοποιήθηκαν στα πλαίσια της πτυχιακής, δηλαδή το σύστημα PLANET καθώς και τη μέθοδο Binary Relevance. Στο κεφάλαιο 4 παρουσιάζουμε τα αποτελέσματα και τα συμπεράσματα που βγαίνουν. Στο κεφάλαιο 5 αναφέρουμε πιθανές μελλοντικές επεκτάσεις και στο τέλος τη βιβλιογραφία. 6

8 2 Υπόβαθρο 2.1 Μηχανική μάθηση Η μηχανική μάθηση αποτελεί κλάδο της Τεχνητής Νοημοσύνης και αντικείμενο της είναι η δημιουργία αλγορίθμων που έχουν τη δυνατότητα να παράγουν νέα γνώση ή να οργανώσουν την υπάρχουσα. Χρησιμοποιούνται συνήθως για ταξινόμηση αντικειμένων σε κλάσεις, για ομαδοποίηση αντικειμένων ανάλογα με το πόσο μοιάζουν ή διαφέρουν μεταξύ τους, για αναγνώριση προτύπων που εμφανίζονται σε δεδομένα. Χαρακτηριστικοί ορισμοί για το τι είναι μηχανική μάθηση είναι οι παρακάτω: Μηχανική μάθηση είναι το πεδίο της έρευνας που δίνει τη δυνατότητα στους υπολογιστές να μαθαίνουν χωρίς να έχουν προγραμματιστεί επακριβώς για αυτό (Samuel, 1959). Ένα πρόγραμμα υπολογιστή θεωρείται ότι μαθαίνει μέσω εμπειρίας Ε σε σχέση με μία κλάση εργασιών Τ και κάποιο μέτρο απόδοσης P, αν η απόδοση του σε εργασίες της κλάσης Τ, μετρούμενη με βάση το P, βελτιώνεται διαμέσου της εμπειρίας Ε (Mitchell, 1997). Η μηχανική μάθηση έχει ανοίξει καινούργιους ορίζοντες στον τομέα της πληροφορικής. Οι υπολογιστές πλέον δεν αποθηκεύουν απλά δεδομένα και κάνουν πράξεις, αλλά έχουν και τη δυνατότητα να μάθουν. Έτσι τώρα αντί να προγραμματίσουμε ένα υπολογιστή να κάνει μία εργασία, μπορούμε να τον προγραμματίσουμε να τη μάθει. Ένα παράδειγμα για να γίνει κατανοητή αυτή η διαφορά είναι το εξής. Είναι γνωστό ότι ενέργειες που είναι πολύ απλές για έναν άνθρωπο να τις εκτελέσει, είναι αρκετά δύσκολο να προγραμματιστούν σε έναν υπολογιστή. Κάποιες από αυτές τις ενέργειες είναι η επεξεργασία ομιλίας, η επεξεργασία εικόνων, η οδήγηση οχημάτων. Χρησιμοποιώντας αλγορίθμους μηχανικής μάθησης, οι παραπάνω ενέργειες μπορούν να προγραμματιστούν πολύ πιο εύκολα. Η μηχανική μάθηση χρησιμοποιείται κατά κόρον στη βιομηχανία και στην επιστήμη. Εταιρίες χρησιμοποιούν αλγορίθμους μάθησης για να αναλύσουν τα δεδομένα που έχουν και να κάνουν προβλέψεις για το μέλλον. Αυτό τους επιτρέπει να είναι ανταγωνιστικές και να ανταποκρίνονται στις αυξανόμενες απαιτήσεις των πελατών τους. Επιστήμονες χρησιμοποιούν αλγορίθμους μάθησης για να τους βοηθήσουν στην έρευνα. Τεράστιοι όγκοι δεδομένων περνάνε μέσα από τους αλγορίθμους και οι ερευνητές μελετούν την έξοδο και καταλήγουν σε διάφορα χρήσιμα συμπεράσματα. Πέρα από την επιστήμη και τη βιομηχανία, αλγορίθμους μάθησης χρησιμοποιούμε και στην καθημερινότητα μας. Παραδείγματα αποτελούν οι μηχανές αναζήτησης με την κατάταξη που κάνουν, το μαρκάρισμα της ηλεκτρονικής αλληλογραφίας ως ανεπιθύμητη, συστάσεις και προτάσεις που μας κάνουν πολλές ιστοσελίδες ανάλογα με το προφίλ μας και την ανάδραση που δίνουμε. 7

9 Μπορούμε να οργανώσουμε τους αλγορίθμους μηχανικής μάθησης σε κατηγορίες, ανάλογα με τον τρόπο που λειτουργούν και την έξοδο που μας δίνουν. Οι κατηγορίες που παρουσιάζουν το περισσότερο ενδιαφέρον είναι: Μάθηση με επίβλεψη (supervised learning). Υπάρχει ένα σύνολο από δεδομένα για τα οποία γνωρίζουμε την τιμή μίας μεταβλητής, την οποία θέλουμε να προβλέψουμε σε ένα άλλο σύνολο από το οποίο απουσιάζει. Η μεταβλητή αυτή ονομάζεται μεταβλητή στόχος. Αν είναι διακριτή, όπως στην περίπτωση του κακού/καλού πελάτη, τότε έχουμε την περίπτωση της ταξινόμησης (classification). Διαφορετικά αν είναι συνεχής, όπως για παράδειγμα η πρόβλεψη της τιμής ενός ακινήτου, τότε έχουμε την περίπτωση της παλινδρόμησης (regression). Μάθηση χωρίς επίβλεψη (unsupervised learning). Υπάρχει ένα σύνολο δεδομένων από τα οποία απουσιάζει η μεταβλητή στόχος και ο αλγόριθμος προσπαθεί να βρει ομάδες αντικειμένων βάσει του πόσο μοιάζουν ή διαφέρουν μεταξύ τους. Ενισχυτική μάθηση (reinforcement learning). Υπάρχει ένα σύνολο καταστάσεων, σε κάθε κατάσταση υπάρχει ένα σύνολο ενεργειών και κάθε ενέργεια έχει ως αποτέλεσμα τη μετάβαση σε μία νέα κατάσταση. Στη νέα αυτή κατάσταση υπάρχει μία ανταμοιβή, ανάλογα με το πόσο καλή είναι. Ουσιαστικά έχουμε μάθηση μέσω αλληλεπίδρασης με το περιβάλλον. Από αυτές τις κατηγορίες, αυτή που θα μας απασχολήσει σε αυτήν την πτυχιακή εργασία είναι η μάθηση με επίβλεψη. Έχουμε m δεδομένα εκπαίδευσης (training set) που έχουν τη μορφή {( ( ) ( ) ) ( ( ) ( ) ( )}, όπου ) είναι το διάνυσμα των ( χαρακτηριστικών του i-οστού αντικειμένου και ) είναι η τιμή της μεταβλητής στόχου. Ορίζουμε επίσης ως L το σύνολο των διαφορετικών τιμών για τη μεταβλητή ( ) στόχο του προβλήματος και ισχύει ότι L, όπως επίσης και ως n το πλήθος των χαρακτηριστικών κάθε παραδείγματος. Σε προβλήματα ταξινόμησης το σύνολο L είναι πεπερασμένο και παίρνει διακριτές τιμές, όπως για παράδειγμα καλός/κακός πελάτης. Αντίθετα σε προβλήματα παλινδρόμησης είναι μη πεπερασμένο και ένα παράδειγμα είναι η πρόβλεψη της τιμής μίας μετοχής. Ο αλγόριθμος μάθησης προσπαθεί να βρει μία συνάρτηση h : X Y, όπου X είναι ο χώρος των χαρακτηριστικών και Y είναι ο χώρος των κλάσεων. Η συνάρτηση h που ονομάζεται υπόθεση (hypothesis), προέρχεται από το χώρο Η όλων των πιθανών υποθέσεων. Ο αλγόριθμος προσπαθεί να βρει τη συνάρτηση η οποία ταιριάζει περισσότερο στα δεδομένα εκπαίδευσης, δηλαδή θέλουμε η μεταβλητή εξόδου της h να είναι ίδια με τη μεταβλητή στόχο σε όσα περισσότερα αντικείμενα γίνεται. Σε προηγούμενη παράγραφο αναφέραμε το παράδειγμα του κακού/καλού πελάτη. Αυτή η περίπτωση όπου έχουμε δύο διαφορετικές τιμές σε πρόβλημα ταξινόμησης, δηλαδή L =2, ονομάζεται δυαδική ταξινόμηση (binary classification). Αν L >2, έχουμε την ταξινόμηση σε πολλαπλές τάξεις (multi-class classification). 8

10 Σε πολλές όμως εφαρμογές, τα αντικείμενα σχετίζονται με ένα σύνολο από ετικέτες (μεταβλητές στόχοι) και όχι μόνο με μία, όπως έχουμε αναφέρει μέχρι τώρα. Το σύνολο L δεν αναφέρεται πλέον σε διαφορετικές τιμές μίας ετικέτας, αλλά σε σύνολο από ετικέτες. Το πρόβλημα αυτό αποτελεί επέκταση του προβλήματος της ταξινόμησης με μία ετικέτα και ονομάζεται μάθηση πολλαπλών ετικετών (multi-label learning). Σε περίπτωση που υπάρχουν και μεταβλητές στόχοι που παίρνουν συνεχείς τιμές, τότε αναφερόμαστε στη μάθηση μεικτών στόχων (mixed-target learning). 2.2 Μάθηση πολλαπλών ετικετών Όπως αναφέραμε και σε προηγούμενες παραγράφους, το πρόβλημα της μάθησης από multi-label δεδομένα ασχολείται με την ταξινόμηση καινούργιων αντικειμένων σε περισσότερες από μία ετικέτες. Ας πάρουμε για παράδειγμα μία φωτογραφία που τραβήχτηκε σε μία παραλία. Αν κληθούμε να επισημάνουμε με ετικέτες τη συγκεκριμένη φωτογραφία, θα βάζαμε πιθανότατα ουσιαστικά όπως θάλασσα, παραλία, αμμουδιά, ήλιος. Άλλο παράδειγμα είναι η κατηγοριοποίηση μουσικών κομματιών. Ένα μουσικό κομμάτι θα μπορούσε να ανήκει σε περισσότερες από μία κατηγορίες, όπως ροκ και μπαλάντα. Πρόσφατα η περιοχή του multi-label learning προσέλκυσε το ενδιαφέρον ενός μεγάλου αριθμού ερευνητών (Tsoumakas et al., 2010). Κίνητρο τους ήταν τα ενδιαφέροντα ερευνητικά προβλήματα και η πληθώρα εφαρμογών που παρουσιάζει αυτό το είδος δεδομένων Κατηγορίες εργασιών Υπάρχουν δύο μεγάλες κατηγορίες εργασιών (tasks) στη μάθηση πολλαπλών ετικετών, η ταξινόμηση (multi-label classification) και η κατάταξη (label ranking). Στην ταξινόμηση, θα πρέπει να αποδoθεί στο καινούργιο αντικείμενο ένα υποσύνολο ετικετών S L. Ασχολείται δηλαδή με τη μάθηση ενός μοντέλου, το οποίο μπορεί να διαχωρίζει ποιες είναι οι σχετικές και ποιες οι μη σχετικές ετικέτες ενός αντικειμένου από το σύνολο L. Η κατάταξη ασχολείται με τη βαθμολόγηση των ετικετών ως προς τη σχετικότητα τους με το καινούργιο αντικείμενο. Έτσι το μοντέλο έχει ως έξοδο μία κατάταξη των ετικετών, όπου η πρώτη θεωρείται η πιο σχετική, η δεύτερη λιγότερη σχετική και ούτω καθεξής. Υπάρχουν βέβαια και εφαρμογές όπου θα θέλαμε να υπάρχει και ο διαχωρισμός σε σχετικές και μη σχετικές ετικέτες αλλά και η κατάταξη τους. Ένα τέτοιο παράδειγμα είναι μία εφαρμογή φιλτραρίσματος ειδήσεων. Ο χρήστης θέλει να εμφανιστούν μόνο 9

11 οι σχετικές με το ερώτημα του ειδήσεις, αλλά επιθυμεί επίσης να υπάρχει και μία βαθμολόγηση του πόσο σχετικές είναι. Αυτή η κατηγορία εργασιών εμφανίστηκε μόλις πρόσφατα και ονομάζεται κατάταξη πολλαπλών ετικετών (multi-label ranking). Πρόκειται για μία πολύ χρήσιμη και ενδιαφέρουσα γενίκευση των δύο κατηγοριών που αναφέραμε. Πέραν των προηγούμενων κατηγοριών, υπάρχουν ακόμα δύο. Στη μία έχουμε σαν έξοδο τις περιθώριες πιθανότητες ( ), όπου L και x είναι ένα καινούργιο παράδειγμα. Τις πιθανότητες αυτές μπορούμε να τις χρησιμοποιήσουμε ως εξής: Κατάταξη ετικετών ανάλογα με τη σχετικότητα τους με κάθε αντικείμενο. Κατάταξη αντικειμένων ανάλογα με τη σχετικότητα τους με κάθε ετικέτα. Ορισμό μίας τιμής κατωφλίου ώστε να προκύψει μία ταξινόμηση. Στην άλλη κατηγορία, η έξοδος είναι οι από κοινού πιθανότητες ( ) ( ). Με αυτόν τον τρόπο μπορούμε να εξάγουμε τις περιθώριες πιθανότητες αλλά και μία ταξινόμηση χρησιμοποιώντας την πιο συχνή τιμή της κατανομής Μετασχηματισμός προβλήματος Ένας τρόπος για να αντιμετωπίσουμε ένα πρόβλημα μάθησης από δεδομένα πολλαπλών ετικετών, είναι να τροποποιήσουμε κάποιον single-label αλγόριθμο έτσι ώστε να μπορεί να διαχειρίζεται δεδομένα πολλαπλών ετικετών. Αυτή η προσέγγιση ονομάζεται προσαρμογή αλγορίθμου (algorithm adaption). Μία άλλη είναι ο μετασχηματισμός του προβλήματος (problem transformation). Η γενικότερη ιδέα της δεύτερης προσέγγισης είναι ο μετασχηματισμός ενός προβλήματος μάθησης πολλαπλών ετικετών, σε ένα ή παραπάνω προβλήματα μάθησης μίας ετικέτας όπου και υπάρχει εκτενής βιβλιογραφία για την επίλυση τους. Στη συνέχεια αναφέρουμε ορισμένες από τις μεθόδους αυτής της κατηγορίας, κάποιες από τις οποίες είναι πολύ απλές, ενώ άλλες περισσότερο σύνθετες. Ας θεωρήσουμε τον πίνακα 1, ως την είσοδο σε έναν αλγόριθμο μετασχηματισμού προβλήματος. Το σύνολο των ετικετών L αποτελείται από τις ετικέτες, και. Επίσης έχουμε παραλείψει τα χαρακτηριστικά των αντικειμένων έτσι ώστε να επικεντρωθούμε μόνο στο πρόβλημα της μετατροπής. Αντικείμενο Χαρακτηριστικά Σύνολο ετικετών 1 ( ) { } 2 ( ) { } 3 ( ) { } 4 ( ) { } Πίνακας 1: Είσοδος αλγορίθμου μετασχηματισμού προβλήματος 10

12 Οι τρεις πιο απλές μέθοδοι είναι η μέθοδος αντιγραφής (copy), η μέθοδος τυχαίας επιλογής (random) και η μέθοδος παράληψης (ignore). Στη μέθοδο αντιγραφής, αντιγράφουμε κάθε αντικείμενο ( ( ) ( ) ) που έχει πολλαπλές ετικέτες, ( ) στον αριθμό, σε ( ) αντικείμενα με μία ετικέτα ( ) το καθένα. Στη μέθοδο τυχαίας επιλογής διαλέγουμε τυχαία μία από τις ( ) ετικέτες για να αντιπροσωπεύσει το αντικείμενο. Τέλος στη μέθοδο παράληψης, απαλείφουμε κάθε αντικείμενο με πολλαπλές ετικέτες και κρατάμε μόνο τα αντικείμενα με μία ετικέτα. Στους πίνακες 2, 3, 4 βλέπουμε πως αυτές οι μέθοδοι μετατρέπουν το πρόβλημα πολλαπλών ετικετών, σε πρόβλημα μίας ετικέτας. Αντικείμενο Ετικέτα Αντικείμενο Ετικέτα Πίνακας 3: Μέθοδος τυχαίας επιλογής Αντικείμενο Ετικέτα 3 Πίνακας 4: Μέθοδος παράληψης Πίνακας 2: Μέθοδος αντιγραφής Η πιο δημοφιλής μέθοδος είναι αυτή της δυαδικής συσχέτισης (binary relevance-br). Στη συγκεκριμένη μέθοδο, από το αρχικό σύνολο δεδομένων δημιουργούμε L σύνολα δεδομένων, ένα για κάθε ετικέτα. Για κάθε μία ετικέτα τώρα μπορούμε να εκπαιδεύσουμε ένα μοντέλο. Έχουμε δηλαδή L δυαδικούς ταξινομητές, όπου κάθε ένας είναι υπεύθυνος για τη συσχέτιση με μία ετικέτα. Για την ταξινόμηση ενός καινούργιου αντικειμένου, παίρνουμε την ένωση των εξόδων των μοντέλων. Η μέθοδος BR είναι αρκετά απλή, αλλά αποτυγχάνει να λάβει υπόψη της συσχετίσεις μεταξύ ετικετών και επίσης χρειάζεται για κάθε ετικέτα και ένα μοντέλο, δηλαδή σε μία εφαρμογή με μεγάλο αριθμό ετικετών θα υπάρχει και μεγάλο κόστος για την εκπαίδευση. Στους πίνακες 5, 6, 7, 8 βλέπουμε τα τέσσερα σύνολα δεδομένων που παράγει η μέθοδος BR. Σε αυτήν την πτυχιακή εργασία θα ασχοληθούμε με τη μέθοδο BR και θα προσπαθήσουμε να την κάνουμε πιο αποδοτική σε χρόνο. Αντικείμενο Ετικέτα Πίνακας 5: Πρώτη ετικέτα Αντικείμενο Ετικέτα Πίνακας 6: Δεύτερη ετικέτα 11

13 Αντικείμενο Ετικέτα Πίνακας 7: Τρίτη ετικέτα Αντικείμενο Ετικέτα Πίνακας 8: Τέταρτη ετικέτα Η μέθοδος δυναμοσύνολο ετικετών (label powerset-lp), είναι μία πολύ απλή και αποτελεσματική μέθοδος. Θεωρεί κάθε μοναδικό υποσύνολο ετικετών που υπάρχει στο σύνολο των δεδομένων εκπαίδευσης, ως μία από τις κλάσεις ενός προβλήματος multi-class ταξινόμησης. Έτσι όταν έρθει ένα καινούργιο αντικείμενο, ο multi-class ταξινομητής αποδίδει την πιθανότερη κλάση, η οποία είναι ουσιαστικά είναι ένα σύνολο ετικετών. Μπορούμε μάλιστα αν ο ταξινομητής έχει ως έξοδο μία κατανομή πιθανοτήτων για τις κλάσεις, να τις κατατάξουμε σε φθίνουσα σειρά ως προς τη σχετικότητα τους με το αντικείμενο. Με αυτόν τον τρόπο μπορούμε να επιτύχουμε μία κατάταξη πολλαπλών ετικετών. Η συγκεκριμένη μέθοδος μπορεί, αντίθετα με τη δυαδική συσχέτιση, να λαμβάνει υπ όψιν της συσχετίσεις μεταξύ ετικετών. Το κόστος της εξαρτάται από τον αριθμό των δεδομένων m, τον αριθμό των ετικετών q και φράσσεται από πάνω με min(m, ). Καταλαβαίνουμε ότι μεγάλος αριθμός ετικετών και παραδειγμάτων μπορεί να προκαλέσει προβλήματα όχι μόνο κόστους, αλλά και στην εκπαίδευση, καθώς πολλά από τα υποσύνολα ετικετών θα εμφανίζονται σε λίγα παραδείγματα. Να σημειώσουμε εδώ ότι στην πράξη δεν εξετάζονται και τα υποσύνολα, καθώς δεν εμφανίζεται όλο το δυναμοσύνολο στα δεδομένα εισόδου. Συνήθως έχουμε 5 με 44 του αριθμού αυτού υποσύνολα, που πάλι δημιουργεί πρόβλημα όταν ο αριθμός q μεγαλώνει. Η μέθοδος LP επίσης, επειδή θεωρεί ως ετικέτα κάθε μοναδικό υποσύνολο ετικετών που εμφανίζεται στα δεδομένα εκπαίδευσης, δεν μπορεί να προβλέψει κάτι διαφορετικό από αυτά τα υποσύνολα, που πιθανό είναι να ταιριάζει καλύτερα σε καινούργια αντικείμενα. Ο πίνακας 9 δείχνει τη μετατροπή του προβλήματος σε πρόβλημα πολλαπλών τάξεων και ο πίνακας 10 πως υπολογίζεται η κατάταξη των ετικετών σε ένα καινούργιο αντικείμενο x. Αντικείμενο Ετικέτα Πίνακας 9: Δεδομένα εισόδου κλάση p ( ) ( ( ) ) Πίνακας 10: Υπολογισμός κατάταξης Μία μέθοδος που προτάθηκε πρόσφατα και μπορεί να αντεπεξέλθει στα προβλήματα που παρουσιάζουν οι προηγούμενες μέθοδοι, είναι η μέθοδος RAkEL (random k- labelsets), που αποτελεί επέκταση της LP μεθόδου (Tsoumakas et al., 2010). Η κύρια ιδέα της είναι η δημιουργία τυχαίων υποσυνόλων ετικετών, μικρού μεγέθους, από το 12

14 σύνολο L και η εκπαίδευση ενός ταξινομητή πολλαπλών τάξεων για κάθε υποσύνολο, χρησιμοποιώντας την LP μέθοδο. Το μέγεθος των υποσυνόλων καθορίζεται από την παράμετρο k. Ένα πλεονέκτημα της μεθόδου αυτής είναι το γεγονός ότι αφού δημιουργηθούν τα υποσύνολα, το υπολογιστικό κόστος της LP μεθόδου για κάθε ένα από αυτά, είναι πολύ μικρότερο από αυτό ενός LP ταξινομητή για όλο το σύνολο. Αν θεωρήσουμε ένα σύνολο L με L 100 ετικέτες, τότε ο αριθμός των κλάσεων που εξετάζει η μέθοδος LP φράσσεται με min(m, ). Αντίθετα, με τη μέθοδο RAkEL για k=3, κάθε LP ταξινομητής φράσσεται με min(m, ), αριθμός εξαιρετικά μικρότερος. Αναφέραμε επίσης σε προηγούμενη παράγραφο ότι στη LP μέθοδο μπορεί για κάποιο υποσύνολο ετικετών να μην υπάρχουν αρκετά δεδομένα για εκπαίδευση, με αποτέλεσμα ο ταξινομητής να υπομοντελοποιήσει (underfit) τα δεδομένα. Με τη μέθοδο RAkEL, έχουμε μία πιο ισορροπημένη κατανομή των κλάσεων σε κάθε ταξινομητή μίας ετικέτας που προκύπτει. Όσον αφορά τη διαδικασία της δημιουργίας των υποσυνόλων, υπάρχουν δύο προσεγγίσεις. Στη μία διαλέγουμε από το σύνολο L ετικέτες με επανατοποθέτηση και στην άλλη χωρίς και προκύπτουν έτσι οι μέθοδοι RAkEL με επικαλύψεις (RAkEL ο ) και RAkEL χωρίς επικαλύψεις (RAkEL d ) αντίστοιχα. Στις εικόνες 1 και 2 βλέπουμε τον ψευδοκώδικα της διαδικασίας εκπαίδευσης και πρόβλεψης του RAkEL ο. Στις εικόνες 3 και 4 βλέπουμε τον ψευδοκώδικα για τις αντίστοιχες διαδικασίες του RAkEL d. Εικόνα 1: RAkEL ο, εκπαίδευση Εικόνα 2: RAkEL ο, πρόβλεψη 13

15 Εικόνα 3: RAkEL d, πρόβλεψη Εικόνα 4: RAkEL d, εκπαίδευση Όσον αφορά την περίπτωση των επικαλυπτόμενων ετικετών, ο RAkEL ο μπορεί να μαζέψει πολλαπλές προβλέψεις για μία ετικέτα, από τα διαφορετικά LP μοντέλα που περιέχουν αυτή την ετικέτα στο υποσύνολο ετικετών που τους έχει ανατεθεί. Έτσι προκύπτει μία διαδικασία ψηφοφορίας η οποία συντελεί στο να έχουμε σαν έξοδο περισσότερο αντικειμενικές προβλέψεις, καθώς συνδυάζεται η έξοδος από πολλούς ταξινομητές. Τέτοιου είδους μέθοδοι ονομάζονται ensemble methods. Στην εικόνα 5 βλέπουμε ένα παράδειγμα πρόβλεψης με την μέθοδο RAkEL ο. Εικόνα 5: RAkEL ο, ensemble πρόβλεψη Για να ανακεφαλαιώσουμε, στην ενότητα αυτή αναφερθήκαμε στο μετασχηματισμό προβλήματος. Στην κατηγορία αυτή μετασχηματίζουμε ένα πρόβλημα ταξινόμησης πολλαπλών ετικετών σε ένα ή παραπάνω προβλήματα ταξινόμησης μίας ετικέτας. Αναφερθήκαμε επίσης σε διάφορες τεχνικές με τις οποίες μετασχηματίζουμε ένα πρόβλημα. Υπάρχουν απλές μέθοδοι όπως οι μέθοδοι αντιγραφής, παράληψης και τυχαίας επιλογής. Υπάρχουν επίσης και πιο σύνθετες μέθοδοι όπως η μέθοδος BR, η μέθοδος LP και η μέθοδος RAkEL. Η BR είναι αρκετά απλή αλλά δεν λαμβάνει υπόψην συσχετίσεις μεταξύ ετικετών, η μέθοδος LP επιτυγχάνει σε αυτόν τον τομέα αλλά εξαρτάται πολύ από τον αριθμό των ετικετών q και τέλος η μέθοδος RAkEL επιλύει σε μεγάλο βαθμό τα παραπάνω προβλήματα. Μάλιστα σε συγκριτικές μελέτες μεταξύ των τριών αυτών μεθόδων, η RAkEL έχει πολύ καλύτερα αποτελέσματα, ειδικά στην περίπτωση των επικαλυπτόμενων ετικετών. 14

16 2.2.3 Προσαρμογή αλγορίθμου Σε αυτήν την κατηγορία μεθόδων ουσιαστικά επεκτείνουμε κάποιον single-label αλγόριθμο, έτσι ώστε να μπορεί να διαχειρίζεται δεδομένα πολλαπλών ετικετών. Ο knn είναι ένας πολύ αποτελεσματικός αλγόριθμος, που ανήκει στην κατηγορία των αλγορίθμων αναβλητικής μάθησης. Η επέκταση του αρχικά κάνει την ίδια διαδικασία με τον single-label, δηλαδή βρίσκει τους k κοντινότερους γείτονες. Το επόμενο βήμα είναι να γίνει η πρόβλεψη, η οποία γίνεται με συνάθροιση των τιμών που έχουν οι ετικέτες των γειτονικών αντικειμένων. Ένας τρόπος συνάθροισης είναι να βρεθεί το μέσο διάνυσμα των αντικειμένων και η πρόβλεψη να γίνει σύμφωνα με αυτό το διάνυσμα. Ένας πολύ γνωστός αλγόριθμος ο οποίος παράγει δέντρα αποφάσεων, είναι ο C4.5. Στην επέκταση του, έχουμε αντί για μία ετικέτα σε κάθε φύλλο, πολλαπλές και ο τύπος υπολογισμού της εντροπίας γίνεται: ( ( ) ( ) ( ) ( )) όπου q είναι το πλήθος των ετικετών, ( ) είναι η σχετική συχνότητα της ετικέτας και ( ) = 1 - ( ). Για τη δημιουργία δέντρων απόφασης, μπορούν να χρησιμοποιηθούν πολλά μέτρα για τον υπολογισμό της ομοιογένειας των ετικετών σε έναν κόμβο. Ένα τέτοιο μέτρο αποτελεί και η διασπορά των ετικετών. Υπολογίζουμε τη διασπορά σε έναν κόμβο και στα παιδιά του και έπειτα επιλέγουμε να γίνει ο διαχωρισμός σύμφωνα με το χαρακτηριστικό, το οποίο μεγιστοποιεί την παρακάτω ποσότητα: ( ) ( ( )) όπου D είναι το σύνολο των παραδειγμάτων που έχει ο κόμβος πριν το διαχωρισμό, Var(D) είναι η διασπορά του κόμβου, P είναι ο διαχωρισμός βάσει κάποιου χαρακτηριστικού, είναι τα παραδείγματα που έχουν οι νέοι κόμβοι που προκύπτουν και Var( ) είναι οι αντίστοιχες διασπορές σε κάθε καινούργιο κόμβο. Ουσιαστικά ελέγχουμε για κάθε χαρακτηριστικό το πόσο ομοιογενείς είναι οι νέοι κόμβοι που θα δημιουργηθούν, αν επιλεγεί το χαρακτηριστικό αυτό για διαχωρισμό. Επιλέγουμε τελικά αυτό που δημιουργεί τους πιο ομοιογενείς κόμβους. Η πρόβλεψη ενός καινούργιου αντικειμένου γίνεται σύμφωνα με το μέσο διάνυσμα των ετικετών του κόμβου στον οποίο κατέληξε το αντικείμενο κατά τη διάσχιση του δέντρου. Σε αυτήν την πτυχιακή εργασία θα δούμε με περισσότερες λεπτομέρειες την παραπάνω μέθοδο, δηλαδή τη δημιουργία δέντρου απόφασης όπου κριτήριο διάσπασης είναι η διασπορά των διανυσμάτων των ετικετών σε κάθε κόμβο. 15

17 2.2.4 Στατιστικές παράμετροι Για την περιγραφή των δεδομένων εκπαίδευσης, έχουν προταθεί δύο στατιστικές παράμετροι, η πληθυκότητα ετικετών (label cardinality) και η πυκνότητα ετικετών (label density). Η πληθυκότητα ετικετών είναι ο μέσος όρος των ετικετών ενός συνόλου δεδομένων D: ( ) Η πυκνότητα ετικετών είναι ο μέσος όρος των ετικετών ενός συνόλου δεδομένων D, διαιρεμένος με q: ( ) Η πληθυκότητα εκφράζει το πλήθος των διαφορετικών ετικετών που χαρακτηρίζουν κάθε παράδειγμα από το σύνολο δεδομένων και είναι ανεξάρτητο από το q. Αντίθετα η πυκνότητα δεν είναι ανεξάρτητη του q. Δύο σύνολα δεδομένων με ίδια πληθυκότητα και διαφορετική πυκνότητα πιθανότατα, θα έχουν διαφορετικές ιδιότητες. Μία τρίτη στατιστική παράμετρος είναι το πλήθος του συνόλου L, δηλαδή ο αριθμός q Μετρικές αξιολόγησης Η αξιολόγηση των αλγορίθμων μάθησης από δεδομένα με πολλαπλές ετικέτες, διαφέρει από την αξιολόγηση των αλγορίθμων μάθησης από δεδομένα με μία ετικέτα. Ας θεωρήσουμε ένα σύνολο δεδομένων εκπαίδευσης ( ( ) ( ) ( ) ), i 1.m, όπου ( είναι το διάνυσμα των χαρακτηριστικών του i-οστού αντικειμένου και ) L, το σύνολο των ετικετών με το οποίο έχει επισημανθεί. Το σύνολο L έχει μέγεθος L q. ( ) Έστω επίσης το σύνολο των ετικετών που προβλέπει ένας αλγόριθμος ταξινόμησης για το i-οστό αντικείμενο. Τέλος ορίζουμε ως,,, τoν αριθμό των false positive, false negative, true positive, true negative προβλέψεων για μία ετικέτα λ. Μπορούμε να χωρίσουμε τις μετρικές σε δύο κατηγορίες: βασισμένες στα παραδείγματα βασισμένες στις ετικέτες Βασισμένες στα παραδείγματα είναι οι επόμενες 5 μετρικές. 16

18 Hamming loss: ( ) ( ) Ακρίβεια(precision): ( ) ( ) ( ) Aνάκληση(recall): ( ) ( ) ( ) Ορθότητα(accuracy): ( ) ( ) ( ) ( ) F 1 : ( ) ( ) ( ) ( ) Όσον αφορά τις μετρικές που είναι βασισμένες στις ετικέτες, οποιαδήποτε μετρική που χρησιμοποιείται σε single-label προβλήματα μπορεί να χρησιμοποιηθεί και για multi-label. Ορίζουμε ως B( ) μία μετρική για single-label πρόβλημα. Τότε ορίζονται οι δύο παρακάτω μετρικές. B macro : ( ) B micro : B( ) 17

19 2.3 Κλιμάκωση αλγορίθμων μηχανικής μάθησης Ευκαιρίες και προκλήσεις για τη μηχανική μάθηση Στην εποχή που ζούμε, το πλήθος των δεδομένων είναι τεράστιο και αυξάνεται συνεχώς με ραγδαίους ρυθμούς. Με την πρόοδο της τεχνολογίας και την εξέλιξη του υλικού μέρους των υπολογιστών, οι δυνατότητες αποθήκευσης δεδομένων είναι σχεδόν απεριόριστες. Η έλευση του Web 2.0, καθώς και ο ανταγωνισμός στον επιχειρηματικό τομέα, έχουν συμβάλλει τα μέγιστα για τον τεράστιο αυτό όγκο δεδομένων. Επιχειρήσεις και οργανισμοί αποθηκεύουν όλο και περισσότερα δεδομένα. Το Διαδίκτυο κατακλύζεται καθημερινά από φωτογραφίες, βίντεο, σχόλια και γνώμες χρηστών. Οι επιστήμονες επιδιώκουν να έχουν μεγαλύτερες και πιο λεπτομερείς εξόδους από την έρευνα και τα πειράματα. Αρχεία καταγραφής από εφαρμογές, από βάσεις δεδομένων, από την τηλεπικοινωνία και το Διαδίκτυο συνεχώς πληθαίνουν και γίνονται πιο λεπτομερή. Όλο αυτό το πλήθος των δεδομένων είναι διαθέσιμο για ανάλυση και επεξεργασία. Μία εταιρία αναλύοντας τα δεδομένα που έχει στη διάθεση της μπορεί να διασφαλίσει μία ομαλή και κερδοφόρα λειτουργία. Την ενδιαφέρει να έχει πρόσβαση σε όσο περισσότερα δεδομένα γίνεται, καθώς με αυτόν τον τρόπο μπορεί να βγάλει ακριβή συμπεράσματα και να ασχοληθεί με περισσότερα θέματα που την αφορούν. Γενικότερα, με την τωρινή κατάσταση του πλήθος των δεδομένων παρουσιάζονται πληθώρα ευκαιριών για επίτευξη στόχων και βελτίωση της καθημερινότητας μας. Έχει γίνει πλέον σαφές ότι αναφερόμαστε σε συλλογές δεδομένων όπου το μέγεθος τους καθιστά δύσκολη τη διαχείριση τους από συμβατικές μεθόδους και τεχνολογίες. Τίθεται έτσι το ερώτημα του αν είναι εφικτό να επεξεργαστούμε τέτοια δεδομένα σε αποδεκτούς χρόνους. Αυτό το φαινόμενο, δηλαδή το γεγονός ότι υπάρχουν δεδομένα τα οποία θέλουμε να αναλύσουμε αλλά το μέγεθος τους είναι αποτρεπτικό για οποιαδήποτε εργασία πάνω σε αυτά, ονομάζεται Big Data. Για την επίλυση προβλημάτων μηχανικής μάθησης, έχει προταθεί μία πληθώρα αλγορίθμων. Κάθε αλγόριθμος έχει χαρακτηριστικά τα οποία τον καθιστούν ικανότερο από κάποιον άλλο για να χρησιμοποιηθεί σε κάποια εργασία. Μερικά από αυτά τα χαρακτηριστικά είναι η πολυπλοκότητα χρόνου και χώρου, η δυνατότητα διαχείρισης δεδομένων που περιέχουν συνεχείς τιμές, θόρυβο, απουσία τιμών από εγγραφές όπως επίσης και το αν χρειάζεται να έχουν όλη τη συλλογή φορτωμένη στην κύρια μνήμη. Στις επόμενες παραγράφους θα αναφέρουμε κάποια πράγματα για την κλιμάκωση των αλγορίθμων μηχανικής μάθησης, για το πως χειριζόμαστε συλλογές που είναι μεγάλες αλλά χωράνε στην κύρια μνήμη και προβλήματα που προκύπτουν από το μέγεθος των δεδομένων. Θα δούμε επίσης και πως διαχειριζόμαστε περιπτώσεις πάρα πολλών δεδομένων και τι γίνεται με την κλιμάκωση σε προβλήματα μάθησης πολλαπλών ετικετών. 18

20 2.3.2 Θεωρητικό μοντέλο υπολογισμού και προβλήματα με το μεγέθος των δεδομένων Σε αυτή την παράγραφο θα ασχοληθούμε με την περίπτωση όπου θεωρούμε ότι η κύρια μνήμη έχει απεριόριστο μέγεθος και μπορεί να φορτώσει εξ ολοκλήρου τα δεδομένα εισόδου. Αυτή η παραδοχή συνίσταται όταν ασχολούμαστε με αναλύσεις αλγορίθμων σε θεωρητικό επίπεδο. Είναι γνωστό ότι οι αλγόριθμοι που παρουσιάζουν τα καλύτερα αποτελέσματα, είναι και οι πιο περίπλοκοι και για αυτό και έχουν μεγαλύτερη πολυπλοκότητα. Για παράδειγμα τα SVM θεωρούνται από τους πιο αποτελεσματικούς αλγορίθμους μάθησης. Η πολυπλοκότητα τους όμως είναι Ο( ), πράγμα που σημαίνει ότι καθώς η συλλογή δεδομένων μεγαλώνει, τα SVM γίνονται εξαιρετικά χρονοβόρα. Από την άλλη μεριά, αλγόριθμοι με αποδεκτά αποτελέσματα μπορεί να έχουν πολυπλοκότητα Ο(m). Μερικοί από αυτούς είναι οι online αλγόριθμοι, όπου ο λόγος του χρόνου εκτέλεσης ως προς το πλήθος των δεδομένων, αυξάνεται γραμμικά. Λέμε ότι ένας αλγόριθμος έχει καλή κλιμάκωση όταν οι απαιτήσεις σε χρόνο και χώρο αυξάνονται γραμμικά ή σχεδόν γραμμικά ως προς τον όγκο των δεδομένων εισόδου. Λόγοι για τους οποίους ένας αλγόριθμος έχει αυξημένη πολυπλοκότητα συνήθως είναι πολλαπλασιασμοί πινάκων και επίλυση γραμμικών συστημάτων. Ο πολλαπλασιασμός πινάκων για παράδειγμα έχει πολυπλοκότητα Ο( ), οπότε αν κάποιος αλγόριθμος λειτουργεί με πολλαπλασιασμούς πινάκων τότε δεν κλιμακώνεται γραμμικά. Στο παρελθόν σπάνια συναντούσαμε προβλήματα όπου τα δεδομένα εισόδου δεν χωρούσαν στην κύρια μνήμη. Μάλιστα το μέγεθος τους δεν ξεπερνούσε ακόμα και μερικές εκατοντάδες megabyte. Για παράδειγμα, για να φτάσει μία βάση δεδομένων με 20 χαρακτηριστικά τύπου int να έχει μέγεθος 1 gigabyte, πρέπει να έχει περίπου εγγραφές. Αν αυτές οι εγγραφές αντιπροσωπεύουν πελάτες, τότε μιλάμε για μία τεράστια επιχείρηση. Το ίδιο συμβαίνει και στις μέρες μας. Η πληθώρα των συλλογών δεδομένων συνεχίζουν να έχουν τη δυνατότητα να χωράνε στην κύρια μνήμη, πόσο μάλλον τώρα που ένα οικιακός υπολογιστής μπορεί να έχει ακόμα και 16 gigabyte μνήμη. Είδαμε σε προηγούμενη παράγραφο ότι ζούμε σε μία εποχή όπου τα δεδομένα είναι άπειρα και ότι υπάρχουν πληθώρα ευκαιριών για τη μηχανική μάθηση, οπότε τίθεται το ερώτημα για ποιο λόγο οι συλλογές με τις οποίες εργαζόμαστε συνεχίζουν και έχουν μικρό μέγεθος. Η απάντηση είναι στο γεγονός ότι ακόμα και απεριόριστη μνήμη να έχει κάποιος, μετά από κάποιο μέγεθος οι αλγόριθμοι αργούν πάρα πολύ να τερματίσουν. Είναι αρκετά δύσκολο να δουλεύουμε με συλλογές που ένας αλγόριθμος χρειάζεται αρκετό χρόνο για να τερματίσει. Η ενασχόληση με τη μηχανική μάθηση περιλαμβάνει πειραματισμούς με επιλογές αλγορίθμων και τιμών για τις παραμέτρους τους, οπότε 19

21 θα χρειαστεί αρκετές φορές να τρέξουμε έναν αλγόριθμο για να βγάλουμε κάποια συμπεράσματα. Για παράδειγμα, χρησιμοποιώντας το εργαλείο Weka και τον αλγόριθμο J48, χρειάζονται περίπου 15 λεπτά για την εκπαίδευση από ένα σύνολο δεδομένων με μέγεθος 70 megabyte, οπότε σε μεγαλύτερες συλλογές μπορεί να περιμένουμε ακόμα και ώρες. Να σημειώσουμε εδώ ότι τα δέντρα απόφασης θεωρούνται από τους γρηγορότερους αλγορίθμους μηχανικής μάθησης, όταν δεν έχουμε μεγάλο πλήθος χαρακτηριστικών. Το παραπάνω γεγονός δείχνει τις δυσκολίες που προκύπτουν από το μέγεθος των δεδομένων, ακόμα και όταν αυτό είναι μικρό. Επίσης έχουμε θεωρήσει ότι τα δεδομένα χωράνε εξ ολοκλήρου στην κύρια μνήμη, κάτι το οποίο δεν είναι πάντα αληθές Τεχνικές για ενασχόληση με πολλά δεδομένα που χωράνε στην κύρια μνήμη Είδαμε στην προηγούμενη παράγραφο, ότι είναι δύσκολο να δουλεύουμε με συλλογές δεδομένων που το μέγεθος τους είναι σχετικά μεγάλο. Αυτό όμως δεν πρέπει να σημαίνει ότι θα ασχολούμαστε μόνο με μικρές συλλογές, για αυτό και χρησιμοποιούνται διάφορες τεχνικές στην πράξη. Μία από αυτές τις τεχνικές είναι η μείωση του μεγέθους της συλλογής, έτσι ώστε να φτάσει σε σημείο να μπορεί να χρησιμοποιηθεί αποδοτικά με κάποιον αλγόριθμο. Η πιο διάσημη τεχνική είναι αυτή της υποδειγματοληψίας (subsample), όπου επιλέγουμε ένα ποσοστό των αρχικών δεδομένων για να δημιουργήσουμε μία καινούργια συλλογή. Πρέπει όμως η καινούργια συλλογή να είναι αντιπροσωπευτική της παλιάς, έτσι ώστε να ασχολούμαστε πάλι με το ίδιο πρόβλημα. Άλλη λύση είναι να χρησιμοποιήσουμε πολύ γρήγορους αλγορίθμους. Η γραμμική πολυπλοκότητα είναι από τις καλύτερες περιπτώσεις και πάντα την επιδιώκουμε. Στην περίπτωση όμως της μηχανικής μάθησης όπως είδαμε, τέτοιου είδους αλγόριθμοι δεν έχουν καλή ακρίβεια πρόβλεψης. Υπάρχει μία αντιστάθμιση όσον αφορά χρονική απόδοση και αποτελέσματα. Πολλές φορές όταν θέλουμε να επιταχύνουμε αλγοριθμικές διαδικασίες, αυτό που κάνουμε είναι να διαιρούμε το πρόβλημα σε μικρότερα και να τα εξετάζουμε παράλληλα. Για παράδειγμα μπορεί κάποιος αλγόριθμος να χρειάζεται να υπολογίσει ένα άθροισμα προσθέτοντας τιμές από εγγραφές. Άμα οι εγγραφές είναι πάρα πολλές, μπορούμε να διαιρέσουμε το πλήθος τους και να υπολογίσουμε το άθροισμα παράλληλα, σε περισσότερους από έναν επεξεργαστές. Αναφέραμε ότι ο πολλαπλασιασμός πινάκων είναι χρονοβόρα διαδικασία και έχουν προταθεί για αυτόν τον λόγο αλγόριθμοι για παραλληλοποίηση της διαδικασίας. Επίσης έχουν προταθεί και εκδόσεις αλγορίθμων που αξιοποιούν τον παραλληλισμό. Ζούμε στην εποχή του cloud computing, στην εποχή όπου οι οικιακοί υπολογιστές, ακόμα και τα κινητά 20

22 τηλέφωνα πλέον έχουν πολλούς επεξεργαστές, οπότε έχουμε τα μέσα να παραλληλοποιούμε αλγορίθμους Big Data Στην περίπτωση του Big Data, τα δεδομένα πλέον δεν μπορούν να φορτωθούν στην κύρια μνήμη. Αναφερόμαστε σε συλλογές οι οποίες έχουν μεγέθη που κυμαίνονται από λίγες δεκάδες gigabyte μέχρι ακόμα και petabytes. Λόγοι για τους οποίους υπάρχουν τέτοιες συλλογές και για ποιο λόγο χρειάζεται να τις επεξεργαστούμε, αναφέρθηκαν σε προηγούμενη παράγραφο. Μπορούμε πάντα να μειώσουμε το μέγεθος των δεδομένων ώστε να χωρέσουν στην κύρια μνήμη, αλλά στην περίπτωση του Big Data μπορεί να είναι και ανούσιο. Για παράδειγμα με το να μειώσουμε μία συλλογή του ενός terabyte σε μερικά gigabytes, χάνουμε σχεδόν όλα μας τα δεδομένα και σε καμία περίπτωση το καινούργιο πρόβλημα δεν μοιάζει με το αρχικό. Η μοναδική λύση στην περίπτωση του Big Data, είναι να διαιρέσουμε την αρχική συλλογή σε μικρότερα κομμάτια και να τα φορτώνουμε σταδιακά στην κύρια μνήμη, όπου και θα τα επεξεργάζεται ο αλγόριθμος μας. Με αυτήν τη λογική λειτουργούν οι online αλγόριθμοι, οι οποίοι δέχονται μία εγγραφή κάθε φορά και ανανεώνουν το μοντέλο. Η συλλογή βρίσκεται σε αρχεία στο δίσκο, τα οποία φορτώνονται σταδιακά στη μνήμη και όταν έχουν επεξεργαστεί όλες οι εγγραφές από ένα αρχείο, τότε έρχεται το επόμενο. Βέβαια πλέον υπάρχει και το κόστος των εγγραφών/αναγνώσεων από το δίσκο, όπου είναι γνωστό ότι αποτελούν αρκετά χρονοβόρες διαδικασίες μέσα σε ένα υπολογιστικό σύστημα. Το κόστος αυτό όμως είναι κάτι το οποίο δεν μπορούμε να αποφύγουμε, οπότε απλά κοιτάμε να γίνονται όσο λιγότερες επισκέψεις στο δίσκο είναι δυνατό. Υπάρχουν όμως και αλγόριθμοι, οι οποίοι πρέπει να έχουν όλα τα δεδομένα φορτωμένα στη μνήμη για να λειτουργήσουν. Τέτοιοι αλγόριθμοι είναι για παράδειγμα τα δέντρα απόφασης, όπως ο J48 και ο ID3. Σε αυτήν την περίπτωση θα πρέπει να βρεθούν εκδόσεις δέντρων απόφασης που να δουλεύουν με σταδιακή φόρτωση όλη της συλλογής στη μνήμη. Φυσικά ότι έχουμε αναφέρει για παραλληλισμό της διαδικασίας της μηχανικής μάθησης, συνεχίζει και ισχύει και για το Big Data και μάλιστα είναι ακόμα πιο αναγκαίος. Άμα μερικά gigabytes φορτωμένα στην κύρια μνήμη πρέπει να επεξεργαστούν παράλληλα για να μειώσουμε το χρονικό κόστος, φανταστείτε πόσο πιο ανάγκη έχουμε την παράλληλη επεξεργασία όταν έχουμε terabytes αποθηκευμένα στο σκληρό δίσκο. Να σημειώσουμε εδώ ότι όταν αναφερόμαστε σε πάρα πολλά δεδομένα και σε παράλληλα συστήματα, ο όρος κλιμάκωση δεν έχει την ίδια ακριβώς σημασία που 21

23 έχει σε ένα σύστημα μόνο. Με την παραλληλοποίηση, θέλουμε να επιτύχουμε καλούς χρόνους και όχι γραμμική κλιμάκωση. Για παράδειγμα σε έναν αλγόριθμο που έχει Ο( ) πολυπλοκότητα, με την παραλληλοποίηση δεν τον κάνουμε γραμμικό αλλά απλά μειώνουμε το χρονικό κόστος. Οπότε ο όρος κλιμάκωση σε τέτοιου είδους προβλήματα μετατρέπεται στην έκφραση διαχείριση πάρα πολλών δεδομένων σε αποδεκτούς χρόνους Κλιμάκωση μάθησης πολλαπλών ετικετών Οι πολυπλοκότητες των αλγορίθμων εμφανίζονται συναρτήσει του πλήθους των αντικειμένων, των χαρακτηριστικών και στην περίπτωση του multi-label learning και του αριθμού των ετικετών. Βλέπουμε δηλαδή ότι η μάθηση πολλαπλών ετικετών είναι περισσότερο περίπλοκη διαδικασία από τη μάθηση με μία ετικέτα. Έχουμε ήδη δει πόσο επηρεάζει ο αριθμός ετικετών τη χρονική απόδοση της μεθόδου LP και BR. Όσον αφορά τη μέθοδο μετασχηματισμού προβλήματος, είναι εύκολο να δει κανείς ότι μπορούμε εύκολα να παραλληλοποιήσουμε τη διαδικασία. Για παράδειγμα στη BR μέθοδο, μπορούμε παράλληλα να εκπαιδεύσουμε όλα τα μοντέλα που αντιστοιχούν σε κάθε ετικέτα. Το κάθε μοντέλο ουσιαστικά χτίζεται μετά, με τους τρόπους που είδαμε σε προηγούμενες παραγράφους. Το ίδιο ισχύει και για τη μέθοδο προσαρμογής αλγορίθμου, μόνο που τώρα έχουμε ένα μοντέλο μόνο. 2.4 Hadoop Ως τώρα έχουμε αναφέρει αρκετές φορές τους όρους απεριόριστα δεδομένα, παραλληλοποίηση, πολλές μονάδες επεξεργασίας, χωρίς να δώσουμε μεγάλη έμφαση σε τεχνικά θέματα. Τα πράγματα όμως δεν είναι τόσο απλά. Προφανώς τα terabyte δεδομένων που μπορεί να έχουμε, δεν χωράνε σε έναν σκληρό δίσκο μόνο. Οι σημερινοί δίσκοι φτάνουν μέχρι ελάχιστα terabyte οπότε αναγκαστικά θα πρέπει να έχουμε παραπάνω από έναν. Επίσης έχουμε μιλήσει για πολλές μονάδες επεξεργασίας. Ένας σημερινός επεξεργαστής μπορεί να έχει ακόμα και 8 πυρήνες επεξεργασίας, που είναι αρκετοί για ένα σύνολο δεδομένων μέχρι μερικές δεκάδες gigabytes. Οπότε σίγουρα θα χρειαστούμε περισσότερους αν είναι να ασχοληθούμε με πολύ μεγάλες συλλογές Αρχιτεκτονικές υπολογιστών και διαφάνεια Υπάρχουν πολλές αρχιτεκτονικές υπολογιστών που μπορούν να φιλοξενήσουν και να διαχειριστούν μεγάλους όγκους δεδομένων. Για παράδειγμα μπορούμε να έχουμε ένα 22

24 σύστημα που περιέχει μία συστοιχία δίσκων σε RAID και μία πισίνα από επεξεργαστές (processor pool) που αναλαμβάνουν να διεκπεραιώνουν εργασίες. Άλλη αρχιτεκτονική είναι το grid computing, το οποίο χρησιμοποιείται σε περιπτώσεις που έχουμε πολύ βαριές εργασίες, όπως είναι το rendering των γραφικών. Όπως είπαμε υπάρχουν πολλές αρχιτεκτονικές υπολογιστών. Οι περισσότερες όμως υπολείπονται ενός πολύ βασικού χαρακτηριστικού, που ονομάζεται διαφάνεια. Ουσιαστικά η διαφάνεια αποκρύπτει στους χρήστες λεπτομέρειες του συστήματος που είναι ευθύνη των διαχειριστών και των δημιουργών του να ασχοληθούν με αυτές. Για παράδειγμα ένα χρήστη τον ενδιαφέρει να χρησιμοποιεί ένα σύστημα ζητώντας αρχεία, εκτελώντας κώδικα και γενικά να κάνει εργασίες. Δεν θέλει να ασχολείται με το που γίνονται οι υπολογισμοί, που βρίσκεται το αρχείο που ψάχνει και γενικά όλο το παρασκήνιο. Η διαφάνεια δίνει τη δυνατότητα να ασχοληθεί κάποιος με αυτό που πραγματικά θέλει, χωρίς περιττές εργασίες. Ας δούμε πως λειτουργεί ένας χρήστης σε ένα σύστημα που υπολείπεται της διαφάνειας που αναφέραμε. Θα πρέπει να γνωρίζει επακριβώς όλους τους διαθέσιμους πόρους που έχει στη διάθεση του. Στη συγγραφή κώδικα, θα πρέπει να συμπεριλάβει αρκετά πράγματα παραπάνω από αυτά που χρειάζεται για την εργασία του, όπως για παράδειγμα το όνομα του υπολογιστή ή των υπολογιστών που θα γίνουν οι υπολογισμοί, τα ονόματα των πόρων που τον ενδιαφέρουν. Επίσης πρέπει να ασχοληθεί και με τη συνδεσμολογία των πόρων, καθώς ίσως να χρειαστεί να επεκτείνει το σύστημα. Ο κώδικας του και αυτός μετά χρειάζεται αλλαγές. Όταν όμως υπάρχει η διαφάνεια, πολλές από αυτές τις extra υποχρεώσεις, παραλείπονται. Το πιο κλασικό παράδειγμα συστήματος με διαφάνεια, είναι ο παγκόσμιος ιστός. Όταν δίνουμε ένα ερώτημα σε μία μηχανή αναζήτησης, δεν γνωρίζουμε τι ακριβώς γίνεται και απλά μας ενδιαφέρει να επιστραφούν σωστά και γρήγορα τα αποτελέσματα. Όταν αποθηκεύουμε κάτι μέσω κάποιας υπηρεσίας στο Διαδίκτυο, δεν γνωρίζουμε που βρίσκεται αλλά ξέρουμε ότι μπορούμε να το ζητήσουμε οποιαδήποτε στιγμή το θελήσουμε. Τα τελευταία χρόνια έχει εμφανιστεί ο όρος cloud computing, όπου πρόκειται για μία υπηρεσία που δίνει τη δυνατότητα σε χρήστες να χρησιμοποιήσουν απεριόριστους πόρους για τις εργασίες τους. Η αρχιτεκτονική που υιοθετεί περισσότερο από όλες την διαφάνεια, είναι τα κατανεμημένα συστήματα. Τα κατανεμημένα συστήματα είναι πόροι κατανεμημένοι σε ένα δίκτυο, οι οποίοι αξιοποιούνται από ένα λειτουργικό σύστημα. Το λειτουργικό αυτό κάνει ακριβώς την ίδια δουλειά με τα κλασικά λειτουργικά συστήματα. Οπότε, ο χρήστης βλέπει όλες τις μονάδες επεξεργασίας που υπάρχουν σαν μία και το ίδιο ακριβώς γίνεται με τα μέσα αποθήκευσης. Οι διεργασίες και οι αλγόριθμοι που τρέχουν, έχουν τη δυνατότητα να ζητήσουν περισσότερους πόρους, να μεταναστεύσουν από μία μονάδα επεξεργασίας σε άλλη. Επίσης υπάρχει και η δυνατότητα για δημιουργία παράλληλων αλγορίθμων. 23

25 Τα πάντα αποκρύπτονται από τον χρήστη, πέραν βέβαια από αυτών που τον ενδιαφέρουν άμεσα. Το να χρησιμοποιήσουμε μία αρχιτεκτονική υπολογιστών από την οποία απουσιάζει η διαφάνεια για να διαχειριστούμε προβλήματα ευρείας κλίμακας, δυσκολεύει ακόμα πιο πολύ το έργο μας. Θέλουμε οι αλγόριθμοι που φτιάχνουμε να ζητούν μόνοι τους παραπάνω πόρους, να επεκτείνουμε το σύστημα μας εύκολα και γρήγορα, θέματα αξιοπιστίας να λύνονται αυτόματα. Έτσι εμείς κάνουμε ότι θα κάναμε στον προσωπικό μας υπολογιστή για ένα πολύ μικρό σύνολο δεδομένων Hadoop Τα τελευταία χρόνια υπάρχει μία έξαρση στα κατανεμημένα συστήματα, με κορυφαίο παράδειγμα το Hadoop της Apache. Πρόκειται για μία πλατφόρμα που επιτρέπει σε απλούς χρήστες να στήσουν ένα δικό τους κατανεμημένο σύστημα, εύκολα και γρήγορα. Το Hadoop θα χρησιμοποιηθεί σε αυτήν την πτυχιακή εργασία για την ανάπτυξη δύο αλγορίθμων. Το Hadoop είναι μία ανοικτού λογισμικού έκδοση που περιγράφεται σε μία σειρά δημοσιεύσεων της Google. Το 2003 η Google δημοσίευσε ένα κατανεμημένο σύστημα αρχείων (Google distributed filesystem-gfs), ικανό να αποθηκεύσει και να διαχειριστεί με επάρκεια απεριόριστο πλήθος δεδομένων (Ghemawat et al., 2003). Την επόμενη χρονιά δημοσίευσε μία τεχνική για παράλληλη επεξεργασία τεράστιου όγκου δεδομένων, γνωστή ως Map/Reduce (Dean & Ghemawat.,2004). Δύο χρόνια αργότερα έδωσε στο κοινό ένα σύστημα για συγχρονισμό κατανεμημένων συστημάτων (Burrows., 2006). Το Hadoop ξεκίνησε ως μία μηχανή αναζήτησης, το Nutch και δημιουργός της ήταν ο Doug Cutting. Οι φιλοδοξίες για το Nutch ήταν να γίνει μία εφαρμογή του ιστού, αλλά είχε αρκετά προβλήματα κλιμάκωσης. Την περίοδο , με τις δημοσιεύσεις του GFS και του Map/Reduce ο Doug κατάφερε να αναβαθμίσει το Nutch το οποίο όμως ακόμα δεν μπορούσε να ανέβει στο Διαδίκτυο. Να αναφέρουμε εδώ ότι το συγκεκριμένο project είχε ελάχιστους προγραμματιστές. Τελικά την περίοδο , η Yahoo προσέλαβε τον Doug και δημιουργήθηκε μία ομάδα προγραμματιστών, εξ ολοκλήρου για αυτόν τον σκοπό. Το αποτέλεσμα ήταν το Hadoop, όπου έκανε το πρώτο μεγάλο χτύπημα το 2008 με την Yahoo να καταφέρνει σε ένα cluster της να ταξινομήσει 1 terabyte δεδομένων σε 209 δευτερόλεπτα. Έκτοτε το Hadoop είναι μία από τις δημοφιλέστερες πλατφόρμες για επεξεργασία τεράστιου όγκου δεδομένων και χρησιμοποιείται κατά κόρον από επιχειρηματικούς κολοσσούς, όπως Yahoo, Facebook, Twitter και πολλές άλλες. Να αναφέρουμε ότι το Hadoop αποτελείται από το HDFS (Hadoop Distributed File System), το Hadoop Map/Reduce και το Zookeeper, σύστημα αντίστοιχο του Chubby της Google. 24

26 2.4.3 Hadoop Distributed Filesystem Το HDFS είναι ένα κατανεμημένο σύστημα αρχείων εμπνευσμένο από το GFS. Αποτελείται από τρεις διακριτούς ρόλους, τον Namenode, τον Secondary Namenode και τους Datanodes και υπάρχει μία σχέση master/workers ανάμεσα σε Namenode και Datanodes. Ο Namenode είναι ο master του HDFS. Στο HDFS τα αρχεία χωρίζονται σε μικρότερα κομμάτια που ονομάζονται blocks και έχουν μέγεθος συνήθως 64 megabytes. Ο Namenode δεν αποθηκεύει αυτά τα blocks, αλλά είναι υπεύθυνος για όλο το namespace του συστήματος αρχείων. Διατηρεί όλα τα μεταδεδομένα, όπως τη μορφή του συστήματος αρχείων με τα directories και τους φακέλους, τις τοποθεσίες των block και των αντιγράφων τους. Όταν ένας χρήστης επιθυμεί ένα αρχείο, ο HDFS client του επικοινωνεί με τον Namenode, ο οποίος του δίνει τις τοποθεσίες των υπολογιστών με τα block που αποτελούν το αρχείο. Ο Namenode επικοινωνεί τακτικά με τους Datanodes για να δει την κατάσταση τους και όποιες αλλαγές έχουν συμβεί για να ανανεώσει τα μεταδεδομένα του. Επειδή είναι μία μόνο η διεργασία του Namenode, αποτελεί και σημείο αποτυχίας για όλο το HDFS. Υπάρχει όμως ο Secondary Namenode, ο οποίος είναι υπεύθυνος για τη δημιουργία της εικόνας που έχει ο Namenode κάθε στιγμή, έτσι ώστε να γίνει γρήγορη επανεκκίνηση του Namenode. Οι Datanodes είναι οι εργάτες του HDFS. Αποθηκεύουν τα blocks και τα επιστρέφουν όποτε τους ζητηθεί. Επίσης επικοινωνούν με τον Namenode για τυχών αλλαγές στα δεδομένα που έχουν αποθηκεύσει. Μία τέτοια αλλαγή μπορεί να είναι το γεγονός ότι ένα από τα block που έχουν αποθηκευμένα ξεπέρασε το όριο των 64 megabytes και πρέπει να δημιουργηθεί καινούργιο block. Εικόνα 6: Αρχιτεκτονική HDFS 25

27 Στην εικόνα 6 βλέπουμε την αρχιτεκτονική του HDFS. Έχουμε δύο ομάδες από Datanodes, όπου κάθε Datanode έχει αποθηκευμένα κάποια block. O Namenode όπως είπαμε κρατάει τα μεταδεδομένα του συστήματος αρχείων και διαχειρίζεται ως ένα σημείο την κατάσταση του. Ένα σενάριο χρήσης είναι το εξής: Ο πάνω αριστερά χρήστης ζητάει από τον Namenode την τοποθεσία κάποιων blocks και στη συνέχεια επικοινωνεί με τον Datanode που περιέχει τα συγκεκριμένα blocks και πραγματοποιεί ανάγνωση τους Hadoop Map/Reduce Το Map/Reduce είναι ένα προγραμματιστικό μοντέλο που δίνει τη δυνατότητα να επεξεργαστούμε πάρα πολλά δεδομένα. Είναι αρκετά απλό μοντέλο αλλά πολλές φορές είναι δύσκολο να εκφράσουμε ένα πρόβλημα στη Map/Reduce λογική. Το Map/Reduce αποτελείται από δύο φάσεις, τη Map και τη Reduce. Ας δούμε κάπως αφαιρετικά την όλη διαδικασία. Αρχικά τα δεδομένα που υπάρχουν στη διάθεση μας χωρίζονται σε μικρότερες ομάδες, τα splits. Κάθε μία από αυτές τις ομάδες είναι ένα map task το οποίο αποτελεί μία εργασία για μία μονάδα επεξεργασίας. Για παράδειγμα μπορεί να έχουμε 10 map tasks και 5 υπολογιστές. Τότε κάθε υπολογιστής μπορεί να αναλάβει 2 map tasks. Σε ένα map task τα δεδομένα έρχονται συνήθως σειρά σειρά και σε κάθε σειρά γίνονται κάποιες εργασίες από όπου προκύπτει και μία έξοδος για την κάθε μία. Αυτές οι εργασίες είναι ίδιες για κάθε σειρά και map task και αποτελούν το map function. To map function όπως είπαμε δέχεται σειρές δεδομένων που έχουν τη μορφή <key, value>. Συνήθως αυτό που μας ενδιαφέρει σε αυτήν τη φάση είναι μόνο το value που είναι τα δεδομένα μας. Το key περιέχει κάποιες πληροφορίες όπως θέση του value μέσα στο αρχείο. Ύστερα στο value γίνονται κάποιες διεργασίες και προκύπτει ένα νέο <key, value> ζευγάρι. Όταν τελειώσει όλη η φάση του Map, τότε είναι η σειρά του Reduce. Όλα τα ζευγάρια που έχουν δημιουργηθεί, κατανέμονται σε νέες μονάδες επεξεργασίας ανάλογα με το key. Τα κλειδιά γενικά δεν είναι κάτι αυθαίρετο, αλλά χρησιμοποιούνται για να δημιουργηθούν ομάδες ζευγαριών που έχουν το ίδιο key. Έτσι προκύπτουν ζευγάρια του τύπου <key, list (value)>. Μετά κάθε reduce task αναλαμβάνει για κάθε key που του έχει ανατεθεί, να κάνει μία εργασία πάνω στη λίστα από values. Αυτή η εργασία είναι πάλι ίδια για κάθε reduce task και αποτελεί το reduce function. Έτσι προκύπτει μία έξοδος από κάθε reduce task. Όταν τελειώσει και η Reduce φάση θα έχει προκύψει μία έξοδος. Το πιο κλασικό παράδειγμα για να καταλάβει κανείς το Map/Reduce, φαίνεται στην παρακάτω εικόνα και πρόκειται για τη δημιουργία ενός αντεστραμμένου καταλόγου. 26

28 map(string key, String value): // key: document name // value: document contents for each word w in value: EmitIntermediate(w, "1"); reduce(string key, Iterator values): // key: a word // values: a list of counts int result = 0; for each v in values: result += ParseInt(v); Emit(AsString(result)); Εικόνα 7: Δημιουργία αντεστραμμένου καταλόγου με Map/Reduce Αρχικά έχουμε μία συλλογή από έγγραφα. Κάθε ένα από αυτά τα έγγραφα αποτελεί είσοδο για ένα map task. Είναι δηλαδή το value που αναφέραμε παραπάνω, όπου είπαμε ότι συνήθως έχει τη μορφή μίας γραμμής. Στην περίπτωση μας όμως, για λόγους απλότητας είναι ένα ολόκληρο έγγραφο. Οπότε αν έχουμε για παράδειγμα δέκα έγγραφα, τότε έχουμε και 10 map tasks όπου στο καθένα θα εφαρμοστεί η ίδια map function. Η map function διαβάζει κάθε λέξη του εγγράφου και βγάζει στην έξοδο ζευγάρια της μορφής <λέξη, 1>. Αφού τελειώσει η Map φάση, ξεκινάει η Reduce. Η είσοδος για κάθε reduce task είναι της μορφής <λέξη, λίστα από 1>. Για κάθε λέξη λοιπόν, αρχικοποιεί μία μεταβλητή sum και διατρέχει τη λίστα προσθέτοντας τους άσσους. Στο τέλος βγάζει στην έξοδο το ζευγάρι <λέξη, αριθμός εμφανίσεων>. Όταν θα τελειώσουν όλα τα reduce task θα έχει δημιουργηθεί ένας αντεστραμμένος κατάλογος. Το Map/Reduce έχει δύο διακριτούς ρόλους, τον Jobtracker και τους Tasktrackers που έχουν όπως και στην περίπτωση του HDFS, σχέση master/workers. Ο Jobtracker είναι ο master του Map/Reduce. Αναλαμβάνει να αναθέτει map tasks και reduce tasks στους Tasktrackers. Ο χρήστης αναθέτει στον Jobtracker δουλειές, τα λεγόμενα jobs. Ουσιαστικά job είναι μία επεξεργασία που θέλουμε να κάνουμε σε δεδομένα και αποτελείται από τα δεδομένα, το map function και το reduce function. Ο Jobtracker παρακολουθεί όλη τη διαδικασία και αναθέτει σε αδρανείς Tasktrackers map και reduce tasks. Οι Tasktrackers επιτελούν εργασίες map ή reduce στα δεδομένα και ενημερώνουν τον Jobtracker για την κατάσταση τους. Στην παρακάτω εικόνα βλέπουμε την όλη διαδικασία. 27

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΥΣ Θέμα: ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Φοιτήτρια: Κοντζοπούλου Παναγιώτα Εισαγωγή

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

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

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

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Data Mining - Classification Data Mining Ανακάλυψη προτύπων σε μεγάλο όγκο δεδομένων. Σαν πεδίο περιλαμβάνει κλάσεις εργασιών: Anomaly Detection:

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

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

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

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

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

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

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

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

EPL 660: Lab 4 Introduction to Hadoop

EPL 660: Lab 4 Introduction to Hadoop EPL 660: Lab 4 Introduction to Hadoop Andreas Kamilaris Department of Computer Science MapReduce Πρόβλημα: Ανάγκη για επεξεργασία μεγάλου όγκου δεδομένων στα συστήματα ανάκτησης πληροφορίας. Λύση: κατανομή

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο 2016-2017 Υποχρεωτική εργασία Τα τελευταία χρόνια, λόγω της τεράστιας αύξησης της ποσότητας της πληροφορίας που έχουμε

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

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

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

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

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον Δανάη Κούτρα Eργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Εθνικό Μετσόβιο Πολυτεχνείο Θέματα Σκοπός της διπλωματικής

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

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

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

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

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

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

Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι

Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι Κ Ο Τ Ι Ν Η Ι Σ Α Β Ε Λ Λ Α Ε Κ Π Α Ι Δ Ε Υ Τ Ι Κ Ο Σ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Π Ε 8 6 Ν Ε Ι Ρ Ο Σ Α Ν Τ Ω ΝΙ Ο Σ Ε Κ Π Α Ι Δ Ε Υ Τ Ι Κ Ο Σ Π Λ Η Ρ Ο Φ Ο

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

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

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

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

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

Πληροφοριακά Συστήματα Διοίκησης

Πληροφοριακά Συστήματα Διοίκησης Πληροφοριακά Συστήματα Διοίκησης Μεγάλα Δεδομένα ΠΜΣ Λογιστική Χρηματοοικονομική και Διοικητική Επιστήμη ΤΕΙ Ηπείρου @ 2017 Bytes 1KB = 2 10 1MB = 2 20 1GB = 2 30 1TB = 2 40 1PB = 2 50 1EB = 2 60 1ZB =

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

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού Ενότητα 2- Οι αρχές της agile προσέγγισης Δρ. Δημήτριος Τσέλιος Καθηγητής Εφαρμογών Τμήμα Μηχανικών Πληροφορικής Τ.Ε.- ΤΕΙ Θεσσαλίας Μεταπτυχιακό Πρόγραμμα

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

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη 01 Εισαγωγή Μια απλή και γρήγορη εισαγωγή Το Splunk > είναι ένα πρόγραμμα το οποίο πρωτοεμφανίστηκε στην αγορά το 2003 και αποτελεί ένα πρόγραμμα εξόρυξης

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

Πληροφοριακά Συστήματα Διοίκησης

Πληροφοριακά Συστήματα Διοίκησης Πληροφοριακά Συστήματα Διοίκησης Μεγάλα Δεδομένα ΠΜΣ Λογιστική Χρηματοοικονομική και Διοικητική Επιστήμη ΤΕΙ Ηπείρου Bytes 1KB = 2 10 1MB = 2 20 1GB = 2 30 1TB = 2 40 1PB = 2 50 1EB = 2 60 1ZB = 2 70 1YB

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

Ασκήσεις μελέτης της 19 ης διάλεξης

Ασκήσεις μελέτης της 19 ης διάλεξης Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 19 ης διάλεξης 19.1. Δείξτε ότι το Perceptron με (α) συνάρτηση ενεργοποίησης

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

Μαζικός Παραλληλισμός λ με Map - Reduce. Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων

Μαζικός Παραλληλισμός λ με Map - Reduce. Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων Μαζικός Παραλληλισμός λ με Map - Reduce Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων Ευχαριστίες Οι διαφάνειες στηρίζονται σε μεγάλο βαθμό στο υλικό που είναι διαθέσιμο από το εργαστήριο

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

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

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

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

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Εισηγητής: ρ Ηλίας Ζαφειρόπουλος Εισαγωγή Ιατρικά δεδοµένα: Συλλογή Οργάνωση Αξιοποίηση Data Mining ιαχείριση εδοµένων Εκπαίδευση

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

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

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

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

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

Αξιοποίηση της συσχέτισης μεταξύ λέξεων για τη βελτίωση του προσεγγιστικού φιλτραρίσματος πληροφορίας

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

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

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38

Περιεχόμενα. Δημιουργία σύνδεσης... 27 5. ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ... 37. Γνωριμία με μια ιστοσελίδα:... 38 Περιεχόμενα ΠΡΟΛΟΓΟΣ... 11 ΔΙΑΔΙΚΤΥΟ... 13 1. ΙΣΤΟΡΙΑ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ... 15 2. ΤΙ ΕΙΝΑΙ ΤΟ ΔΙΑΔΙΚΤΥΟ INTERNET;... 16 3. ΤΙ ΠΡΟΣΦΕΡΕΙ ΤΟ ΔΙΑΔΙΚΤΥΟ, ΤΙ ΜΠΟΡΕΙ ΝΑ ΒΡΕΙ ΚΑΝΕΙΣ... 19 4. ΤΙ ΑΠΑΙΤΕΙΤΑΙ ΓΙΑ ΝΑ

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

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 18η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται: στο βιβλίο Machine Learning του T. Mitchell, McGraw- Hill, 1997,

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

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2017-2018. Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

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

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

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

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

Περιεχόμενα. Visio / White paper 1

Περιεχόμενα. Visio / White paper 1 Περιεχόμενα Τι είναι η πλατφόρμα Visio Αρχιτεκτονική Δουλεύοντας με το Περιεχόμενο Πηγές Περιεχόμενου Διαγραφή Περιεχομένου Βασικές Λειτουργίες Προφίλ Χρήστη Διαχείριση Χρηστών Σύστημα Διαφημίσεων Αποθήκευση

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

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ Tel.: +30 2310998051, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Ιστοσελίδα: http://users.auth.gr/theodoru ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

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

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 17η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται: στο βιβλίο Artificia Inteigence A Modern Approach των S. Russe και

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

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων ..?????? Εργαστήριο ΒΑΣΕΙΣ????????? ΔΕΔΟΜΕΝΩΝ Βάσεων Δεδομένων?? ΙΙ Εισαγωγικό Μάθημα Βασικές Έννοιες - . Γενικά Τρόπος Διεξαγωγής Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα

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

Εκπαίδευση Ενηλίκων: Εμπειρίες και Δράσεις ΑΘΗΝΑ, Δευτέρα 12 Οκτωβρίου 2015

Εκπαίδευση Ενηλίκων: Εμπειρίες και Δράσεις ΑΘΗΝΑ, Δευτέρα 12 Οκτωβρίου 2015 Εκπαίδευση Ενηλίκων: Εμπειρίες και Δράσεις ΑΘΗΝΑ, Δευτέρα 12 Οκτωβρίου 2015 Μάθηση και γνώση: μια συνεχής και καθοριστική αλληλοεπίδραση Αντώνης Λιοναράκης Στην παρουσίαση που θα ακολουθήσει θα μιλήσουμε

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

Τεχνητή Νοημοσύνη. 6η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 6η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 6η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

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

Μαθηματικά: Αριθμητική και Άλγεβρα. Μάθημα 3 ο, Τμήμα Α. Τρόποι απόδειξης

Μαθηματικά: Αριθμητική και Άλγεβρα. Μάθημα 3 ο, Τμήμα Α. Τρόποι απόδειξης Μαθηματικά: Αριθμητική και Άλγεβρα Μάθημα 3 ο, Τμήμα Α Ο πυρήνας των μαθηματικών είναι οι τρόποι με τους οποίους μπορούμε να συλλογιζόμαστε στα μαθηματικά. Τρόποι απόδειξης Επαγωγικός συλλογισμός (inductive)

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

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων Δρ. Ε. Χάρου Πρόγραμμα υπολογιστικής ευφυίας Ινστιτούτο Πληροφορικής & Τηλεπικοινωνιών ΕΚΕΦΕ ΔΗΜΟΚΡΙΤΟΣ exarou@iit.demokritos.gr Μηχανική

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

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

ΠΑΡΟΥΣΙΑΣΗ ΣΤΑΤΙΣΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ο Κεφάλαιο: Στατιστική ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Πληθυσμός: Λέγεται ένα σύνολο στοιχείων που θέλουμε να εξετάσουμε με ένα ή περισσότερα χαρακτηριστικά. Μεταβλητές X: Ονομάζονται

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

Κάνοντας ακριβέστερες μετρήσεις με την βοήθεια των Μαθηματικών. Ν. Παναγιωτίδης, Υπεύθυνος ΕΚΦΕ Ν. Ιωαννίνων

Κάνοντας ακριβέστερες μετρήσεις με την βοήθεια των Μαθηματικών. Ν. Παναγιωτίδης, Υπεύθυνος ΕΚΦΕ Ν. Ιωαννίνων Κάνοντας ακριβέστερες μετρήσεις με την βοήθεια των Μαθηματικών Ν. Παναγιωτίδης, Υπεύθυνος ΕΚΦΕ Ν. Ιωαννίνων Αν κάναμε ένα τεστ νοημοσύνης στους μαθητές και θέταμε την ερώτηση: Πως μπορεί να μετρηθεί το

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

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Σύντομες εισαγωγικές σημειώσεις για την. Matlab Σύντομες εισαγωγικές σημειώσεις για την Matlab Δήλωση Μεταβλητών Για να εισάγει κανείς δεδομένα στη Matlab υπάρχουν πολλοί τρόποι. Ο πιο απλός είναι στη γραμμή εντολών να εισάγουμε αυτό που θέλουμε και

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

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή 1 Πίνακας Περιεχομένων 1. Εισαγωγή... 4 1.1 Περιβάλλον Moodle...4 1.2 Χρήση ονόματος χρήστη και κωδικού...4 1.3 Δημιουργία νέου μαθήματος...4 1.3.1

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

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

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

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

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα Τεχνητή Νοημοσύνη (Artificial Intelligence) Ανάπτυξη μεθόδων και τεχνολογιών για την επίλυση προβλημάτων στα οποία ο άνθρωπος υπερέχει (?) του υπολογιστή Συλλογισμοί

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

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

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

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ. ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning. Βόλτσης Βαγγέλης Α.Μ

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ. ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning. Βόλτσης Βαγγέλης Α.Μ ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Othello-TD Learning Βόλτσης Βαγγέλης Α.Μ. 2011030017 Η παρούσα εργασία πραγματοποιήθηκε στα πλαίσια του μαθήματος Αυτόνομοι Πράκτορες και σχετίζεται με λήψη αποφάσεων

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

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

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

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

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

ΑΞΙΟΛΟΓΗΣΗ (THE MATRIX)

ΑΞΙΟΛΟΓΗΣΗ (THE MATRIX) ΕΠΙΧΕΙΡΗΜΑΤΙΚΟ ΠΑΙΧΝΙΔΙ PLAY4GUIDANCE ΑΞΙΟΛΟΓΗΣΗ (THE MATRIX) Συγγραφέας: Jan M. Pawlowski, Hochschule Ruhr West (HRW) Page 1 of 7 Κατηγορία Ικανότητας Περιγραφή Ικανότητας Περιγραφή του επιπέδου επάρκειας

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

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

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

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

Πώς λειτουργεί το Google?

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

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

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων .. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες

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

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Επεξήγηση web site με λογικό διάγραμμα «Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Web : www.e-base.gr E-mail : support@e-base.gr Facebook : Like Twitter : @ebasegr Πολλοί άνθρωποι

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

Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ)

Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ) Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ) Γιώργος Μανής Επίκουρος Καθηγητής Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων Τι είναι οι Τεχνολογίες

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

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Το Oracle Analytics Cloud αποτελεί ένα ολοκληρωμένο σύνολο δυνατοτήτων που περιλαμβάνει έτοιμο περιεχόμενο, εξειδικευμένα

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

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος Η έννοια του προβλήματος 1. Αναφέρετε μερικά από τα προβλήματα που συναντάτε στην καθημερινότητά σας. Απλά προβλήματα Ποιο δρόμο θα ακολουθήσω για να πάω στο σχολείο; Πως θα οργανώσω μια εκδρομή; Πως θα

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

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

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

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #06 Πιθανοτικό Μοντέλο 1 Άδεια χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

ΑΣΚΗΣΗ. Συγκομιδή και δεικτοδότηση ιστοσελίδων

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

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

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη

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

1 Εισαγωγή στις Συνδυαστικές Δημοπρασίες - Combinatorial Auctions

1 Εισαγωγή στις Συνδυαστικές Δημοπρασίες - Combinatorial Auctions ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεωρία Παιγνίων και Αποφάσεων Διδάσκων: Ε. Μαρκάκης, Εαρινό εξάμηνο 2015 Συμπληρωματικές σημειώσεις για τον μηχανισμό VCG 1 Εισαγωγή στις Συνδυαστικές

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

Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση 24/6/2013. Τηλεπισκόπηση. Κ. Ποϊραζίδης ΤΑΞΙΝΟΜΗΣΗ ΕΙΚΟΝΑΣ

Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση. Τηλεπισκόπηση 24/6/2013. Τηλεπισκόπηση. Κ. Ποϊραζίδης ΤΑΞΙΝΟΜΗΣΗ ΕΙΚΟΝΑΣ ΤΑΞΙΝΟΜΗΣΗ ΕΙΚΟΝΑΣ Κ. Ποϊραζίδης Η ταξινόμηση εικόνας αναφέρεται στην ερμηνεία με χρήση υπολογιστή των τηλεπισκοπικών εικόνων. Παρόλο που ορισμένες διαδικασίες έχουν τη δυνατότητα να συμπεριλάβουν πληροφορίες

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

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά:

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά: Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013 Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr Εισαγωγικά: Η υλοποίηση του project έχει γίνει σε python [2.7]. Τα python modules είναι αυτόνομα

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

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

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

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

Τεχνητή Νοημοσύνη. 16η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 16η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 16η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται σε ύλη του βιβλίου Artificial Intelligence A Modern Approach των

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

ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ. ΕΝΟΤΗΤΑ 4η ΠΡΟΒΛΕΨΗ ΖΗΤΗΣΗΣ

ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ. ΕΝΟΤΗΤΑ 4η ΠΡΟΒΛΕΨΗ ΖΗΤΗΣΗΣ ΤΕΙ ΚΡΗΤΗΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΔΙΟΙΚΗΣΗ ΠΑΡΑΓΩΓΗΣ ΕΝΟΤΗΤΑ 4η ΠΡΟΒΛΕΨΗ ΖΗΤΗΣΗΣ ΓΙΑΝΝΗΣ ΦΑΝΟΥΡΓΙΑΚΗΣ ΕΠΙΣΤΗΜΟΝΙΚΟΣ ΣΥΝΕΡΓΑΤΗΣ ΤΕΙ ΚΡΗΤΗΣ ΔΟΜΗ ΠΑΡΟΥΣΙΑΣΗΣ 1. Εισαγωγή

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

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

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

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

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

Σχεδιασμός και Υλοποίηση ενός πληροφοριακού συστήματος για τους τεχνικούς του φυσικού αερίου

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

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

Διδάσκουσα: Χάλκου Χαρά,

Διδάσκουσα: Χάλκου Χαρά, Διδάσκουσα: Χάλκου Χαρά, Διπλωματούχος Ηλεκτρολόγος Μηχανικός & Τεχνολογίας Η/Υ, MSc e-mail: chalkou@upatras.gr Επιβλεπόμενοι Μη Επιβλεπόμενοι Ομάδα Κατηγορία Κανονικοποίηση Δεδομένων Συμπλήρωση Ελλιπών

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

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

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

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

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

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

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι

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

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

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

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

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται special report τoυ Γιώργου Φετοκάκη / gfetokakis@boussias.com Jobs scheduling Η χρυσή τοµή της αυτοµατοποίησης Μια λύση job scheduling πρέπει να είναι αρκετά περιεκτική. Πρέπει να υποστηρίζει την ενσωµάτωση

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

Η Μηχανική Μάθηση στο Σχολείο: Μια Προσέγγιση για την Εισαγωγή της Ενισχυτικής Μάθησης στην Τάξη

Η Μηχανική Μάθηση στο Σχολείο: Μια Προσέγγιση για την Εισαγωγή της Ενισχυτικής Μάθησης στην Τάξη 6 ο Πανελλήνιο Συνέδριο «Διδακτική της Πληροφορικής» Φλώρινα, 20-22 Απριλίου 2012 Η Μηχανική Μάθηση στο Σχολείο: Μια Προσέγγιση για την Εισαγωγή της Ενισχυτικής Μάθησης στην Τάξη Σάββας Νικολαΐδης 1 ο

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Αρχεία με Χαρτογράφηση

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

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

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

ΟΙΚΟΝΟΜΕΤΡΙΑ. Παπάνα Αγγελική

ΟΙΚΟΝΟΜΕΤΡΙΑ. Παπάνα Αγγελική ΟΙΚΟΝΟΜΕΤΡΙΑ Ενότητα 2: Ανασκόπηση βασικών εννοιών Στατιστικής και Πιθανοτήτων Παπάνα Αγγελική Μεταδιδακτορική ερευνήτρια, ΑΠΘ E-mail: angeliki.papana@gmail.com, agpapana@auth.gr Webpage: http://users.auth.gr/agpapana

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

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

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

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

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

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

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε Οµοφωνία σε σύστηµα µε αϖοτυχίες κατάρρευσης διεργασιών Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες

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

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

Ανάπτυξη συστήματος ερωταποκρίσεων για αρχεία ελληνικών εφημερίδων Ανάπτυξη συστήματος ερωταποκρίσεων για αρχεία ελληνικών εφημερίδων Οικονομικό Πανεπιστήμιο Αθηνών Πρόγραμμα Μεταπτυχιακών Σπουδών «Επιστήμη των Υπολογιστών» Διπλωματική Εργασία Μαρία-Ελένη Κολλιάρου 2

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

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

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

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

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

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

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

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

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά

Τσάπελη Φανή ΑΜ: 2004030113. Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά Τσάπελη Φανή ΑΜ: 243113 Ενισχυτική Μάθηση για το παιχνίδι dots Τελική Αναφορά Περιγραφή του παιχνιδιού Το παιχνίδι dots παίζεται με δύο παίχτες. Έχουμε έναν πίνακα 4x4 με τελείες, και σκοπός του κάθε παίχτη

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

Λίγα για το Πριν, το Τώρα και το Μετά.

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

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

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω:

Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Σημειώσεις Δικτύων Αναλογικά και ψηφιακά σήματα Ένα αναλογικό σήμα περιέχει άπειρες πιθανές τιμές. Για παράδειγμα ένας απλός ήχος αν τον βλέπαμε σε ένα παλμογράφο θα έμοιαζε με το παρακάτω: Χαρακτηριστικά

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012 ΘΕΜΑ Α Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: 1. Κάθε βρόγχος που υλοποιείται με την εντολή Για μπορεί να

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create

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

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

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

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ Δρ. Κουζαπάς Δημήτριος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Μηχανές Αναζήτησης Στόχοι 1 Να εξηγήσουμε για ποιον λόγο μας είναι απαραίτητες

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

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον

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

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής Θεωρία Παιγνίων και Αποφάσεων Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Παίγνια μηδενικού αθροίσματος PessimisIc play Αμιγείς max-min και

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