Probabilistic Graph Clustering

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

Download "Probabilistic Graph Clustering"

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΕΜΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Μέθοδοι Ομαδοποίησης σε Πιθανοτικά Γραφήματα Probabilistic Graph Clustering Βασίλειος Κασσιάνο Επιβλέπων Καθηγητής Απόστολος Παπαδόπουλος, Επίκουρος Κσθηγητής Θεσσαλονίκη, Ιούνιος

2 Πίνακας Περιεχομένων Περιεχόμενα 1 Εισαγωγή Γενική Παρουσίαση Η παρούσα εργασία Αβέβαια Δεδομένα και Πιθανοτικές Βάσεις Δεδομένων Αβέβαια Δεδομένα Πιθανοτικές Βάσεις Δεδομένων Θεωρία Γράφων Ορισμοί Αλγόριθμοι Χειρισμού Γράφων Ψηφιακή Αναπαράσταση Γράφων Εφαρμογές Πιθανοτικοί Γράφοι Ομαδοποίηση Γράφων Αλγόριθμοι Ομαδοποίηση Πιθανοτικών Γραφημάτων Δείκτες Ποιότητας Εφαρμογές Πειραματική Μελέτη Σύνολα Δεδομένων Αποτελέσματα Συμπεράσματα

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

4 Abstract In this thesis, we study the problem of clustering probabilistic graphs. Firstly we describe the clustering problem for deterministic graphs, for which many algorithms have been proposed that solve the problem effectively, especially for small data sets. Furthermore, we study and implement the extention of three of these algorithms for probabilistic graphs. Finally, we present and compare the results of the algorithms for various probabilistic graphs that describe different datasets. 4

5 1 Εισαγωγή 1.1 Γενική Παρουσίαση Οι γράφοι αποτελούν ισχυρές μαθηματικές δομές που μοντελοποιούν σχέσεις μεταξύ ζευγών αντικειμένων. Χρησιμοποιούνται για την αναπσράσταση πολλών ειδών σχέσεων και διαδικασιών σε φυσικά, βιολογικά, κοινωνικά και πληροφοριακά συστήματα. Πάρα πολλά πρακτικά προβλήματα μπορούν να αναπαρασταθούν από γράφους. Γράφοι χρησιμοποιούνται στην επιστήμη των υπολογιστών για να αναπαραστήσουν δίκτυα επικοινωνιών, δεδομένα, τη ροή υπολογισμού κλπ. Ειδικά η αναπαράσταση δεδομένων αποτελεί σημαντική εφαρμογή της θεωρίας γράφων, δεδομένης και της τάσης για όλο και μεγαλύτερα σύνολα δεδομένων τα οποία περιγράφονται αποτελεσματικά από γράφους. Τα δεδομένα αυτά μπορούν να είναι πολλών φύσεων και για αυτόν το λόγο οι γράφοι θεωρούνται ισχυρά εργαλεία αναπαράστασης δεδομένων. Η ανάπτυξη αλγορίθμων που χειρίζονται γράφους αποτελεί επομενως πεδίο μείζονος ενδιαφέροντος. Μία ενδιαφέρουσα τεχνική είναι η Ομαδοποίηση Γράφων, δηλαδή η δημιουργία συστάδων από κόμβους λαμβάνοντας υπόψη τις ακμές μεταξύ τους έτσι ώστε μέσα σε μία συστάδα να υπάρχουν πολλές ακμές και ανάμεσα σε δύο συστάδες να υπάρχουν λίγες ακμές. Πάρα πολλοί αλγόριθμοι έχουν προταθεί για την επίτευξη του σκοπού αυτού, καθώς και μέθοδοι μέτρησης της ποιότητας των παραγόμενων συστάδων. 1.2 Η παρούσα εργασία Στην εργασία αυτή μελετάμε μεθόδους ομαδοποίησης σε πιθανοτικούς γράφους. Καθώς οι πιθανοτικοί γράφοι εμπεριέχουν αβεβαιότητα δεν εφαρμόζονται σε αυτούς οι ίδιες τεχνικές που εφαρμόζονται σε ντετερμινιστικούς γράφους. Αρχικά, στο κεφάλαιο 2, κάνουμε μία εισαγωγή στα αβέβαια δεδομένα από τα οποία εμπνέονται οι πιθανοτικοί γράφοι, καθώς και στις πιθανοτικές βάσεις δεδομένων, από τις οποίες δανείζονται κάποιες έννοιες τα πιθανοτικά γραφήματα. Επειτα, στο κεφάλαιο 3 περιγράφουμε τα βασικά είδη ντετερμινιστικών γράφων καθώς και την επέκταση αυτών σε πιθανοτικούς γράφους. Επιπλέον, α- ναλύουμε τους βασικότερους αλγορίθμους χειρισμού γράφων και αναφερόμαστε στη σημαντικότητα των γράφων ως εργαλείων αναπαράστασης. Στη συνέχεια, στο κεφάλαιο 4, παραθέτουμε βασικούς αλγορίθμους ομαδοποίησης γράφων και περιγράφουμε τις αλλαγές οι οποίες πρέπει να γίνουν προκειμένου να εφαρμο- 5

6 στούν οι αλγόριθμοι αυτοί σε πιθανοτικά γραφήματα. Ακόμη, περιγράφουμε πως μπορεί να μετρηθεί η ποιότητα μιας ομαδοποίησης καθώς και εφαρμογές ομαδοποίησης γράφων. Τέλος, στο κεφάλαιο 5, αναφέρουμε πειραματικά αποτελέσματα της εφαρμογής αλγορίθμων ομαδοποίησης σε πιθανοτικούς γράφους που αναπαριστούν δεδομένα από διάφορα σύνολα δεδομένων. 6

7 2 Αβέβαια Δεδομένα και Πιθανοτικές Βάσεις Δεδομένων 2.1 Αβέβαια Δεδομένα Τα τελευταία χρόνια, πολλές καινούριες τεχνικές συλλογής δεδομένων έ- χουν συμβάλλει στην αύξηση της διαθεσιμότητας αβέβαιων δεδομένων. Με τον όρο αβέβαια δεδομένα αναφερόμαστε σε δεδομένα τα οποία περιέχουν συγκεκριμένη αβεβαιότητα [1]. Σε εφαρμογές που απαιτούν αλληλεπίδραση με τον φυσικό κόσμο, όπως υπηρεσίες βασισμένες στην τοποθεσία και παρακολούθησης αισθητήρων, η αβεβαιότητα δεδομένων είναι εγγενής λόγω ανακριβειών μέτρησης, ασυμφωνίας δειγμάτων, απαρχαιωμένων πηγών πληροφοριών ή άλλων σφαλμάτων. Εχει πραγματοποιηθεί εκτενής έρευνα για τη διαχείριση αβέβαιων δεδομένων σε βάσεις δεδομένων, όμως η εξόρυξη γνώσης από αβέβαια δεδομένα αποτελεί ανοικτό πεδίο μελέτης. Αρκετά κλασσικά προβλήματα εξόρυξης δεδομένων έχουν επαναπροσδιοριστεί στο γενικό πλαίσιο της αβεβαιότητας. Παραδείγματος χάριν, η ομαδοποίηση σχεσιακών δεδομένων, η εξόρυξη συχνών προτύπων και η αξιολόγηση χωρικών ερωτημάτων. Αυτά και άλλα προβλήματα έχουν προσαρμοστεί ώστε να μοντελοποιούν αβέβαια πολυδιάστατα δεδομένα, όπου η αβεβαιότητα σχετίζεται είτε με την τοποθεσία των δεδομένων στον χώρο, είτε με την ίδια την ύπαρξη των δεδομένων στο σύνολο δεδομένων. 2.2 Πιθανοτικές Βάσεις Δεδομένων Οι περισσότερες αληθινές βάσεις δεδομένων περιέχουν δεδομένα, η ορθότητα των οποίων είναι αβέβαιη. Προκειμένου να εργαστεί κανείς με τέτοια δεδομένα, υπάρχει ανάγκη ποσοτικοποίησης της ακεραιότητας των δεδομένων. Αυτό επιτυγχάνεται με τη χρήση πιθανοτικών βάσεων δεδομένων [2]. Μία πιθανοτική βάση δεδομένων είναι μία αβέβαιη βάση δεδομένων στην οποία οι πιθανοί κόσμοι περιέχουν πιθανότητες. Τα συστήματα διαχείρισης πιθανοτικών βάσεων δεδομένων είναι ένα ενεργό πεδίο έρευνας. Οι πιθανοτικές βάσεις δεδομένων κάνουν διαχωρισμό του λογικού μοντέλου δεδομένων και της φυσικής αναπαράστασης των δεδομένων, όπως και οι σχεσιακές βάσεις δεδομένων. Στις πιθανοτικές βάσεις όμως, ο διαχωρισμός αυτός είναι ακόμη πιο κρίσιμος, μιας και οι βάσεις αυτές πρέπει να αναπαριστούν έ- ναν πολύ μεγάλο αριθμό πιθανών κόσμων, συχνά εκθετικό στο μέγεθος ενός κόσμου. 7

8 Σε μία πιθανοτική βάση δεδομένων, κάθε εγγραφή (σχέση, πλειάδα ή τιμή που ένα χαρακτηριστικό μπορεί να πάρει) σχετίζεται με μία πιθανότητα (0, 1], όπου το 0 αναπαριστά ότι η εγγραφή είναι εσφαλμένη με βεβαιότητα και το 1 ότι είναι σωστή με βεβαιότητα. Μία πιθανοτική βάση θα μπορούσε να βρίσκεται σε πολλαπλές καταστάσεις. Για παράδειγμα, αν είμαστε αβέβαιοι για την ύπαρξη μίας πλειάδας στη βάση, τότε η βάση θα μπορούσε να βρίσκεται σε δύο καταστάσεις όσον αφορά αυτή τη πλειάδα: Η πρώτη κατάσταση εμπεριέχει την πλειάδα, ενώ η δεύτερη όχι. Παρομοίως, αν ένα χαρακτηριστικό μπορεί να πάρει οποιαδήποτε από τρεις τιμές, τότε η βάση δεδομένων μπορεί να βρίσκεται σε τρεις διαφορετικές καταστάσεις, όσον αφορά το χαρακτηριστικό αυτό. Κάθε μία από αυτές τις καταστάσεις ονομάζεται πιθανός κόσμος. 8

9 3 Θεωρία Γράφων Τα πάντα στον κόσμο μας συνδέονται: οι πόλεις συνδέονται μεταξύ τους με οδικά, σιδηροδρομικά, αεροπορικά δίκτυα. Οι ιστοσελίδες στο internet συνδέονται με υπερσυνδέσμους. Στα κοινωνικά δίκτυα οι άνθρωποι συνδέονται μεταξύ τους μέσω των κοινών ενδιαφερόντων τους. Τα διάφορα εξαρτήματα ενός ηλεκτρικού κυκλώματος συνδέονται. Επιστήμονες, μηχανικοί, οικονομολόγοι και άλλοι επιθυμούν να αναλύσουν, να καταλάβουν και να βελτιστοποιήσουν αυτά τα δίκτυα. Κι αυτό είναι δυνατό να συμβεί μέσω της θεωρίας γράφων. Για παράδειγμα, οι μαθηματικοί μπορούν να εφαρμόσουν την θεωρία γράφων στα οδικά δίκτυα, σε μία προσπάθεια εύρεσης ενός τρόπου μείωσης της κυκλοφοριακής συμφόρησης. Αυτή η απλή ιδέα, αν εφαρμοστεί επιτυχώς, μπορεί να βελτιώσει τόσο την ποιότητα ζωής των ανθρώπων και την οικονομία, αλλά και να έχει αντίκτυπο στο περιβάλλον. Θα μπορούσε να κάνει τη ζωή πιο ασφαλή, καθώς θα αποφεύγονταν κάποια αυτοκινητιστικά ατυχήματα, αλλά και υπηρεσίες έκτακτης ανάγκης θα κινούνταν ταχύτερα. Η Θεωρία Γράφων μπορεί επίσης να αξιοποιηθεί στα αεροπορικά δίκτυα. Οι αεροπορικές εταιρίες επιθυμούν τη σύνδεση αμέτρητων πόλεων με τον πιο αποδοτικό τρόπο, προσφέροντας στους πελάτες τους τη δυνατότητα να φτάσουν στον προορισμό τους πραγματοποιώντας το μικρότερο αριθμό μετεπιβιβάσεων. Το πρόβλημα αυτό θυμίζει το γνωστό πρόβλημα του Περιπλανώμενου Πωλητή. Την ίδια στιγμή, οι ελεγκτές εναέριας κυκλοφορίας πρέπει να διασφαλίσουν ότι εκατοντάδες αεροπλάνα είναι στο σωστό σημείο, τη σωστή στιγμή και ότι δεν υπάρχουν προβλήματα: ένα τεράστιο έργο το οποίο θα ήταν σχεδόν αδύνατο χωρίς την χρήση υπολογιστών και θεωρίας γράφων. Μία ακόμη περιοχή στην οποία η ταχύτητα και οι βέλτιστες συνδέσεις είναι κρίσιμης σημασίας, είναι ο σχεδιασμός των chip υπολογιστών. Τα ολοκληρωμένα κυκλώματα αποτελούνται από εκατομμύρια τρανζίστορ, τα οποία πρέπει να είναι συνδεδεμένα. Παρότι οι αποστάσεις είναι μόλις μερικά χιλιοστά είναι σημαντική η βελτιστοποίηση αυτών των αμέτρητων συνδέσεων, με σκοπό τη βελτίωση απόδοσης του chip. Η Θεωρία Γράφων παίζει επίσης πολύ σημαντικό ρόλο στην εξέλιξη των ζώων και των γλωσσών, στον έλεγχο του πληθυσμού και στην διάδοση ασθενειών. Τα τελευταία χρόνια η Θεωρία Γράφων έχει ακόμα μία πολύ σημαντική ε- φαρμογή: το Διαδίκτυο. Κάθε σελίδα στο διαδίκτυο, θα μπορούσε να είναι ένας κόμβος σε έναν γράφο, και όπου υπάρχει σύνδεσμος μεταξύ δύο σελίδων, υπάρχει και ακμή μεταξύ των αντίστοιχων κόμβων. Οπως είναι προφανές, το 9

10 προκύπτον γράφημα είναι εξαιρετικά μεγάλο. Υπάρχει ένας ακόμη ψηφιακός γράφος, του οποίου μέλη είναι οι ίδιοι οι άνθρωποι: τα κοινωνικά δίκτυα. Οι χρήστες των κοινωνικών δικτύων μπορούν να αναπαρασταθούν από κόμβους κι όποτε δύο χρήστες συνδέονται μέσω του δικτύου, συνδεονται και οι δύο κόμβοι με μία ακμή. Η Θεωρία Γράφων μπορεί να βοηθήσει για τους σχεδιαστές των ιστοσελίδων να βελτιώσουν την απόδοση των ιστοσελίδων κοινωνικής δικτύωσης. Οι επιχειρήσεις θα μπορούσαν να μελετήσουν έναν γράφο κοινωνικού δικτύου για να βρουν ομάδες ενδιαφέροντος που πιθανότητα θα απηχούσαν τα προϊόντα ή οι υπηρεσίες τους. Τέλος, τα ίδια τα κοινωνικά δίκτυα θα μπορούσαν να εντοπίσουν έκτοπα (outlier) προφίλ χρηστών στον γράφο, που πιθανότατα να αναπαριστούν ψεύτικα προφίλ. Στην ενότητα αυτή θα εισάγουμε την έννοια των γράφων, θα περιγράψουμε τα διάφορα είδη γράφων που υπάρχουν και θα αναλύσουμε κάποιους αλγορίθμους που χειρίζονται γράφους. Επιπλέον, θα ασχοληθούμε με τη σημασία των γράφων στα Πληροφοριακά Συστήματα και θα παρουσιάσουμε πρακτικά προβλήματα τα οποία μπορούν να αναπαρασταθούν με γράφους. 3.1 Ορισμοί Γράφος Ενας γράφος είναι ένα διατεταγμένο ζεύγος G = (V, E), αποτελούμενο από ένα σύνολο από κόμβους V μαζί με ένα σύνολο από ακμές E, οι οποίες συσχετίζουν ανά δύο κάποια στοιχεία του V [3]. Οι κόμβοι που ανήκουν σε μία ακμή καλούνται άκρα της ακμής. Ομως, ένας κόμβος μπορεί να ανήκει σε ένα γράφο και να μην ανήκει σε κάποια ακμή. Για μία ακμή {u, v} χρησιμοποιείται για συντομία η σημειογραφία uv. Αν το σύνολο ακμών V αποτελείται στην ουσία από μη διατεταγμένα ζεύγη κόμβων, δηλαδή η ακμή uv είναι ίδια με την ακμή vu, τότε λέμε ότι ο γράφος είναι μη κατευθυνόμενος. Οι ακμές ενός γράφου όμως μπορούν να είναι προσανατολισμένες, δηλαδή να έχουν κατεύθυνση από έναν κόμβο σε έναν άλλο. Σε αυτή την περίπτωση, λέμε ότι ο γράφος είναι κατευθυνόμενος και ορίζεται ως εξής: ένας κατευθυνόμενος γράφος είναι ένα διατεταγμένο ζεύγος D = (V, A) όπου V είναι ένα σύνολο κόμβων και A είναι ένα σύνολο από διατεταγμένα ζεύγη κόμβων τα οποία καλούνται τόξα ή κατευθυνόμενες ακμές. Ενα τόξο a = (x, y) θεωρείται ότι έχει κατεύθυνση από τον κόμβο x προς τον y. Το y λέγεται κεφαλή και το x ουρά του τόξου. Ενας κατευθυνόμενος 10

11 γράφος καλείται συχνά διγράφος. Σχήμα 1: Μη κατευθυνόμενος και κατευθυνόμενος γράφος. Στην θεωρία γράφων, ένα μονοπάτι σε έναν γράφο είναι μία πεπερασμένη ή μη πεπερασμένη ακολουθία ακμών οι οποίες συνδέουν μία ακολουθία κόμβων οι οποίοι είναι όλοι ξεχωριστοί ο ένας από τον άλλο. Στην περίπτωση των κατευθυνόμενων γράφων, ένα κατευθυνόμενο μονοπάτι είναι και πάλι μια ακολουθία ακμών (ή τόξων) που συνδέουν μία ακολουθία κόμβων με τον πρόσθετο όμως περιορισμό ότι οι ακμές πρέπει να είναι προσανατολισμένες στην ίδια κατεύθυνση. Σχήμα 2: Μονοπάτια σε γράφους. Επιπλέον, ένας γράφος μπορεί να είναι μεικτός, δηλαδή να περιέχει κάποιες ακμές που είναι κατευθυνόμενες και κάποιες που είναι μη κατευθυνόμενες. Οι κατευθυνόμενοι και μη κατευθυνόμενοι γράφοι είναι ειδικές περιπτώσεις μεικτών γράφων. Ενας βρόχος είναι μία ακμή (κατευθυνόμενη ή μη), η οποία αρχίζει και τελειώνει στον ίδιο κόμβο. Ανάλογα με την εφαρμογή, δηλαδή τα δεδομένα προς αναπαράσταση, μπορεί να επιτρέπονται ή όχι τέτοιες ακμές. Ο όρος πολυγράφος χρησιμοποιείται για να δηλώσει την ύπαρξη πολλαπλών ακμών, ίσως και βρόχων, σε έναν γράφο. Αντίθετα, ένας γράφος καλείται απλός 11

12 Σχήμα 3: Βρόχος σε γράφο. όταν είναι μη κατευθυνόμενος, δεν περιέχει βρόχους και υπάρχει το πολύ μία ακμή μεταξύ οποιονδήποτε δύο διαφορετικών κόμβων. Λέμε ότι ένας γράφος είναι σταθμισμένος αν ένας αριθμός (βάρος) ανατίθεται σε κάθε ακμή. Τέτοια βάρη μπορούν να αναπαριστούν για παράδειγμα κόστη, αποστάσεις ή χωρητικότητες, ανάλογα με το πρόβλημα. Ενας σταθμισμένος γράφος, ή διγράφος, μπορεί να χρησιμοποιηθεί σε προβλήματα βέλτιστης δρομολόγησης όπως το πρόβλημα του Περιπλανώμενου Πωλητή. Σχήμα 4: Σταθμισμένος γράφος. Τέλος, λέμε ότι ένας γράφος είναι κυκλικός, όταν περιέχει τουλάχιστον ένα μονοπάτι το οποίο ξεκινά και καταλήγει στον ίδιο κόμβο. Σε αντίθετη περίπτωση, ο γράφος ονομάζεται ακυκλικός. Σχήμα 5: Κυκλικός και ακυκλικός γράφος. 12

13 Ιδιότητες Γράφων Δύο ακμές ενός γράφου καλούνται γειτονικές ή προσκείμενες αν μοιράζονται έναν κοινό κόμβο. Αντίστοιχα, δύο τόξα αποκαλούνται διαδοχικά αν η κεφαλή του πρώτου αποτελεί την ουρά του δεύτερου. Παρομοίως, δύο κόμβοι αποκαλούνται γειτονικοί ή προσκείμενοι αν μοιράζονται μία κοινή ακμη, ή διαδοχική αν βρίσκονται στην ουρά και στην κεφαλή ενός τόξου, στην οποία περίπτωση λέμε ότι η κοινή ακμή συνδέει τους δύο κόμβους. Λέμε ότι ένας κόμβος που ανήκει σε μία ακμή είναι προσπίπτων στην ακμή και το αντίστροφο, δηλαδή η ακμή αυτή είναι προσπίπτουσα στον κόμβο. Ενας γράφος με έναν μόνο κόμβο και χωρίς ακμές αποκαλείται τετριμμένος, ενώ ένας γράφος που αποτελείται μόνο από κόμβους και από καμία ακμή έιναι γνωστός ως γράφος χωρίς άκρα. Ενας γράφος χωρίς ακμές και χωρίς κόμβους λέγεται κενός ή μηδενικός γράφος. 3.2 Αλγόριθμοι Χειρισμού Γράφων Οι αλγόριθμοι χειρισμού γράφων είναι σημείο μείζονος ενδιαφέροντος στην επιστήμη των υπολογιστών. Τυπικές διαδικασίες ανωτέρου επιπέδου που σχετίζονται με γράφους είναι: η εύρεση μονοπατιού μεταξύ δύο κόμβων, όπως η αναζήτηση κατά βάθος και η αναζήτηση κατά πλάτος, και η εύρεση του συντομότερου μονοπατιού από έναν κόμβο σε έναν άλλο, όπως γίνεται με τον αλγόριθμο Djikstra και τον αλγόριθμο Δενδρών Επικάλυψης Ελαχίστου Κόστους (Minimum Spanning Tree). Αυτοί καθώς και άλλοι αλγόριθμοι περιγράφονται στην ενότητα αυτή. Διάσχιση Γράφων: Η διάσχιση γράφων αφορά την επίσκεψη όλων τον κόμβων του γράφου με συγκεκριμένο τρόπο, με σκοπό την ανανέωση ή τον έλεγχο των τιμών τους στην πορεία. Οι πιο γνωστοί αλγόριθμοι διάσχισης γράφων είναι οι Αναζήτηση κατά Βάθος και η Αναζήτηση κατά Πλάτος. Στην Αναζήτηση κατά Βάθος [4] ο αλγόριθμος επισκέπτεται τους κόμβους -παιδιά, πριν επισκεφθεί τους κόμβους -αδέρφια. Δηλαδή, διασχίζει το βάθος κάθε συγκεκριμένου μονοπατιού, πριν εξερευνήσει το πλάτος. Γενικά, η δομή που χρησιμοποιείται για τον αλγόριθμο αυτόν είναι στοίβα. Αντίθετα, στην Αναζήτηση κατά Πλάτος ο αλγόριθμος επισκέπτεται τους κόμβους -γονείς πριν επισκεφθεί τους κόμβους -παιδιά και χρησιμοποιείται μία δομή ουράς κατά την αναζήτηση. Ο αλγόριθμος αυτός συνήθως χρησιμοποιείται 13

14 για να βρεθεί το συντομότερο μονοπάτι από έναν κόμβο σε έναν άλλο. Τοπολογική Ταξινόμηση: Η τοπολογική ταξινόμηση ενός κατευθυνόμενου γράφου είναι μία γραμμική διάταξη των κόμβων του τέτοια ώστε για κάθε κατευθυνόμενη ακμή uv από τον κόμβο u προς τον κόμβο v, ο κόμβος u βρίσκεται πριν από τον κόμβο v στην διάταξη. Για παράδειγμα, οι κόμβοι ενός γράφου μπορεί να αναπαριστούν εργασίες προς εκτέλεση και οι ακμές να αναπαριστούν περιορισμούς ως προς την σειρά εκτέλεσης των εργασιών αυτών. Σε μία τέτοια εφαρμογή, η τοπολογική ταξινόμηση του γραφήματος αποτελεί μία έγκυρη ακολουθία εκτέλεσης των εργασιών. Η τοπολογική ταξινόμηση ενός γράφου είναι δυνατή αν και μόνο αν ο γράφος δεν έχει κατευθυνόμενους κύκλους, δηλαδή είναι κατευθυνόμενος ακυκλικός γράφος. Κάθε κατευθυνόμενος ακυκλικός γράφος έχει τουλάχιστον μία τοπολογική ταξινόμηση και υπάρχουν αλγόριθμοι που επιτυγχάνουν τη δημιουργία τοπολογικής ταξινόμησης οποιουδήποτε τέτοιου γράφου σε γραμμικό χρόνο. Ενας από αυτούς τους αλγορίθμους τοπολογικής ταξινόμησης περιγράφηκε από τον Kahn το Αξίζει να σημειωθεί ότι ο αλγόριθμος περιέχει τυχαιότητα κι επομένως πολλές διαφορετικές διατάξεις μπορούν να παραχθούν για τον ίδιο γράφο. Ενας άλλος αλγόριθμος τοπολογικής ταξινόμησης βασίζεται στην αναζήτηση κατά βάθος που έχει περιγραφεί παραπάνω. Συντομότερα Μονοπάτια: Αρκετά συχνά, οι γράφοι χρησιμοποιούνται για να αναπαραστήσουν αποστάσεις μεταξύ τοποθεσιών κι επομένως υπάρχει η ανάγκη εύρεσης του συντομότερου μονοπατιού μεταξύ αυτών των τοποθεσιών. Ο αλγόριθμος Djikstra [5] υπολογίζει τα συντομότερα μονοπάτια από έναν αρχικό κόμβο, σε κάθε άλλο κόμβο του γράφου. Ο αλγόριθμος αυτός είναι άπληστος, δηλαδή επιλέγει ένα τοπικό βέλτιστο σε κάθε βήμα. Στην περίπτωση των συντομότερων μονοπατιών, η επιλογή του τοπικού βέλτιστου σε κάθε βήμα οδηγεί και στην εύρεση του ολικού βελτίστου. Αρχικά επιλέγεται ένας αρχικός κόμβος από τον οποίο θα υπολογιστούν όλες οι αποστάσεις. Σε κάθε κόμβο στον γράφο ανατίθεται μία τιμή απόστασης, ίση με άπειρο για κάθε κόμβο εκτός του αρχικού, για τον οποίο η τιμή αυτή είναι μηδέν. Ξεκινώντας από τον κόμβο με την μικρότερη απόσταση, ενημερώνεται η απόσταση όλων των προσκείμενων σε αυτόν κόμβων, ώστε να γίνει ίση με την απόσταση των κόμβων με τον υπό εξέταση κόμβο, συν την απόσταση του κόμβου αυτού, εάν αυτή η ενημέρωση θα μειώσει την απόσταση αυτή. Στη 14

15 συνέχεια εξετάζεται ο επόμενος κόμβος με την μικρότερη απόσταση και ούτω καθεξής. Για τον υπολογισμό του μονοπατιού, κάθε κόμβος πρέπει να κρατά πληροφορία για το ποιος κόμβος ήταν αυτός που επέφερε αλλαγή στην απόστασή του. Δένδρα Επικάλυψης Ελαχίστου Κόστους: Μία χρήσιμη τεχνική στους σταθμισμένους γράφους είναι η εύρεση ακμών που πρέπει να παραμείνουν στον γράφο, προκειμένου αυτός να είναι συνδεδεμένος, αλλά το σύνολο των βαρών στις εναπομείνουσες ακμές να ελαχιστοποιηθεί. Το αποτέλεσμα μίας τέτοιας τεχνικής ονομάζεται Δένδρο Επικάλυψης Ελαχίστου Κόστους και οι αλγόριθμοι που το επιτυγχάνουν είναι ο αλγόριθμος του Kruskal και ο αλγόριθμος του Prim. Σύμφωνα με τον αλγόριθμο Kruskal οι κόμβοι χωρίζονται σε ξεχωριστά σύνολα και οι ακμές διατάσσονται με βάση το βάρος τους. Τότε για κάθε ακμή, αν οι προσκείμενοι κόμβοι της βρίσκονται σε διαφορετικά σύνολα, τα σύνολα συγχωνεύονται σε ένα και η ακμή προστίθεται στο δέντρο. Μιας και ο αλγόριθμος επιλέγει πάντα την ακμή με το ελάχιστο βάρος το αποτέλεσμα είναι ένα Δέντρο Ελαχίστου Κόστους. Ο αλγόριθμος του Prim είναι και αυτός ένας άπληστος αλγόριθμος που βρίσκει το Δέντρο Επικάλυψης Ελαχίστου Κόστους. Σε αντίθεση με τον Kruskal, ο αλγόριθμος αυτός επιλέγει την τοπικά μικρότερη ακμή, αντί για την ολικά μικρότερη. Το αποτέλεσμα του αλγορίθμου είναι και πάλι ένα δέντρο επικάλυψης ελαχίστου κόστους, μπορεί όμως να μην είναι το ίδιο. Ο ίδιος ο αλγόριθμος είναι σχεδόν πανομοιότυπος με τον αλγόριθμο του Dijkstra, με τη μόνη διαφορά είναι ότι η ανανέωση αποστάσεων εδώ δεν συμπεριλαμβάνει την απόσταση του κόμβου από τον οποίο ξεκινάει η αναζήτηση. Ανίχνευση Κύκλων: Προκειμένου να ανιχνεύσουμε κύκλους, χρησιμοποιούμε μία παραλλαγή του αλγορίθμου Διάσχισης κατά Βάθος που ονομάζεται Χρωματιστή Αναζήτηση Κατά Βάθος. Αρχικά, όλοι οι κόμβοι θεωρούμε ότι είναι λευκοί. Κατά την επίσκεψη ενός κόμβου, μαρκάρεται με γκρι και όταν διασχιστούν όλοι οι απόγονοί του, μαρκάρεται με μαύρο. Αν ο αλγόριθμος ε- πισκεφθεί γκρι κόμβο, τότε υπάρχει κύκλος. Αν η διάσχιση τελειώσει χωρίς ο αλγόριθμος να έχει επισκέφθει γκρι κόμβο, τότε ο γράφος είναι ακυκλικός. 15

16 Σχήμα 6: Εφαρμογή αλγορίθμου εύρεσης δέντρου επικάλυψης ελαχίστου κόστους. 3.3 Ψηφιακή Αναπαράσταση Γράφων Στην πράξη, οι γράφοι πρέπει να αναπαρασταθούν εσωτερικά στον υπολογιστή σαν δομές δεδομένων. Για τον σκοπό αυτό χρησιμοποιούνται διάφορες τεχνικές. Λίστα Γειτνίασης: Οι κόμβοι αποθηκεύονται σαν εγγραφές ή αντικείμενα και κάθε κόμβος διατηρεί μία λίστα γειτονικών κόμβων. Η δομή αυτή, επιτρέπει την αποθήκευση πρόσθετης πληροφορίας πάνω στους κόμβους. Επιπλέον πληροφορία μπορει να αποθηκευτεί αν οι ακμές αποθηκεύονται επίσης σαν αντικείμενα, στην οποία περίπτωση κάθε κόμβος αποθηκεύει τις προσπίπτουσες σε αυτόν ακμές και κάθε ακμή τους προσπίπτοντες σε αυτή κόμβους. Πίνακας Γειτνίασης: Ενας δισδιάστατος πίνακας στον οποίο οι γραμμές αναπαριστούν κόμβους - πηγές και οι στήλες αναπαριστούν κόμβους - προορισμούς, μπορεί να χρησιμοποιηθεί για την αναπαράσταση ενός γράφου. Πληροφορίες για τις ακμές και τους κόμβους, πρέπει να αποθηκεύονται εξωτερικά του πίνακα. Μόνο το κόστος της ακμής μεταξύ δύο κόμβων μπορεί να αποθηκευτεί εσωτερικά. 16

17 Πίνακας Πρόσπτωσης: Ο πίνακας πρόσπτωσης είναι ένας δισδιάστατος πίνακας που αποθηκεύει Boolean μεταβλητές. Οι γραμμές του πίνακα αναπαριστούν κόμβους και οι στήλες αναπαριστούν ακμές. Ενα κελί παίρνει αληθή τιμή αν ο αντίστοιχος κόμβος είναι προσπίπτων στην αντίστοιχη ακμή. 3.4 Εφαρμογές Οπως έχουμε προαναφέρει οι γράφοι μπορούν να χρησιμοποιηθούνε στη μοντελοποίηση πολλών ειδών σχέσεων και διαδικασιών. Στην ενότητα αυτή θα παρουσιάσουμε τη σημασία της θεωρίας γράφων παραθέτοντας κάποιες από τις πιο σημαντικές εφαρμογές [3]. Στην επιστήμη υπολογιστών, οι γράφοι χρησιμοποιούνται για να αναπαραστήσουν δίκτυα επικοινωνιών, οργάνωση δεδομένων, υπολογιστικές συσκευές, υπολογιστική ροή, κ.α. Για παράδειγμα, οι σύνδεσμοι μίας ιστοσελίδας μπορούν να αναπαρασταθούν από έναν κατευθυνόμενο γράφο, στον οποίο οι κόμβοι αναπαριστούν ιστοσελίδες και οι κατευθυνόμενες ακμές αναπαραστούν συνδέσμους από μία σελίδα σε μία άλλη. Παρόμοια προσέγγιση μπορεί να χρησιμοποιηθεί σε προβλήματα στη βιολογία, τον σχεδιασμό ηλεκτρονικών chip, στις μεταφορές και πολλά ακόμη πεδία. Μοντέλα από την θεωρία γράφων έχουν αποδειχθεί χρήσιμα στη γλωσσολογία, μιας και η φυσική γλώσσα προσφέρεται για ανάλυση μέσω διακριτών δομών. Το συντακτικό, καθώς και η σημασιολογία συστατικών ακολουθούν δομές βασισμένες σε δέντρα, οι οποίες μοντελοποιούνται από ιεραρχικούς γράφους. Η Θεωρία Γράφων χρησιμοποιείται επίσης για την μελέτη μορίων στη φυσική και την χημεία. Στη φυσική συμπυκνωμένης ύλης, η τρισδιάστατη δομή σύνθετων προσομοιωμένων ατομικών δομών μπορεί να μελετηθεί συγκεντρώνοντας στατιστικά στοιχεία σε δομές γράφων που αναφέρονται στην τοπολογία των α- τόμων. Στη χημεία ένας γράφος αποτελεί καλό μοντέλο για την αναπαράσταση ενός μορίου, όπου οι κόμβοι αναπαριστούν άτομα και οι ακμές αναπαριστούν δεσμούς. Η προσέγγιση αυτή χρησιμοποιείται ιδιαίτερα στην επεξεργασία μοριακών δομών μέσω υπολογιστών. Στη στατιστική φυσική, οι γράφοι μπορούν να αναπαραστήσουν τοπικές συνδέσεις μεταξύ αλληλεπιδρόντων μερών ενός συστήματος, καθώς και τις δυναμικές επιπτώσεις μιας φυσικής διαδικασίας σε τέτοια συστήματα. Ακόμη, η Θεωρία Γράφων χρησιμοποιείται και στην Κοινωνιολογία, κυρίως μέσω της χρήσης λογισμικού ανάλυσης κοινωνικών δικτύων. Τα κοινωνικά δίκτυα φιλοξενούν πολλών ειδών γράφους: γράφοι που δείχνουν αν δύο άτομα γνωρίζονται μεταξύ τους, γράφοι επήρρειας που δείχνουν κατά πόσο ένα άτομο 17

18 μπορεί να επηρεάσει τη συμπεριφορά άλλων, γράφοι συνεργασίας που δείχνουν αν δύο άτομα δουλεύουν μαζί κ.α. Παρομοίως, η θεωρία γράφων είναι χρήσιμη και στη βιολογία και στις προσπάθειες διατήρησης, όπου ένας κόμβος μπορεί να αναπαριστά περιοχές στις οποίες κάποιο είδος κατοικεί και οι ακμές αναπαριστούν μονοπάτια αποδημίας ή κίνηση μεταξύ των περιοχών. Τέτοιου είδους πληροφορίες είναι ιδιαίτερα χρήσιμες όταν ερευνούμε μοτίβα αναπαραγωγής ή ανιχνεύουμε την εξάπλωση ασθένειών, παρασίτων ή το πώς αλλαγές στη κίνηση μπορούν να επηρεάσουν άλλα είδη. 3.5 Πιθανοτικοί Γράφοι Πολλά επιστημονικά πεδία χρησιμοποιούν ανάλυση δικτύων δεδομένων ό- πως κοινωνικά, βιολογικά και άλλα δίκτυα. Τυπικά, τέτοια δίκτυα δεδομένων συνοδεύονται από αβεβαιότητα που προκαλείται είτε από τη διαδικασία συλλογής των δεδομένων, είτε από μεθόδους μηχανικής μάθησης που χρησιμοποιούνται στην προεπεξεργασία των δεδομένων. Τέτοια αβέβαια δίκτυα μπορούν να μοντελοποιηθούν από Πιθανοτικούς Γράφους [6][7]. Κάθε ακμή ενός πιθανοτικού γράφου συνοδεύεται από μία πιθανότητα ύπαρξης. Ενας πιθανοτικός γράφος είναι μια διατεταγμένη τριάδα G = (V, P, W ), όπου V είναι το σύνολο κόμβων που ανήκουν στον γράφο, P είναι μία σχέση που αντιστοιχεί κάθε ζευγάρι κόμβων σε έναν πραγματικό αριθμό στο διάστημα [0, 1]. Η σχέση W αντιστοιχεί ένα βάρος σε κάθε ακμή {u, v} V V. Με P uv αναπαριστούμε την πιθανότητα ύπαρξης της ακμής uv. Στην περίπτωση μη σταθμισμένου πιθανοτικού γράφου, αναπαριστούμε τον γράφο με G = (V, P ), και ορίζουμε τον συμπληρωματικό του γράφο να είναι ο πιθανοτικός γράφος G = (V, 1 P ). Οπως και οι ντετερμινιστικοί γράφοι, έτσι και οι πιθανοτικοί, μπορούν να είναι κατευθυνόμενοι ή μη κατευθυνόμενοι και να αποθηκεύουν επιπλέον πληροφορία στις ακμές. Μπορούμε να πούμε ότι ένας πιθανοτικός γράφος είναι ένα μοντέλο παραγωγής ντετερμινιστικών γράφων. Ενας ντετερμινιστικός γράφος G = (V, E G ) παράγεται από τον G συνδέοντας δύο κόμβους uv με πιθανότητα P uv. Οι ντετερμινιστικοί γράφοι αποτελούν ειδική περίπτωση των πιθανοτικών γράφων όπου P uv {0, 1}. Για να δείξουμε ότι ο γράφος G παράχθηκε από τον G γράφουμε G G. Η πιθανότητα ο γράφος G = (V, E G ) να έχει παραχθεί από τον γράφο G = (V, P ) 18

19 είναι P r[g] = P uv (1 P uv ). {u,v} E G {u,v} (V V )\E G ( ) V Αν M = τότε υπάρχουν 2 2 M διακριτοί γράφοι που μπορούν να παραχθούν από τον G. Για να αναφερθούμε σε κάθε έναν από αυτούς τους γράφους χρησιμοποιούμε τον όρο πιθανός κόσμος. Σχήμα 7: Πιθανοί κόσμοι ενός αβέβαιου γράφου. 19

20 4 Ομαδοποίηση Γράφων Γενικά μιλώντας, δεδομένου ενός συνόλου δεδομένων, η ομαδοποίησή τους αποσκοπεί στο διαχωρισμό του συνόλου σε ομάδες (ή συστάδες), τέτοιες ώστε τα στοιχεία τα οποία ανατίθενται σε μία συστάδα να παρουσιάζουν κάποιου είδους κοινά χαρακτηριστικά [9][13]. Κάθε σύνολο δεδομένων στο οποίο τα δεδομένα δεν είναι ομοιόμορφα κατανεμημένα, παρουσιάζει για το λόγο αυτό κάποια ετερογένεια. Είναι όμως πολύ πιθανό να υπάρχουν συστάδες δεδομένων μέσα σε ένα σύνολο δεδομένων οι οποίες παρουσιάζουν σχετική ομοιογένεια μεταξύ τους. Στόχος της ομαδοποίησης είναι να ανακαλύψει τις συστάδες αυτές, όπου αυτές υπάρχουν. Με όρους γράφων, στόχος της ομαδοποίησης είναι η δημιουργία συστάδων κόμβων έτσι ώστε να ελαχιστοποιείται ο αριθμός ακμών από τους κόμβους μίας ομάδας προς τους κόμβους μιας άλλης. Κάθε ομάδα πρέπει διαισθητικά να είναι καλώς συνδεδεμένη. Αυτό σημαίνει ότι πρεπει να υπάρχει ένα ή περισσότερα μονοπάτια που να συνδέουν κάθε ζευγάρι κόμβων εσωτερικά της συστάδας. Δηλαδή, αν δεν υπάρχει μονοπάτι από τον κόμβο u στον κόμβο v τότε οι δύο κόμβοι δεν πρέπει να ανήκουν στην ίδια ομάδα. Επιπλέον, δεν πρέπει να υπάρχει μονοπάτι που ξεκινά από κόμβο εσωτερικό της συστάδας που να διασχίζει κόμβους εξωτερικούς της συστάδας. Μπορούμε να πούμε ότι μία ομάδα αποτελεί έναν υπογράφο του αρχικού γράφου που υπέστη ομαδοποίηση. Είναι γενικά αποδεκτό ότι ένα υποσύνολο κόμβων αποτελεί μία καλή συστάδα, αν ο αντίστοιχος υπογράφος είναι πυκνός, δηλαδή περιέχει πολλές ακμές μεταξύ των εσωτερικών κόμβων του, και την ίδια στιγμή περιέχει λίγες ακμές από τους εσωτερικούς κόμβους προς κόμβους στον υπόλοιπο γράφο. Οταν αναφερόμαστε σε ομαδοποίηση ενός γράφου, εννοούμε το σύνολο των ομάδων που έχουν προκύψει από κάποιον αλγόριθμο ομαδοποίησης. Καθώς οι αλγόριθμοι μπορεί να εμπεριέχουν τυχαιότητα, για έναν γράφο μπορούμε να έχουμε πολλαπλές ομαδοποιήσεις. Μία τέτοια ομαδοποίηση του γράφου G = (V, E), στην ουσία ορίζει έναν ντετερμινιστικό γράφο C = (V, E C ) με τις ακόλουθες ιδιότητες: ο γράφος C ορίζει μία διαμέριση των κόμβων του V σε k τμήματα V = V 1,..., V k τέτοιες ώστε V i V k = για κάθε i 1,..., k και για κάθε ζευγάρι κόμβων u V i και u V i η ακμή u, u ανήκει στο σύνολο ακμών του C και για κάθε i, j 1,..., k με i j και κάθε ζευγάρι κόμβων u V i, u V j 20

21 η ακμή u, u δεν ανήκει στο σύνολο ακμών του C. Στην περίπτωση που ο γράφος περιέχει ακμές με βάρη πρέπει και αυτά να ληφθούν υπόψη κατά την ομαδοποίηση. Η συμπερίληψη ακμών με μεγάλο βάρος μέσα σε μία ομάδα είναι σημαντική κι επιθυμητή, ενώ η μη συμπερίληψη ακμών με μικρά βάρη δεν είναι τόσο σημαντική. Η πυκνότητα μιας συστάδας εδώ δεν είναι ο αριθμός των ακμών που περιέχει αλλά το άθροισμα των βαρών των ακμών που περιέχει προς τον συνολικό αριθμό των ακμών. Με άλλα λόγια, μία καλή συστάδα περιέχει είτε πολλές είτε σημαντικές ακμές ενώ μία χαμηλής ποιότητας συστάδα περιέχει είτε λίγες είτε ασήμαντες ακμές. Γενικά, η ομαδοποίηση των κόμβων ενός γράφου γίνεται με βάση κάποιου είδους ομοιότητα ή απόσταση μεταξύ τους. Το κριτήριο αυτό εξαρτάται τόσο από τη φύση των δεδομένων που αναπαριστά ο γράφος όσο και από το είδος του γράφου που μοντελοποιεί τα δεδομένα αυτά. Για παράδειγμα, αν το σύνολο δεδομένων αποτελείται από έγγραφα, σαν κριτήριο ομαδοποίησης μπορεί να χρησιμοποιηθεί η ομοιότητα μεταξύ των εγγράφων. Στην περίπτωση των πιθανοτικών γράφων, το βασικό κριτήριο ομαδοποίησης είναι η πιθανότητα ύπαρξης ακμής μεταξύ δύο κόμβων. Θα αναφερθούμε αναλυτικότερα στην περίπτωση αυτήν στην ενότητα Αλγόριθμοι Ιεραρχικοί Αλγόριθμοι Μία ομαδοποίηση γράφου μπορεί να θεωρηθεί σαν μία ιεραρχική δομή στην οποία κάθε ομάδα ανώτερου επιπέδου συντίθεται από υποομάδες και ούτω καθεξής. Αυτό είναι ιδιαίτερα χρήσιμο σε περιπτώσεις όπου η ίδια η δομή του γράφου είναι ιεραρχική και μία μεγάλη ομάδα μπορεί να διαχωριστεί σε μικρότερες ο- μάδες ή πολλές μικρές ομάδες να συγχωνευτούν σε μία μεγάλη. Δημιουργείται έτσι μία ομαδοποίηση πολλαπλών επιπέδων, και οι αλγόριθμοι που παράγουν τέτοιου είδους ομαδοποιήσεις ονομάζονται Ιεραρχικοί Αλγόριθμοι Ομαδοποίησης. Οι Ιεραρχικοί Αλγόριθμοι μπορούν να διαχωριστούν περαιτέρω σε δύο κλάσεις: Από πάνω προς τα κάτω (top-down) αλγόριθμοι οι οποίοι χωρίζουν το σύνολο δεδομένων επαναληπτικά ή αναδρομικά σε όλο και μικρότερες συστάδες, και 21

22 Σχήμα 8: Παράδειγμα ιεραρχικής ομαδοποίησης γράφου Από κάτω προς τα πάνω (bottom-up) αλγόριθμοι οι οποίοι ξεκινούν με κάθε κόμβο να σχηματίζει μία ατομική συστάδα ή με κάποιο άλλο σύνολο μικρών αρχικών ομάδων, συγχωνεύοντας τις ομάδες αυτές σε μεγαλύτερες σε κάθε επανάληψη. Σε κάθε επανάληψη ο αλγόριθμος ομαδοποίησης επιλέγει ποιες ομάδες πρέπει να συγχωνευτούν ή να διαχωριστούν βελτιστοποιώντας κάποιο κριτήριο πάνω στα δεδομένα. Μία συνθήκη τερματισμού πρέπει να τεθεί στον αλγόριθμο προκειμένου να επιλεχθεί η καλύτερη ομαδοποίηση όσον αφορά ένα μέτρο ποιότητας πάνω στο τρέχον σύνολο ομάδων. Αλγόριθμος Agglomerative: Ο αλγόριθμος Agglomerative αποτελεί μία από κάτω προς τα πάνω διαδικασία για την επίλυση του προβλήματος ομαδοποίησης γράφων. Ξεκινάει τοποθετώντας κάθε κόμβο σε μία ατομική συστάδα. Στη συνέχεια, ελέγχει το ζευγάρι συστάδων με τη μικρότερη μέση απόσταση. Η μέση απόσταση μεταξύ δύο συστάδων ορίζεται ως το μέσο βάρος των ακμών μεταξύ των δύο συστάδων. Αν η μέση απόσταση του κοντινότερου ζευγαριού συστάδων είναι μικρότερη του 0.5 τότε οι δύο συστάδες συγχωνεύονται σε μία ενιαία συστάδα. Αν κανένα ζευγάρι συστάδων δεν έχει μέση απόσταση μικρότερη του 0.5, τότε ο αλγόριθμος σταματάει γιατί καμία συγχώνευση συστάδων 22

23 δεν μπορεί να οδηγήσει σε καλύτερη λύση-ομαδοποίηση με βελτιωμένο κόστος με βάση το κριτήριο που έχουμε επιλέξει. Η χωρική πολυπλοκότητα του αλγορίθμου είναι O(mn 2 ) για τη δημιουργία του πίνακα που αποθηκεύει τα ζευγάρια ομάδων, όπου m είναι ο αριθμός των ακμών και n ο αριθμός των κόμβων του γράφου. Η υπολογιστική πολυπλοκότητα του αλγορίθμου είναι O(n 2 log n). Ο αλγόριθμος Furthest: Ο αλγόριθμος Furthest είναι ένας από πάνω προς τα κάτω αλγόριθμος που λύνει το πρόβλημα της ομαδοποίησης εμπνευσμένος από τον αλγόριθμο διάσχισης του μακρύτερου-πρώτα (Furthest-First Traversal). Ο αλγόριθμος αυτός χρησιμοποιεί την έννοια των κέντρων για να διαχωρίσει τον γράφο σε ομάδες από πάνω προς τα κάτω. Ο αλγόριθμος ξεκινά τοποθετώντας όλους τους κόμβους σε μία ενιαία συστάδα. Στη συνέχεια βρίσκει το ζευγάρι των κόμβων που βρίσκονται πιο μακριά μεταξύ τους, με βάση κάποιο κριτήριο απόστασης και τους τοποθετεί σε δύο διαφορετικές συστάδες. Αυτοί οι δύο κόμβοι γίνονται τα κέντρα νέων συστάδων, στις οποίες ανατίθενται κόμβοι ως εξής: ένας κόμβος ανήκει στη συστάδα από το κέντρο της οποίας απέχει τη μικρότερη απόσταση. Αυτή η διαδικασία επαναλαμβάνεται και σε κάθε βήμα επιλέγεται ένα νέο κέντρο το οποίο απέχει την μεγαλύτερη απόσταση από τα υπάρχοντα κέντρα κι ανατίθενται οι κόμβοι στα κέντρα με την διαδικασία που περιγράψαμε. Στο τέλος κάθε βήματος υπολογίζεται το κόστος της νέας ομαδοποίησης. Αν είναι μικρότερο από αυτό της ομαδοποίησης του προηγούμενου βήματος, τότε η επανάληψη συνεχίζεται. Ειδάλλως, το αποτέλεσμα του αλγορίθμου είναι η ομαδοποίηση του προηγούμενου βήματος. Η χωρική πολυπλοκότητα του αλγορίθμου είναι O(mn 2 ) όπου και πάλι το m δηλώνει αριθμό ακμών και το n αριθμό κόμβων. Η υπολογιστική πολυπλοκότητα του αλγορίθμου είναι O(k 2 n) όπου k είναι ο αριθμός ομάδων που δημιουργεί. KwikCluster Αλγόριθμος Ο KwikCluster είναι ένας πολύ απλός, σχεδόν άπληστος αλγόριθμος που προσεγγίζει το πρόβλημα της ομαδοποίησης γράφων. Ο αλγόριθμος ξεκινά επιλέγοντας τυχαία έναν κόμβο u από το σύνολο των κόμβων. Στην ομάδα του κόμβου αυτού ανατίθενται όλοι οι κόμβοι οι οποίοι συνδέονται με ακμή με 23

24 τον u με θετική συσχέτιση. Οι κόμβοι αυτοί αφαιρούνται από τον γράφο και η επανάληψη συνεχίζεται αναδρομικά μέχρι να μην απομείνει κανένας κόμβος στον γράφο. Η πολυπλοκότητα του αλγορίθμου είναι γραμμική ως προς τον αριθμό των ακμών του γράφου (O(m)). Αξίζει να σημειωθεί ότι και οι τρεις αλγόριθμοι ομαδοποίησης που περιγράψαμε δεν έχουν καμία a priori πληροφορία για την κατανομή των δεδομένων ή τον αριθμό ομάδων που πρέπει να δημιουργηθούν, αλλά επιστρέφουν οι ίδιοι τον αριθμό των συστάδων που θα προκύψει. 4.2 Ομαδοποίηση Πιθανοτικών Γραφημάτων Οι περισσότεροι αλγόριθμοι ομαδοποίησης ντετερμινιστικών γράφων μπορούν να χρησιμοποιηθούν για τον χειρισμό πιθανοτικών γράφων, είτε θεωρώντας τις πιθανότητες των ακμών ώς βάρη, είτε θέτοντας ένα κατώφλι κι αγνοώντας τις ακμές με πιθανότητα ύπαρξης μικρότερη του κατωφλίου [8][12]. Το μειονέκτημα της πρώτης προσέγγισης είναι ότι μόλις οι πιθανότητες διερμηνευτούν ως βάρη, στις ακμές δεν μπορούν να ανατεθούν επιπλέον βάρη. Το μειονέκτημα της δεύτερης προσέγγισης είναι ότι δεν υπάρχει ένας κοινά αποδεκτός τρόπος να αποφασίσουμε για τη σωστή τιμή του κατωφλίου. Λόγω της ιδιομορφίας των πιθανοτικών γραφημάτων τα οποία περιγράψαμε στην ενότητα 3.5 οι αλγόριθμοι που περιγράψαμε παραπάνω δεν μπορούν να εφαρμοστούν αυτούσιοι σε γράφους αυτού του είδους. Αρχικά, πρέπει να επιλεχθεί ένα κατώφλι, τέτοιο ώστε ακμές με πιθανότητα κάτω από αυτό το κατώφλι να αγνοηθούν. Στη συνέχεια αποδεικνύεται ότι μπορούν να εφαρμοστούν, ελαφρώς παραλλαγμένοι οι αλγόριθμοι που περιγράφηκαν. Αξίζει να αναφερθεί πως ο γράφος ομαδοποίησης ενός πιθανοτικού γράφου είναι ντετερμινιστικός γράφος κι έχει τις ίδιες ιδιότητες που περιγράφηκαν στην ενότητα 4.1. Πριν ξεκινήσουμε την περιγραφή των αλγορίθμων πρέπει να αναφερθούμε σε δύο σχετικά προβλήματα: την συσχετιστική ομαδοποίηση (correlation clustering) και τη συνάθροιση ομαδοποίησης (clustering aggregation). Correlation Clustering: Στο πρόβλημα αυτό [10] υπάρχουν N αντικείμενα στο σύνολο V και μεταξύ οποιονδήποτε δύο αντικειμένων (u, v) υπάρχει μία σχέση (+) ή μία σχέση (-). Αν με E + και E αναπαριστούμε τα ζεύγη u v τα οποία σχετίζονται με (+) και (-) αντίστοιχα, ο στόχος είναι να βρεθεί 24

25 μία διαίρεση P = {P 1,..., P m } του V τέτοια ώστε να ελαχιστοποιεί τον αριθμό των ζευγών που διαφωνούν. Δηλαδή, να ελαχιστοποιηθεί ο αριθμός των (+) ζευγαριών που βρίσκονται σε διαφορετικές συστάδες και των (-) ζευγαριών που βρίσκονται στην ίδια συστάδα. Clustering Aggregation: Η συνάθροιση ομαδοποιήσεων [11], ορίζεται ως το πρόβλημα βελτιστοποίησης, όπου, δεδομένου ενός συνόλου M ομαδοποιήσεων, επιθυμούμε να βρούμε την ομαδοποίηση η οποία ελαχιστοποιεί το συνολικό αριθμό διαφωνιών με τις M ομαδοποιήσεις. Στις ιδιότητες του clustering aggregation συμπεριλαμβάνονται: Ομαδοποίηση κατηγορικών δεδομένων Ομαδοποίηση ετερογενών δεδομένων Ανίχνευση του σωστού αριθμού συστάδων Ανίχνευση εξωκείμενων τιμών Βελτίωση ευρωστίας ομαδοποίησης Ομαδοποίηση που διατηρεί την ιδιωτικότητα των δεδομένων. Οι αλγόριθμοι που περιγράφονται παρακάτω προσπαθούν να δώσουν μία λύση στο πρόβλημα ομαδοποίησης πιθανοτικών γραφημάτων, βασισμένοι στις ομοιότητες του προβλήματος αυτού, με τα προβλήματα και τις λύσεις τους που περιγράφηκαν πιο πάνω. pkwikcluster Αλγόριθμος Ο αλγόριθμος pkwikcluster αποτελεί προσαρμογή του αλγορίθμου KwikCluster για πιθανοτικά γραφήματα. Ο αλγόριθμος ξεκινάει από έναν τυχαίο κόμβο u και δημιουργεί μία συστάδα με όλους τους γείτονες του u που συνδέονται με αυτόν με πιθανότητα μεγαλύτερη του 0.5. Αν δεν υπάρχει τέτοιος κόμβος, ο u ορίζει μία ατομική συστάδα. Εχοντας αφαιρέσει τον κόμβο u και τους γείτονές του από τον γράφο, ο αλγόριθμος συνεχίζει με τους υπόλοιπους κόμβους. Η πολυπλοκότητα του αλγορίθμου στην χειρότερη περίπτωση είναι γραμμική ως προς τον αριθμό των ακμών του γράφου, δηλαδή O(m). Ο ψευδοκώδικας του αλγορίθμου περιγράφεται παρακάτω. 25

26 Algorithm 1 pkwikcluster algorithm 1: procedure pkwikcluster clustering 2: while V > 0 do 3: choose random node u 4: create new cluster with u and neighbours of u with probability p > 0.5 5: remove u and neighbours of u with p > 0.5 from G Furthest Ο αλγόριθμος Furthest κι εδώ χρησιμοποιεί την έννοια των κέντρων για να διαχωρίσει έναν πιθανοτικό γράφο από πάνω προς τα κάτω. Ο αλγόριθμος ξεκινάει εισάγοντας όλους τους κόμβους σε μία συστάδα. Επειτα, βρίσκει το ζευγάρι κομβων που έχουν την μικρότερη πιθανότητα να έχουν ακμή μεταξύ τους. Οι δύο αυτοί κόμβοι γίνονται τα κέντρα αυτών των συστάδων ενώ οι υπόλοιποι κόμβοι ανατίθενται στο κέντρο με το οποίο είναι πιο πιθανό να μοιράζονται μία ακμή. Η διαδικασία επαναλαμβάνεται και σε κάθε βήμα επιλέγουμε ως κέντρο τον κόμβο εκείνο που δεν είναι κέντρο και έχει την ελάχιστη πιθανότητα να μοιράζεται ακμή με τα τρέχοντα κέντρα. Στη συνέχεια οι κόμβοι ανατίθενται στο κέντρο με το οποίο συνδέονται με τη μεγαλύτερη πιθανότητα. Στο τέλος κάθε βήματος υπολογίζεται το κόστος της ομαδοποίησης που προκύπτει, κι αν αυτό είναι μικρότερο από το κόστος της προηγούμενης ομαδοποίησης, ο αλγόριθμος συνεχίζει, αλλιώς τερματίζει και το αποτέλεσμα είναι η ομαδοποίηση της προηγούμενη επανάληψης. Η πολυπλοκότητα του αλγορίθμου είναι O(nk 2 ) όπου k ο αριθμός των συστάδων που δημιουργούνται μέχρι το τέλος του αλγορίθμου και n ο αριθμός των κόμβων του γράφου. Ο ψευδοκώδικας του αλγορίθμου περιγράφεται παρακάτω. 26

27 Algorithm 2 Furthest algorithm 1: procedure Furthest clustering 2: set previous edit distance to infinity 3: place all nodes in single cluster 4: find pair of nodes with the smallest probability of having an edge between them and add them to the set of centers 5: do 6: for all nodes that are not centers do 7: assign to closest center 8: add node furthest from current centers to the set of centers 9: compute current edit distance 10: while current edit distance < previous edit distance 11: return previous clustering Agglomerative Ο αλγόριθμος Agglomerative ξεκινά εισάγοντας κάθε κόμβο του πιθανοτικού γράφου σε μία ατομική συστάδα. Σε κάθε επανάληψη συγχωνεύει τις δύο συστάδες τις προηγούμενης ομαδοποίησης οι οποίες παρουσιάζουν τη μεγαλύτερη μέση πιθανότητα ακμής. Η μέση πιθανότητα ακμής ορίζεται ως: 1 V i V j u V i,v V j P uv όπου V i, V j δύο συστάδες και P uv η πιθανότητα ύπαρξης ακμής μεταξύ των κόμβων u και v. Αν η μέση πιθανότητα του κοντινότερου ζεύγους συστάδων είναι μεγαλύτερη του 0.5 τότε αυτές οι δύο συστάδες συγχωνεύονται. Σε αντίθετη περίπτωση, ο αλγόριθμος σταματά. Κανονικά, ο αλγόριθμος αυτός έχει υπολογιστική πολυπλοκότητα O(kn 2 ) όμως η πολυπλοκότητα αυτή μπορεί να βελτιωθεί με την χρήση μιας δομής σωρού μεγίστων στην οποία αποθηκεύονται τα ζευγάρια συστάδων με βάση την μέση πιθανότητα ακμής μεταξύ τους. Η πολυπλοκότητα με αυτόν τον τρόπο πέφτει σε O(kn log n). Ο ψευδοκώδικας του αλγορίθμου περιγράφεται παρακάτω. 27

28 Algorithm 3 Agglomerative algorithm 1: procedure Agglomerative clustering 2: place every node into singleton cluster 3: compute average edge probability for every pair of clusters 4: while closest pair of clusters has average edge probability > 0.5 do 5: merge pair into a single cluster 6: update average edge probability of new cluster with other clusters 4.3 Δείκτες Ποιότητας Στην υποενότητα αυτή, περιγράφουμε κάποιους δείκτες ποιότητας γράφων ομαδοποίησης τόσο για ντετερμινιστικούς όσο και για πιθανοτικούς γράφους. Ορισμός edit distance: Δεδομένων δύο ντετερμινιστικών γράφων G = (V, E G ) και Q = (V, E Q ) το μεταξύ τους edit distance ορίζεται ως ο αριθμός ακμών που χρειάζεται να προστεθούν ή να αφαιρεθούν από τον G προκειμένου να μετασχηματιστεί στον Q. Ουσιαστικά, είναι ο αριθμός ακμών που λείπουν ή περισσεύουν σε ένα γράφο ομαδοποίησης σε σχέση με τον γράφο στον οποίο έγινε η ομαδοποίηση. Επομένως είναι ένας δείκτης απόστασης μεταξύ των δύο γράφων. Ο ορισμός αυτός μπορεί να επεκταθεί ώστε να περιγράψει το edit distance μεταξύ ενός πιθανοτικού γράφου G = (V, P ) κι ενός ντετερμινιστικού γράφου Q = (V, E Q ). Σύμφωνα με το άρθρο [8] η απόσταση αυτή μπορεί να υπολογιστεί σε O(m) ως εξής: D(G, Q) = {u,v} E Q (1 P uv ) + {u,v}/ E Q P uv Είναι φανερό πως, ένας γράφος ομαδοποίησης που περιέχει πολλές ακμές του αρχικού γράφου, που έχουν πιθανότητα μεγαλύτερη του 0.5 και δεν περιέχει ακμές με πολύ μικρές πιθανότητες, θα παρουσιάζει μικρό edit distance. Αντιθέτως, η παρουσία πολλών ακμών με μικρές τιμές πιθανοτήτων αυξάνει το edit distance, όπως είναι φυσικό, δηλαδή μειώνει την ποιότητα της ομαδοποίησης. Το edit distance αποτελεί έναν καλό δείκτη σύγκρισης μεταξύ των ομαδοποιήσεων που παράγουν διαφορετικοί αλγόριθμοι ομαδοποίησης. Αυτό είναι που χρησιμοποιείται και ως κριτήριο τερματισμού του αλγορίθμου Furthest. 28

29 4.4 Εφαρμογές Ομαδοποίηση Εγγράφων Η ομαδοποίηση εγγράφων έχει ερευνηθεί για χρήση σε ποικίλες περιοχές ψηφιακών βιβλιοθηκών, εξόρυξης δεδομένων και ανάκτησης πληροφοριών. Αρχικά, η ομαδοποίηση εγγράφων ερευνήθηκε με σκοπό τη βελτίωση της ακρίβειας και της ανάκλησης Συστημάτων Ανάκτησης Πληροφοριών. Πιο πρόσφατα, η ομαδοποίηση εγγράφων έχει επίσης χρησιμοποιηθεί στο πεδίο των ψηφιακών βιβλιοθηκών για την αναζήτηση μιας συλλογής από εγγραφα, ή για την οργάνωση των αποτελεσμάτων που επιστρέφονται από μηχανές αναζήτησης σε απάντηση προς κάποιο ερώτημα χρήστη. Ομαδοποίηση k-member Μία πρόσφατη εφαρμογή της ομαδοποίησης είναι η ιδιωτικότητα των δεδομένων. Σε μία σχεσιακή βάση δεδομένων, η k -ανωνυμία μετατρέπει τα δεδομένα εκείνα που θα μπορούσαν να χρησιμοποιηθούν για την αναγνώριση πραγματικών οντοτήτων, η ιδιωτικότητα των οποίων πρέπει να προστατευθεί, έτσι ώστε να είναι δυσδιάκριτα από τα δεδομένα τουλάχιστον (k 1) άλλων εγγραφών. Εχει αποδειχθεί ότι η εύρεση βέλτιστης λύσης στο πρόβλημα αυτό είναι πρόβλημα NP. Εχει προταθεί η εύρεση ενός συνόλου συστάδων κάθε μία από τις οποίες περιέχει τουλάχιστον k εγγραφές, οι οποίες πρέπει να είναι δυσδιάκριτες η μία από την άλλη. Οι υπάρχοντες αλγόριθμοι ομαδοποίησης δεν είναι άμεσα εφαρμόσιμοι στο πρόβλημα αυτό, καθώς δεν λαμβάνουν υπόψιν τους τον περιορισμό ότι κάθε συστάδα πρέπει να περιέχει τουλάχιστον k εγγραφές. Ετσι δημιουργήθηκε ο άπληστος αλγόριθμος k-member για να λύσει αυτό ακριβώς το πρόβλημα. Δεδομένου ενός συνόλου N εγγραφών, ο αλγόριθμος επιλέγει τυχαία μία από αυτές και τη μετατρέπει σε συστάδα. Στη συνέχεια, επιλέγεται κι άλλη μία εγγραφή, η οποία προστίθεται στη συστάδα αυτή. Η δεύτερη αυτή εγγραφή επιλέγεται έτσι ώστε η απώλεια πληροφορίας στη συστάδα της να είναι ελάχιστη. Το βήμα αυτό επαναλαμβανεται μέχρις ότου η συστάδα αυτή να έχει μέγεθος ίσο με k. Τότε, μία άλλη εγγραφή επιλέγεται ώστε να απέχει τη μέγιστη απόσταση από την πρώτη και να μην έχει ανατεθεί σε καμία συστάδα. Ο αλγόριθμος συνεχίζεται μέχρι να μείνουν λιγότερες από k εγγραφές, οι οποίες δεν έχουν ανατεθεί σε καμία συστάδα. Τελικά, ο αλγόριθμος αναθέτει και τις εγγραφές αυτές στις συστάδες που πρέπει με βάση την αύξηση της απώλειας 29

30 πληροφορίας. Δηλαδή κάθε εγγραφή που δεν έχει ακόμη ανατεθεί σε κάποια συστάδα, ανατίθεται στη συστάδα στην οποία θα προκαλέσει τη μικρότερη α- πώλεια πληροφορίας. Ο αλγόριθμος αποτελεί ουσιαστικά προσαρμογή του αλγορίθμου k-means, εδώ όμως το k αναπαριστά τον αριθμό εγγραφών ανά συστάδα, αντί για τον αριθμό συστάδων. Ομαδοποίηση Προσθήκης Ετικετών σε Μέρη του Λόγου (Partof-Speech Tagging) Οι πιο απλοί αλγόριθμοι προσθήκης ετικετών σε μέρη του λόγου βασίζονται σε μοντέλα n-gram, όπου σε μία λέξη ανατίθεται η ετικέτα με τη μεγαλύτερη εξαρτημένη πιθανότητα εμφάνισης μαζί με τις προηγούμενες n 1 λέξεις και τις αντίστοιχες ετικέτες τους. Οι μηχανισμοί n-gram προσθήκης ετικετών χρειάζονται ένα σχετικά μεγάλο σύνολο δεδομένων εκπαίδευσης. Ο αλγόριθμος προσθήκης ετικετών με βάση την μεταμόρφωση είναι ένας αλγόριθμος μηχανικής μάθησης βασισμένος σε κανόνες, που μαθαίνει τους κανόνες της προσθήκης ετικετών από ένα μεγάλο σύνολο δεδομένων εκπαίδευσης. Εχει προταθεί ένας αλγόριθμος ο οποίος προσθέτει ετικέτες σε λέξεις για τις οποίες δεν γνωρίζει τι μέρος του λόγου είναι. Η ομοιότητα μεταξύ δύο λέξεων καθορίζεται αρχικά με τη χρήση των αριστερών και δεξιών γειτόνων τους. Κάθε λέξη αναπαρίσταται από ένα διάνυσμα χαρακτηριστικών με μία διάσταση για κάθε γείτονα. Η απόσταση συνημιτόνου μεταξύ αυτών των διανυσμάτων χαρακτηριστικών καθορίζει την ομοιότητα μεταξύ των αντίστοιχων λέξεων. Χρησιμοποιώντας αυτό το μέτρο ομοιότητας, οι λέξεις ομαδοποιούνται, χρησιμοποιώντας τον αλγόριθμο Buckshot, ο οποίος αρχικά χρησιμοποιεί ιεραρχικό αλγόριθμο ομαδοποίησης για την εύρεση κέντρων και στη συνέχεια χρησιμοποιεί τα κέντρα αυτά σαν αρχικά κέντρα στον αλγόριθμο k-means. Μία επέκταση του αλγορίθμου αυτού θεωρεί ευρύτερα συμφραζόμενα για τα διανύσματα χαρακτηριστικών. Η προσέγγιση αυτή αποδείχθηκε ανώτερη όλων των υπάρχοντων μεθόδων. Εξόρυξη Γνώμης (Opinion Mining) Η εξόρυξη γνώμης και η ανάλυση συναισθήματος είναι οι γενικές εργασίες επεξεργασίας φυσικής γλώσσας και εξόρυξης κειμένου που εμπλέκονται στην επεξεργασία εγγράφων που εκφράζουν όψεις και απόψεις με σκοπό την αναγνώριση γνώμης. Ενα συγκεκριμένο παράδειγμα εξόρυξης γνώμης είναι η 30

31 βαθμολογία και κατάταξη αντικειμένων με βάση γραπτές αξιολογήσεις. Ο σημασιολογικός προσανατολισμός ενός αντικειμένου, ενός χαρακτηριστικού ενός αντικειμένου ή της αξιολόγησης ενός αντικειμένου συνήθως εξάγεται από το σημασιολογικό προσανατολισμό κάποιων όρων μέσα στις αξιολογήσεις: λέξεις, λέξεις που συνδέονται με αισθήσεις ή λέξεις συγκεκριμένων κλάσεων. Ο σημασιολογικός προσανατολισμός των όρων καθορίζεται ξεκινώντας από ένα σύνολο όρων, ο προσανατολισμός των οποίων είναι γνωστός και από τα συμφραζόμενα των όρων στην αξιολόγηση. Μία τεχνική που έχει προταθεί επιθυμεί τον καθορισμό του σημασιολογικού προσανατολισμού των επιθέτων στα κείμενα. Χρησιμοποιεί τους συνδέσμους (και, αλλά) για να εξάγει τον προσανατολισμό των επιθέτων. Για παράδειγμα, το και συνδέει επίθετα του ίδιου προσανατολισμού και το αλλά επίθετα διαφορετικού προσανατολισμού. Ενας αλγόριθμος ομαδοποίησης προσπαθεί να διαχωρίσει τα επίθετα σε θετικές και αρνητικές συστάδες με βάση τους συνδέσμους που τα ενώνουν. Ενας άλλος αλγόριθμος αναθέτει τρεις βαθμολογίες σε κάθε λέξη, μία αντικειμενική, μία θετική και μία αρνητική βαθμολογία για να αναπαραστήσει το σημασιολογικό προσανατολισμό της. Ακόμη ένας αλγόριθμος καθορίζει τον σημασιολογικό προσανατολισμό αξιολογήσεων καθορίζοντας και συναθροίζοντας τον προσανατολισμό φράσεων στις αξιολογήσεις που περιέχουν επίθετα και επιρρήματα. Ενας τελευταίος αλγόριθμος προτείνει τον καθορισμό του σημασιολογικού προσανατολισμού χαρακτηριστικών αντικειμένων, για παράδειγμα τη διάρκεια ζωής της μπαταρίας ενός κινητού τηλεφώνου, το πόσο φιλικό είναι προς τον χρήστη το μενού του, κλπ. Προς το σκοπό αυτό, καθορίζει και συναθροίζει τον προσανατολισμό των λέξεων στις αξιολογήσεις. Κάνει χρήση της παρατήρησης ότι γνώμες με τον ίδιο προσανατολισμό συχνά εκφράζονται σε διαδοχικές προτάσεις, εκτός αν βρεθεί κάποια λέξη όπως αλλά, παρόλα αυτά, κλπ. Σε αυτήν την περίπτωση, ο προσανατολισμός αλλάζει. Ο προσανατολισμός ενός αρχικού συνόλου λέξεων χρησιμοποιείται για να εξάγει τον προσανατολισμό άλλων λέξεων. Αν η συνολική βαθμολογία των λέξεων είναι θετική, τότε και ο σημασιολογικός προσανατολισμός της γνώμης είναι θετικός. Συσχέτιση Χρονοσειρών (Time Series Correlation) Μία χρονοσειρά είναι μία ακολουθία πραγματικών αριθμών, καθένας από τους οποίους αναπαριστά μία τιμή σε κάποιο σημείο του χρόνου. Μερικά παραδείγματα χρονοσειρών είναι: τιμές μετοχών, τιμές ισοτιμίας συναλλάγματος, 31

32 βιοϊατρικές μετρήσεις όπως σήματα ΗΚΓ και καιρικά δεδομένα. Η εξόρυξη χρονοσειρών έχει εφαρμογές σε πολλές περιοχές όπως η βιοπληροφορική, χημική μηχανική, βιομετρική, ιατρικές εφαρμογές, πρόβλεψη καιρού ή χρηματοπιστωτική αγορά. Για παράδειγμα, στην πρόβλεψη καιρού, μπορεί κανείς να θέλει να μάθει εάν ο καιρός σε μία περιοχή έχει αντίκτυπο σε μία άλλη περιοχή. Στη χρηματοπιστωτική αγορά, οι αλλαγές στην τιμή της μετοχής μιας εταιρίας μπορεί να έχουν επηρεάσει την τιμή της μετοχής μιας άλλης εταιρίας, αν οι δύο τιμές είναι συσχετισμένες. Η ανάλυση συσχέτισης είναι σημαντική για την αναγνώριση πιθανών αλληλεπιδρόντων ζευγών ή συνόλων μιας χρονοσειράς σε μία βάση δεδομένων. Ενα σύνολο χρονοσειρών με μεγάλη συσχέτιση υποδεικνύει αλλαγή σε μία σειρά όταν η κυρίαρχη χρονοσειρά αλλάξει. Ορίζουμε δύο χρονοσειρές να είναι συσχετισμένες όταν αλλαγές στη μία σχετίζονται με αλλαγές στην άλλη. Αναγνωρίζουμε αλλαγές σε μία χρονοσειρά σαν ακολουθία των παραγώγων της: δηλαδή ακολουθία διαφορών μεταξύ κάθε ζεύγους διαδοχικών τιμών στη χρονοσειρά. Ο δείκτης συσχέτισης επομένως μπορεί να θεωρηθεί ως ομοιότητα μεταξύ των ακολουθιών παραγώγων. Ορίζουμε δύο χρονοσειρές να είναι θετικά συσχετισμένες όταν έχουν μεγάλη ομοιότητα στις αντίστοιχες ακολουθίες παραγώγων: όταν η μία χρονοσειρά αυξάνεται η μειώνεται καθώς και η άλλη χρονοσειρά αυξάνεται ή μειώνεται αντίστοιχα. Παραδοσιακά, η ευκλείδια απόσταση χρησιμοποιείται σαν μετρική υπολογισμού της απόστασης (ή ομοιότητας) μεταξύ δύο ακολουθιών που είναι ευθυγραμμισμένες στο χρόνο. Η συνολική απόσταση είναι το άθροισμα των αποστάσεων των τιμών των χρονοσειρών ανά ζεύγη. Παρόλα αυτά δεν μπορούν όλες οι ακολουθίες να είναι ευθυγραμμισμένες στο χρόνο. Μία από τις δύο μπορεί να έχει μία καθυστερημένη αντίδραση στις αλλαγές στην άλλη ακολουθία ή ίσως και μία καθυστερημένη αντίδραση σε ένα κοινό ερέθισμα που επηρεάζει και τις δύο. Καθυστερημένη συσχέτιση είναι όρος που χρησιμοποιούμε για την συσχέτιση δύο χρονοσειρών όταν η μία είναι μετατοπισμένη στο χρόνο σε σχέση με την άλλη. Για να μετρήσουμε την ομοιότητα μεταξύ δύο τέτοιων ακολουθιών μπορεί να εφαρμοστεί ο αλγόριθμος Longest Common Subsequence. Ο αλγόριθμος LCS βασίζεται στο edit distance για να μετρήσει την ομοιότητα των δύο ακολουθιών. Παρόλα αυτά ο αλγόριθμος δεν μπορεί να αναγνωρίσει μερική ομοιότητα αλλά μόνο ολική ομοιότητα. 32

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

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

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

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

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

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

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

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

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

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

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

3η Σειρά Γραπτών Ασκήσεων

3η Σειρά Γραπτών Ασκήσεων 1/48 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/48 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΙΑΤΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Χατζηλιάδη Παναγιώτα Ευανθία

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΙΑΤΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Χατζηλιάδη Παναγιώτα Ευανθία ΜΠΣ «ΜΕΘΟΔΟΛΟΓΙΑ ΒΪΟΙΑΤΡΙΚΗΣ ΕΡΕΥΝΑΣ, ΒΙΟΣΤΑΤΙΣΤΙΚΗ ΚΑΙ ΚΛΙΝΙΚΗ ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ» ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΙΑΤΡΙΚΗΣ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ «Ανάπτυξη λογισμικού σε γλώσσα προγραματισμού python για ομαδοποίηση

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

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

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

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

Ομαδοποίηση ΙΙ (Clustering)

Ομαδοποίηση ΙΙ (Clustering) Ομαδοποίηση ΙΙ (Clustering) Πασχάλης Θρήσκος PhD Λάρισα 2016-2017 pthriskos@mnec.gr Αλγόριθμοι ομαδοποίησης Επίπεδοι αλγόριθμοι Αρχίζουμε με μια τυχαία ομαδοποίηση Βελτιώνουμε επαναληπτικά KMeans Ομαδοποίηση

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

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

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

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

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

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα Αναζήτηση κατά βάθος (Depth-first search DFS) Αναζήτηση κατά πλάτος (Breadth-first search BFS) 2 Γράφημα (graph) Αναπαράσταση συνόλου

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

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem Έλενα Ρόκου Μεταδιδακτορική Ερευνήτρια ΕΜΠ Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson ΘΕΜΑ : Αλγόριθμος Ford-Fulkerson Α Να εξετάσετε αν ισχύει η συνθήκη συντήρησης της αρχικής ροής στο δίκτυο. Β Με χρήση του αλγορίθμου Ford-Fulkerson να βρεθεί η μέγιστη ροή που μπορεί να σταλεί από τον

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

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

ΤΕΙ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ÌïëëÜ Ì. Á μýô Á.Ì. : 5 moll@moll.r ΤΕΙ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ : ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΤΥΟ (ΕΡΓΑΣΤΗΡΙΟ) Ε ΕΞΑΜΗΝΟ ΕΙΣΗΓΗΤΕΣ: Χαϊδόγιαννος Χαράλαμπος ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

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

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

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

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

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες

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

MBR Ελάχιστο Περιβάλλον Ορθογώνιο (Minimum Bounding Rectangle) Το µικρότερο ορθογώνιο που περιβάλλει πλήρως το αντικείµενο 7 Παραδείγµατα MBR 8 6.

MBR Ελάχιστο Περιβάλλον Ορθογώνιο (Minimum Bounding Rectangle) Το µικρότερο ορθογώνιο που περιβάλλει πλήρως το αντικείµενο 7 Παραδείγµατα MBR 8 6. Πανεπιστήµιο Πειραιώς - Τµήµα Πληροφορικής Εξόρυξη Γνώσης από εδοµένα (Data Mining) Εξόρυξη Γνώσης από χωρικά δεδοµένα (κεφ. 8) Γιάννης Θεοδωρίδης Νίκος Πελέκης http://isl.cs.unipi.gr/db/courses/dwdm Περιεχόµενα

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

ιαµέριση - Partitioning

ιαµέριση - Partitioning ιαµέριση - Partitioning ιαµέριση ιαµέριση είναι η διαµοίραση αντικειµένων σε οµάδες µε στόχο την βελτιστοποίηση κάποιας συνάρτησης. Στην σύνθεση η διαµέριση χρησιµοποιείται ως εξής: Οµαδοποίηση µεταβλητών

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

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Περιήγηση Πανεπιστημίων 5/8/008 :46 AM Campus Tour Περίληψη και ανάγνωση

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

Αλγόριθμοι Δρομολόγησης. Γ. Κορμέντζας

Αλγόριθμοι Δρομολόγησης. Γ. Κορμέντζας Αλγόριθμοι Δρομολόγησης Γ. Κορμέντζας Δρομολόγηση Περιεχόμενα Διαδικασίες δρομολόγησης Ροές Δικτύων - Αλγόριθμος Ford-Fulkerson Βασικοί Αλγόριθμοι Γράφων Σχεδιασμός γραμμών πολλαπλών σημείων Ελάχιστα δέντρα

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

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

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

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

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ Περιεχόμενα Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23 Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ 1. Επαναληπτικοί αλγόριθμοι: Μέτρα προόδου και αναλλοίωτες συνθήκες.....................................................29

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 1 Εισαγωγή 1 / 14 Δομές Δεδομένων και Αλγόριθμοι Δομή Δεδομένων Δομή δεδομένων είναι ένα σύνολο αποθηκευμένων

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

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Minimum Spanning Trees 2. Αλγόριθμος Prim 3. Αλγόριθμος Kruskal Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Minimum Spanning Tree Πρόβλημα: Για δοσμένο συνεκτικό, μη προσανατολισμένο,

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

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων. Γραφήματα. Αναπαράσταση Γραφημάτων 3. Διερεύνηση σε Πρώτα σε Πλάτος (BFS) Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Γράφημα Ορισμός: Ένα γράφημα G είναι το διατεταγμένο ζεύγος

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

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

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

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

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

Αλγόριθμοι και Πολυπλοκότητα 7ο εξάμηνο Σ.Η.Μ.Μ.Υ. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 4η εβδομάδα: Εύρεση k-οστού Μικρότερου Στοιχείου, Master Theorem, Τεχνική Greedy: Knapsack, Minimum Spanning Tree, Shortest Paths

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

1 Διάσχιση κατευθυνόμενων γραφημάτων

1 Διάσχιση κατευθυνόμενων γραφημάτων ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010 11 Ιστοσελίδα μαθήματος: http://eclass.teilam.gr/di288 5ο ΕΡΓΑΣΤΗΡΙΟ

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

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Ένα από τα γνωστότερα παραδείγματα των ΕΑ είναι ο Γενετικός

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

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής ιατύπωση του προβλήματος (1) Τα συστήματα αναμονής (queueing systems), βρίσκονται

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 9 Απριλίου 2009 1 / 0 Παραδείγµατα γράφων

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

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

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

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

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

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

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

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

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

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

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

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

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

3η Σειρά Γραπτών Ασκήσεων

3η Σειρά Γραπτών Ασκήσεων 1/55 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/55 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

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

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

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

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

Γράφοι: κατευθυνόμενοι και μη

Γράφοι: κατευθυνόμενοι και μη Γράφοι: κατευθυνόμενοι και μη (V,E ) (V,E ) Γράφος (ή γράφημα): ζεύγος (V,E), V ένα μη κενό σύνολο, Ε διμελής σχέση πάνω στο V Μη κατευθυνόμενος γράφος: σχέση Ε συμμετρική V: κορυφές (vertices), κόμβοι

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

ΟΜΑΔΕΣ. Δημιουργία Ομάδων

ΟΜΑΔΕΣ. Δημιουργία Ομάδων Δημιουργία Ομάδων Μεθοδολογίες ομαδοποίησης δεδομένων: Μέθοδοι για την εύρεση των κατηγοριών και των υποκατηγοριών που σχηματίζουν τα δεδομένα του εκάστοτε προβλήματος. Ομαδοποίηση (clustering): εργαλείο

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

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης

Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας. Εισηγητής Αναστάσιος Κεσίδης Μεταπτυχιακό Πρόγραμμα «Γεωχωρικές Τεχνολογίες» Ψηφιακή Επεξεργασία Εικόνας Εισηγητής Αναστάσιος Κεσίδης Τμηματοποίηση εικόνας Τμηματοποίηση εικόνας Γενικά Διαμερισμός μιας εικόνας σε διακριτές περιοχές

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

Ελάχιστα Γεννητορικά ένδρα

Ελάχιστα Γεννητορικά ένδρα λάχιστα Γεννητορικά ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος του Prim και ο αλγόριθµος του Kruskal για εύρεση λάχιστων Γεννητορικών ένδρων ΠΛ 23 οµές εδοµένων και Αλγόριθµοι

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

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

Κεφάλαιο 11 Ένωση Ξένων Συνόλων Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά

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

Ομαδοποίηση Ι (Clustering)

Ομαδοποίηση Ι (Clustering) Ομαδοποίηση Ι (Clustering) Πασχάλης Θρήσκος PhD Λάρισα 2016-2017 pthriskos@mnec.gr Αλγόριθμοι ομαδοποίησης Επίπεδοι αλγόριθμοι Αρχίζουμε με μια τυχαία ομαδοποίηση Βελτιώνουμε επαναληπτικά KMeans Ομαδοποίηση

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

Δροµολόγηση (Routing)

Δροµολόγηση (Routing) Δροµολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναµικός Προγραµµατισµός Dijkstra s Algorithm Αλγόριθµοi Δροµολόγησης Link State Distance Vector Δροµολόγηση σε Κινητά Δίκτυα Δροµολόγηση

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

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

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

Ενδεικτικές Ερωτήσεις Θεωρίας

Ενδεικτικές Ερωτήσεις Θεωρίας Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο

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

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

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 4 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πεδί α

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πεδί α ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Βάση δεδομένων είναι συσχετισμένα μεταξύ τους δεδομένα, οργανωμένα σε μορφή πίνακα. Οι γραμμές του πίνακα αποτελούν τις εγγραφές και περιλαμβάνουν τις πληροφορίες για μια οντότητα. Οι

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10β: Αλγόριθμοι Γραφημάτων-Γραφήματα- Αναπαράσταση Γραφημάτων- Διερεύνηση Πρώτα σε Πλάτος (BFS) Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το

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

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

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

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

Δρομολόγηση (Routing)

Δρομολόγηση (Routing) Δρομολόγηση (Routing) Περίληψη Flooding Η Αρχή του Βέλτιστου και Δυναμικός Προγραμματισμός ijkstra s Algorithm Αλγόριθμοi Δρομολόγησης Link State istance Vector Δρομολόγηση σε Κινητά Δίκτυα Δρομολόγηση

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

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

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

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ιάλεξη : λάχιστα εννητορικά ένδρα Αλγόριθμος Prim Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: λάχιστα εννητορικά ένδρα () Minimum Spanning Trees Ο αλγόριθμος του Prim για εύρεση σε γράφους

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

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου 11η Διάλεξη 12 Ιανουαρίου 2017 1 Ανεξάρτητο σύνολο Δοθέντος ενός μη κατευθυνόμενου γραφήματος G = (V, E), ένα ανεξάρτητο σύνολο (independent set) είναι ένα

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

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

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

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

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

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

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

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις Δημήτρης Φωτάκης Διακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο Δέντρα Δέντρο: πρότυπο ιεραρχικής δομής. Αναπαράσταση (ιεραρχικών)

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

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Στοιχεία Θεωρίας Γράφων (Graph Theory) Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,

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

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00 Χρήστος. Ζαρολιάγκης Τεχνολογίες Υλοποίησης Αλγορίθµων : Άσκηση 1 1 Ασκηση 1 [16.03.2016] Παράδοση : Τετάρτη 13.04.2016, 13:00 Η παρούσα άσκηση αφορά στον έλεγχο διµερότητας ενός γραφήµατος. Σκοπός της

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

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks) Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο Ορισμοί Παραδείγματα Δικτυακή Simplex (προβλήματα με και χωρίς φραγμούς). Δίκτυα Ροής Ελάχιστου Κόστους (Minimum ost Flow Networks) Ένα δίκτυο μεταφόρτωσης αποτελείται

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

Network Science. Θεωρεία Γραφηµάτων (2)

Network Science. Θεωρεία Γραφηµάτων (2) Network Science Θεωρεία Γραφηµάτων () Section.8 PATHOLOGY Διαδρομές Μια διαδρομή είναι μια σειρά κόμβων όπου κάθε κόμβος είναι δίπλα στην επόμενη P i0,in μήκους n μεταξύ των κόμβων i 0 και i n είναι μια

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

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

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

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής Κύρια σημεία Ερευνητική Μεθοδολογία και Μαθηματική Στατιστική Απόστολος Μπουρνέτας Τμήμα Μαθηματικών ΕΚΠΑ Αναζήτηση ερευνητικού θέματος Εισαγωγή στην έρευνα Ολοκλήρωση ερευνητικής εργασίας Ο ρόλος των

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 9: Εισαγωγή στους Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Γράφοι - ορισμοί και υλοποίηση Διάσχιση Γράφων Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

E[ (x- ) ]= trace[(x-x)(x- ) ]

E[ (x- ) ]= trace[(x-x)(x- ) ] 1 ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ Σε αυτό το μέρος της πτυχιακής θα ασχοληθούμε λεπτομερώς με το φίλτρο kalman και θα δούμε μια καινούρια έκδοση του φίλτρου πάνω στην εφαρμογή της γραμμικής εκτίμησης διακριτού

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

2 ) d i = 2e 28, i=1. a b c

2 ) d i = 2e 28, i=1. a b c ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ ΓΡΑΦΩΝ (1) Εστω G απλός γράφος, που έχει 9 κορυφές και άθροισμα βαθμών κορυφών μεγαλύτερο του 7. Αποδείξτε ότι υπάρχει μια κορυφή του G με βαθμό μεγαλύτερο ή ίσο του 4. () Αποδείξτε ότι

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

E [ -x ^2 z] = E[x z]

E [ -x ^2 z] = E[x z] 1 1.ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ Σε αυτήν την διάλεξη θα πάμε στο φίλτρο με περισσότερες λεπτομέρειες, και θα παράσχουμε μια νέα παραγωγή για το φίλτρο Kalman, αυτή τη φορά βασισμένο στην ιδέα της γραμμικής

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ 2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 11: Minimum Spanning Trees Αλγόριθμος Prim Αλγόριθμος Kruskal Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

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

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

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

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

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

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

Προσεγγιστικοί Αλγόριθμοι

Προσεγγιστικοί Αλγόριθμοι Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. http://xkcd.com/287/ Πολλά NP-πλήρη προβλήματα έχουν μεγάλο πρακτικό ενδιαφέρον. Πως μπορούμε να αντιμετωπίσουμε το γεγονός ότι είναι απίθανη(;)

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

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήµατα v1.0 (2010-05-25) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων

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

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

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

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

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

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

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

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

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

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση χωρίς περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 7-8 η /2017 Τι παρουσιάστηκε

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

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΦΕΒΡΟΥΑΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Μαΐου 201 1 / Απληστοι (Greedy) Αλγόριθµοι

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

Οδηγίες σχεδίασης στο περιβάλλον Blender

Οδηγίες σχεδίασης στο περιβάλλον Blender Οδηγίες σχεδίασης στο περιβάλλον Blender Στον πραγματικό κόσμο, αντιλαμβανόμαστε τα αντικείμενα σε τρεις κατευθύνσεις ή διαστάσεις. Τυπικά λέμε ότι διαθέτουν ύψος, πλάτος και βάθος. Όταν θέλουμε να αναπαραστήσουμε

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