Τεχνολογικό Εκπαιδευτικό Ίδρυμα Καβάλας Σχολή Τεχνολογικών Εφαρμογών Τμήμα Βιομηχανικής Πληροφορικής

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

Download "Τεχνολογικό Εκπαιδευτικό Ίδρυμα Καβάλας Σχολή Τεχνολογικών Εφαρμογών Τμήμα Βιομηχανικής Πληροφορικής"

Transcript

1 Τεχνολογικό Εκπαιδευτικό Ίδρυμα Καβάλας Σχολή Τεχνολογικών Εφαρμογών Τμήμα Βιομηχανικής Πληροφορικής Διπλωματική Εργασία: Ομαδοποίηση γράφων με τους αλγόριθμους k-means και DBSCAN. Σπουδαστής: Νικηφοράκης Δημήτριος Επόπτης Καθηγητής: Λευτέρης Μωυσιάδης

2 ΠΕΡΙΕΧΟΜΕΝΑ: 1 Εισαγωγή Ομαδοποίηση Δεδομένων (Clustering) Εισαγωγή και εφαρμογές Ορισμός Αλγόριθμοι Ομαδοποίησης Well separated Prototype-based Graph based Density Based clustering algorithms Αλγόριθμος k-means Ο βασικός αλγόριθμος k-means Μετρικές απόστασης Κέντρα και αντικειμενικές συναρτήσεις Πολυπλοκότητα αλγορίθμου Ειδικά θέματα Πλεονεκτήματα και μειονεκτήματα Αλγόριθμος DBSCAN Προσέγγιση με βάση το κέντρο Ομαδοποίηση δεδομένων με βάση την πυκνότητα κέντρου Ο αλγόριθμος DBSCAN Πολυπλοκότητα αλγόριθμου Επιλογή παραμέτρων DBSCAN Πλεονεκτήματα και μειονεκτήματα Σύνοψη Εφαρμογή Θεωρία Γράφων Ορισμοί Κατευθυνόμενοι μη κατευθυνόμενοι γράφοι Γράφοι με βάρη Γράφοι χωρίς βάρη Συνεκτικοί γράφοι Ορισμός Υπολογισμός για μη κατευθυνόμενους γράφους Διάσχιση κατά βάθος Διάσχιση κατά πλάτος Υπολογισμός για κατευθυνόμενους γράφους Αναπαράσταση Γράφων Πίνακες γειτονικών κορυφών Λίστες γειτονικών κορυφών Υπολογισμός αποστάσεων Αλγόριθμος Floyd-Warshall Υπολογισμός Κέντρου Υπολογισμός Μέσου Πειράματα Κατασκευή δεδομένων ελέγχου

3 4.2 Συμπεράσματα Ενδεικτικά παραδείγματα Βιβλιογραφία ΠΑΡΑΡΤΗΜΑ. ΥΛΟΠΟΙΗΣΗ Μέρος 1ο ( Δημιουργία γράφων) Μέρος 2ο( Επεξεργασία γράφων ) Μέρος 3ο( Αποθήκευση γράφων ) Αλγόριθμοι Μέρος 1ο ( Αλγόριθμοι και κώδικας γραμμής εντολών ) Μέρος 2ο ( Κώδικας δοκιμών ) Μέρος 3ο ( Γραφικό περιβάλλον )

4 1 Εισαγωγή Η πτυχιακή αυτή εργασία ασχολείται με το πρόβλημα της ομαδοποίησης δεδομένων (clustering), και πιο συγκεκριμένα με τη μελέτη και ανάπτυξη των αλγορίθμων DBSCAN και k-means στο χώρο των γράφων. Η επιλογή του χώρου αυτού έγινε επειδή οι γράφοι αποτελούν κομβική έννοια στην επιστήμη των υπολογιστών και την πληροφορική γενικότερα καθώς χρησιμοποιούνται για την μοντελοποίηση δικτύων, δομών δεδομένων, ροής υπολογισμών και πλήθους άλλων δομών και προβλημάτων. Στο πλαίσιο αυτό η δομή της εργασίας έχει ως εξής: στο κεφάλαιο 1 παρουσιάζονται οι απαραίτητες έννοιες και ορισμοί σχετικά με την ομαδοποίηση δεδομένων και κυρίως οι αλγόριθμοι που θα υλοποιηθούν. Στη συνέχεια, στο κεφάλαιο 2 περιγράφουμε την "παραμετροποίηση - εξειδίκευση" των αλγορίθμων k-means και DBSCAN ώστε να μπορέσουν να χρησιμοποιηθούν σε γράφους. Η διαδικασία αυτή περιλαμβάνει τη λήψη αποφάσεων και στη συνέχεια την επιλογή και υλοποίηση λύσεων σχετικά με ζητήματα όπως η κατηγορία γράφων στην οποία θα εφαρμοστούν οι αλγόριθμοι, η έννοια της απόστασης που θα υλοποιηθεί κ.λπ.. Τέλος, ακολουθεί σε παράρτημα η περιγραφή της υλοποίησης, καθώς και ενδεικτική παρουσίαση πειραματικών δεδομένων. 4

5 2 Ομαδοποίηση Δεδομένων (Clustering) Εισαγωγή και εφαρμογές Η ομαδοποίηση δεδομένων χωρίζει δεδομένα σε ομάδες οι οποίες έχουν νόημα, χρησιμότητα ή και τα δύο, στα πλαίσια ενός συγκεκριμένου πάντοτε χώρου αναφοράς. Εάν ο στόχος είναι ομάδες με νόημα, τότε οι ομάδες πρέπει να αντικατοπτρίζουν την φυσική δομή των δεδομένων. Σε άλλες περιπτώσεις, η ανάλυση ομάδων - ομαδοποίηση δεδομένων μπορεί να αποτελέσει ένα χρήσιμο αρχικό σημείο για άλλους σκοπούς όπως η περίληψη δεδομένων. Είτε με στόχο την κατανόηση είτε με στόχο τη χρήση, η ανάλυση ομάδων παίζει για πολύ καιρό ένα σημαντικό ρόλο σε ένα μεγάλο εύρος πεδίων: στην ψυχολογία και σε άλλες κοινωνικές επιστήμες, στη βιολογία, στη στατιστική, στην αναγνώριση προτύπων, στην ανάκτηση πληροφορίας, στην εκμάθηση μηχανών (machine learning) και στην εξόρυξη δεδομένων. Υπάρχουν πολλές εφαρμογές της ανάλυσης ομάδων σε πρακτικά προβλήματα. Στη συνέχεια αναφέρουμε ενδεικτικά μερικά παραδείγματα τέτοιων προβλημάτων, οργανωμένα με κριτήριο το αν η ομαδοποίηση γίνεται για κατανόηση ή για εφαρμογή. Ομαδοποίηση για κατανόηση. Οι ομάδες ή εννοιολογικά χρήσιμες συλλογές αντικειμένων που μοιράζονται κοινά χαρακτηριστικά παίζουν σημαντικό ρόλο στον τρόπο με τον οποίο οι άνθρωποι αναλύουν και περιγράφουν τον κόσμο. Οι άνθρωποι έχουν αναπτύξει σε μεγάλο βαθμό την ικανότητα του διαχωρισμού αντικειμένων σε ομάδες ( ομαδοποίηση ) και της αντιστοίχησης αντικειμένων σε αυτές τις ομάδες. Στο πλαίσιο εκείνο στο οποίο η διαδικασία αυτή γίνεται για την κατανόηση δεδομένων, οι ομάδες χρησιμεύουν για την κατασκευή γενικών μοντέλων και η ομαδοποίηση χρησιμεύει για τον αυτόματο εντοπισμό τέτοιων δομών. Μερικά παραδείγματα τέτοιων εφαρμογών είναι τα εξής: 1 Βασική βιβλιογραφική αναφορά για το παρόν κεφάλαιο αποτελεί το κεφάλαιο 8 του βιβλίου Introduction to Data Mining ([4]). 5

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

7 2.2 Ορισμός Η ανάλυση ομάδων σχηματίζει ομάδες δεδομένων βασισμένη στη πληροφορία που περιγράφει τα αντικείμενα και τις σχέσεις τους. Ο στόχος είναι τα αντικείμενα μέσα στην ομάδα να είναι παρόμοια ( ή να έχουν κάποια σχέση ) και ταυτόχρονα να είναι διαφορετικά ( ή να μην έχουν κάποια σχέση ) με αντικείμενα που ανήκουν σε άλλες ομάδες. Όσο μεγαλύτερη η ομοιότητα μέσα σε μια ομάδα και η διαφορά μεταξύ των ομάδων, τόσο καλύτερη και πιο διακριτή καθίσταται η ομαδοποίηση. Η ανάλυση ομάδων σχετίζεται με άλλες τεχνικές που χρησιμοποιούνται για να χωρίσουν δεδομένα σε ομάδες. Για παράδειγμα, η ομαδοποίηση μπορεί να θεωρηθεί σαν μια μορφή κατηγοριοποίησης, λόγω της παραγωγής ενός χαρακτηρισμού για τα αντικείμενα μιας ομάδας δεδομένων. Παρ όλα αυτά όμως, παράγει αυτές τις κατηγορίες μόνο από τα δεδομένα και για το λόγο αυτό αναφέρεται και σαν κατηγοριοποίηση δεδομένων χωρίς επίβλεψη. Οι όροι του κερματισμού (segmentation) και της τμηματοποίησης ( partitioning ) χρησιμοποιούνται μερικές φορές σαν συνώνυμα της ομαδοποίησης, εν τούτοις χρησιμοποιούνται σε προσεγγίσεις εκτός του παραδοσιακού χώρου της ανάλυσης ομάδων. Για παράδειγμα, η τμηματοποίηση χρησιμοποιείται συχνά σε περιπτώσεις που έχουν να κάνουν με τεχνικές διαίρεσης ενός γράφου σε υπογράφους οι οποίες δεν έχουν άμεση σχέση με την ανάλυση ομάδων. Ο κερματισμός συχνά αναφέρεται στη διαίρεση δεδομένων σε ομάδων με απλές τεχνικές ( όπως η διαίρεση μιας εικόνας σε κομμάτια με βάση την χρωματική ένταση κάθε στοιχείου της ή ο διαίρεση μιας ομάδας εργαζομένων με βάση το εισόδημα τους ) χωρίς όμως να σημαίνει ότι δεν είναι δυνατόν να μην σχετίζονται κάποια από τα παραπάνω παραδείγματα με την ανάλυση ομάδων. 2.3 Αλγόριθμοι Ομαδοποίησης Μια πλήρης συλλογή ομάδων αναφέρεται συχνά σαν ομαδοποίηση (clustering). Πιο συγκεκριμένα, μια ομαδοποίηση διαμερισμάτων είναι απλά μια διαίρεση των αντικειμένων ενός συνόλου δεδομένων σε μη-αλληλοκαλυπτόμενα υποσύνολα 7

8 (ομάδες) τέτοια ώστε κάθε ένα αντικείμενο να ανήκει σε ακριβώς μια ομάδα. Σε αυτή την ενότητα θα παρουσιάσουμε τον διαχωρισμό μεταξύ διαφορετικών τύπων ομαδοποιήσεων. Η πιο κοινή διάκριση στη βιβλιογραφία, ανάμεσα στους διαφορετικούς τύπους ομαδοποίησης, αφορά στο αν το σύνολο των ομάδων είναι φωλιασμένο ( nested ) ή μη ( η διάκριση αυτή αποκαλείται στην βιβλιογραφία ιεραρχική - διαχωριστική ). Ένας διαχωριστικός αλγόριθμος ( partitional algorithm ) διαχωρίζει ένα σύνολο δεδομένων σε μη-αλληλοκαλυπτώμενα σύνολα ( ομάδες ) τέτοια ώστε κάθε στοιχείο του αρχικού συνόλου να ανήκει σε μια ακριβώς ομάδα. Εάν επιτρέψουμε σε μια ομάδα να έχει υποομάδες, τότε αποκτάμε μια ιεραρχική ομαδοποίηση, η οποία αποτελείται από ένα σύνολο φωλιασμένων ομάδων οι οποίες οργανώνονται σε μια δομή δέντρου. Κάθε κορυφή (ομάδα) στο δέντρο (εκτός από τα φύλλα ) είναι η ένωση των παιδιών (υποομάδες) και η ρίζα του δέντρου είναι η ομάδα που περιέχει όλα τα αντικείμενα. Αξίζει να σημειωθεί ότι μια ιεραρχική ομαδοποίηση μπορεί να θεωρηθεί σαν μια ακολουθία διαχωριστικών ομαδοποιήσεων και μια διαχωριστική ομαδοποίηση μπορεί να αποκτηθεί επιλέγοντας οποιοδήποτε μέλος από αυτή την ακολουθία ( π.χ. κόβοντας το συγκεκριμένο δέντρο σε συγκεκριμένο επίπεδο ). Η ομαδοποίηση σκοπεύει στην αναζήτηση χρήσιμων ομάδων αντικειμένων, με την χρησιμότητα να προσδιορίζεται από τους εκάστοτε στόχους της ανάλυσης δεδομένων. Έτσι, υπάρχουν διαφορετικές αντιλήψεις για τον ορισμό της ομάδας που αποδεικνύονται χρήσιμες στην πράξη. Στη συνέχεια παρουσιάζουμε μια βασική κατηγοριοποίηση των αλγορίθμων ομαδοποίησης. 8

9 2.3.1 Well separated Μια ομάδα είναι ένα σύνολο αντικειμένων στο οποίο κάθε αντικείμενο είναι πιο κοντά ( ή πιο όμοιο ) με κάθε άλλο αντικείμενο στην ομάδα του σε σχέση με κάθε άλλο αντικείμενο που δεν βρίσκεται στην ομάδα. Μερικές φορές, ένα ελάχιστο όριο χρησιμοποιείται για να προσδιορίσει την ανάγκη των αντικειμένων σε μια ομάδα να βρίσκονται κοντά το ένα στο άλλο. Αυτός ο ορισμός μιας ομάδας ικανοποιείται μόνο όταν τα δεδομένα περιέχουν φυσικές ομάδες που βρίσκονται μακριά η μια από την άλλη Prototype-based Μια ομάδα είναι ένα σύνολο αντικειμένων τα οποία είναι πιο κοντά στο πρότυπο το οποίο ορίζει την ομάδα από το πρότυπο οποιασδήποτε άλλης ομάδας. Για δεδομένα με συνεχή χαρακτηριστικά το πρότυπο μιας ομάδας είναι συχνά ένα κέντρο βάρους, π.χ. ο μέσος όρος όλων των δεδομένων της ομάδας. Σε περιπτώσεις που δεν υπάρχει έννοια κέντρου που να έχει νόημα, το πρότυπο είναι συχνά ένας μέσος, για παράδειγμα το πιο χαρακτηριστικό σημείο μιας ομάδας. Για πολλούς τύπους δεδομένων, πρότυπο μπορεί να χαρακτηριστεί το πιο κεντρικό σημείο και για το λόγο αυτό μιλάμε για ομάδες βασισμένες στο κέντρο ( center-based clusters ). Αυτό το είδος ομάδων τείνει να έχει σφαιρική δομή Graph based Εάν τα δεδομένα αναπαρίστανται σαν γράφοι, με τις κορυφές να αντιπροσωπεύουν αντικείμενα και τις ακμές να αντιπροσωπεύουν σχέσεις ανάμεσα στις κορυφές, τότε μια ομάδα μπορεί να οριστεί σαν ένας συνεκτικός γράφος ( μια ομάδα αντικειμένων που συνδέονται μεταξύ τους και τα οποία όμως δεν έχουν καμία σύνδεση με κορυφές εκτός της ομάδας ). Ένα παράδειγμα αφορά ομάδες σε γράφους που βασίζονται στην κοντινή απόσταση ( contiguity-based clusters ) και ομάδες στις οποίες δυο αντικείμενα μιας ομάδας συνδέονται μόνο εφόσον η απόσταση μεταξύ τους δεν είναι μεγαλύτερη από ένα αποδεκτό όριο. Αυτό έμμεσα συνεπάγεται ότι κάθε αντικείμενο μέσα σε μια τέτοια ομάδα είναι πιο κοντά σε κάποιο άλλο αντικείμενο της ομάδας από οποιοδήποτε άλλο σημείο άλλης ομάδας. Αυτός ο ορισμός μιας ομάδας είναι χρήσιμος όταν οι ομάδες είναι ακανόνιστες ή περιπλεγμένες χωρίς να είναι όμως απαλλαγμένος από προβλήματα όταν υπάρχει θόρυβος. 9

10 Άλλες κατηγορίες ομάδων βασισμένων σε γράφους είναι επίσης εφικτές. Μια τέτοια προσέγγιση ορίζει σαν ομάδα την κλίκα, ένα σύνολο κορυφών που είναι πλήρως συνδεδεμένοι μεταξύ τους. Πιο συγκεκριμένα, εάν προσθέσουμε συνδέσεις μεταξύ των αντικειμένων με βάση τις μεταξύ τους αποστάσεις τους, μια ομάδα σχηματίζεται όταν ένα σύνολο αντικειμένων σχηματίζει μια κλίκα. Αυτό το είδος ομάδων τείνει να έχει σφαιρική δομή Density Based clustering algorithms Μια ομάδα είναι μια πυκνή περιοχή αντικειμένων την οποία περιβάλει μια περιοχή χαμηλής πυκνότητα. Ομάδες με μεγάλη πυκνότητα χρησιμοποιούνται συχνά όταν οι ομάδες είναι ακανόνιστες ή περιπλεγμένες καθώς και σε περιπτώσεις που υπάρχουν θόρυβος και απομονωμένα στοιχεία. 2.4 Αλγόριθμος k-means Οι τεχνικές ομαδοποίησης που βασίζονται σε πρωτότυπα βασίζονται στην διαμερισματοποίηση ενός επιπέδου του συνόλου των δεδομένων. Υπάρχει ένα πλήθος τέτοιων τεχνικών αλλά οι δυο πιο σημαντικοί από αυτούς είναι οι k-means και ο k-medoid. Ειδικότερα: Ο k-means ορίζει ένα πρωτότυπο με όρους ενός κέντρου, που συνήθως είναι ο μέσος μιας ομάδας σημείων, και εφαρμόζεται κατά κανόνα σε αντικείμενα σε ένα συνεχή ν-διάστατο χώρο. O k-medoid ορίζει ένα πρωτότυπο σε όρους ενός μέσου, το οποίο είναι το πιο αντιπροσωπευτικό σημείο μιας ομάδας σημείων. Σε αυτή την ενότητα θα επικεντρωθούμε αποκλειστικά στον k-means, ο οποίος είναι ένας από τους παλιότερους και περισσότερο χρησιμοποιημένους αλγόριθμους ομαδοποίησης. 10

11 2.4.1 Ο βασικός αλγόριθμος k-means Η τεχνική ομαδοποίησης του k-means είναι απλή, και θα ξεκινήσουμε με μια περιγραφή του βασικού αλγόριθμου. Πρώτα επιλέγουμε K αρχικά κέντρα, με το Κ να αντιπροσωπεύει μια παράμετρο την οποία παρέχει ο χρήστης, και η οποία είναι το πλήθος των ομάδων που θα παράγει ο αλγόριθμος. Αντιστοιχίζουμε στη συνέχεια κάθε σημείο στο κοντινότερο κέντρο και κάθε συλλογή σημείων που αναλογεί στα κέντρα είναι μια ομάδα. Στη συνέχεια, τα κέντρα της κάθε ομάδας ανανεώνονται με βάση τα σημεία τα οποία ανήκουν σε κάθε ομάδα. Επαναλαμβάνουμε τα στάδια της ανάθεσης και ανανέωσης των ομάδων μέχρις ότου δεν υπάρχουν αλλαγές στα σημεία ή με άλλα λόγια, τα κέντρα δεν αλλάζουν. Σε μορφή ψευδοκώδικα ο k-means μπορεί να περιγραφεί ως εξής: -Επιλογή Κ σημείων σαν αρχικά κέντρα -Επανάληψη -Σχηματισμός Κ ομάδων με ανάθεση κάθε σημείου στο κοντινότερο κέντρο. -Καινούργιος υπολογισμός των κέντρα κάθε ομάδας. -Μέχρις ότου δεν αλλάζουν πλέον τα κέντρα. Για κάποιους συνδυασμούς συναρτήσεων προσέγγισης και τύπων κέντρων ο k- means πάντα συγκλίνει σε λύση π.χ. ο k-means φτάνει σε μια κατάσταση στην οποία κανένα στοιχείο δεν αλλάζει από την μια ομάδα στην άλλη και κατά συνέπεια τα κέντρα δεν αλλάζουν. Λόγω της σύγκλισης σε πολύ αρχικά στάδια, η συνθήκη τερματισμού της επανάληψης μπορεί να αλλάξει με κάποια ασθενέστερη, όπως για παράδειγμα το τερματισμό όταν το 1% των σημείων αλλάζουν ομάδα. Στις επόμενες υποενότητες παρουσιάζουμε αναλυτικότερα τα βήματα του αλγόριθμου k-means και στη συνέχεια ακολουθεί μια ανάλυση πολυπλοκότητας του αλγόριθμου. 11

12 2.4.2 Μετρικές απόστασης Για την ανάθεση ενός σημείου στο κοντινότερο κέντρο χρειαζόμαστε ένα μέτρο εκτίμησης των αποστάσεων το οποίο να μπορεί να προσδιορίζει ποσοτικά το πόσο κοντά ή μακριά βρίσκονται τα δεδομένα που μελετάμε. Η ευκλείδεια απόσταση χρησιμοποιείται συχνά για αντικείμενα στον ευκλείδειο χώρο, αν και άλλα μέτρα μπορούν επίσης να εφαρμοστούν, π.χ. η απόσταση Manhattan για αντικείμενα στον ευκλείδειο χώρο ή η απόσταση Jaccard για κείμενο. Συνήθως τα μέτρα ομοιότητας που χρησιμοποιούνται από τον k-means είναι σχετικά απλά δεδομένου του επαναλαμβανόμενου υπολογισμού της απόστασης κάθε σημείου από το κέντρο. Σε κάποιες περιπτώσεις όμως όπως στη περίπτωση που τα δεδομένα βρίσκονται στον Ευκλείδειο χώρο χαμηλών διαστάσεων, είναι δυνατή η αποφυγή ενός μεγάλου πλήθους από αυτούς τους υπολογισμούς και κατά συνέπεια η επιτάχυνση της εκτέλεσης του αλγόριθμου Κέντρα και αντικειμενικές συναρτήσεις Κατά την περιγραφή του βασικού αλγόριθμου k-means αναφερθήκαμε γενικά στον «υπολογισμό του κέντρου κάθε ομάδας», δεδομένου ότι κάθε κέντρο μπορεί να μεταβάλλεται σε σχέση με το μέτρο απόστασης που χρησιμοποιούμε. Ο στόχος της ομαδοποίησης τυπικά εκφράζεται από μια αντικειμενική συνάρτηση η οποία εξαρτάται από τις αποστάσεις των σημείων μεταξύ τους ή των αποστάσεων από το κέντρο, για παράδειγμα η ελαχιστοποίηση του τετραγώνου των αποστάσεων κάθε σημείου από το κέντρο. Το βασικό σημείο είναι πως έχοντας καθορίσει το μέτρο απόστασης και την αντικειμενική συνάρτηση, το νέο κέντρο κάθε ομάδας μπορεί να υπολογιστεί μαθηματικά. 12

13 2.4.4 Πολυπλοκότητα αλγορίθμου Οι απαιτήσεις του αλγόριθμου σε χώρο είναι ελάχιστες αφού αποθηκεύονται μόνο τα δεδομένα και τα κέντρα. Συγκεκριμένα, οι απαιτήσεις σε χώρο είναι Ο((m+k)n), με m το πλήθος των δεδομένων και n το πλήθος των ιδιοτήτων κάθε δεδομένου. Οι χρονικές απαιτήσεις του αλγόριθμου είναι επίσης ικανοποιητικές γραμμικές σε σχέση με το πλήθος των δεδομένων. Πιο συγκεκριμένα, η πολυπλοκότητα του αλγόριθμου είναι Ο( I*K*m*n ), με το Ι να ορίζει το πλήθος των επαναλήψεων που χρειάζονται για να συγκλίνει ο αλγόριθμος. Όπως προαναφέρθηκε, το Ι είναι συχνά αρκετά μικρό και μπορεί να οριστούν όρια για τις τιμές του, καθώς οι περισσότερες αλλαγές συνήθως συμβαίνουν στις πρώτες επαναλήψεις. Κατά συνέπεια ο αλγόριθμος είναι γραμμικός σε σχέση με το m, το πλήθος των δεδομένων του συνόλου και είναι απλός και αποδοτικός τηρουμένης της απαίτησης το Κ να είναι σημαντικά μικρότερο του m Ειδικά θέματα Κλείνοντας την ενότητα που αφορά στην περιγραφή του k-means, κρίνουμε σημαντικό να αναφερθούμε στα παρακάτω ειδικά θέματα σχετικά με την ανάλυση του αλγόριθμου. Διαχείριση άδειων ομάδων. Ένα από τα προβλήματα με τον βασικό αλγόριθμο k-means είναι το ενδεχόμενο κατασκευής άδειων ομάδων κατά τα πρώτα στάδια του αλγόριθμου, κατά συνέπεια πρέπει να υπάρχει κάποια στρατηγική αποφυγής αυτού του ενδεχόμενου. Μεμονωμένα στοιχεία. Όταν χρησιμοποιείται το κριτήριο του τετραγώνου του σφάλματος, απομακρυσμένα δεδομένα είναι δυνατό να επηρεάσουν τον εντοπισμό των ομάδων. 13

14 2.4.6 Πλεονεκτήματα και μειονεκτήματα Αλγόριθμοι όπως ο k-means ( agglomerative hierarchical clustering algorithms ) χρησιμοποιούνται γενικά γιατί υπάρχει μια ανάγκη για τον ορισμό μιας ιεραρχίας από τα δεδομένα καθώς και γιατί παράγουν συχνά αρκετά ακριβή αποτελέσματα. Εν τούτοις όμως συχνά παρουσιάζουν σημαντικό υπολογιστικό και αποθηκευτικό κόστος. 2.5 Αλγόριθμος DBSCAN H ομαδοποίηση με βάση τη πυκνότητα εντοπίζει περιοχές μεγάλης πυκνότητας, οι οποίες χωρίζονται μεταξύ τους από περιοχές μικρής πυκνότητας. Ο DBSCAN είναι ένας απλός και αποτελεσματικός αλγόριθμος ομαδοποίησης με βάση την πυκνότητα, αντιπροσωπευτικός αυτής της κατηγορίας αλγορίθμων. Σε αυτή την ενότητα θα επικεντρωθούμε στον συγκεκριμένο αλγόριθμο αφού παρουσιάσουμε την βασική έννοια της πυκνότητας Προσέγγιση με βάση το κέντρο Παρόλο που δεν υπάρχουν τόσο πολλές προσεγγίσεις για τον ορισμό της πυκνότητας όσες υπάρχουν για τον ορισμό της απόστασης, υπάρχουν εντούτοις αρκετές διακριτές μέθοδοι. Σε αυτό το κομμάτι θα περιγράψουμε την προσέγγιση με βάση το κέντρο με βάση την οποία ορίζεται ο DBSCAN. Με βάση την προσέγγιση αυτή, η πυκνότητα ορίζεται για ένα συγκεκριμένο στοιχείο του συνόλου δεδομένων, ως το πλήθος των δεδομένων που βρίσκονται μέσα σε μια συγκεκριμένη ακτίνα ( έστω Eps ) από το υπό εξέταση σημείο (συμπεριλαμβανομένου και του ίδιου του σημείου). Σημειώνουμε ότι από την προσέγγιση αυτή για την πυκνότητα προκύπτει το μοναδικό αρνητικό σημείο του αλγόριθμου που έχει να κάνει με την εξάρτηση από την συγκεκριμένη ακτίνα που επιλέγεται κάθε φορά. Για παράδειγμα, εάν η ακτίνα είναι αρκετά μεγάλη τότε όλα τα στοιχεία θα έχουν πυκνότητα m ( το πλήθος των 14

15 στοιχείων στο σύνολο ). Αντίστοιχα, εάν η ακτίνα είναι αρκετά μικρή, τότε όλα τα σημεία θα έχουν πυκνότητα 1. Μια προσέγγιση για τον προσδιορισμό της κατάλληλης ακτίνας για δεδομένα με χαμηλό πλήθος διαστάσεων δίνεται στην επόμενη υποενότητα, σε σχέση πάντοτε με τον αλγόριθμο DBSCAN Ομαδοποίηση δεδομένων με βάση την πυκνότητα κέντρου Η προσέγγιση της πυκνότητας με βάση το κέντρο μας επιτρέπει την παρακάτω κατηγοριοποίηση ενός στοιχείου: 1. στο εσωτερικό μιας πυκνής περιοχής (ένα σημείο του πυρήνα ή κεντρικό σημείο), 2. στο όριο μιας πυκνής περιοχής (ένα οριακό σημείο) και 3. σε μια αραιοκατοικημένη περιοχή ( θόρυβος ή σημείο του υπόβαθρου ). Αναλυτικότερα για κάθε περιοχή, έχουμε τα εξής: Κεντρικά σημεία: Αυτά τα σημεία βρίσκονται στο εσωτερικό μιας ομάδας που βασίζεται στη πυκνότητα. Ένα σημείο είναι κεντρικό εάν ο αριθμός των σημείων μέσα σε μια δεδομένη γειτονιά γύρω από το σημείο όπως καθορίζεται από την συνάρτηση απόστασης και την παράμετρο eps που καθορίζει ο χρήστης, υπερβαίνει ένα ελάχιστο όριο, MinPts, το οποίο είναι επίσης καθορισμένο από τον χρήστη. Οριακά σημεία: Σημεία τα οποία δεν είναι κεντρικό αλλά βρίσκεται στη γειτονιά ενός κεντρικού σημείου. Θόρυβος: Ένα σημείο χαρακτηρίζεται σαν θόρυβος εάν δεν είναι ούτε κεντρικό ούτε οριακό. 15

16 2.5.3 Ο αλγόριθμος DBSCAN Δεδομένων των προηγούμενων ορισμών του κεντρικού, οριακού σημείου και του θορύβου, ο αλγόριθμος DBSCAN μπορεί να περιγραφεί ως εξής: Οποιαδήποτε δύο κεντρικά σημεία τα οποία είναι αρκετά κοντά, δηλαδή μέσα σε μια απόσταση Eps το ένα από το άλλο, τοποθετούνται στην ίδια ομάδα. Επίσης, κάθε σημείο που βρίσκεται αρκετά κοντά σε ένα κεντρικό σημείο ανήκει στην ίδια ομάδα με το κεντρικό σημείο ( με ανάγκη καθορισμού κανόνων αποσαφήνισης οριακών σημείων τα οποία μπορεί να είναι κοντά σε κεντρικά σημεία 2 ή περισσότερων διαφορετικών ομάδων). Τα σημεία που χαρακτηρίζονται σαν θόρυβος αγνοούνται. Με βάση τα παραπάνω, αλγόριθμος DBSCAN μπορεί να γραφτεί περιληπτικά σε μορφή ψευδοκώδικα, ο ως εξής: - Χαρακτήρισε όλα τα σημεία σαν κεντρικά, οριακά ή θόρυβο. - Αγνόησε τον θόρυβο. - Σύνδεσε όλα τα κεντρικά σημεία τα οποία έχουν απόσταση μεταξύ τους μικρότερη ή ίση με Eps. - Όρισε μια ομάδα συνδεδεμένων σημείων σαν μια αυτόνομη ομάδα. - Αντιστοίχησε κάθε οριακό σημείο σε κάποια από τις ομάδες κεντρικών Πολυπλοκότητα αλγόριθμου Η βασική υπολογιστική πολυπλοκότητα του αλγόριθμου είναι Ο( m*( χρόνος που απαιτείται να ανακτήσει τα σημεία στην Eps-γειτονιά ) ), με m να είναι το πλήθος των σημείων. Στο χειρότερο ενδεχόμενο, η πολυπλοκότητα είναι Ο( m 2 ). Παράλληλα, σε χώρους μικρών διαστάσεων είναι εφικτό να γίνει χρήση δομών δεδομένων ( όπως τα kd-δέντρα ) επιτρέποντας αποτελεσματική ανάκτηση όλων των σημείων μέσα σε μια δεδομένη απόσταση από ένα σημείο, καθιστώντας την πολυπλοκότητα Ο( m*logm ). 16

17 Οι απαιτήσεις του αλγόριθμου σε χώρο, ακόμα και για δεδομένα μεγάλων διαστάσεων, είναι Ο(m) δεδομένου ότι είναι αναγκαίο να κρατάμε μόνο ένα μικρό όγκο δεδομένων για κάθε σημείο ( π.χ. το όνομα της ομάδας και το όνομα κάθε κεντρικού ή οριακού σημείου ή θορύβου) Επιλογή παραμέτρων DBSCAN Σχετικά με τον τρόπο προσδιορισμού των παραμέτρων Eps και MinPts, η βασική προσέγγιση είναι να εξετάσουμε τη συμπεριφορά της απόστασης από ένα σημείο στον k-οστό κοντινότερο γείτονα. Η απόσταση αυτή ορίζεται ως k-dist. Για σημεία που ανήκουν σε κάποια ομάδα, η τιμή του k-dist θα είναι μικρή εάν το k δεν είναι μεγαλύτερο από το μέγεθος της ομάδας. Αξίζει να σημειωθεί ότι θα υπάρχει κάποια διακύμανση με βάση την πυκνότητα της ομάδας και τη τυχαία κατανομή των σημείων, όμως κατά κανόνα το εύρος της διακύμανσης δεν θα είναι αρκετά μεγάλο εάν οι πυκνότητες των ομάδων δεν είναι δραστικά διαφορετικές. Παρόλα αυτά, για σημεία που δεν ανήκουν σε κάποια ομάδα (όπως ο θόρυβος), η k- dist θα είναι αρκετά μεγάλη. Κατά συνέπεια, ένα υπολογίσουμε το k-dist για όλα τα σημεία για κάποιο k, τα ταξινομήσουμε με αύξουσα σειρά και σχεδιάσουμε τις τιμές, το αναμενόμενο αποτέλεσμα θα είναι μια απότομη μεταβολή του k-dist που αναλογεί σε μια κατάλληλη τιμή του Eps. Εάν διαλέξουμε αυτή την απόσταση σαν το Eps και πάρουμε την τιμή του k σαν τη παράμετρο MinPts, τότε τα σημεία για τα οποία το k- dist είναι λιγότερο από το Eps θα χαρακτηριστούν σαν κεντρικά σημεία ενώ όλα τα υπόλοιπα σημεία θα χαρακτηριστούν σαν θόρυβος ή οριακά σημεία Πλεονεκτήματα και μειονεκτήματα Επειδή ο DBSCAN χρησιμοποιεί έναν ορισμό βασισμένο στην πυκνότητα της ομάδας, είναι σχετικά ανθεκτικός στο θόρυβο και μπορεί να διαχειριστεί ομάδες μεταβλητών σχημάτων και μεγεθών. Κατά συνέπεια είναι δυνατόν να εντοπίσει ομάδες τις οποίες δεν είναι εφικτό να εντοπίσει ο k-means. Ένα πρόβλημα που 17

18 παρουσιάζεται είναι στην ομαδοποίηση ομάδων με μεγάλες διακυμάνσεις στην μεταξύ τους πυκνότητα. Ένα άλλο πρόβλημα που παρουσιάζεται είναι η διαχείριση δεδομένων με μεγάλο βαθμό διαστάσεων λόγω της δυσκολίας του ορισμού της πυκνότητας για τέτοια δεδομένα. 2.6 Σύνοψη Εφαρμογή Μετά την παρουσίαση των βασικών σημείων της ομαδοποίησης δεδομένων στις προηγούμενες ενότητες, με έμφαση στους αλγόριθμους DBSCAN και k-means, η εφαρμογή που αποτελεί βασικό τμήμα της παρούσας πτυχιακής εργασίας αφορά στην υλοποίηση των δυο (2) αυτών αλγορίθμων σε γλώσσα προγραμματισμού JAVA με χώρο αναφοράς το πεδίο των γράφων. Στην επόμενη ενότητα παρουσιάζονται τα βασικά σημεία της θεωρίας γράφων σε σχέση με την ομαδοποίηση δεδομένων ενώ ακολουθεί η περιγραφή της υλοποίησης της εφαρμογής. 18

19 3 Θεωρία Γράφων Σε συνέχεια της περιγραφής του προβλήματος της ομαδοποίησης (clustering) που προηγήθηκε και πιο συγκεκριμένα της μελέτης και ανάπτυξης των αλγορίθμων DBSCAN και k-means, στο παρόν κεφάλαιο θα εξετάσουμε την εφαρμογή των δύο αλγορίθμων στο χώρο των γράφων. Σε αυτό το πλαίσιο, ένας γράφος είναι μια μαθηματική δομή που μοντελοποιεί δυαδικές σχέσεις (ακμές) ανάμεσα σε αντικείμενα (κορυφές) ενός συγκεκριμένου χώρου αναφοράς. Οι γράφοι αποτελούν κομβική έννοια στην επιστήμη των υπολογιστών και την πληροφορική γενικότερα καθώς χρησιμοποιούνται για την μοντελοποίηση δικτύων, δομών δεδομένων, ροής υπολογισμών και πλήθους άλλων δομών και προβλημάτων. Επίσης, χρησιμοποιούνται ευρέως και σε άλλες επιστήμες όπως η βιολογία και η κοινωνιολογία ενώ είναι προφανής η σημασία τους για παράδειγμα στο χώρο των μεταφορών, από όπου προέρχεται το κλασσικό πρόβλημα του πλανόδιου πωλητή (Travelling Salesman Problem [1]). Ο βασικός μας στόχος σε αυτό το κεφάλαιο είναι να περιγράψουμε την "παραμετροποίηση - εξειδίκευση" των αλγορίθμων k-means και DBSCAN ώστε να μπορέσουν να χρησιμοποιηθούν σε γράφους. Η διαδικασία αυτή περιλαμβάνει τη λήψη αποφάσεων και στη συνέχεια την επιλογή και υλοποίηση λύσεων σχετικά με τα παρακάτω προβλήματα : 1. σε ποια κατηγορία γράφων θα εφαρμοστούν οι αλγόριθμοι και με ποια διαδικασία θα ελέγχεται αν ο υπό εξέταση γράφος ανήκει όντως στην κατηγορία αυτή? 2. Ποια έννοια απόστασης ανάμεσα στις κορυφές θα χρησιμοποιηθεί και με ποιον αλγόριθμο θα υπολογίζεται? 3. Τέλος, με ποια διαδικασία θα επιλέγεται κάθε φορά το επόμενο κέντρο του cluster στην εφαρμογή του αλγόριθμου k-means? 19

20 Πριν παρουσιάσουμε τις λεπτομέρειες της εφαρμογής, καταγράφουμε συνοπτικά τους απαραίτητους ορισμούς δίνοντας έμφαση στα στοιχεία που είναι απαραίτητα για την εξειδίκευση των αλγορίθμων και που έχουν να κάνουν κυρίως με την έννοια της απόστασης που θα χρησιμοποιηθεί. Για μια αναλυτική παρουσίαση παραπέμπουμε στις βιβλιογραφικές αναφορές [1], [2] και [3]. 3.1 Ορισμοί Ένας γράφος G ορίζεται από δύο σύνολα V και Ε. To σύνολο V είναι ένα πεπερασμένο διάφορο του κενού σύνολο, που περιέχει ως στοιχεία τις κορυφές( vertices ) του γράφου και το σύνολο Ε έχει ως στοιχεία τα ζεύγη κορυφών του γράφου, τα οποία ορίζουν τις ακμές Κατευθυνόμενοι μη κατευθυνόμενοι γράφοι Στους κατευθυνόμενους γράφους (directed graphs) κάθε ακμή έχει μία κατεύθυνση, αναπαριστά δηλαδή το κατευθυνόμενο ζεύγος <ν1,ν2>, με ν1 να είναι η αρχή (source) και ν2 το τέλος (target) της ακμής. Κατά συνέπεια οι ακμές <ν1,ν2> και <ν2,ν1> είναι δυο διαφορετικές ακμές ενώ επίσης ένας μη κατευθυνόμενος γράφος μπορεί να θεωρηθεί ως ένας συμμετρικός γράφος. Σε ένα γράφο G=(V,E), οι κορυφές v1, v2 λέγονται συνδεδεμένες εφόσον υπάρχει ένα μονοπάτι (δηλαδή μία ακολουθία ακμών) το οποίο να τις συνδέει. Ένας γράφος ονομάζεται μη κατευθυνόμενος (undirected), αν τα ζεύγη των κορυφών που ορίζουν τις ακμές του στερούνται διάταξης. Σημειώνουμε ότι στα πλαίσια αυτής της πτυχιακής εργασίας και για την εφαρμογή των αλγορίθμων ομαδοποίησης k-means και DBSCAN επικεντρώνουμε στην περίπτωση των μη-κατευθυνόμενων γράφων. 20

21 3.1.2 Γράφοι με βάρη Γράφοι με βάρη ή ζυγισμένοι γράφοι αποκαλούνται οι γράφοι όπου κάθε ακμή χαρακτηρίζεται από έναν αριθμό που αποκαλείται βάρος (weight) της ακμής. Σε πρακτικές εφαρμογές το βάρος αναπαριστά έννοιες όπως το κόστος, την απόσταση ή το χρόνο μετάβασης από μια κορυφή σε μια άλλη Γράφοι χωρίς βάρη Γράφοι χωρίς βάρη ή μη ζυγισμένοι γράφοι αποκαλούνται οι γράφοι όπου δεν υπάρχει ανάγκη χαρακτηρισμού κάθε ακμής από κάποιο βάρος. Σε πρακτικές εφαρμογές αυτό το είδος μπορεί να χαρακτηριστεί σαν μια ειδική περίπτωση γράφων με βάρος όπου το βάρος κάθε κορυφής είναι ίσο με Συνεκτικοί γράφοι Ορισμός Ένας μη κατευθυνόμενος γράφος λέγεται συνεκτικός αν για κάθε δυο κορυφές του υπάρχει τουλάχιστον μια διαδρομή που να τις συνδέει. Είναι εφικτό να εκτιμήσει κάποιος εάν ένας γράφος είναι συνεκτικός εάν διασχίζοντας τον γράφο κατά βάθος ή πλάτος καταλήξει να διασχίσει όλες τις κορυφές του γράφου. Ένας κατευθυνόμενος γράφος λέγεται ασθενώς συνεκτικός εάν αντικαθιστώντας όλες τις κατευθυνόμενες ακμές του με μη κατευθυνόμενες παράγεται ένας μη κατευθυνόμενος συνεκτικός γράφος. Ένας κατευθυνόμενος γράφος λέγεται ισχυρά συνεκτικός εάν περιέχει ένα κατευθυνόμενο μονοπάτι από τις κορυφές u και v και ένα κατευθυνόμενο μονοπάτι από την v και u. 21

22 3.2.2 Υπολογισμός για μη κατευθυνόμενους γράφους H εφαρμογή αυτής της πτυχιακής εργασίας ασχολείται με συνεκτικούς, μηκατευθυνόμενους γράφους. Ο έλεγχος της συνεκτικότητας πραγματοποιείται με τη χρήση των αλγορίθμων διάσχισης κατά βάθος ή πλάτος οι οποίοι παρουσιάζονται στη συνέχεια (για μια αναλυτική μελέτη και παρουσίαση βλέπε [1] ή [2]) Διάσχιση κατά βάθος Η μέθοδος της διάσχισης (ή αναζήτησης) κατά βάθος ορίζεται ως εξής: Η διάσχιση αρχίζει από μία αρχική κορυφή v. Η κορυφή αυτή μαρκάρεται ως «επισκεφθείσα». Το ίδιο συμβαίνει με κάθε επισκεπτόμενη κορυφή, έτσι ώστε να αποφευχθεί μια μελλοντική επίσκεψη. Κατόπιν επιλέγεται μια κορυφή w που είναι διαδοχική της κορυφής v, αλλά δεν έχει ήδη επιλεχτεί. Από την κορυφή w αρχίζει και πάλι μια διάσχιση με προτεραιότητα βάθους. Όταν έχουν επιλεχθεί όλες οι διαδοχικές κορυφές μιας κορυφής u με τη μέθοδο αυτή, τότε η διάσχιση με προτεραιότητα βάθους συνεχίζει από την προηγούμενη κορυφή της u, με τις κορυφές στις οποίες δεν έχει γίνει ακόμα επίσκεψη. Η διάσχιση τελειώνει όταν ή όλες οι κορυφές ελεγχθεί και έχουν χαρακτηριστεί «επισκεφθείσες» (οπότε ο γράφος είναι συνεκτικός) ή υπάρχουν μη ελεγχθείσεςεπισκεφθείσες κορυφές που όμως είναι αδύνατο να διασχισθούν από τις ελεγχθείσες (σε αυτή τη περίπτωση ο γράφος είναι μη συνεκτικός). Η μέθοδος αυτή ανήκει στη οικογένεια των αλγορίθμων που βασίζονται στην οπισθοδρόμηση ενώ αποτελεί και κλασσική μέθοδο αναζήτησης στο χώρο των γράφων αλλά και της τεχνητής νοημοσύνης γενικότερα. 22

23 Στη συνέχεια παρουσιάζεται ο αλγόριθμος σε μορφή ψευδοκώδικα : - Για ένα γράφο G με κορυφές V και ακμές Ε: - Από την αρχική κορυφή ν - Εισήγαγε την κορυφή ν στην στοίβα S - Όσο η S περιέχει κορυφές -Αφαίρεσε τη πρώτη κορυφή s1 από την S -Μάρκαρε την s1 σαν επισκεφθείσα -Για κάθε γειτονική κορυφή s της s1 -Εάν δεν έχει γίνει επίσκεψη από τον αλγόριθμο -Εισήγαγε την s στην στοίβα -Τέλος εαν -Τέλος επανάληψης -Τέλος επανάληψης -Τέλος Στην θεωρητική επιστήμη των υπολογιστών, ο αλγόριθμος κατά βάθος διάσχισης χρησιμοποιείται για να διασχίσει πλήρως ένα γράφο και κατά συνέπεια έχει υπολογιστική πολυπλοκότητα χρόνου Ο( V + E ) καθώς στη χειρότερη περίπτωση θα επισκεφτεί όλες τις κορυφές του γράφου ακολουθώντας ή ελέγχοντας όλες τις ακμές. Σε αυτές τις εφαρμογές απαιτεί χώρο Ο(V) στη χειρότερη περίπτωση για την αποθήκευση στη στοίβα των κορυφών κατά την εκάστοτε αναζήτηση. Η ίδια ακριβώς ανάλυση υπολογιστικής πολυπλοκότητας ισχύει και για τον αλγόριθμο διάσχισης κατά πλάτος (ο οποίος παρουσιάζεται αμέσως μετά) Διάσχιση κατά πλάτος Εναλλακτικά του αλγορίθμου διάσχισης κατά βάθος μπορούμε να χρησιμοποιήσουμε τη διάσχιση κατά πλάτος που έχει παρόμοια λογική: 23

24 Η συγκεκριμένη μέθοδος στοχεύει στην διάσχιση και εξέταση όλων των κορυφών ενός γράφου ξεκινώντας πάλι από κάποια αρχική κορυφή. Η διαφορά με τη διάσχιση κατά βάθος είναι ότι πρώτα επισκεπτόμαστε όλες τις γειτονικές κορυφές και στη συνέχεια τις εξετάζουμε επαναληπτικά με βάση τη σειρά επίσκεψης. Σε ό,τι αφορά την υλοποίηση, αυτό επιτυγχάνεται με την κατάλληλη εισαγωγή και αφαίρεση των κορυφών σε μια ουρά. Σε μορφή ψευδοκώδικα ο αλγόριθμος αυτός μπορεί να περιγραφεί ως εξής: - Για ένα γράφο G με κορυφές V και ακμές Ε: - Από την αρχική κορυφή ν - Εισήγαγε την κορυφή ν στην ουρά Q -Όσο η Q περιέχει κορυφές -Αφαίρεσε τη κορυφή q1 από την ουρά -Μάρκαρε την q1 σαν επισκεφθείσα -Για κάθε γειτονική κορυφή q της q1 -Εάν δεν έχει γίνει επίσκεψη από τον αλγόριθμο -Εισήγαγε την q στην ουρά -Τέλος εαν -Τέλος επανάληψης -Τέλος επανάληψης -Τέλος Υπολογισμός για κατευθυνόμενους γράφους Για τη περίπτωση των κατευθυνόμενων γράφων έχουν προταθεί στη βιβλιογραφία εξειδικευμένοι αλγόριθμοι με ενδεικτικούς τον αλγόριθμο του Kosaraju, τον αλγόριθμο του Tarjan και τον αλγόριθμο του Gabow. Για μια αναλυτική παρουσίαση των παραπάνω αλγορίθμων βλέπε []. Για τον έλεγχο της συνεκτικότητας στα πλαίσια αυτής της πτυχιακής εργασίας χρησιμοποιούμε τους σημαντικά απλούστερους αλγόριθμους διάσχισης κατά βάθος / 24

25 πλάτος σαν τις πλέον βιώσιμες λύσεις λόγω της απλότητας στην κατανόηση και την υλοποίησή τους αλλά και της αποδοτικής τους υπολογιστικής πολυπλοκότητας. 3.3 Αναπαράσταση Γράφων Υπάρχουν αρκετοί τρόποι απεικόνισης ενός γράφου στη μνήμη. Η αποδοτικότητα κάθε αναπαράστασης εξαρτάται από τις συγκεκριμένες λειτουργίες που εκτελούνται στο γράφο στα πλαίσια κάθε εφαρμογής. Οι δύο συνηθέστερες μέθοδοι αναπαράστασης γράφων στη μνήμη είναι οι πίνακες και οι λίστες γειτονικών κορυφών ( adjacency lists ) Πίνακες γειτονικών κορυφών Έστω γράφος G με n κορυφές ( n>=1 ). Ο πίνακας διπλανών κορυφών είναι ένας δισδιάστατος τετραγωνικός πίνακας Π με n*n στοιχεία. Το στοιχείο Π[i,j] λαμβάνει τιμή 1 αν η ακμή (νi, vj ) ανήκει στο σύνολο Ε του G (δηλαδή αν η ακμη υπάρχει) και την τιμή 0 σε αντίθετη περίπτωση Λίστες γειτονικών κορυφών Στα πλαίσια αυτής της αναπαράστασης δημιουργείται ένα σύνολο από n δυναμικές λίστες, όπου κάθε λίστα αντιστοιχεί σε μια κορυφή του γράφου. Κάθε κόμβος από αυτές τις λίστες αντιστοιχεί σε μία από τις γειτονικές κορυφές της κορυφής του γράφου της οποίας τη λίστα εξετάζουμε. Το πλεονέκτημα από αυτή την αναπαράσταση είναι η ελαχιστοποίηση του πλήθους των στοιχείων τα οποία αποθηκεύονται στη μνήμη, εις βάρος όμως της υπολογιστικής πολυπλοκότητας που συνδέεται με την επεξεργασία των λιστών. 25

26 3.4 Υπολογισμός αποστάσεων Σχετικά με την εφαρμογή του αλγόριθμου k-means καθώς και του DBSCAN σε γράφους πρέπει να κάνουμε 2 βασικές επιλογές: 1. ποια έννοια απόστασης θα χρησιμοποιηθεί και 2. με ποιον τρόπο θα επιλέγονται τα k κέντρα (στην περίπτωση μας κορυφές) σε κάθε επανάληψη της εκτέλεσης του k-means. Η απόφαση που πήραμε είναι σαν απόσταση να χρησιμοποιήσουμε το μήκος του συντομότερου μονοπατιού ανάμεσα σε 2 κορυφές (που για την εφαρμογή του αλγόριθμου θα είναι κάθε φορά η εξεταζόμενη κορυφή και η κορυφή-κέντρο του cluster) και το νέο κέντρο της υποομάδας να επιλέγεται κάθε φορά ως το κέντρο ή το μέσο του υπογράφου που ορίζει το κάθε cluster. Με βάση αυτές τις αποφάσεις, στην επόμενη υποενότητα παρουσιάζουμε τον αλγόριθμο Floyd-Warshall, ο οποίος χρησιμοποιείται για την εύρεση του συντομότερου μονοπατιού (και κατ' επέκταση της απόστασης) ανάμεσα σε 2 κορυφές σε ένα γράφο ενώ στις ενότητες 3.5 και 3.6 παρουσιάζουμε τους ορισμούς και τον τρόπο υπολογισμού του κέντρου και του μέσου γράφου αντίστοιχα Αλγόριθμος Floyd-Warshall Ο αλγόριθμος Floyd-Warshall είναι ένας αλγόριθμος ανάλυσης γράφων που σκοπό έχει τον εντοπισμό των ελάχιστων μονοπατιών σε ένα γράφο με βάρη. Με ένα πέρασμα θα υπολογίσει τα μήκη ( αθροίσματα των βαρών ) των συντομότερων μονοπατιών μεταξύ όλων των ζευγαριών των κορυφών. O συγκεκριμένος αλγόριθμος συγκρίνει κάθε δυνατό μονοπάτι μεταξύ των κορυφών ενός γράφου με ένα σύνολο από n 3 συγκρίσεις και κάθε συνδυασμός τσεκάρεται βελτιώνοντας μια προσέγγιση της απόστασης μεταξύ των κορυφών μέχρι να βρεθεί η βέλτιστη. 26

27 Έστω ένας γράφος G με κορυφές V αριθμημένες 1 έως Ν. Έστω μια συνάρτηση shortestpath(i, j, k) που επιστρέφει το συντομότερο μονοπάτι μεταξύ των i και j χρησιμοποιώντας κορυφές μόνο από το σύνολο (1,2, k) σαν ενδιάμεσα σημεία του μονοπατιού. Σκοπός είναι να βρούμε το μονοπάτι από κάθε i σε κάθε j χρησιμοποιώντας μόνο κορυφές από τις κορυφές 1 με k+1. Υπάρχουν 2 υποψήφιες λύσεις για κάθε ζευγάρι: είτε το πραγματικά συντομότερο μονοπάτι χρησιμοποιεί μόνο κορυφές από το σύνολο (1 k) είτε υπάρχει ένα μονοπάτι που πηγαίνει από το i στο k+1 και μετά από το k+1 στο j το οποίο είναι καλύτερο. Το καλύτερο μονοπάτι από το i στο j ορίζεται από τη συνάρτηση shortestpath(i, j, k) και είναι ξεκάθαρο ότι αν υπήρχε καλύτερο μονοπάτι από το i στο k+1 και μετά στο j, τότε το μήκος του θα ήταν μικρότερο από το συντομότερο μονοπάτι από το i στο k+1 και κατά συνέπεια το συντομότερο μονοπάτι από το k+1 στο j ( με δεδομένη πάντα τη χρήση των κορυφών 1 έως την k ). Κατά συνέπεια μπορούμε να ορίσουμε την shortestpath(i, j, k) σε αναδρομικά: Η συνάρτηση αυτή αποτελεί τον πυρήνα του αλγόριθμου. Λειτουργεί υπολογίζοντας πρώτα το shortestpath(i, j, k) για όλα τα ζευγάρια ( i, j ) για κ=1, κ=2 κ.ο.κ. Αυτή η διαδικασία προχωράει έως ότου κ=n και κατά συνέπεια έχουμε βρει τα συντομότερα μονοπάτια για όλα τα ( i, j ) χρησιμοποιώντας όλες τις ενδιάμεσες κορυφές. Σε μορφή ψευδοκώδικα ο αλγόριθμος αυτός μπορεί να περιγραφεί ως εξής: Για γράφο G με κορυφές V, ακμές Ε: - Έστω συνάρτηση edgecost(i,j) η οποία επιστρέφει το κόστος της ακμής από την κορυφή i στη κορυφή j αλλιώς επιστρέφει κάποιο ορισμό του άπειρου ενώ για την περίπτωση οπου i=j επιστρέφει 0. - Έστω O πίνακας path που περιέχει τα συντομότερα μονοπάτια και αρχική τιμή του κάθε κελιού την 27

28 τιμή edgecost(i,j) -Έστω n το πλήθος των κορυφών του γράφου. Διαδικασία Floyd_Warshall Για κ από 1 έως n Για i από 1 έως n Για j από 1 έως n path[i][j] = ελάχιστο( path[i][j], path[i][k]+path[k][j] ); Τέλος επανάληψης Τέλος επανάληψης Τέλος επανάληψης Τέλος διαδικασίας Η επιλογή αυτού το αλγόριθμου σε σχέση με τον παραδοσιακότερο αλγόριθμο Dijkstra για ελάχιστα μονοπάτια γίνεται γιατί με ένα πέρασμα υπολογίζει όλα τα ελάχιστα μονοπάτια του γράφου σε σχέση με τον Djikstra που υπολογίζει ένα μονοπάτι τη φορά και γιατί έχει καλύτερη απόδοση χρόνου παρά το κόστος σε μνήμη που απαιτεί. Έχει αποδειχτεί στη βιβλιογραφία ότι ο αλγόριθμος παρουσιάζει υπολογιστική πολυπλοκότητα χρόνου, Ο( n 3 ). 3.5 Υπολογισμός Κέντρου Το κέντρο ενός συνεκτικού γράφου ορίζεται ως το σύνολο των κορυφών με την ελάχιστη κεντρικότητα, με άλλα λόγια ως το σύνολο των κορυφών Α των οποίων η μέγιστη απόσταση d(a,b) προς όλες τις άλλες κορυφές Β (δηλαδή η κεντρικότητα) είναι ελάχιστη. Κατά συνέπεια, οι κορυφές του κέντρου ελαχιστοποιούν την μέγιστη απόσταση από τα υπόλοιπα σημεία του γράφου. Ο εντοπισμός του κέντρου είναι χρήσιμος σε προβλήματα τοποθέτησης εγκαταστάσεων στα οποία ο σκοπός είναι η ελαχιστοποίηση της χειρότερης απόστασης στην εγκατάσταση. 28

29 Ο αλγόριθμος υπολογισμού του κέντρου μπορεί να περιγραφεί σε μορφή ψευδοκώδικα ως εξής: -Για γράφο G με πλήθος κορυφών Ν -Έστω πίνακας Α, στον οποίο το στοιχείο Α( I, j ) περιέχει το μήκος του συντομότερου μονοπατιού από τη κορυφή I στη κορυφή j -Υπολόγισε όλα τα στοιχεία του Α ( με τη βοήθεια του αλγόριθμου Floyd- Warshall ) -Έστω πίνακας dist( I ) που περιέχει το μήκος του συντομότερου μονοπατιού από τη κορυφή i στη πιο απόμακρη κορυφή από αυτό. -Για i= 1 έως Ν -Dist(i) = 0 -Για j=1 έως Ν -Εάν ( i!= j και Α( i, j ) > dist(i) ) τότε -dist(i) = A( i, j ) -Τέλος εάν -Τέλος επανάληψης -center = 1 -Για i = 1 έως Ν Εάν dist(i) < dist( center ) τότε -Center = i Τέλος εάν -Τέλος επανάληψης 29

30 3.6 Υπολογισμός Μέσου Ο μέσος ενός συνεκτικού γράφου είναι η κορυφή του γράφου για την οποία το άθροισμα των μηκών των συντομότερων μονοπατιών προς όλες τις άλλες κορυφές είναι το ελάχιστο. Ο εντοπισμός του μέσου είναι επίσης χρήσιμος σε προβλήματα τοποθέτησης εγκαταστάσεων στα οποία ο σκοπός είναι η ελαχιστοποίηση της χειρότερης απόστασης στην εγκατάσταση. Ο αλγόριθμος υπολογισμού του κέντρου μπορεί να περιγραφεί σε μορφή ψευδοκώδικα ως εξής: -Για γράφο G με πλήθος κορυφών N -Έστω πίνακας Α, στον οποίο το στοιχείο Α( I, j ) περιέχει το μήκος του συντομότερου μονοπατιού από τη κορυφή I στη κορυφή j -Υπολόγισε όλα τα στοιχεία του Α ( με τη βοήθεια του αλγόριθμου Floyd-Warshall ) -Έστω πίνακας sum( i ) που περιέχει το άθροισμα των μηκών των συντομότερων μονοπατιών από το i σε όλες τις άλλες κορυφές Για i από 1 έως Ν Sum(i) = 0 Για j από 1 έως Ν Εάν i!= j τότε sum(i) = sum(i) +A(i, j ) τέλος Εάν Τέλος επανάληψης Τέλος επανάληψης median = 1 Για i = 1 έως Ν Εάν sum(i) < sum(median) τότε 30

31 Τέλος Εάν Median = i Τέλος Επανάληψης 31

32 4 Πειράματα Σε αυτό το κεφάλαιο της πτυχιακής εργασίας ασχολούμαστε με την πειραματική ανάλυση της υλοποίησης των αλγορίθμων που πραγματοποιήσαμε, σε τρία διαδοχικά στάδια. Στο πρώτο, παρουσιάζουμε τον τρόπο με τον οποίο κατασκευάστηκαν τα δεδομένα, στο δεύτερο καταγράφουμε τα συμπεράσματα τα οποία προέκυψαν από τις δοκιμές και τέλος αναφέρουμε ένα ενδεικτικό σύνολο παραδειγμάτων από τα αποτελέσματα της εκτέλεσης των αλγόριθμων. Για τα πειράματα χρησιμοποιήθηκε ένα πλήθος τυχαία κατασκευασμένων συνεκτικών γράφων με βάρη, το οποίο κατασκευάστηκε και επεξεργάστηκε για τις ανάγκες της πτυχιακής μέσω του περιβάλλοντος Mathematica. Για την αυτοματοποίηση και απλοποίηση της κατασκευής δημιουργήθηκε ένας αριθμός από μεθόδους στη γλώσσα προγραμματισμού που παρέχει το συγκεκριμένο περιβάλλον. Οι μέθοδοι αυτές περιγράφονται αναλυτικά στο παράρτημα της παρούσας πτυχιακής μαζί με τον υπόλοιπο κώδικα και την τεκμηρίωση η οποία εξηγεί τη λειτουργία τους. 4.1 Κατασκευή δεδομένων ελέγχου Η διαδικασία κατασκευής γράφων στο περιβάλλον Mathematica χωρίζεται σε 4 μέρη: 1. Στην κατασκευή με τη χρήση της μεθόδου GCons ενός πλήθους τυχαίων γράφων χωρίς βάρη με βάση τις προδιαγραφές που εισάγει ο χρήστης. Πιο συγκεκριμένα, ο χρήστης καθορίζει το πλήθος των κορυφών, το πλήθος των ακμών και τέλος το πλήθος των γράφων με αυτά τα χαρακτηριστικά τους οποίους θα κατασκευάσει η συγκεκριμένη μέθοδος. Στο τέλος της εκτέλεσης της θα υπάρχει μια μεταβλητή με όνομα x η οποία θα περιέχει τα αποτελέσματα της διαδικασίας, τα οποία είναι γράφοι χωρίς βάρη και κατά κανόνα όχι συνεκτικοί (με βασικό υπαίτιο την γεννήτρια την οποία χρησιμοποιεί το Mathematica ). 2. Δεδομένου ότι οι γράφοι οι οποίοι κατασκευάζονται από την παραπάνω ρουτίνα δεν είναι συνεκτικοί, περεταίρω επεξεργασία μεμονωμένων γράφων 32

33 μπορεί να γίνει με τη χρήση της μεθόδου GEdit η οποία εφαρμόζοντας μια διάσχιση κατά βάθος από συγκεκριμένη κορυφή ενός γράφου (παράμετρος που καθορίζεται από το χρήστη) διατηρεί το μέρος εκείνο του αρχικού γράφου το οποίο διέσχισε και εξασφαλίζει κατά συνέπεια τη συνεκτικότητα του γράφου ο οποίος θα χρησιμοποιηθεί στη συνέχεια. 3. Δεδομένου ότι οι γράφοι οι οποίοι έχουν κατασκευαστεί μέχρι το προηγούμενο βήμα δεν έχουν ορισμένα από τον χρήστη βάρη, μπορούμε είτε να τους αποθηκεύσουμε θεωρώντας ότι όλες οι ακμές τους έχουν βάρη ίσα με 1 ( λειτουργία την οποία αναλαμβάνει το Mathematica αυτόματα ), είτε να χρησιμοποιήσουμε την μέθοδο RWGCons η οποία αναλαμβάνει να κάνει την ανάθεση των βαρών με τυχαίες τιμές μεταξύ προκαθορισμένων ορίων τα οποία εισάγει σαν παραμέτρους ο χρήστης. 4. Για την αποθήκευση των γράφων δημιουργήθηκε η μέθοδος graphsave με την οποία κάθε γράφος αποθηκεύεται σε ένα αρχείο με όνομα το οποίο εισάγει ο χρήστης. Το αρχείο αυτό έχει την κατάλληλη δομή έτσι ώστε να χρησιμοποιηθεί σαν είσοδος στην εφαρμογή. 4.2 Συμπεράσματα Η συμπεριφορά της υλοποίησης κρίνεται γενικά ικανοποιητική, καθώς παράγονται αποτελέσματα τα οποία μπορούν να χαρακτηριστούν χρήσιμα στο χρήστη που εισήγαγε τα δεδομένα. Εν τούτοις πρέπει να τονιστούν κάποια σημεία τα οποία παρουσιάστηκαν και τα οποία αξίζουν επιπλέον σχολιασμό: Σχετικά με τον DBSCAN. Αξίζει να σημειωθεί ότι στην περίπτωση γράφων χωρίς βάρη ( ή σε γράφους που τα βάρη είναι όλα ίσα ), παρουσίαζε αδυναμία διαχωρισμού ομάδων λόγω της ίσης απόστασης μεταξύ των κορυφών του γράφου ( σε αντίθετη περίπτωση, δυο ομάδες μπορούν να διαχωριστούν με βάση το κριτήριο της απόστασης μέσω του συντελεστή eps ). 33

34 Σχετικά με τον K-Means: 1. Τα κριτήρια του μέσου και του κέντρου του γράφου επιβαρύνουν την εκτέλεση του αλγόριθμου λόγω της χρήσης του αλγόριθμου Floyd- Warshall σε κάθε επανάληψη, ενός αλγόριθμου με κυβική χρονική υπολογιστική πολυπλοκότητα, κάτι που συνεπάγεται την δυσκολία εφαρμογής του σε γράφους με μεγάλο πλήθος κορυφών. 2. Ο συγκεκριμένος αλγόριθμος παράγει σε δύσκολες περιπτώσεις δυσανάλογο πλήθος κορυφών μεταξύ των ομάδων, κάτι που μπορεί να ερμηνευτεί είτε λόγω της χρήσης των συγκεκριμένων ορισμών κέντρου είτε σε άκαιρο τερματισμό του αλγόριθμου, οπότε και μιλάμε για μια προσέγγιση την οποία μπορεί να επεξεργαστεί ο χρήστης είτε περεταίρω μέσω του αλγόριθμου είτε «με το χέρι» εφόσον δει ότι δεν παράγονται καλύτερα αποτελέσματα. 3. Στην πορεία της εκτέλεσης του αλγόριθμου παρουσιάστηκε σε ορισμένες περιπτώσεις το φαινόμενο ο αλγόριθμος να επιστρέφει σε παλιότερες προσεγγίσεις τις οποίες είχε αξιολογήσει σε παλιότερα βήματα. Μια εξήγηση για αυτό είναι η περιορισμένη δυνατότητα μετακίνησης από κέντρο σε κέντρο σε σχέση με παραδοσιακότερα σύνολα δεδομένων στα οποία έχει εφαρμοστεί ο αλγόριθμος. Ακριβώς επειδή είναι μια πηγή επιβάρυνσης στο πλήθος των βημάτων τα οποία εκτελεί ο αλγόριθμος αυτή η ιδιότητα έχει χρησιμοποιηθεί σαν επιπλέον συνθήκη τερματισμού. 34

35 4.3 Ενδεικτικά παραδείγματα Στην ενότητα αυτή παρουσιάζουμε κάποια ενδεικτικά παραδείγματα εκτέλεσης των αλγορίθμων. Για λόγους απλότητας των παραδειγμάτων, θα παρουσιαστούν γράφοι με μικρό πλήθος κορυφών και για την περίπτωση του k-means θα γίνει η σύμβαση ότι θα προσπαθήσουμε να παράγουμε 2 ομάδες. Παράδειγμα #1 K-means 35

36 DBSCAN Παράδειγμα #2 36

37 K-means DBSCAN Παράδειγμα #3 K-means 37

38 DBSCAN Παράδειγμα #4 Λόγω της δυσκολίας που παρουσιάζει μια απλή ομαδοποίηση των γράφων για αυτό το παράδειγμα, οι ομάδες στις οποίες έχει διαχωριστεί ο αρχικός γράφος από τους αλγόριθμους απεικονίζονται μεμονωμένες. 38

39 Επίσης στη περίπτωση του DBSCAN έχουν απλοποιηθεί ορισμένες ομάδες που αποτελούνται από μεμονωμένες κορυφές αφού μπορούν να ερμηνευτούν σαν θόρυβος, όπως και μια μεμονωμένη περίπτωση ομάδας με 2 κορυφές στον k-means. K-means 39

40 DBSCAN 40

41 5 Βιβλιογραφία [1] Cormen, T. H. Leiserson, C. E. Rivest, R. L. Stein, C. (2001), Introduction to Algorithms (2nd ed.), MIT Press and McGraw-Hill. [2] Ι. Μανωλόπουλος, Δομές δεδομένων, Εκδόσεις Art oftext (1998). [3] Θ. Παπαθεοδώρου, Αλγόριθμοι: Εισαγωγικά Θέματα και Παραδείγματα, Εκδόσεις Πανεπιστημίου Πατρών, [4] Introduction to Data Mining Pang-Ning Tan, Michael Steinbach, Vipin Kumar (2005). [5] Robert Sedgewick, Algorithms in C++ part 5 ( 3rd edition ), Addison Wesley [6] Ian H.Witten, Eibe Frank, Data mining( 2nd Edition ), Elsevier [7] Sergios Theodoridis & Konstantinos Koutroumbas (2006), Pattern Recognition 4rd ed, Elsevier [8]en.wikipedia.org [9] [10] [11] [12] [13] [14] 41

42 6 ΠΑΡΑΡΤΗΜΑ. ΥΛΟΠΟΙΗΣΗ Ο κώδικας της πτυχιακής χωρίζεται σε 2 μεγάλες ομάδες: 1. Μια ομάδα κώδικα αφορά την κατασκευή των δεδομένων με τα οποία ελέγχθηκε η σωστή λειτουργία και η συμπεριφορά των αλγόριθμων, με 3 μικρότερες ομάδες κώδικα που αφορούν στην κατασκευή, την επεξεργασία και την αποθήκευση των γράφων με τους οποίους δοκιμάστηκαν οι αλγόριθμοι. 2. Υλοποίηση των αλγορίθμων η οποία χωρίζεται επίσης σε 3 μικρότερες ομάδες: τον κώδικα των αλγόριθμων και τον κώδικα της εφαρμογής για γραμμή εντολών, τον κώδικα των ελέγχων σωστής λειτουργίας των αλγόριθμων και τον κώδικα της επικοινωνίας με τον χρήστη από το γραφικό περιβάλλον. Για την αναπαράσταση των γράφων από το πρόγραμμα της εργασίας χρησιμοποιήθηκε η βιβλιοθήκη jgrapht ( [ 13 ] ) ενώ για την επεξεργασία αρχείων XML χρησιμοποιήθηκε η βιβλιοθήκη Jdom ( [ 14 ] ). Για την κατασκευή και επεξεργασία των συνεκτικών γράφων που θα χρησιμοποιηθούν από την πτυχιακή έχει γραφτεί κώδικας για το περιβάλλον Mathematica λόγω της ευκολίας την οποία παρέχει για τη δημιουργία, επεξεργασία, απεικόνιση και αποθήκευση γράφων. Ο κώδικας που γράφτηκε καλύπτει τις παρακάτω λειτουργίες: Δημιουργία πλήθους γράφων με τυχαία τοπολογία και βάρη. Επεξεργασία τους ώστε να καταλήξουμε σε ένα πλήθος συνεκτικών γράφων με βάρη. Αποθήκευση τους στη δομή απλών αρχείων δεδομένων που χρησιμοποιεί ο κώδικας των αλγόριθμων της πτυχιακής. Το περιβάλλον του Mathematica παρέχει ένα πλούσιο πλήθος επιλογών για την απεικόνιση και αναπαράσταση μικρών και μεσαίων γράφων, με ένα εμπειρικό όριο 500 κορυφών, πέρα από τις οποίες ενώ είναι εφικτή η αναπαράσταση τους από το περιβάλλον, η επεξεργασία από άνθρωπο δυσκολεύει κατακόρυφα. 42

43 6.1 Μέρος 1ο ( Δημιουργία γράφων) Όνομα ρουτίνας: GCons Περιγραφή: Δημιουργία ενός πλήθους τυχαία κατασκευασμένων γράφων Παράμετροι: - Είσοδοι από τον χρήστη: -Το πλήθος των κορυφών -Το πλήθος των ακμών -Το πλήθος των γράφων που θα κατασκευαστούν Αποτελέσματα: -Δημιουργείται ένας global πίνακας x του οποίου τα αντικείμενα είναι οι υπό μελέτη γράφοι. GCons[] := ( VLen = Input["plh8os koryfwn"]; ELen = Input["plh8os akmwn" ]; GLen = Input["plh8os grafwn" ]; x = {; For[ i = 1, i <= GLen, i++, x = Append[ x, RandomGraph[ { VLen, ELen, VertexShapeFunction -> "Name" ] ] ] ) Σχόλια: Οι γράφοι που κατασκευάζονται δεν έχουν αρχικοποιημένα βάρη ( όλα είναι ίσα με 1 ) κάτι που σημαίνει ότι αν ο χρήστης χρειάζεται γράφους με τυχαία βάρη είτε θα πρέπει να τους επεξεργαστεί μόνος τους είτε με τη ρουτίνα RWGCons την οποία παρουσιάζουμε αργότερα. 43

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX ΚΕΦΑΛΑΙΟ 3 ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX 3.1 Εισαγωγή Ο αλγόριθμος Simplex θεωρείται πλέον ως ένας κλασικός αλγόριθμος για την επίλυση γραμμικών προβλημάτων. Η πρακτική αποτελεσματικότητά του έχει

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΜΑΘΗΣΗ ΔΙΚΤΥA LVQ και SOM. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΜΑΘΗΣΗ ΔΙΚΤΥA LVQ και SOM. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΜΑΘΗΣΗ ΔΙΚΤΥA LVQ και SOM Μάθηση χωρίς επίβλεψη (unsupervised learning) Σύνολο εκπαίδευσης D={(x n )}, n=1,,n. x n =(x n1,, x nd ) T, δεν υπάρχουν τιμές-στόχοι t n. Προβλήματα μάθησης χωρίς

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

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1

ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΚΕΦΑΛΑΙΟ 1 1 Βελτιστοποίηση Στην προσπάθεια αντιμετώπισης και επίλυσης των προβλημάτων που προκύπτουν στην πράξη, αναπτύσσουμε μαθηματικά μοντέλα,

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

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

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

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

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

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

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

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Μέθοδοι μονοδιάστατης ελαχιστοποίησης Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν

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

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

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

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

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

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

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

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

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

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

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Μέθοδοι μονοδιάστατης ελαχιστοποίησης Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν

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

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

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

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

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

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

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

ΑΕΠΠ Ερωτήσεις θεωρίας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος

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

ιαµέριση - Partitioning

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

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

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

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

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

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ 3 η Διάλεξη Μονοπάτια και Κύκλοι Μήκη και αποστάσεις Κέντρο και μέσο γράφου. Ακτίνα και Διάμετρος Δυνάμεις Γραφημάτων Γράφοι Euler.

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία

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

Στατιστική Ι (ΨΥΧ-1202) ιάλεξη 3

Στατιστική Ι (ΨΥΧ-1202) ιάλεξη 3 (ΨΥΧ-1202) Λεωνίδας Α. Ζαμπετάκης Β.Sc., M.Env.Eng., M.Ind.Eng., D.Eng. Εmail: statisticsuoc@gmail.com ιαλέξεις: ftp://ftp.soc.uoc.gr/psycho/zampetakis/ ιάλεξη 3 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΨΥΧΟΛΟΓΙΑΣ Ρέθυμνο,

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 3 : Γραφήματα & Αποδείξεις Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΘΕΜΑ 1 ο (2,5 μονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Τελικές εξετάσεις Πέμπτη 21 Ιουνίου 2012 16:30-19:30 Υποθέστε ότι θέλουμε

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

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

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

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

Επίλυση Προβλημάτων 1

Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης

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

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση Κεφάλαιο ο: Δικτυωτή Ανάλυση. Εισαγωγή Η δικτυωτή ανάλυση έχει παίξει σημαντικό ρόλο στην Ηλεκτρολογία. Όμως, ορισμένες έννοιες και τεχνικές της δικτυωτής ανάλυσης είναι πολύ χρήσιμες και σε άλλες επιστήμες.

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

ΔΙΑΧΩΡΙΣΤΙΚΗ ΟΜΑΔΟΠΟΙΗΣΗ

ΔΙΑΧΩΡΙΣΤΙΚΗ ΟΜΑΔΟΠΟΙΗΣΗ ΔΙΑΧΩΡΙΣΤΙΚΗ ΟΜΑΔΟΠΟΙΗΣΗ Εισαγωγή Τεχνικές διαχωριστικής ομαδοποίησης: Ν πρότυπα k ομάδες Ν>>k Συνήθως k καθορίζεται από χρήστη Διαχωριστικές τεχνικές: επιτρέπουν πρότυπα να μετακινούνται από ομάδα σε

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

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

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

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

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

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

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

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

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

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

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

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

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην

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

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

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους

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

Clustering. Αλγόριθµοι Οµαδοποίησης Αντικειµένων

Clustering. Αλγόριθµοι Οµαδοποίησης Αντικειµένων Clustering Αλγόριθµοι Οµαδοποίησης Αντικειµένων Εισαγωγή Οµαδοποίηση (clustering): οργάνωση µιας συλλογής από αντικείµενα-στοιχεία (objects) σε οµάδες (clusters) µε βάση κάποιο µέτρο οµοιότητας. Στοιχεία

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

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Graph Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Περιεχόμενα Μεταβατικό Κλείσιμο Συνεκτικές συνιστώσες Συντομότερα μονοπάτια Breadth First Spanning

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

x 2,, x Ν τον οποίον το αποτέλεσμα επηρεάζεται από

x 2,, x Ν τον οποίον το αποτέλεσμα επηρεάζεται από Στη θεωρία, θεωρία και πείραμα είναι τα ΘΕΩΡΙΑ ΣΦΑΛΜΑΤΩΝ... υπό ισχυρή συμπίεση ίδια αλλά στο πείραμα είναι διαφορετικά, A.Ensten Οι παρακάτω σημειώσεις περιέχουν τα βασικά σημεία που πρέπει να γνωρίζει

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

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

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

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

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

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

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

1 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΑΛΓΟΡΙΘΜΟΙ

1 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΑΛΓΟΡΙΘΜΟΙ Δ.Π.Θ. - Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2017-2018 Τομέας Συστημάτων Παραγωγής Εξάμηνο A Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης 03 ΟΚΤ 2017 ΜΑΘΗΜΑ : ΕΙΣΑΓΩΓΗ ΣΤΗΝ

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

Εισαγωγή στους Αλγόριθμους

Εισαγωγή στους Αλγόριθμους Εισαγωγή στους Αλγόριθμους Εύη Παπαϊωάννου Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών Σκοποί ενότητας Παρουσίαση και μελέτη αλγορίθμων

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

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

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

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

Το μοντέλο Perceptron

Το μοντέλο Perceptron Το μοντέλο Perceptron Αποτελείται από έναν μόνο νευρώνα McCulloch-Pitts w j x x 1, x2,..., w x T 1 1 x 2 w 2 Σ u x n f(u) Άνυσμα Εισόδου s i x j x n w n -θ w w 1, w2,..., w n T Άνυσμα Βαρών 1 Το μοντέλο

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

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

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

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

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΟΛΙΤΙΣΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΙ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΚΤΙΚΗ ΕΝΟΤΗΤΑ 3 ΘΕΜΑ: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ ΓΡΑΦΗΜΑΤΑ Επίκουρος Καθηγητής ΠΕΡΙΕΧΟΜΕΝΟ

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων

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

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών

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

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

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

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

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

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

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

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

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

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

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Γ. Κορίλη Αλγόριθµοι ροµολόγησης - Γ. Κορίλη Αλγόριθµοι ροµολόγησης http://www.seas.upenn.edu/~tcom50/lectures/lecture.pdf ροµολόγηση σε ίκτυα εδοµένων Αναπαράσταση ικτύου µε Γράφο Μη Κατευθυνόµενοι Γράφοι Εκτεταµένα έντρα Κατευθυνόµενοι

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

ΤΣΑΝΤΑΣ ΝΙΚΟΣ 11/26/2007. Νίκος Τσάντας Τμήμα Μαθηματικών Πανεπιστημίου Πατρών, Ακαδημαϊκό έτος Δικτυωτή Ανάλυση

ΤΣΑΝΤΑΣ ΝΙΚΟΣ 11/26/2007. Νίκος Τσάντας Τμήμα Μαθηματικών Πανεπιστημίου Πατρών, Ακαδημαϊκό έτος Δικτυωτή Ανάλυση ΤΣΑΝΤΑΣ ΝΙΚΟΣ // Επιχειρησιακή Έρευνα ικτυωτή Ανάλυση Νίκος Τσάντας Τμήμα Μαθηματικών Πανεπιστημίου Πατρών, Ακαδημαϊκό έτος - Δικτυωτή Ανάλυση Δίκτυο είναι ένα διάγραμμα το οποίο το οποίο αναπαριστά τη

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

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

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

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

Συστήματα Πολυμέσων. Υπερκείμενα & Υπερμέσα A

Συστήματα Πολυμέσων. Υπερκείμενα & Υπερμέσα A Συστήματα Πολυμέσων Υπερκείμενα & Υπερμέσα A Συστήματα υπερκειμένων υπερμέσων (διαχείρισης πολυμεσικής πληροφορίας) αυτόνομα ή κατανεμημένα, διαχειρίζονται, αλληλεπιδραστικά (δευτέρου βαθμού), ένα τεράστιο

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΕΡΛΙΑΟΥΝΤΑΣ ΣΤΕΦΑΝΟΣ, ΠΕ19 ΚΕΦΑΛΑΙΟ 3 Αλγόριθμοι 3. Αλγόριθμοι 2 3. Αλγόριθμοι 3.1 Η έννοια του αλγορίθμου 3.2 Χαρακτηριστικά αλγορίθμου 3.3 Ανάλυση αλγορίθμων

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

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

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

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

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

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

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

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

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Γραμμικές Λίστες Βασικές Έννοιες Βασικές Έννοιες. Αναπαράσταση με τύπο και με δείκτη. Γραμμικές Λίστες. Βασικές Λειτουργίες. Δομές Δεδομένων: Βασικές Έννοιες Αντικείμενο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Επιμέλεια Καραβλίδης Αλέξανδρος. Πίνακας περιεχομένων

Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Επιμέλεια Καραβλίδης Αλέξανδρος. Πίνακας περιεχομένων Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Πίνακας περιεχομένων Τίτλος της έρευνας (title)... 2 Περιγραφή του προβλήματος (Statement of the problem)... 2 Περιγραφή του σκοπού της έρευνας (statement

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

5.1. Προσδοκώμενα αποτελέσματα

5.1. Προσδοκώμενα αποτελέσματα 5.1. Προσδοκώμενα αποτελέσματα Όταν θα έχεις ολοκληρώσει τη μελέτη αυτού του κεφαλαίου θα έχεις κατανοήσει τις τεχνικές ανάλυσης των αλγορίθμων, θα μπορείς να μετράς την επίδοση των αλγορίθμων με βάση

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

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Dr. Christos D. Tarantilis Associate Professor in Operations Research & Management Science http://tarantilis.dmst.aueb.gr/ ΕΦΑΡΜΟΓΕΣ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Ι - 1- ΕΦΑΡΜΟΓΕΣΔΙΟΙΚΗΤΙΚΗΣΕΠΙΣΤΗΜΗΣ&

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

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2670

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2670 ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2670 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ Έκτο ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ Δομές Δεδομένων και Αλγόριθμοι ΑΥΤΟΤΕΛΕΙΣ ΔΙΔΑΚΤΙΚΕΣ

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

Περιεχόμενα. 2 Αριθμητικά συστήματα

Περιεχόμενα. 2 Αριθμητικά συστήματα Περιεχόμενα Πρόλογος 1 Εισαγωγή 1.1 Το μοντέλο Turing 1.2 Το μοντέλο von Neumann 1.3 Συστατικά στοιχεία υπολογιστών 1.4 Ιστορικό 1.5 Κοινωνικά και ηθικά ζητήματα 1.6 Η επιστήμη των υπολογιστών ως επαγγελματικός

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

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 Περιεχόµενα

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

ΚΕΦΑΛΑΙΟ 3. Περιγραφή της Μεθόδου ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΜΕΘΟΔΟΥ

ΚΕΦΑΛΑΙΟ 3. Περιγραφή της Μεθόδου ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΜΕΘΟΔΟΥ ΚΕΦΑΛΑΙΟ 3 Περιγραφή της Μεθόδου Το αντικείμενο αυτής της εργασίας είναι η χρήση μιας μεθόδου προσέγγισης συναρτήσεων που έχει προταθεί από τον hen-ha huang και ονομάζεται Ασαφώς Σταθμισμένη Παλινδρόμηση

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

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

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

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

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

Μέθοδοι πολυδιάστατης ελαχιστοποίησης Μέθοδοι πολυδιάστατης ελαχιστοποίησης με παραγώγους Μέθοδοι πολυδιάστατης ελαχιστοποίησης Δ. Γ. Παπαγεωργίου Τμήμα Μηχανικών Επιστήμης Υλικών Πανεπιστήμιο Ιωαννίνων dpapageo@cc.uoi.gr http://pc64.materials.uoi.gr/dpapageo

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

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

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

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

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη. 1ΗΣ ΣΕΛΙΔΑΣ ΤΕΛΙΚΟ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2015 Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) ΣΥΝΟΛΟ

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 2: Μαθηματικό Υπόβαθρο Τι θα κάνουμε σήμερα Συναρτήσεις & Σχέσεις (0.2.3) Γράφοι (Γραφήματα) (0.2.4) Λέξεις και Γλώσσες (0.2.5) Αποδείξεις (0.3) 1

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