Τεύχος Προτεινόµενων Πτυχιακών Εργασιών

Σχετικά έγγραφα
Δομές Δεδομένων και Αλγόριθμοι

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

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

Αλγοριθμικές Τεχνικές

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

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

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

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

Εισαγωγικά. 1 η Εβδομάδα. Κάθε Τρίτη (17:00-20:00) και Τετάρτη (13:00 15:00) στην αίθουσα Ι5. 4 ώρες Θεωρία (ΤΡ : 1η-2η ώρα, ΤΕ : 1η-2η ώρα)

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 6 : Δομές αρχείων. Δρ. Γκόγκος Χρήστος

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

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

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

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

Επιµέλεια Θοδωρής Πιερράτος

Chapter 6. Problem Solving and Algorithm Design. Στόχοι Ενότητας. Επίλυση προβληµάτων. Εισαγωγή. Nell Dale John Lewis

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

Τεχνολογίες Υλοποίησης Αλγορίθµων

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

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

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

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

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

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

κεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών

3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή

Α. Ερωτήσεις Ανάπτυξης

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

ΚΕΝΤΡΟ ΥΠΟΣΤΗΡΙΞΗΣ ΕΦΑΡΜΟΓΩΝ ΛΟΓΙΣΜΙΚΟΥ. Μιχάλης Κεφαλάς, ΑΤΕΙ Θεσσαλονίκης

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

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

Εισαγωγή στην Πληροφορική

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

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

Προγραµµατισµός Η/Υ. Δρ. Δ.Ν. Παγώνης. Καθηγητής Εφαρµογών. Τηλ: Τµήµα Ναυπηγών Μηχανικών ΤΕ, ΤΕΙ Αθήνας

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

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

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

Περίληψη ιπλωµατικής Εργασίας

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

Επιµέλεια Θοδωρής Πιερράτος

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9

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

Προγραμματισμός Η/Υ. Αναζήτηση & Ταξινόμηση. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

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

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

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

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

Θέματα Μεταγλωττιστών

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ

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

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

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Βάσεις Δεδομένων ΙΙ Ενότητα 5

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

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

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

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

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

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

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

Εισαγωγή στη Δασική Πληροφορική

Δείχτες Επιτυχίας και Δείχτες Επάρκειας

Εγχειρίδιο χρήσης για τον φοιτητή

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: ομές εδομένων και Αλγόριθμοι

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)

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

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

Δοµές Δεδοµένων. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Φθινοπωρινό Εξάµηνο Ευάγγελος Μαρκάκης

Δομές Δεδομένων. Λουκάς Γεωργιάδης.

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

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

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

Περίληψη ιπλωµατικής Εργασίας

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας

Εισαγωγή στην πληροφορική

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Γλώσσες & Τεχνικές 4 ο Εξάμηνο. - Ενότητα 1 - Δημοσθένης Σταμάτης

Βασικά ζητήματα μιας βάσης δεδομένων

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

Πληροφορική 2. Τεχνητή νοημοσύνη

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

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

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

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

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n.

Βασίλειος Κοντογιάννης ΠΕ19

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης

Μπαλτάς Αλέξανδρος 21 Απριλίου 2015

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

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

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

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

Transcript:

Τµήµα Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών Τεύχος Προτεινόµενων Πτυχιακών Εργασιών ρ. Σάββας Ηλίας Επίκουρος Καθηγητής Έργο: «Ενίσχυση Σπουδών Πληροφορικής στο ΤΕΙ Λάρισας»

Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής e-mail: savvas@teilar.gr Τηλ: 2410 684459 ιερεύνηση Αλγορίθµων Οµαδοποίησης εδοµένων (Data Clustering Algorithms) Αλγόριθµοι οµαδοποίησης, data clustering, αλγόριθµος k-mean, πολυπλοκότητα Η οµαδοποίηση δεδοµένων αποτελεί µία πάρα πολύ χρήσιµη τεχνική για την αποτελεσµατικότερη χρήση και αξιολόγηση των τεράστιων πλέον πηγών πληροφοριών / δεδοµένων. Η ανάλυση µεγάλου όγκου δεδοµένων είναι ιδιαίτερα χρήσιµη σε πάρα πολλά επιστηµονικά πεδία όπως Βιολογίας, Μηχανικής, Ψυχολογίας, Γραφικών Υπολογιστών, Φαρµακευτική, Ιατρική, κ.α. Η οµαδοποίηση δεδοµένων (clustering) οργανώνει και κατηγοριοποιεί τα δεδοµένα ανάλογα µε τον βαθµό οµοιότητάς τους µε αποτέλεσµα την πιο αποδοτική χρησιµοποίησή τους. Κάθε οµάδα δεδοµένων αποτελείται από ένα αριθµό «οµοίων» δεδοµένων ενώ διαφορετικές οµάδες περιέχουν «ανόµοια» δεδοµένα όπως φαίνεται στο παρακάτω σχήµα (µη οµαδοποιηµένα αντικείµενα δύσκολο να διακριθούν και στην συνέχεια οµαδοποίηση τους σε «όµοια» αντικείµενα). Περιγραφή Θέµατος Τα µέτρο της οµοιότητας του κάθε αντικειµένου προς κάποια οµάδα όπως επίσης και το πλήθος των οµάδων αποτελούν το βασικό πεδίο έρευνας αυτών των αλγορίθµων. Έχουν ήδη αναπτυχθεί πολλές τεχνικές οµαδοποίησης εκ των οποίων ο αλγόριθµος k-mean και οι παραλλαγές του θεωρούνται σήµερα σαν µία από τις καλύτερες µεθόδους. Εδώ, τα δεδοµένα οµαδοποιούνται σε k οµάδες ανάλογα µε τον βαθµό οµοιότητάς τους και τα οποία δεδοµένα µπορούν να χαρακτηρίζονται από Ν ιδιότητες οι οποίες µπορεί να είναι βαθµωτές, συνεχείς ή και µίξη βαθµωτών συνεχών. Η παρούσα πτυχιακή θα ασχοληθεί µε την διερεύνηση υπαρχόντων αλγορίθµων οµαδοποίησης δεδοµένων αλλά και κατηγοριοποίησης δεδοµένων και θα επικεντρωθεί όπου και θα εµβαθύνει στον k-mean αλγόριθµο µαζί µε τις παραλλαγές του. Τέλος θα συγκρίνει τις τεχνικές ενώ θα υλοποιήσει σε κάποια γλώσσα προγραµµατισµού τις βασικότερες από αυτές. Η σύγκριση θα γίνει τόσο σε θεωρητικό όσο 2/26

Σκοπός - Αναµενόµενα Αποτελέσµατα Προαπαιτούµενες Γνώσεις Ενδεικτική Βιβλιογραφία και πρακτικό επίπεδο. O σκοπός της παρούσας πτυχιακής είναι η µάθηση του φοιτητή αλγορίθµων οµαδοποίησης αλλά και της αναγκαιότητας ύπαρξής τους. Θα εµβαθύνει στις τεχνικές των k-mean αλγορίθµων τις οποίες και θα συγκρίνει. Η σύγκριση των µεθόδων θα αναπτύξει την κριτική σκέψη ενώ ταυτόχρονα θα µπορέσει να αντιληφθεί πλεονεκτήµατα και µειονεκτήµατα των διαφόρων τεχνικών προσέγγισης και επίλυσης του συγκεκριµένου προβλήµατος.. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση των k-mean αλγορίθµων και των παραλλαγών του αλλά και την αναγκαιότητα οµαδοποίησης δεδοµένων, και σύγκριση αυτών των τεχνικών και αποτύπωσης αυτής της σύγκρισης των διαφόρων τεχνικών τόσο πρακτικά όσο και θεωρητικά. 1. οµές δεδοµένων και Αλγόριθµοι, 2. Αλγόριθµοι και Πολυπλοκότητα, 3. Πολύ καλή γνώση προγραµµατισµού. 1. Mehmed Kantardzic, Data Mining: Concepts, Models, Methods, and Algorithms, John Wiley & Sons, 200. 2. A. Jain and R. Dubes, Algorithms for Clustering Data, Prentice Hall, 1988. 3. Laurence Boxer and Russ Miller, Algorithms Sequential and Parallel: A Unified Approach, Charles River Media Computer Engineering, 2005. 4. Η. Σάββας, Αλγόριθµοι και Πολυπλοκότητα, Λάρισα, 2007. 5. Παναγιώτης Μποζάνης, Αλγόριθµοι: Σχεδιασµός και Ανάλυση, Εκδόσεις Τζιόλα, Θεσσαλονίκη 2003. 6. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 7. D. Mount, Algorithms, Lecture Notes, Dept. of Computer Science, University of Maryland, 1998. 3/26

ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά Περιγραφή Θέµατος Σκοπός - Αναµενόµενα Αποτελέσµατα e-mail: savvas@teilar.gr Τηλ: 2410 684459 ιερεύνηση και αξιολόγηση αλγορίθµων οπισθοδρόµησης Αλγόριθµοι, οπισθοδρόµηση, σύγκριση αλγορίθµων Η τεχνική των αλγορίθµων οπισθοδρόµησης αποτελεί µία από τις αρτιότερες τεχνικές επίλυσης δύσκολων προβληµάτων. Αποτελούν µία βελτίωση των brute force µεθόδων όπου πολλές πιθανές λύσεις του προβλήµατος εγκαταλείπονται και δεν εξετάζονται µε βάση κάποιες ιδιότητες του προβλήµατος. Η παρούσα πτυχιακή θα ασχοληθεί αρχικά µε µία γενική παρουσίαση όλων των αλγοριθµικών µεθόδων επίλυσης προβληµάτων και µετά µε την πλήρη παρουσίαση (και εµβάθυνση) της προαναφερθείσας τεχνικής. Στην συνέχεια θα ασχοληθεί µε τουλάχιστον τρία προβλήµατα που δέχονται επίλυση κάνοντας χρήση της µεθόδου αυτής ενώ παράλληλα θα τα επιλύσει και µε κάποιες άλλες µεθόδους. Τέλος, θα συγκρίνει την πολυπλοκότητα των χρησιµοποιηθέντων µεθόδων τόσο θεωρητικά (µε χρήση των συναρτήσεων πολυπλοκότητας και κυρίως του µεγάλου Ο) όσο και πρακτικά, δηλαδή υλοποιώντας τους αλγορίθµους σε κάποια γλώσσα προγραµµατισµού και συγκρίνοντας τους χρόνους εκτέλεσης αυτών των προγραµµάτων. Η πτυχιακή θα κλείσει µε κάποια συµπεράσµατα τα οποία θα αναφέρονται στις δυνατότητες της µεθόδου καθώς επίσης και στην σύγκρισή της µε άλλες αλγοριθµικές τεχνικές. O σκοπός της παρούσας πτυχιακής είναι η εµβάθυνση του φοιτητή σε αλγοριθµικές τεχνικές αλλά και η καλή γνώση και χρήση των συναρτήσεων πολυπλοκότητας. Επίσης, η σύγκριση των µεθόδων θα αναπτύξει την κριτική σκέψη ενώ ταυτόχρονα θα µπορέσει να αντιληφθεί πλεονεκτήµατα και µειονεκτήµατα των διαφόρων τεχνικών προσέγγισης και επίλυσης δύσκολων προβληµάτων. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση όλων των γνωστών αλγοριθµικών µεθόδων µε επιπλέον εµβάθυνση στην τεχνική της οπισθοδρόµησης και αφετέρου η δυνατότητα σύγκρισης και αποτύπωσης αυτής της σύγκρισης των διαφόρων τεχνικών τόσο πρακτικά όσο και θεωρητικά. 4/26

Προαπαιτούµενες Γνώσεις Ενδεικτική Βιβλιογραφία 1. C, ή C++ ή C# ή Java 2. οµές δεδοµένων και Αλγόριθµοι, 3. Αλγόριθµοι και Πολυπλοκότητα, 4. Προγραµµατισµός Ι, Προγραµµατισµός ΙΙ, Προγραµµατισµός ΙΙΙ, Προχωρηµένες Τεχνικές Προγραµµατισµού 5. Excel ή MatLab ή οποιοδήποτε στατιστικό λογισµικό 1. Φ. Αφράτη, και Γ. Παπαγεωργίου, «Αλγόριθµοι: Μέθοδοι Σχεδίασης Και Ανάλυση Πολυπλοκότητας», Εκδόσεις Συµµετρία, Αθήνα, 1993. 2. Παναγιώτης Μποζάνης, Αλγόριθµοι: Σχεδιασµός και Ανάλυση, Εκδόσεις Τζιόλα, Θεσσαλονίκη 2003. 3. Η. Σάββας, Αλγόριθµοι και Πολυπλοκότητα, Λάρισα, 2007 4. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 5. D. Mount, Algorithms, Lecture Notes, Dept. of Computer Science, University of Maryland, 1998. 6. R. Sedgewick, Algorithms In C, Addison Wesley Publishing Company, USA, 1998. 5/26

Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά Περιγραφή Θέµατος Σκοπός - Αναµενόµενα ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής e-mail: savvas@teilar.gr Τηλ: 2410 684459 ιερεύνηση και αξιολόγηση αλγορίθµων µε την µέθοδο του υναµικού Προγραµµατισµού Αλγόριθµοι, δυναµικός προγραµµατισµός, σύγκριση αλγορίθµων Η τεχνική του υναµικού Προγραµµατισµού χρησιµοποιεί µία bottom-up προσέγγιση και εκτίµηση υπο-λύσεων ενός προβλήµατος τις οποίες συνδυάζει ώστε να βρει την ολική λύση. Συνήθως αυτή η µέθοδος χρησιµοποιείται σε προβλήµατα βελτιστοποίησης τα οποία σχετίζονται µε πολλές λύσεις αλλά και µία τιµή κόστους για κάθε µία από αυτές. Η τεχνική µοιάζει αρκετά µε την «ιαίρει και Βασίλευε» σε ότι αφορά µε την διαίρεση του προβλήµατος σε µικρότερα και απλούστερα αλλά σε εδώ µπορεί και να µην είναι του ίδιου τύπου. Τα βασικά συστατικά των αλγορίθµων δυναµικού προγραµµατισµού είναι τα: α) ιαίρεση του προβλήµατος σε µικρότερα και απλούστερα µέρη, β) Αποθήκευση των λύσεων σε ένα πίνακα. Αυτό γίνεται γιατί πολλές αν όχι όλες από τις λύσεις των υπό-προβληµάτων πρόκειται να ξαναχρησιµοποιηθούν και να συνδυασθούν και δεν ενδείκνυται το να επιλυθούν ξανά και ξανά, και γ) Συνδυασµός των επιµέρους λύσεων του προβλήµατος ώστε να οδηγήσουν στην συνολική λύση. Η βασική διαφορά του δυναµικού προγραµµατισµού και της µεθόδου «διαίρει και βασίλευε» έγκειται στο γεγονός ότι ενώ στην «διαίρει και βασίλευε» οι επιµέρους λύσεις είναι ανεξάρτητες µεταξύ τους, στον δυναµικό προγραµµατισµό οι επιµέρους λύσεις είναι εξαρτώµενες. Η παρούσα πτυχιακή θα ασχοληθεί αρχικά µε µία γενική παρουσίαση όλων των αλγοριθµικών µεθόδων επίλυσης προβληµάτων και µετά µε την πλήρη παρουσίαση (και εµβάθυνση) της προαναφερθείσας τεχνικής. Στην συνέχεια θα ασχοληθεί µε τουλάχιστον τρία προβλήµατα που δέχονται επίλυση κάνοντας χρήση της µεθόδου αυτής ενώ παράλληλα θα τα επιλύσει και µε κάποιες άλλες µεθόδους. Τέλος, θα συγκρίνει την πολυπλοκότητα των χρησιµοποιηθέντων µεθόδων τόσο θεωρητικά (µε χρήση των συναρτήσεων πολυπλοκότητας και κυρίως του µεγάλου Ο) όσο και πρακτικά, δηλαδή υλοποιώντας τους αλγορίθµους σε κάποια γλώσσα προγραµµατισµού και συγκρίνοντας τους χρόνους εκτέλεσης αυτών των προγραµµάτων. Η πτυχιακή θα κλείσει µε κάποια συµπεράσµατα τα οποία θα αναφέρονται στις δυνατότητες της µεθόδου καθώς επίσης και στην σύγκρισή της µε άλλες αλγοριθµικές τεχνικές. O σκοπός της παρούσας πτυχιακής είναι η εµβάθυνση του φοιτητή σε 6/26

Αποτελέσµατα αλγοριθµικές τεχνικές αλλά και η καλή γνώση και χρήση των Προαπαιτούµενες Γνώσεις Ενδεικτική Βιβλιογραφία συναρτήσεων πολυπλοκότητας. Επίσης, η σύγκριση των µεθόδων θα αναπτύξει την κριτική σκέψη ενώ ταυτόχρονα θα µπορέσει να αντιληφθεί πλεονεκτήµατα και µειονεκτήµατα των διαφόρων τεχνικών προσέγγισης και επίλυσης δύσκολων προβληµάτων. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση όλων των γνωστών αλγοριθµικών µεθόδων µε επιπλέον εµβάθυνση στην τεχνική του υναµικού Προγραµµατισµού και αφετέρου η δυνατότητα σύγκρισης και αποτύπωσης αυτής της σύγκρισης των διαφόρων τεχνικών τόσο πρακτικά όσο και θεωρητικά. 1. C, ή C++ ή C# ή Java 2. οµές δεδοµένων και Αλγόριθµοι, 3. Αλγόριθµοι και Πολυπλοκότητα, 4. Προγραµµατισµός Ι, Προγραµµατισµός ΙΙ, Προγραµµατισµός ΙΙΙ, Προχωρηµένες Τεχνικές Προγραµµατισµού 5. Excel ή MatLab ή οποιοδήποτε στατιστικό λογισµικό 1. Φ. Αφράτη, και Γ. Παπαγεωργίου, «Αλγόριθµοι: Μέθοδοι Σχεδίασης Και Ανάλυση Πολυπλοκότητας», Εκδόσεις Συµµετρία, Αθήνα, 1993. 2. Παναγιώτης Μποζάνης, Αλγόριθµοι: Σχεδιασµός και Ανάλυση, Εκδόσεις Τζιόλα, Θεσσαλονίκη 2003. 3. Η. Σάββας, Αλγόριθµοι και Πολυπλοκότητα, Λάρισα, 2007 4. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 5. D. Mount, Algorithms, Lecture Notes, Dept. of Computer Science, University of Maryland, 1998. 6. R. Sedgewick, Algorithms In C, Addison Wesley Publishing Company, USA, 1998. 7/26

Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά Περιγραφή Θέµατος Σκοπός - Αναµενόµενα Αποτελέσµατα Προαπαιτούµενες Γνώσεις ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής e-mail: savvas@teilar.gr Τηλ: 2410 684459 Οργάνωση και ιαχείριση Αρχείων εδοµένων µε την Μέθοδο του Ευρετηρίου Αρχεία δεδοµένων, ευρετήρια, index Μία από τις πιο αποτελεσµατικές µεθόδους οργάνωσης και διαχείρισης αρχείων δεδοµένων είναι η µέθοδος του ευρετηρίου. Η τεχνική αυτή δηµιουργεί µικρά ανεξάρτητα αρχεία από το βασικό αρχείο µε βάση τα πεδία κλειδιά που θα ευρετηριασθούν ενώ ταυτόχρονα στα αρχεία ευρετήρια αποθηκεύει και την φυσική διεύθυνση της εγγραφής στο βασικό αρχείο. Τα αρχεία ευρετήρια είναι πάντα ταξινοµηµένα και φορτώνονται στην µνήµη (σε έναν ή περισσότερους πίνακες) όσο το αρχείο βρίσκεται σε χρήση. Τα αρχεία ευρετήρια ενηµερώνονται µετά το τέλος χρήσης του αρχείου ενώ ταυτόχρονα ανασυγκροτούνται σε περίπτωση που θα χρειαστούν νέα ταξινόµηση. Η αναζητήσεις στο βασικό αρχείο γίνονται µε βάση τα πεδία κλειδιά που έχουν ευρετηριασθεί και στην πραγµατικότητα η αναζήτηση γίνεται στα ευρετήρια. Εάν η ζητούµενη εγγραφή βρεθεί τότε ανακτάται και η φυσική της θέση οπότε µε µία προσπέλαση στο δίσκο η υπό αναζήτηση εγγραφή ανασύρεται. Η παρούσα πτυχιακή θα ασχοληθεί αρχικά µε µία γενική παρουσίαση των πιο γνωστών µεθόδων οργάνωσης αρχείων δεδοµένων. Στην συνέχεια θα εµβαθύνει στην µέθοδο των ευρετηρίων και θα υλοποιήσει µία σχετικά µεγάλη εφαρµογή κάνοντας χρήση αυτής της µεθόδου. Η πτυχιακή θα κλείσει µε κάποια συµπεράσµατα τα οποία θα αναφέρονται στις δυνατότητες της µεθόδου καθώς επίσης και στην σύγκρισή της µε άλλες τεχνικές. O σκοπός της παρούσας πτυχιακής είναι η εµβάθυνση του φοιτητή σε τεχνικές οργάνωσης αρχείων δεδοµένων και εµβάθυνση στην µέθοδο των ευρετηρίων. Επίσης, η σύγκριση των µεθόδων θα αναπτύξει την κριτική σκέψη ενώ ταυτόχρονα θα µπορέσει να αντιληφθεί πλεονεκτήµατα και µειονεκτήµατα των διαφόρων τεχνικών προσέγγισης της οργάνωσης των αρχείων.. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση των πιο γνωστών τεχνικών οργάνωσης αρχείων µε επιπλέον εµβάθυνση στην τεχνική των ευρετηρίων και αφετέρου η δυνατότητα σύγκρισης και αποτύπωσης αυτής της σύγκρισης των διαφόρων τεχνικών τόσο πρακτικά όσο και θεωρητικά. 1. C, ή C++ ή C# 8/26

Ενδεικτική Βιβλιογραφία 2. οµές δεδοµένων και Αλγόριθµοι, 3. Αλγόριθµοι και Πολυπλοκότητα, 4. Προγραµµατισµός Ι, Προγραµµατισµός ΙΙ, Προγραµµατισµός ΙΙΙ, Προχωρηµένες Τεχνικές Προγραµµατισµού 5. Οργάνωση & ιαχείριση Αρχείων εδοµένων 1. Η. Σάββας, Προγραµµατισµός ΙΙ, Λάρισα, 2007 2. Μ. J. Folk and B. Zoellick, File Structures, Addison-Wesley Publishing Company, 1992 3. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 9/26

Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά Περιγραφή Θέµατος Σκοπός - Αναµενόµενα Αποτελέσµατα ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής e-mail: savvas@teilar.gr Τηλ: 2410 684459 Ηλεκτρονικός Συντάκτης Ειδήσεων ιαδίκτυο, συντάκτης ειδήσεων, τεχνικές οµαδοποίησης Τα τελευταία χρόνια το ιαδίκτυο συγκεντρώνει το ενδιαφέρον όλο και περισσότερων ανθρώπων από όλο τον κόσµο. Το µεγαλύτερο ποσοστό των χρηστών του ιαδικτύου το βλέπει σαν µία αστείρευτη πηγή πληροφοριών τόσο σχετικά σταθερών (εγκυκλοπαίδειες) όσο και δυναµικών που µεταβάλλονται ταχύτατα (ειδήσεις). Η πλειονότητα των δηµοσιογραφικών οργανισµών έχει ανταποκριθεί στο ενδιαφέρον των αναγνωστών τους σε σχέση µε την ηλεκτρονική πληροφόρηση και έτσι διατηρούν ιστοσελίδες µε πλούσιο ειδησεογραφικό περιεχόµενο το οποίο ενηµερώνουν άµεσα. Οι χρήστε του ιαδικτύου µπορούν πλέον να επιλέξουν το είδος των ειδήσεων που τους ενδιαφέρει (αθλητικά, πολιτικά, καλλιτεχνικά, κ.α.) ανάµεσα από χιλιάδες πηγές ειδήσεων οι οποίες προέρχονται από διαφορετικούς συντάκτες (πχ BBC, CNN, κ.α.). Αυτό βέβαια αυξάνει τις απαιτήσεις των χρηστών οι οποίοι θα προτιµούσαν να µαθαίνουν αµέσως τους ιστοτόπους ακριβώς των ειδήσεων που τους ενδιαφέρει και όχι να ψάχνουν να τις βρουν ανάµεσα σε χιλιάδες σελίδες. Η παρούσα πτυχιακή θα ασχοληθεί µε αυτό ακριβώς το θέµα. ηλαδή, την συγκέντρωση και οµαδοποίηση παρεµφερών ειδήσεων οι οποίες µπορεί να παρέχονται από διαφορετικούς συντάκτες ώστε να τοποθετούνται όλες στον ίδιο χώρο µε αποτέλεσµα την ευκολότερη πρόσβαση σε αυτές. O σκοπός της παρούσας πτυχιακής σε πρώτη φάση είναι η περισυλλογή ειδήσεων οι οποίες προέρχονται από διαφορετικές πηγές. Σε δεύτερη φάση, όλες οι ειδήσεις που προέρχονται από διαφορετικούς συντάκτες αλλά παρουσιάζουν σηµαντική οµοιότητα ανάµεσα τους θα χαρακτηρίζονται κοινές ειδήσεις και θα εντάσσονται στο ίδιο θέµα. Μετά την δηµιουργία ενός θέµατος αυτό θα κατηγοριοποιείται ανάλογα µε το περιεχόµενό του. Τέλος, µετά την συγκέντρωση και αξιολόγηση των ειδήσεων θα µπορούν πλέον οι χρήστες να διαβάζουν ένα µικρό µέρος των ειδήσεων και εάν κάποια τους ενδιαφέρει περισσότερο θα µπορούν να µεταβούν στην πηγαία ιστοσελίδα µέσω των υπέρ-συνδέσµων και όπου να διαβάζουν ολόκληρη την είδηση. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση 10/26

Προαπαιτούµενες Γνώσεις Ενδεικτική Βιβλιογραφία των τεχνολογιών JAVA, Database Server, Web Server, RSS και αφετέρου η δυνατότητα η µελέτη τεχνικών και µεθόδων οµαδοποίησης δεδοµένων (data clustering) τόσο πρακτικά όσο και θεωρητικά. 1. C# ή Java 2. οµές δεδοµένων και Αλγόριθµοι, 3. Αλγόριθµοι και Πολυπλοκότητα, 4. MySQL 5. RSS 6. XML 7. Clustering Algorithms 1. Rebecca Riordan, Προγραµµατισµός στο Microsoft SQL Srver, Κλειδάριθµος 2. Γιώργος Λιακέας, Εισαγωγή στην JAVA 2, Κλειδάριθµος 3. Η. Σάββας, Αλγόριθµοι και Πολυπλοκότητα, Λάρισα, 2007 4. Mehmed Kantardzic, Data Mining: Concepts, Models, Methods, and Algorithms, John Wiley & Sons, 200. 5. A. Jain and R. Dubes, Algorithms for Clustering Data, Prentice Hall, 1988. 6. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 7. D. Mount, Algorithms, Lecture Notes, Dept. of Computer Science, University of Maryland, 1998. 8. R. Sedgewick, Algorithms In C, Addison Wesley Publishing Company, USA, 1998. 11/26

Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά Περιγραφή Θέµατος Σκοπός - Αναµενόµενα Αποτελέσµατα Προαπαιτούµενες Γνώσεις ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής e-mail: savvas@teilar.gr Τηλ: 2410 684459 ιερεύνηση Παράλληλων Αλγορίθµων Παράλληλοι αλγόριθµοι, πολυπλοκότητα, παράλληλοι υπολογιστές Η παράλληλη επεξεργασία αποτελεί µία από τις πιο ελπιδοφόρες τεχνικές µετά την ανακάλυψη των ηλεκτρονικών υπολογιστών Το πρόβληµα όµως που δηµιουργείται σε σχέση µε τον κλασσικό προγραµµατισµό είναι η ύπαρξη πολλών επεξεργαστών οι οποίοι µπορούν παράλληλα να επεξεργάζονται το ίδιο πρόβληµα µε αποτέλεσµα την δραµατική µείωση της υπολογιστικής πολυπλοκότητας του. Η παράλληλη επεξεργασία δηµιουργεί νέους τρόπους προσέγγισης και επίλυσης προβληµάτων και οι οποίοι εκτός των άλλων εξαρτώνται και από τον τύπο της διαθέσιµης παράλληλης µηχανής (SIMD, MIMD, SPMD, κ.α). Η πτυχιακή θα ασχοληθεί µε την διερεύνηση υπαρχόντων παράλληλων αλγορίθµων οι οποίοι εφαρµόζονται σε διαφορετικές παράλληλες πλατφόρµες τόσο θεωρητικά όσο και πρακτικά στον νέο παράλληλο υπολογιστή (DELL 32 επεξεργαστές) που διαθέτει το τµήµα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών. Επίσης, θα συγκρίνει την υπολογιστική πολυπλοκότητά τους µε την αντίστοιχη των σειριακών αλγορίθµων και τέλος θα αναπτύξει και υλοποιήσει κάποιους αλγόριθµους που επιλύουν προβλήµατα που ανήκουν στην επιστήµη της Βιολογίας όπως string matching τεχνικές. O σκοπός της παρούσας πτυχιακής είναι η εµβάθυνση του φοιτητή σε παράλληλες αλγοριθµικές τεχνικές οι οποίες διαφοροποιούνται ανάλογα µε την παράλληλη υπολογιστική µηχανή αλλά και η καλή γνώση και χρήση των συναρτήσεων πολυπλοκότητας. Επίσης, η σύγκριση των µεθόδων θα αναπτύξει την κριτική σκέψη ενώ ταυτόχρονα θα µπορέσει να αντιληφθεί πλεονεκτήµατα και µειονεκτήµατα των διαφόρων τεχνικών προσέγγισης και επίλυσης δύσκολων προβληµάτων. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση γνωστών παράλληλων αλγορίθµων και υπολογιστικών µηχανών µε επιπλέον εµβάθυνση και σύγκριση στις τεχνικές των string matching αλγορίθµων και αποτύπωσης αυτής της σύγκρισης των διαφόρων τεχνικών τόσο πρακτικά όσο και θεωρητικά. 1. οµές δεδοµένων και Αλγόριθµοι, 2. Αλγόριθµοι και Πολυπλοκότητα, 3. Πολύ καλή γνώση προγραµµατισµού. 12/26

Ενδεικτική Βιβλιογραφία 1. Ted Lewis, Introduction to Parallel Computing, Prentice- Hall, 1992. 2. Laurence Boxer and Russ Miller, Algorithms Sequential and Parallel: A Unified Approach, Charles River Media Computer Engineering, 2005. 3. Jerome Paul and Kenneth A. Berman, Algorithms: Sequential, Parallel, and Distributed, Course Technology Inc, 2004. 4. Michael J. Quinn, Parallel Computing: Theory and Practice, McGraw-Hill Education, 1994. 5. Ananth Grama, George Karypis, Vipin Kumar, and Anshul Gupta, Introduction to Parallel Computing, Pearson Education Limited, 2003. 6. Η. Σάββας, Αλγόριθµοι και Πολυπλοκότητα, Λάρισα, 2007 7. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 8. D. Mount, Algorithms, Lecture Notes, Dept. of Computer Science, University of Maryland, 1998. 13/26

Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά Περιγραφή Θέµατος Σκοπός - Αναµενόµενα Αποτελέσµατα ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής e-mail: savvas@teilar.gr Τηλ: 2410 684459 ιερεύνηση και αξιολόγηση ευρεστικών αλγορίθµων (Heuristics) Αλγόριθµοι, heuristics, ευρεστικοί αλγόριθµοι Πάρα πολλά προβλήµατα δεν είναι δυνατόν να αντιµετωπισθούν µε τις γνωστές αλγοριθµικές τεχνικές (αναδροµή, δυναµικός προγραµµατισµός, άπληστοι αλγόριθµοι, κ.α.) είτε γιατί τα προβλήµατα αυτά δεν έχουν λυθεί µέχρι σήµερα είτα γιατί η υπολογιστική πολυπλοκότητα τους είναι απαγορευτική ώστε να ευρεθεί η βέλτιστη λύση. Αναγκαστικά λοιπόν, σε τέτοιες περιπτώσεις είναι ικανοποιητική και µία «καλή» λύση η οποία να απέχει όσο το δυνατό λιγότερο από την βέλτιστη. Η προσέγγιση τέτοιων προβληµάτων γίνεται µα κάποιες µεθόδους οι οποίες ψάχνουν την εύρεση (ευρεστικοί αλγόριθµοι) µίας τέτοιας λύσης η οποία δεν αποτελεί την βέλτιστη αλλά είναι αποδεκτή χωρίς να µπορούν να εγγυηθούν το πόσο πλησίον είναι της βέλτιστης. Πάρα πολλά προβλήµατα (κυρίως συνδυαστικής φύσεως) έχουν αντιµετωπισθεί επιτυχώς µε αυτή την τεχνική η οποία έχει πλέον αναπτυχθεί σε τέτοιο βαθµό ώστε να κατηγοριοποιείται σε επιµέρους µεθοδολογίες. Οι βασικότερες από αυτές είναι οι simulated annealing, Tabu search, Genetic Algorithms, και νευρωνικά δίκτυα. Η παρούσα πτυχιακή θα ασχοληθεί αρχικά µε µία γενική παρουσίαση όλων των ευρεστικών αλγοριθµικών µεθόδων επίλυσης προβληµάτων και στην συνέχεια θα ασχοληθεί µε τουλάχιστον τρία προβλήµατα που δέχονται επίλυση κάνοντας χρήση των µεθόδων αυτών. Τέλος, θα υπολογίσει και αναλύσει την πολυπλοκότητα των χρησιµοποιηθέντων µεθόδων τόσο θεωρητικά (µε χρήση των συναρτήσεων πολυπλοκότητας και κυρίως του µεγάλου Ο) όσο και πρακτικά, δηλαδή υλοποιώντας τους αλγορίθµους σε κάποια γλώσσα προγραµµατισµού. Η πτυχιακή θα κλείσει µε κάποια συµπεράσµατα τα οποία θα αναφέρονται στις δυνατότητες των ευρεστικών µεθόδων καθώς επίσης και στην σύγκρισή της µε άλλες αλγοριθµικές τεχνικές. O σκοπός της παρούσας πτυχιακής είναι η εµβάθυνση του φοιτητή στους ευρεστικούς αλγόριθµους αλλά και η καλή γνώση και χρήση των συναρτήσεων πολυπλοκότητας. Επίσης, η σύγκριση των µεθόδων θα αναπτύξει την κριτική σκέψη ενώ ταυτόχρονα θα µπορέσει να αντιληφθεί πλεονεκτήµατα και µειονεκτήµατα των διαφόρων τεχνικών προσέγγισης και επίλυσης δύσκολων προβληµάτων. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση 14/26

Προαπαιτούµενες Γνώσεις Ενδεικτική Βιβλιογραφία των 4 ευρεστικών µεθόδων (simulated annealing, Tabu search, genetic algorithms και νευρωνικά δίκτυα και αφετέρου η δυνατότητα σύγκρισης και αποτύπωσης αυτής της σύγκρισης των διαφόρων τεχνικών τόσο πρακτικά όσο και θεωρητικά. 1. C, ή C++ ή C# ή Java 2. οµές δεδοµένων και Αλγόριθµοι, 3. Αλγόριθµοι και Πολυπλοκότητα, 4. Προγραµµατισµός Ι, Προγραµµατισµός ΙΙ, Προγραµµατισµός ΙΙΙ, Προχωρηµένες Τεχνικές Προγραµµατισµού 5. Excel ή MatLab ή οποιοδήποτε στατιστικό λογισµικό 1. Colin Reeves, Modern Heuristic Techniques for Combinatorial Problems, McGraw-Hill, 1995. 2. Z. Michalewicz, David B. Fogel, How to Solve It: Modern Heuristics, Springer, 1998. 3. Clark Moustakas, Heuristic Research: Design, Methodology, and Applications: Design, Methodology and Applications. 4. Φ. Αφράτη, και Γ. Παπαγεωργίου, «Αλγόριθµοι: Μέθοδοι Σχεδίασης Και Ανάλυση Πολυπλοκότητας», Εκδόσεις Συµµετρία, Αθήνα, 1993. 5. Η. Σάββας, Αλγόριθµοι και Πολυπλοκότητα, Λάρισα, 2007 6. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 7. D. Mount, Algorithms, Lecture Notes, Dept. of Computer Science, University of Maryland, 1998. 15/26

Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά Περιγραφή Θέµατος Σκοπός - Αναµενόµενα Αποτελέσµατα Προαπαιτούµενες Γνώσεις ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής e-mail: savvas@teilar.gr Τηλ: 2410 684459 Οργάνωση και ιαχείριση Αρχείων εδοµένων µε την Μέθοδο των B-trees Αρχεία δεδοµένων, ευρετήρια, B-trees, B+-trees, B*-tree Μία από τις πιο αποτελεσµατικές µεθόδους οργάνωσης και διαχείρισης αρχείων δεδοµένων είναι η µέθοδος των δυαδικών δέντρων αναζήτησης ή B-trees µε τις παραλλαγές τους B+trees και B*-trees.. Η τεχνική αυτή δηµιουργεί ένα αρχείο το οποίο συµπεριφέρεται όπως τα δυαδικά δέντρα αναζήτησης δηλαδή, το κλειδί κάθε εγγραφής είναι µεγαλύτερο από το κλειδί όλων των εγγραφών του αριστερού υπό-δέντρου του και µικρότερο όλων των εγγραφών του δεξιού υπό-δέντρου του. Σαν αποτέλεσµα αυτά τα αρχεία κάνουν αναζητήσεις και κατά συνέπεια διορθώσεις ή διαγραφές αλλά και εισαγωγές νέων εγγραφών σε O(logN) χρόνο εάν Ν είναι το πλήθος των ήδη υπαρχόντων εγγραφών. Βέβαια αυτή η υπολογιστική πολυπλοκότητα ισχύει σε ισορροπηµένα δέντρα αλλά δεν παύει να ανταποκρίνεται πάρα πολύ καλά και σε ελαφρώς µη ισορροπηµένα. Η παρούσα πτυχιακή θα ασχοληθεί αρχικά µε µία γενική παρουσίαση των πιο γνωστών µεθόδων οργάνωσης αρχείων δεδοµένων. Στην συνέχεια θα εµβαθύνει στην µέθοδο των B-trees, Β+trees και B*-trees και θα υλοποιήσει µία σχετικά µεγάλη εφαρµογή κάνοντας χρήση της µεθόδου των B-trees. Η πτυχιακή θα κλείσει µε κάποια συµπεράσµατα τα οποία θα αναφέρονται στις δυνατότητες της µεθόδου καθώς επίσης και στην σύγκρισή της µε άλλες τεχνικές. O σκοπός της παρούσας πτυχιακής είναι η εµβάθυνση του φοιτητή σε τεχνικές οργάνωσης αρχείων δεδοµένων και εµβάθυνση στην µέθοδο των Β-trees. Επίσης, η σύγκριση των µεθόδων θα αναπτύξει την κριτική σκέψη ενώ ταυτόχρονα θα µπορέσει να αντιληφθεί πλεονεκτήµατα και µειονεκτήµατα των διαφόρων τεχνικών προσέγγισης της οργάνωσης των αρχείων.. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση των πιο γνωστών τεχνικών οργάνωσης αρχείων µε επιπλέον εµβάθυνση στην τεχνική των Β-trees και αφετέρου η δυνατότητα σύγκρισης και αποτύπωσης αυτής της σύγκρισης των διαφόρων τεχνικών τόσο πρακτικά όσο και θεωρητικά. 1. C, ή C++ ή C# 2. οµές δεδοµένων και Αλγόριθµοι, 16/26

Ενδεικτική Βιβλιογραφία 3. Αλγόριθµοι και Πολυπλοκότητα, 4. Προγραµµατισµός Ι, Προγραµµατισµός ΙΙ, Προγραµµατισµός ΙΙΙ, Προχωρηµένες Τεχνικές Προγραµµατισµού 5. Οργάνωση & ιαχείριση Αρχείων εδοµένων 1. Η. Σάββας, Προγραµµατισµός ΙΙ, Λάρισα, 2007 2. Μ. J. Folk and B. Zoellick, File Structures, Addison-Wesley Publishing Company, 1992 3. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 17/26

Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά Περιγραφή Θέµατος Σκοπός - Αναµενόµενα Αποτελέσµατα ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής e-mail: savvas@teilar.gr Τηλ: 2410 684459 AVL - trees Αρχεία δεδοµένων, ευρετήρια, B-trees, B+-trees, B*-trees, AVL trees Αυτή η πτυχιακή στην ουσία αποτελεί συνέχεια της πτυχιακής «Οργάνωση και ιαχείριση Αρχείων εδοµένων µε την Μέθοδο των B-trees». Μία από τις πιο αποτελεσµατικές µεθόδους οργάνωσης και διαχείρισης αρχείων δεδοµένων είναι η µέθοδος των δυαδικών δέντρων αναζήτησης ή B-trees µε τις παραλλαγές τους B+trees και B*-trees.. Η τεχνική αυτή δηµιουργεί ένα αρχείο το οποίο συµπεριφέρεται όπως τα δυαδικά δέντρα αναζήτησης δηλαδή, το κλειδί κάθε εγγραφής είναι µεγαλύτερο από το κλειδί όλων των εγγραφών του αριστερού υπό-δέντρου του και µικρότερο όλων των εγγραφών του δεξιού υπό-δέντρου του. Σαν αποτέλεσµα αυτά τα αρχεία κάνουν αναζητήσεις και κατά συνέπεια διορθώσεις ή διαγραφές αλλά και εισαγωγές νέων εγγραφών σε O(logN) χρόνο εάν Ν είναι το πλήθος των ήδη υπαρχόντων εγγραφών. Βέβαια αυτή η υπολογιστική πολυπλοκότητα ισχύει σε ισορροπηµένα δέντρα και κατά συνέπεια χρειάζεται να εφαρµοσθεί κάποια τεχνική η οποία να ισορροπεί το δυαδικό δέντρο. Μία από τις πιο αποτελεσµατικές τέτοιες µεθόδους είναι τα ονοµαζόµενα AVL trees. Η τεχνική αυτή κατά την είσοδο κάθε νέας εγγραφής στο αρχείο εξετάζει εάν έχει διαταραχθεί η ισορροπία του δέντρου και σε περίπτωση που έχει διαταραχθεί µε ελάχιστες µετακινήσεις εγγραφών την επαναφέρει χωρίς στην ουσία να αυξάνει την υπολογιστική πολυπλοκότητα της εισόδου νέας εγγραφής. Η παρούσα πτυχιακή θα ασχοληθεί αρχικά µε µία γενική παρουσίαση των πιο γνωστών µεθόδων οργάνωσης αρχείων δεδοµένων. Στην συνέχεια θα εµβαθύνει στην µέθοδο των B-trees,όπου θα εξετάσει την τεχνική των AVL-trees και θα υλοποιήσει µία σχετικά µεγάλη εφαρµογή κάνοντας χρήση της µεθόδου των B-trees / AVL-trees. Η πτυχιακή θα κλείσει µε κάποια συµπεράσµατα τα οποία θα αναφέρονται στις δυνατότητες της µεθόδου καθώς επίσης και στην σύγκρισή της µε άλλες τεχνικές. O σκοπός της παρούσας πτυχιακής είναι η εµβάθυνση του φοιτητή σε τεχνικές οργάνωσης αρχείων δεδοµένων και εµβάθυνση στην µέθοδο των Β-trees µε ταυτόχρονη χρήση της µεθόδου ισορρόπησης που προσφέρουν τα AVL-trees.. Επίσης, η σύγκριση των µεθόδων θα αναπτύξει την κριτική σκέψη ενώ ταυτόχρονα θα µπορέσει να 18/26

Προαπαιτούµενες Γνώσεις Ενδεικτική Βιβλιογραφία αντιληφθεί πλεονεκτήµατα και µειονεκτήµατα των διαφόρων τεχνικών προσέγγισης της οργάνωσης των αρχείων.. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση των πιο γνωστών τεχνικών οργάνωσης αρχείων µε επιπλέον εµβάθυνση στην τεχνική των Β-trees / AVL-trees και αφετέρου η δυνατότητα σύγκρισης και αποτύπωσης αυτής της σύγκρισης των διαφόρων τεχνικών τόσο πρακτικά όσο και θεωρητικά. 1. C, ή C++ ή C# 2. οµές δεδοµένων και Αλγόριθµοι, 3. Αλγόριθµοι και Πολυπλοκότητα, 4. Προγραµµατισµός Ι, Προγραµµατισµός ΙΙ, Προγραµµατισµός ΙΙΙ, Προχωρηµένες Τεχνικές Προγραµµατισµού 5. Οργάνωση & ιαχείριση Αρχείων εδοµένων 1. Η. Σάββας, Προγραµµατισµός ΙΙ, Λάρισα, 2007 2. Μ. J. Folk and B. Zoellick, File Structures, Addison-Wesley Publishing Company, 1992 3. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 19/26

Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά Περιγραφή Θέµατος Σκοπός - Αναµενόµενα Αποτελέσµατα ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής e-mail: savvas@teilar.gr Τηλ: 2410 684459 Hash Files Αρχεία δεδοµένων, ευρετήρια, B-trees, hash files, hash functions. Μία από τις πιο αποτελεσµατικές µεθόδους οργάνωσης και διαχείρισης αρχείων δεδοµένων είναι η µέθοδος των Hash files. Η τεχνική αυτή δηµιουργεί ένα αρχείο όπου η κάθε εγγραφή εισάγεται σε µία µοναδική θέση η οποία µε την σειρά της υπολογίζεται µε βάση το κλειδί της εγγραφής και µίας συνάρτησης που παράγει µία φυσική θέση στο αρχείο της συνάρτησης hash. H hash συνάρτηση παράγει έναν αριθµό (την φυσική θέση της εγγραφής στο αρχείο) ο οποίος είναι µοναδικός. Σε περίπτωση που δεν είναι µοναδικός (περίπτωση σύγκρουσης κλειδιών) διάφορες µέθοδοι επιλύουν το πρόβληµα όπως για παράδειγµα µε την δηµιουργία περιοχών υπερχείλισης ή µε την προσθήκη µίας δεύτερης hashing συνάρτησης κ.ο.κ. Σαν αποτέλεσµα αυτά τα αρχεία κάνουν αναζητήσεις και κατά συνέπεια διορθώσεις ή διαγραφές αλλά και εισαγωγές νέων εγγραφών σε O(1) χρόνο. Το βασικό µειονέκτηµα είναι η περίπτωση διαχείρισης των συγκρούσεων κλειδιών αλλά και ο µεγάλος όγκος του αρχείου που δηµιουργεί σε σχέση µε τις εγγραφές που είναι αποθηκευµένες. Η παρούσα πτυχιακή θα ασχοληθεί αρχικά µε µία γενική παρουσίαση των πιο γνωστών µεθόδων οργάνωσης αρχείων δεδοµένων. Στην συνέχεια θα εµβαθύνει στην µέθοδο των hash files και θα υλοποιήσει µία σχετικά µεγάλη εφαρµογή κάνοντας χρήση αυτής της µεθόδου αλλά χρησιµοποιώντας διάφορες τεχνικές χειρισµού των συγκρούσεων. Η πτυχιακή θα κλείσει µε κάποια συµπεράσµατα τα οποία θα αναφέρονται στις δυνατότητες της µεθόδου καθώς επίσης και στην σύγκρισή της µε άλλες τεχνικές. O σκοπός της παρούσας πτυχιακής είναι η εµβάθυνση του φοιτητή σε τεχνικές οργάνωσης αρχείων δεδοµένων και εµβάθυνση στην µέθοδο των hash files. Επίσης, η σύγκριση των µεθόδων θα αναπτύξει την κριτική σκέψη ενώ ταυτόχρονα θα µπορέσει να αντιληφθεί πλεονεκτήµατα και µειονεκτήµατα των διαφόρων τεχνικών προσέγγισης της οργάνωσης των αρχείων.. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση των πιο γνωστών τεχνικών οργάνωσης αρχείων µε επιπλέον εµβάθυνση στην τεχνική των hash files και αφετέρου η δυνατότητα σύγκρισης και αποτύπωσης αυτής της σύγκρισης των διαφόρων τεχνικών τόσο πρακτικά όσο και θεωρητικά. 20/26

Προαπαιτούµενες Γνώσεις Ενδεικτική Βιβλιογραφία 1. C, ή C++ ή C# 2. οµές δεδοµένων και Αλγόριθµοι, 3. Αλγόριθµοι και Πολυπλοκότητα, 4. Προγραµµατισµός Ι, Προγραµµατισµός ΙΙ, Προγραµµατισµός ΙΙΙ, Προχωρηµένες Τεχνικές Προγραµµατισµού 5. Οργάνωση & ιαχείριση Αρχείων εδοµένων 1. Η. Σάββας, Προγραµµατισµός ΙΙ, Λάρισα, 2007 2. H. Σάββας, Αλγόριθµοι & Πολυπλοκότητα, Λάρισα, 2007. 3. Μ. J. Folk and B. Zoellick, File Structures, Addison-Wesley Publishing Company, 1992 4. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 5. Robert Sedgewick, Algorithms, Addison-Wesley Publishing Company, 1983 21/26

Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά Περιγραφή Θέµατος Σκοπός - Αναµενόµενα ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής e-mail: savvas@teilar.gr Τηλ: 2410 684459 ιερεύνηση Αλγορίθµων Γεωµετρικών Προβληµάτων Αλγόριθµοι, γεωµετρία, geometric algorithms, υπολογιστική πολυπλοκότητα Οι υπολογιστές χρησιµοποιούνται όλο και πιο πολύ στην επίλυση µεγάλης κλίµακας προβληµάτων τα οποία έχουν εµπεριέχουν γεωµετρική δοµή. Γεωµετρικά αντικείµενα όπως για παράδειγµα σηµεία, ευθείες, και πολύγωνα αποτελούν την βάση από µία µεγάλη ποικιλία σηµαντικών εφαρµογών και τα οποία δίνουν το έναυσµα της ανάπτυξης ενδιαφερόντων αλγορίθµων. Οι αλγόριθµοι γεωµετρικών προβληµάτων βρίσκουν εφαρµογή στην σχεδίαση και ανάλυση φυσικών αντικειµένων τα οποία µπορεί να είναι κτίρια, αυτοκίνητα µέχρι και µεγάλης κλίµακας ολοκληρωµένα κυκλώµατα αλλά και στα γραφικά των υπολογιστών. Σε αντίθεση µε άλλα προβλήµατα, τα γεωµετρικά προβλήµατα µπορούν πολύ εύκολα να γίνουν ορατά και κατ επέκταση να λυθούν σε µία κόλλα χαρτί αλλά απαιτούν αρκετά πολύπλοκους αλγόριθµους για να υλοποιηθούν. Για παράδειγµα το πρόβληµα «δοθέντος ενός κυρτού πολυγώνου και ενός σηµείου, βρίσκεται το σηµείο εντός ή εκτός του πολυγώνου» ενώ είναι ένα απλό πρόβληµα εάν σχεδιαστεί το πολύγωνο και στην συνέχεια αποτυπωθεί και το σηµείο όµως για την γενίκευση αυτού του προβλήµατος και την ανάπτυξη ενός αλγόριθµου που να το επιλύει χρειάζονται ιδιαίτερα πολύπλοκες τεχνικές και γνώσεις. Και µάλιστα η τεχνική επίλυσης σε χαρτί είναι εντελώς διαφορετική από την τεχνική επίλυσης σε έναν υπολογιστή. Η παρούσα πτυχιακή θα ασχοληθεί αρχικά µε µία γεωµετρικών προβληµάτων όπως τα α) Στοιχειώδη γεωµετρικά προβλήµατα (σηµεία, γραµµές, πολύγωνα, τοµή γραµµών), β) Το πρόβληµα του κυρτού περιβλήµατος (the convex hull problem), και γ) Το πρόβληµα του πλησιέστερου σηµείου (the closest point problem). Τέλος, θα συγκρίνει την πολυπλοκότητα των χρησιµοποιηθέντων µεθόδων τόσο θεωρητικά (µε χρήση των συναρτήσεων πολυπλοκότητας και κυρίως του µεγάλου Ο) όσο και πρακτικά, δηλαδή υλοποιώντας τους αλγορίθµους σε κάποια γλώσσα προγραµµατισµού και συγκρίνοντας τους χρόνους εκτέλεσης αυτών των προγραµµάτων. Η πτυχιακή θα κλείσει µε κάποια συµπεράσµατα τα οποία θα αναφέρονται στις δυνατότητες της χρήσης των γεωµετρικών αλγορίθµων. O σκοπός της παρούσας πτυχιακής είναι η εµβάθυνση του φοιτητή σε 22/26

Αποτελέσµατα αλγοριθµικές τεχνικές που αφορούν γεωµετρικά προβλήµατα αλλά Προαπαιτούµενες Γνώσεις Ενδεικτική Βιβλιογραφία και η καλή γνώση και χρήση των συναρτήσεων πολυπλοκότητας. Επίσης, η σύγκριση των µεθόδων θα αναπτύξει την κριτική σκέψη ενώ ταυτόχρονα θα µπορέσει να αντιληφθεί πλεονεκτήµατα και µειονεκτήµατα των διαφόρων τεχνικών προσέγγισης και επίλυσης δύσκολων προβληµάτων. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση πολλών γνωστών αλγορίθµων που επιλύουν γεωµετρικά προβλήµατα µε επιπλέον εµβάθυνση στις 4 προαναφερθείσες περιοχές και αφετέρου η δυνατότητα σύγκρισης και αποτύπωσης αυτής της σύγκρισης των διαφόρων τεχνικών τόσο πρακτικά όσο και θεωρητικά. 1. C, ή C++ ή C# ή Java 2. οµές δεδοµένων και Αλγόριθµοι, 3. Αλγόριθµοι και Πολυπλοκότητα, 4. Προγραµµατισµός Ι, Προγραµµατισµός ΙΙ, Προγραµµατισµός ΙΙΙ, Προχωρηµένες Τεχνικές Προγραµµατισµού 5. Excel ή MatLab ή οποιοδήποτε στατιστικό λογισµικό 1. Φ. Αφράτη, και Γ. Παπαγεωργίου, «Αλγόριθµοι: Μέθοδοι Σχεδίασης Και Ανάλυση Πολυπλοκότητας», Εκδόσεις Συµµετρία, Αθήνα, 1993. 2. Παναγιώτης Μποζάνης, Αλγόριθµοι: Σχεδιασµός και Ανάλυση, Εκδόσεις Τζιόλα, Θεσσαλονίκη 2003. 3. Η. Σάββας, Αλγόριθµοι και Πολυπλοκότητα, Λάρισα, 2007 4. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 5. D. Mount, Algorithms, Lecture Notes, Dept. of Computer Science, University of Maryland, 1998. 6. R. Sedgewick, Algorithms In C, Addison Wesley Publishing Company, USA, 1998. 23/26

Εισηγητής Τίτλος Πτυχιακής Εργασίας Λέξεις Κλειδιά Περιγραφή Θέµατος ρ. Σάββας Ηλίας, Επίκουρος Καθηγητής e-mail: savvas@teilar.gr Τηλ: 2410 684459 ιερεύνηση Αλγορίθµων Προβληµάτων Συµβολοσειρών (string algorithms) Αλγόριθµοι, συµβολοσειρές, αλγόριθµοι συµβολοσειρών, strings,string algorithms, υπολογιστική πολυπλοκότητα Υπάρχει µία τεράστια γκάµα προβληµάτων διαχείρισης συµβολοσειρών (συµβολοσειρά είναι ένα µία σειρά συµβόλων όπως γραµµάτων, αριθµών, ειδικών συµβόλων). Ενδεικτικά, µερικά από αυτά είναι τα ακόλουθα: Α) Αναζήτηση συµβολοσειρών: Οι συµβολοσειρές (λέξεις, αλλά και όχι µόνο) αποτελούν την βασική δοµή των προγραµµάτων επεξεργασίας κειµένου (Microsoft Word, κ.α.). Μία από τις βασικές διεργασίες σε ένα επεξεργαστή κειµένων είναι η αναζήτηση κάποιας τέτοιας συµβολοσειρά (λέξης). Το πρόβληµα αυτό είναι ιδιαίτερα σηµαντικό και πέρα από την επεξεργασία κειµένου και σε άλλες εφαρµογές όπως η Βιολογία όπου η αναζήτηση µίας διαδοχής γονιδίων στο DNA µπορεί να δώσει χρήσιµες πληροφορίες όπως οι κληρονοµικές ασθένειες. Β) Parsing: Πολλοί αλγόριθµοι έχουν αναπτυχθεί για την αναγνώριση σωστών προγραµµάτων (οποιασδήποτε γλώσσας προγραµµατισµού) και να αποσυνθέτουν αυτές τις δοµές σε απλούστερες οδηγίες ώστε να είναι δυνατή η µετάφρασή του σε γλώσσα µηχανής (compilation). Αυτή η διαδικασία ονοµάζεται parsing (ανάλυση λέξης). Γ) Συµπίεση αρχείων: Η διαδικασία της συµπίεσης ενός µεγάλου αρχείου είναι πολύτιµη σε σχέση µε τον χώρο που καταλαµβάνει το αρχείο σε ένα φυσικό µέσο αποθήκευσης όπως ο σκληρός δίσκος. Για παράδειγµα ο Huffman πρότεινε ένα διαφορετικά από τον ASCII τρόπο κωδικοποίησης της αλφαβήτου ο οποίος προσφέρει µία ικανοποιητική συµπίεση αρχείων κειµένου. ) Κρυπτογράφηση: Η κρυπτογράφηση είναι η διαδικασία όπου η κάθε συµβολοσειρά µετατρέπεται σε µία διαφορετική από την αρχική µορφή ώστε να µην είναι δυνατή η κατανοητή ανάγνωσή της από µη εξουσιοδοτηµένους ανθρώπους. Η παρούσα πτυχιακή θα ασχοληθεί ακριβώς µε τα προαναφερθέντα προβλήµατα και θα συγκρίνει την πολυπλοκότητα των χρησιµοποιηθέντων µεθόδων τόσο θεωρητικά (µε χρήση των συναρτήσεων πολυπλοκότητας και κυρίως του µεγάλου Ο) όσο και πρακτικά, δηλαδή υλοποιώντας τους αλγορίθµους σε κάποια γλώσσα προγραµµατισµού και συγκρίνοντας τους χρόνους εκτέλεσης αυτών 24/26

Σκοπός - Αναµενόµενα Αποτελέσµατα Προαπαιτούµενες Γνώσεις Ενδεικτική Βιβλιογραφία των προγραµµάτων. Η πτυχιακή θα κλείσει µε κάποια συµπεράσµατα τα οποία θα αναφέρονται στις δυνατότητες της χρήσης των αλγορίθµων οι οποίοι διαχειρίζονται συµβολοσειράς. O σκοπός της παρούσας πτυχιακής είναι η εµβάθυνση του φοιτητή σε αλγοριθµικές τεχνικές που αφορούν την διαχείριση συµβολοσειρών αλλά και η καλή γνώση και χρήση των συναρτήσεων πολυπλοκότητας. Επίσης, η σύγκριση των µεθόδων θα αναπτύξει την κριτική σκέψη ενώ ταυτόχρονα θα µπορέσει να αντιληφθεί πλεονεκτήµατα και µειονεκτήµατα των διαφόρων τεχνικών προσέγγισης και επίλυσης δύσκολων προβληµάτων. Τα αναµενόµενα αποτελέσµατα είναι αφενός µεν η άρτια εκµάθηση πολλών γνωστών αλγορίθµων που επιλύουν προβλήµατα που άπτονται την διαχείριση συµβολοσειρών µε επιπλέον εµβάθυνση στις 4 προαναφερθείσες περιοχές και αφετέρου η δυνατότητα σύγκρισης και αποτύπωσης αυτής της σύγκρισης των διαφόρων τεχνικών τόσο πρακτικά όσο και θεωρητικά. 1. C, ή C++ ή C# ή Java 2. οµές δεδοµένων και Αλγόριθµοι, 3. Αλγόριθµοι και Πολυπλοκότητα, 4. Προγραµµατισµός Ι, Προγραµµατισµός ΙΙ, Προγραµµατισµός ΙΙΙ, Προχωρηµένες Τεχνικές Προγραµµατισµού 5. Excel ή MatLab ή οποιοδήποτε στατιστικό λογισµικό 1. Φ. Αφράτη, και Γ. Παπαγεωργίου, «Αλγόριθµοι: Μέθοδοι Σχεδίασης Και Ανάλυση Πολυπλοκότητας», Εκδόσεις Συµµετρία, Αθήνα, 1993. 2. Παναγιώτης Μποζάνης, Αλγόριθµοι: Σχεδιασµός και Ανάλυση, Εκδόσεις Τζιόλα, Θεσσαλονίκη 2003. 3. Η. Σάββας, Αλγόριθµοι και Πολυπλοκότητα, Λάρισα, 2007 4. E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Algorithms, W.H. Freeman and Company, USA, 1998. 5. D. Mount, Algorithms, Lecture Notes, Dept. of Computer Science, University of Maryland, 1998. 6. R. Sedgewick, Algorithms In C, Addison Wesley Publishing Company, USA, 1998. 25/26

Το παρόν τεύχος δηµιουργήθηκε και εκδόθηκε στα πλαίσια του ΜΕΤΡΟ 2.2 «Αναµόρφωση Προγραµµάτων Σπουδών- ιεύρυνση» ΕΝΕΡΓΕΙΑ 2.2.2 «Ολοκλήρωση της ιεύρυνσης και Αναµόρφωση των Προγραµµάτων Σπουδών της Τριτοβάθµιας Εκπαίδευσης» ΚΑΤΗΓΟΡΙΑ ΠΡΑΞΕΩΝ 2.2.2.γ «Ενίσχυση των ΤΠΕ στην Τριτοβάθµια Εκπαίδευση» ΕΡΓΟ: «Ενίσχυση Σπουδών Πληροφορικής στο ΤΕΙ Λάρισας» ΥΠΟΕΡΓΟ: «Αυτεπιστασία-Αναµόρφωση του Π.Π. Σπουδών στο Τµήµα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών του ΤΕΙ Λάρισας» και συγχρηµατοδοτήθηκε από εθνικούς πόρους και πόρους της Ε.Ε. (Ευρωπαϊκό Κοινωνικό Ταµείο).