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

Μέγεθος: 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

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

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

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

Υπερπροσαρμογή (Overfitting) (1)

Υπερπροσαρμογή (Overfitting) (1) Αλγόριθμος C4.5 Αποφυγή υπερπροσαρμογής (overfitting) Reduced error pruning Rule post-pruning Χειρισμός χαρακτηριστικών συνεχών τιμών Επιλογή κατάλληλης μετρικής για την επιλογή των χαρακτηριστικών διάσπασης

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

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

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

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

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

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

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

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

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

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

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

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

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

Λίγα λόγια από το συγγραφέα... 7. 91 Βάσεις δεδομένων και Microsoft Access... 9. 92 Microsoft Access... 22

Λίγα λόγια από το συγγραφέα... 7. 91 Βάσεις δεδομένων και Microsoft Access... 9. 92 Microsoft Access... 22 ΕΝΟΤΗΤΑ 5 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 91 Βάσεις δεδομένων και Microsoft Access... 9 92 Microsoft Access... 22 93 Το σύστημα Βοήθειας του Microsoft Office... 32 94 Σχεδιασμός βάσης δεδομένων

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

Ανάκτηση Πληροφορίας σε Νέφη Υπολογιστών

Ανάκτηση Πληροφορίας σε Νέφη Υπολογιστών Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Η/Υ & Πληροφορικής Διπλωματική Εργασία Ανάκτηση Πληροφορίας σε Νέφη Υπολογιστών Ζώης Βασίλειος 4183 Επιβλέπων: Γαροφαλάκης Ιωάννης Εξεταστές: Γαροφολάκης Ιωάννης, Χρήστος

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

Επερωτήσεις σύζευξης με κατάταξη

Επερωτήσεις σύζευξης με κατάταξη Επερωτήσεις σύζευξης με κατάταξη Επερωτήσεις κατάταξης Top-K queries Οι επερωτήσεις κατάταξης επιστρέφουν τις k απαντήσεις που ταιριάζουν καλύτερα με τις προτιμήσεις του χρήστη. Επερωτήσεις κατάταξης Top-K

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

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

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Τα τμήματα ενός ηλεκτρονικού υπολογιστή είναι: 1. Επεξεργαστής 2. Μνήμη RAM και ROM 3. Κάρτα γραφικών 4. Μητρική Πλακέτα 5. Σκληρός Δίσκος 6. DVD / Blue Ray 7. Τροφοδοτικό

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

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ.

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. ΕΡΓΑΣΙΑ 4 «Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. Στόχος Στόχος της Εργασίας 4 είναι να η εξοικείωση με την αντικειμενοστρέφεια (object oriented programming). Πιο συγκεκριμένα,

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

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - 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 Πολλοί άνθρωποι

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

Ο νέος, διαφορετικός τρόπος να βρίσκεις προσωπικό. www.jobmeup.gr

Ο νέος, διαφορετικός τρόπος να βρίσκεις προσωπικό. www.jobmeup.gr Ο νέος, διαφορετικός τρόπος να βρίσκεις προσωπικό. www.jobmeup.gr 2 Είμαστε εσύ. Σκεφτόμαστε και λειτουργούμε με βάση τις δικές σου ανάγκες, τα δικά σου θέλω, τις δικές σου απαιτήσεις. Με το δικό μας τρόπο.

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

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

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

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

Big Data. CERN/LHC: 40TB/μέρα (15PB/έτος) Πολλά, πολλά ακόμα Web logs, αρχεία ομιλιών, ιατρικοί φάκελοι, κλπ. για όλους...

Big Data. CERN/LHC: 40TB/μέρα (15PB/έτος) Πολλά, πολλά ακόμα Web logs, αρχεία ομιλιών, ιατρικοί φάκελοι, κλπ. για όλους... MapReduce Big Data 90% των σημερινών δεδομένων δημιουργήθηκαν τα τελευταία 2 χρόνια Νόμος του Moore: Διπλασιασμός δεδομένων κάθε 18 μήνες YouTube: 13 εκατ. ώρες και 700 δις αναπαραγωγές το 2010 Facebook:

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

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών

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

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

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

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

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

Π3.1 ΣΧΕΔΙΟ ΑΞΙΟΛΟΓΗΣΗΣ

Π3.1 ΣΧΕΔΙΟ ΑΞΙΟΛΟΓΗΣΗΣ Π3.1 ΣΧΕΔΙΟ ΑΞΙΟΛΟΓΗΣΗΣ Αριθμός Έκδοσης: ΕΚΕΤΑ ΙΜΕΤ ΕΜ Β 2014 13 Παραδοτέο ΙΜΕΤ Τίτλος Έργου: «Ολοκληρωμένο σύστημα για την ασφαλή μεταφορά μαθητών» Συγγραφέας: Δρ. Μαρία Μορφουλάκη Κορνηλία Μαρία ΘΕΣΣΑΛΟΝΙΚΗ,

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

Τριμηνιαίο ενημερωτικό Η.R. Newsletter. 14o ΤΕΥΧΟΣ

Τριμηνιαίο ενημερωτικό Η.R. Newsletter. 14o ΤΕΥΧΟΣ Τριμηνιαίο ενημερωτικό Η.R. Newsletter 14o ΤΕΥΧΟΣ Πληροφορίες: Ευαγγελία Ίσαρη Evangelia.Isari@adecco.com 210 6930490 Αγαπητοί συνεργάτες, Το 14o τεύχος του HR Newsletter της Adecco είναι αφιερωμένο στην

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

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης K.5.1 Γραμμή Παραγωγής Μια γραμμή παραγωγής θεωρείται μια διάταξη με επίκεντρο το προϊόν, όπου μια σειρά από σταθμούς εργασίας μπαίνουν σε σειρά με στόχο ο κάθε ένας από αυτούς να κάνει μια ή περισσότερες

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

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

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college.

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college. Χρήση της Διεπαφής Προγραμματισμού Εφαρμογής Google Maps για τη δημιουργία διαδραστικού χάρτη με τα Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς της ΟΥΝΕΣΚΟ στη Θεσσαλονίκη Εμμανουήλ Τσάμης 1, Κωνσταντίνος

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

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Δρομολόγηση Και Πολύχρωματισμός Μονοπατιών Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Εισαγωγή. Το πρόβλημα με το οποίο θα ασχοληθούμε εδώ είναι γνωστό σαν: Δρομολόγηση και Πολύ-χρωματισμός Διαδρομών (Routing

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

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5.1 Εισαγωγή Το πρακτικό κομμάτι της πτυχιακής μας εργασίας αφορά την δημιουργία μιας λειτουργικής ιστοσελίδας με την χρήση της πλατφόρμας του Weebly, που αποτελεί μια σύγχρονη

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

Εξόρυξη γνώμης πολιτών από ελεύθερο κείμενο

Εξόρυξη γνώμης πολιτών από ελεύθερο κείμενο Δίκαρος Νίκος Δ/νση Μηχανογράνωσης κ Η.Ε.Σ. Υπουργείο Εσωτερικών. Τελική εργασία Κ Εκπαιδευτικής Σειράς Ε.Σ.Δ.Δ. Επιβλέπων: Ηρακλής Βαρλάμης Εξόρυξη γνώμης πολιτών από ελεύθερο κείμενο Κεντρική ιδέα Προβληματισμοί

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

ΑΣΚΗΣΕΙΣ ΠΙΘΑΝΟΤΗΤΩΝ του Παν. Λ. Θεοδωρόπουλου 0

ΑΣΚΗΣΕΙΣ ΠΙΘΑΝΟΤΗΤΩΝ του Παν. Λ. Θεοδωρόπουλου 0 ΑΣΚΗΣΕΙΣ ΠΙΘΑΝΟΤΗΤΩΝ του Παν. Λ. Θεοδωρόπουλου 0 Η Θεωρία Πιθανοτήτων είναι ένας σχετικά νέος κλάδος των Μαθηματικών, ο οποίος παρουσιάζει πολλά ιδιαίτερα χαρακτηριστικά στοιχεία. Επειδή η ιδιαιτερότητα

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

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

ΕΓΧΕΙΡΙΔΙΟ ΟΡΘΩΝ ΠΡΑΚΤΙΚΩΝ ΠΑΡΟΥΣΙΑ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΜΕΣΟΛΟΓΓΙΟΥ ΕΓΧΕΙΡΙΔΙΟ ΟΡΘΩΝ ΠΡΑΚΤΙΚΩΝ ΠΑΡΟΥΣΙΑ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΜΕΣΟΛΟΓΓΙΟΥ σελ. 1 Από πού ξεκινάω; Σύνδεση στο Διαδίκτυο Για να ξεκινήσετε να ασχολείστε με το Διαδίκτυο (Internet)

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) 2.1.1 Εισαγωγή στη διαχείριση αρχείων Οι Η/Υ αποθηκεύουν τα δεδομένα και τα επεξεργάζονται. Εφαρμογή Προγράμματος C:\Documents and Settings\user\Τα έγγραφά μου\leitourgika.doc Λ.Σ. File System Γι αυτό

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

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

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

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

MapReduce: Simplified Data Processing on Large Clusters

MapReduce: Simplified Data Processing on Large Clusters MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean, Sanjay Ghemawat Commun. ACM 51(1), 2008 and OSDI 2004 Επιμέλεια παρουσίασης: Κωλέτσου Ευτυχία 2 Θεματολογία 3 Θεματολογία Επισκόπηση

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

Υπολογιστική Νέφους Cloud computing

Υπολογιστική Νέφους Cloud computing Υπολογιστική Νέφους Cloud computing Χρ. Ηλιούδης Clouds Cloud computing??? Διείσδυση του Cloud Ορισμός - χαρακτηριστικά Ο όρος cloud έχει τις ρίζες στου στην αρχή του internet όπου συνήθιζαν να το αναπαριστούν

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

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω.

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

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

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

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr Εγχειρίδιο Χρήσης Μελών ΔΕΠ Αναζήτηση Δημόσιου Περιεχομένου Η διεύθυνση ιστού της νεάς πλατφόρμας διαχείρισης βιντεοδιαλέξεων Δήλος είναι: http://delos.uoa.gr

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

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΗΧΑΝΗΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Γ. Τσιατούχας 6 ο Κεφάλαιο 1. Επίπεδο OSM 2. Εικονική μνήμη ιάρθρωση 3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

ΕΓΧΕΙΡΙΔΙΟ WEBCAM STATION EVOLUTION

ΕΓΧΕΙΡΙΔΙΟ WEBCAM STATION EVOLUTION ΕΓΧΕΙΡΙΔΙΟ WEBCAM STATION EVOLUTION ΠΕΡΙΕΧΟΜΕΝΑ Κάνοντας κλικ σε έναν τίτλο σε αυτόν τον πίνακα περιεχομένων, θα εμφανιστεί η αντίστοιχη παράγραφος 1. 2. 3. ΕΙΣΑΓΩΓΗ 3 ΡΥΘΜΙΣΗ ΗΧΟΥ ΚΑΙ ΒΙΝΤΕΟ 4 ΕΜΦΑΝΙΣΗ

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

Περιγραφή Εργαλείου. Παρουσίαση Πλατφόρμας

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

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

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ: ΕΙΔΟΣ ΜΑΘΗΜΑΤΟΣ: Μικτό Γενικός σκοπός είναι να αποκτήσει ο καταρτιζόμενος τις αναγκαίες γνώσεις σχετικά με εργαλεία και τις τεχνικές για

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

Κεφάλαιο 4 Διανυσματικοί Χώροι

Κεφάλαιο 4 Διανυσματικοί Χώροι Κεφάλαιο Διανυσματικοί Χώροι Διανυσματικοί χώροι - Βασικοί ορισμοί και ιδιότητες Θεωρούμε τρία διαφορετικά σύνολα: Διανυσματικοί Χώροι α) Το σύνολο διανυσμάτων (πινάκων με μία στήλη) με στοιχεία το οποίο

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

Σχέδιο παρουσίασης των διδασκαλιών ή των project

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

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

Μεταβλητές. Για περισσότερες λεπτομέρειες πάνω στις μεταβλητές θα ήταν χρήσιμο να διαβάσεις το

Μεταβλητές. Για περισσότερες λεπτομέρειες πάνω στις μεταβλητές θα ήταν χρήσιμο να διαβάσεις το Τάξη : Α Λυκείου Λογισμικό : Scratch Ενδεικτική Διάρκεια : 45 λεπτά Μεταβλητές Όλα όσα έμαθες στα προηγούμενα φυλλάδια είναι απαραίτητα για να υλοποιήσεις απλές εφαρμογές. Ωστόσο αν θέλεις να δημιουργήσεις

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

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα Κεφάλαιο 7. 7.1 ομές εδομένων για Γραφικά Υπολογιστών. Οι δομές δεδομένων αποτελούν αντικείμενο της επιστήμης υπολογιστών. Κατά συνέπεια πρέπει να γνωρίζουμε πώς οργανώνονται τα γεωμετρικά δεδομένα, προκειμένου

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Ηλεκτρονικό Εμπόριο Αναπτύσσοντας ένα Ηλεκτρονικό Κατάστημα Ηλεκτρονικό Εμπόριο Λειτουργικότητα Εφαρμογής Κατάλογος προϊόντων Καλάθι

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

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

Αρχιτεκτονική Υπολογιστών Εργαστήριο Αρχιτεκτονική Υπολογιστών Εργαστήριο Ενότητα: ΠΑΡΑΔΕΙΓΜΑ ΑΠΟΣΦΑΛΜΑΤΩΣΗΣ Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

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

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων

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

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015 Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015 Βάλβης Δημήτριος Μηχανικός Πληροφορικής ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα

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

ΕΚΠΑΙΔΕΥΤΙΚΟ ΣΕΝΑΡΙΟ. pagioti@sch.gr

ΕΚΠΑΙΔΕΥΤΙΚΟ ΣΕΝΑΡΙΟ. pagioti@sch.gr ΕΚΠΑΙΔΕΥΤΙΚΟ ΣΕΝΑΡΙΟ Αγιώτης Πέτρος pagioti@sch.gr Εκπαιδευτικός Πληροφορικής Τίτλος διδακτικού σεναρίου Η έννοια των σταθερών και της καταχώρησης στη Visual Basic Εμπλεκόμενες γνωστικές περιοχές Στοιχεία

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Θ.Ε. ΠΛΗ31 (2004-5) ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ #3 Στόχος Στόχος αυτής της εργασίας είναι η απόκτηση δεξιοτήτων σε θέματα που αφορούν τα Τεχνητά Νευρωνικά Δίκτυα και ποιο συγκεκριμένα θέματα εκπαίδευσης και υλοποίησης.

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

ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες Παύλος Εφραιμίδης Δομές Δεδομένων και Αλγόριθμοι

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

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

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης)

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης) ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης) Καλλονιάτης Χρήστος Επίκουρος Καθηγητής Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας, Πανεπιστήμιο Αιγαίου http://www.ct.aegean.gr/people/kalloniatis

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

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

Η επιλογή της πολιτικής πρόσβασης είναι ένα διαφορετικό αλλά επίσης μεγάλο θέμα, που εξαρτάται από τους δυνατούς χειρισμούς. Χειρισμός Πνευματικών Δικαιωμάτων σε Ψηφιακούς Πόρους Σαράντος Καπιδάκης, Εργαστήριο Ψηφιακών Βιβλιοθηκών και Ηλεκτρονικής Δημοσίευσης Τμήμα Αρχειονομίας Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο Περίληψη Ο

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

GoDigital.CMS Content Management System. Πλήρης διαχείριση περιεχομένου ιστοσελίδας

GoDigital.CMS Content Management System. Πλήρης διαχείριση περιεχομένου ιστοσελίδας GoDigital.CMS Content Management System Πλήρης διαχείριση περιεχομένου ιστοσελίδας Γενική περιγραφή Πλήρης λύση ηλεκτρονικής παρουσίας Το GoDigital.CMS είναι μία πλήρη εφαρμογή διαχείρισης ηλεκτρονικής

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

ΙΕΚ ΞΑΝΘΗΣ. Μάθημα : Στατιστική Ι. Υποενότητα : Τρόποι και μέθοδοι δειγματοληψίας

ΙΕΚ ΞΑΝΘΗΣ. Μάθημα : Στατιστική Ι. Υποενότητα : Τρόποι και μέθοδοι δειγματοληψίας ΙΕΚ ΞΑΝΘΗΣ Μάθημα : Στατιστική Ι Υποενότητα : Τρόποι και μέθοδοι δειγματοληψίας Επαμεινώνδας Διαμαντόπουλος Ιστοσελίδα : http://users.sch.gr/epdiaman/ Email : epdiamantopoulos@yahoo.gr 1 Στόχοι της υποενότητας

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

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από

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

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών & Μηχανικών Υπολογιστών

ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών & Μηχανικών Υπολογιστών ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχανικών & Μηχανικών Υπολογιστών «Υλοποίηση Μηχανής Αναζήτησης βασισμένης στο PageRank με χρήση του Hadoop» «Implementation of a Pagerank-based Search Engine using

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

Συσχέτιση μεταξύ δύο συνόλων δεδομένων

Συσχέτιση μεταξύ δύο συνόλων δεδομένων Διαγράμματα διασποράς (scattergrams) Συσχέτιση μεταξύ δύο συνόλων δεδομένων Η οπτική απεικόνιση δύο συνόλων δεδομένων μπορεί να αποκαλύψει με παραστατικό τρόπο πιθανές τάσεις και μεταξύ τους συσχετίσεις,

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

Βάσεις δεδομένων (Access)

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στην επιλογή «Κενή βάση δεδομένων» στο Παράθυρο Εργασιών. Θα εμφανιστεί το

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΗ ΣΧΟΛΗ ΦΛΩΡΙΝΑΣ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΔΙ.ΜΕ.Π.Α Β ΦΑΣΗ: ΔΙΔΑΚΤΙΚΗ ΤΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΠΑΙΔΑΓΩΓΙΚΗ ΣΧΟΛΗ ΦΛΩΡΙΝΑΣ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΔΙ.ΜΕ.Π.Α Β ΦΑΣΗ: ΔΙΔΑΚΤΙΚΗ ΤΩΝ ΜΑΘΗΜΑΤΙΚΩΝ Φοιτητής: Παύλου Νικόλαος, Α.Ε.Μ: 2245, Ε Εξάμηνο Σχολείο: 1 ο Πειραματικό

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

Μεθοδολογίες Αξιοποίησης Δεδομένων

Μεθοδολογίες Αξιοποίησης Δεδομένων Μεθοδολογίες Αξιοποίησης Δεδομένων Βλάχος Σ. Ιωάννης Λέκτορας 407/80, Ιατρικής Σχολής Πανεπιστημίου Αθηνών Εργαστήριο Πειραματικής Χειρουργικής και Χειρουργικής Ερεύνης «Ν.Σ. Σ Χρηστέας» Στάδια Αξιοποίησης

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

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

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΕΡΓΑΣΙΑ ΜΕ ΤΙΤΛΟ ΕΠΕΞΕΡΓΑΣΤΕΣ - CPU Μπακρατσάς Γιώργος geback007@yahoo.gr Δεκέμβριος, 2014 Περιεχόμενα ΕΙΣΑΓΩΓΗ... 3 ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ... 4 ΧΡΟΝΟΛΟΓΙΕΣ

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση

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

"Αθηνά" - Ερευνητικό Κέντρο Καινοτομίας στις Τεχνολογίες της Πληροφορίας, των Επικοινωνιών και της Γνώσης

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

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

ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.)

ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.) ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.) 2.1 Κωνσταντίνος Ταραμπάνης Καθηγητής Τμήμα Οργάνωσης και Διοίκησης Επιχειρήσεων Πανεπιστήμιο Μακεδονίας Γρ. 307 2310-891-578 kat@uom.gr ΤΑΞΙΝΟΜΗΣΗ ΤΩΝ

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

Ραγδαία τεχνολογική εξέλιξη

Ραγδαία τεχνολογική εξέλιξη ΣΦΑΙΡΕΣ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ Αχιλλέας Καμέας Ελληνικό Ανοικτό Πανεπιστήμιο & Ινστιτούτο Τεχνολογίας Υπολογιστών Ραγδαία τεχνολογική εξέλιξη 2 1 Mobile devices / tablets 3 Μικρές, φορητές συσκευές

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

Ενημέρωση σε Windows 8.1 από τα Windows 8

Ενημέρωση σε Windows 8.1 από τα Windows 8 Ενημέρωση σε Windows 8.1 από τα Windows 8 Τα Windows 8.1 και τα Windows RT 8.1 είναι βασισμένα στα Windows 8 και στα Windows RT, για να σας προσφέρουν βελτιώσεις στην εξατομίκευση, την αναζήτηση, τις εφαρμογές,

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

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

ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΟΔΗΓΟΣ E-LEARNING

ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΟΔΗΓΟΣ E-LEARNING ΚΑΙΝΟΤΟΜΕΣ ΛΥΣΕΙΣ ΕΚΠΑΙΔΕΥΣΗΣ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗΣ ΑΘΗΝΑ 2014 1 1. Τι είναι το e-learning; Το e-learning, η ηλεκτρονική μάθηση, είναι μια διαδικασία μάθησης και ταυτόχρονα μια μεθοδολογία εξ αποστάσεως εκπαίδευσης

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

Εφαρμογή ψηφιοποίησης RollMan

Εφαρμογή ψηφιοποίησης RollMan Εφαρμογή ψηφιοποίησης RollMan Η εφαρμογή ψηφιοποίησης των ληξιαρχικών πράξεων RollMan (RollManager) δημιουργήθηκε από την εταιρία ειδικά για το σκοπό αυτό στο πλαίσιο της συνεργασίας με τους Δήμους. Από

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

ΚΕΦΑΛΑΙΟ 16: Επίλυση Ονομάτων (Name Resolution) και DNS

ΚΕΦΑΛΑΙΟ 16: Επίλυση Ονομάτων (Name Resolution) και DNS ΚΕΦΑΛΑΙΟ 16: Επίλυση Ονομάτων (Name Resolution) και DNS 16.1. Εισαγωγή Τα προγράμματα σπανίως απευθύνονται σε host, ταχυδρομικά κουτιά και σ άλλους πόρους με τη δυαδική τους διεύθυνση δικτύου. Αντί για

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

Πώς να χρησιμοποιήσετε το Moodle

Πώς να χρησιμοποιήσετε το Moodle Πώς να χρησιμοποιήσετε το Moodle Οδηγός για Φοιτητές/τριες (ΔΕΟ10) του Αριστείδη Χατζή ahatzis@phs.uoa.gr ΣΕΠ ΑΘΗΝΑ-2, Portal Officer ΔΕΟ10 Αυτός ο οδηγός απευθύνεται στις φοιτήτριες και τους φοιτητές

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

Πρόταση θέµατος πτυχιακής εργασίας

Πρόταση θέµατος πτυχιακής εργασίας Σχεδιασµό και υλοποίηση παιχνιδιού για τη συλλογή δεδοµένων µε σκοπό την προστασία της ιδιωτικότητας Τα παιχνίδια µε σκοπό (games with a purpose) είναι µια νέα ιδέα που εκµεταλλεύεται την ανθρώπινη αντίληψη

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

Σενάριο 17: Παιχνίδι μνήμης με εικόνες

Σενάριο 17: Παιχνίδι μνήμης με εικόνες Σενάριο 17: Παιχνίδι μνήμης με εικόνες Φύλλο Εργασίας Τίτλος: Παιχνίδι μνήμης με εικόνες Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω, Συνθετικές

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

Don t hire us if you want average. We only do exceptional.

Don t hire us if you want average. We only do exceptional. Εισαγωγή Το i-flexible είναι ένα εργαλείο σύγχρονης εταιρικής παρουσίασης, αμφίδρομης επικοινωνίας, δειγματισμού και λήψης παραγγελιών, με δυνατότητες διαχείρισης ομάδων χρηστών και ορισμού δικαιωμάτων

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

Symantec Backup Exec System Recovery 7.0 Server Edition. Πλήρης Επαναφορά Συστημάτων Windows Μέσα σε Λίγα Λεπτά και όχι σε Ώρες ή Ημέρες

Symantec Backup Exec System Recovery 7.0 Server Edition. Πλήρης Επαναφορά Συστημάτων Windows Μέσα σε Λίγα Λεπτά και όχι σε Ώρες ή Ημέρες ΒΑΣΙΚΑ ΠΛΕΟΝΕΚΤΗΜΑΤΑ Πλήρης Επαναφορά Συστημάτων Windows Μέσα σε Λίγα Λεπτά και όχι σε Ώρες ή Ημέρες Η Symantec έχει επανειλημμένα καταδείξει δημόσια ότι το Backup Exec System Recovery μπορεί να εκτελέσει

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

1. Εισαγωγή 2. Διαπιστεύσεις: Πιστοποίηση Ε.ΚΕ.ΠΙΣ. Πιστοποίηση ΕΛΟΤ EN ISO 9001:2000 3. Σκοπός του Προγράμματος 4. Κατηγορίες υποψηφίων που γίνονται

1. Εισαγωγή 2. Διαπιστεύσεις: Πιστοποίηση Ε.ΚΕ.ΠΙΣ. Πιστοποίηση ΕΛΟΤ EN ISO 9001:2000 3. Σκοπός του Προγράμματος 4. Κατηγορίες υποψηφίων που γίνονται 1. Εισαγωγή 2. Διαπιστεύσεις: Πιστοποίηση Ε.ΚΕ.ΠΙΣ. Πιστοποίηση ΕΛΟΤ EN ISO 9001:2000 3. Σκοπός του Προγράμματος 4. Κατηγορίες υποψηφίων που γίνονται δεκτοί στο πρόγραμμα - Προαπαιτούμενα 5. Η Βεβαιωση

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ. Τ.Ε.Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ» ΟΝΟΜΑΤΕΠΩΝΥΜΑ ΣΠΟΥΔΑΣΤΩΝ : ~ΔΕΛΗΓΙΑΝΝΗ ΚΥΡΙΑΚΗ, 1925~

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

Διοίκηση Λειτουργιών. τετράδιο 1

Διοίκηση Λειτουργιών. τετράδιο 1 Λορέντζος Χαζάπης Γιάννης Ζάραγκας Διοίκηση Λειτουργιών τα τετράδια μιας Οδύσσειας τετράδιο 1 Εισαγωγή στη διοίκηση των λειτουργιών Αθήνα 2012 τετράδιο 1 Εισαγωγή στη διοίκηση των λειτουργιών ΠΕΡΙΛΗΨΗ

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

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και

εισαγωγικές έννοιες Παύλος Εφραιμίδης Δομές Δεδομένων και Παύλος Εφραιμίδης 1 περιεχόμενα ενθετική ταξινόμηση ανάλυση αλγορίθμων σχεδίαση αλγορίθμων 2 ενθετική ταξινόμηση 3 ενθετική ταξινόμηση Βασική αρχή: Επιλέγει ένα-έναταστοιχείατηςμηταξινομημένης ακολουθίας

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ. Κεφάλαιο 6. Πιθανότητες

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

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

Η Κανονική Κατανομή κανονική κατανομή (normal distribution) Κεντρικό Οριακό Θεώρημα (Central Limit Theorem) συνδέει οποιαδήποτε άλλη κατανομή

Η Κανονική Κατανομή κανονική κατανομή (normal distribution) Κεντρικό Οριακό Θεώρημα (Central Limit Theorem) συνδέει οποιαδήποτε άλλη κατανομή Η Κανονική Κατανομή H κανονική κατανομή (ormal dstrbuto) θεωρείται η σπουδαιότερη κατανομή της Θεωρίας Πιθανοτήτων και της Στατιστικής. Οι λόγοι που εξηγούν την εξέχουσα θέση της, είναι βασικά δύο: ) Πολλές

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

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

Γενικές αρχές διοίκησης. μιας μικρής επιχείρησης

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

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

Οργάνωση καθημερινών ημερίδων

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

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

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql Php και Joomla Ψηφιακό Περιεχόμενο & Επικοινωνίες Αρχίζοντας Το Joomla τρέχει: PHP MySql Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) με την χρήση

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Όπως έχουμε ήδη αναφέρει, τα δίκτυα τεχνολογίας / χρησιμοποιούν διεύθυνση 32 bits, προκειμένου να δρομολογήσουν ένα αυτοδύναμο πακέτο στο προορισμό του. Κατά σύμβαση έχει επικρατήσει οι διευθύνσεις να

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

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

ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, Κεφάλαιο 4 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 4) 1 Θέματα

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