ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ - Χειμερινό Εξάμηνο 2008-09
Το μάθημα αυτό αποτελεί συνέχεια του μαθήματος ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ και αποτελεί μία
εμβάθυνση σε θέματα Δομών Δεδομένων και Αλγορίθμων με τη βοήθεια μαθηματικών εργαλείων.
Κατά το χειμερινό εξάμηνο 2007-2008, το μάθημα διδάχθηκε από τους Π. Κατσαρό και
Ι. Μανωλόπουλο, ενώ φέτος θα διδαχθεί από τους Κ. Τσίχλα και Γ. Μανωλόπουλο.
Για ιστορικούς λόγους διατηρείται η περσινή σελίδα του μαθήματος
εδώ.
Η παρούσα σελίδα αποτελεί ένα ημερολόγιο σχετικά με την πρόοδο του
μαθήματος. Το περιεχόμενο των διαλέξεων αντιστοιχεί σε κεφάλαια των σημειώσεων. Δεν υπάρχουν
διαφάνειες συνοδευτικές.Για λόγους αρχής, δεν πρόκειται να δοθούν περαιτέρω εξηγήσεις
σχετικά με την ύλη είτε δημοσίως (προφορικά ή με ανακοίνωση) είτε ιδιωτικώς με email κλπ.
Ανακοίνωση 11/2/2009 σχετικά με την εξεταστική των επι πτυχίω
Με βάση την απόφαση της Γενικής Συνέλευσης δικαίωμα εξέτασης στην περίοδο Ιανουαρίου-Φεβρουαρίου
έχουν μόνο οι επι πτυχίω φοιτητές. Για όσους επί πτυχίω φοιτητές παρέδωσαν απαλλακτικές εργασίες,
θα βγει αντίστοιχη βαθμολογία με βάση την επίδοσή τους στις πρώτες 6 εργασίες, όπως φαίνεται στη
συνέχεια της σελίδας.
Ανακοίνωση 5/2/2009 σχετικά με την ύλη
Βασικό βοήθημα μελέτης είναι οι σημειώσεις του μαθήματος, οι οποίες βρίσκονται υπό
συνεχή διαμόρφωση. Η παραδοθείσα και εξετασθησόμενη ύλη περιέχεται σε 11 κεφάλαια και
βρίσκεται εδώ.
Η αποστολή λίστας από τους αναγνώστες με παρατηρήσεις, εντοπισμό λαθών κλπ θα εκτιμηθεί.
Ανακοίνωση 16/1/2009 σχετικά με την παράδοση εργασιών
Όπως φαίνεται από την πρώτη παράγραφο, το υλικό και οι ασκήσεις του 10ου κεφαλαίου αναρτήθκαν στις 12/1/2009.
Επομένως, η τελική προθεσμία για την παράδοση (ηλεκτρονικώς μέχρι να τελειώσει η κατάληψη) της εργασίας για το 10ο κεφάλαιο,
αλλά και όλων των εκκρεμοτήτων των προηγουμένων κεφαλαίων, είναι η Δευτέρα 26/1/2009. Δεν θα γίνει δεκτή καμία εργασία
μετά την ημερομηνία αυτή.
Εκπόνηση εργασιών (2η διατύπωση στις 26/11)
Κάθε φοιτητής θα εκπονεί 3 ασκήσεις για κάθε διδασκόμενο κεφάλαιο, οι οποίες θα επιλέγονται ως εξής.
Ας θεωρήσουμε για παράδειγμα το 1ο Κεφάλαιο που έχει 16 ασκήσεις. Έστω ότι το ΑΕΜ ενός φοιτητή είναι 1234.
Τότε ο φοιτητής θα επιλέξει τις εργασίες "(1234 mod 16)+1", "(2*1234 mod 16)+1" και "(3*1234 mod 16)+1".
Πιθανώς, αναλόγως της τιμής του ΑΕΜ και του πλήθους των ασκήσεων του κάθε κεφαλαίου (πχ. 16 για το
1ο Κεφάλαιο) να μην είναι δυνατόν να προκύψουν 3 διαφορετικές ασκήσεις. Σε μία τέτοια περίπτωση
ας δοκιμασθεί με την ίδια λογική η συνάρτηση "(1233 mod 16)+1" κοκ, δηλαδή χρησιμοποιώντας
την τιμή ΑΕΜ-1. Προφανώς, στο 2ο Κεφάλαιο θα χρησιμοποιηθεί η συνάρτηση "(1234 mod 28)+1" κοκ. γιατί
το κεφάλαιο αυτό έχει 28 ασκήσεις.
Αν και η αρχική ανακοίνωση απαιτούσε οι εργασίες να αποστέλονται με email, εντούτοις για λόγους αξεπέραστων
δυσκολιών θα ακολουθηθεί η εξής ΝΕΑ διαδικασία. Κάθε εργασία θα υποβάλλεται γραπτώς στην ταχυδρομική θυρίδα
του Γ. Μανωλόπουλου, στη γραμματεία του ημιωρόφου. ΠΑΡΑΚΛΗΣΗ, στην πρώτη σελίδα θα πρέπει να γράφεται
ευκρινώς: (α) το ονοματεπώνυμο, (β) το αντίστοιχο κεφάλαιο, (γ) το ΑΕΜ, η συνάρτηση κατακερματισμού και οι
προκύπτουσες ασκήσεις. ΠΡΟΣΟΧΗ: όσοι απέστειλαν ηλεκτρονικώς κάποιες εργασίες, παρακαλούναι να τις
υποβάλλουν ΚΑΙ γραπτώς. Αν δεν υποβληθεί γραπτώς η εργασία, τότε ΔΕΝ θα βαθμολογηθεί
(ακόμη και αν έχει υποβληθεί ηλεκτρονικώς). Οι προθεσμίες έχουν ως εξής.
- την Τρίτη 18 Νοεμβρίου, τα Κεφάλαια 1, 2 και 3
- τη Δευτέρα 24 Νοεμβρίου, τα Κεφάλαιο 4,
- τη Δευτέρα 1 Δεκεμβρίου, το Κεφάλαιο 5,
- τη Δευτέρα 8 Δεκεμβρίου, το Κεφάλαιο 6,
- τη Δευτέρα 15 Δεκεμβρίου, το Κεφάλαιο 7,
- τη Δευτέρα 22 Δεκεμβρίου, το Κεφάλαιο 8.
- τη Δευτέρα 12 Ιανουαρίου, τα Κεφάλαια 9 και 10.
Παρακαλείσθε να ελέγχετε αυτή τη σελίδα για νεότερες ανακοινώσεις σχετικά με την επόνηση των εργασιών,
ιδίως όσοι δεν κάνετε την τιμή νά έρχεστε στις παραδόσεις.
Τα αποτελέσματα των εργασιών θα ανακοινώνται σταδιακά στη σελίδα αυτή.
- αποτελέσματα εργασίας για το 1ο Κεφάλαιο εδώ (ενημέρωση 28/12)
- αποτελέσματα εργασίας για το 2ο Κεφάλαιο εδώ (ενημέρωση 28/12)
- αποτελέσματα εργασίας για το 3ο Κεφάλαιο εδώ (ενημέρωση 28/12)
- αποτελέσματα εργασίας για το 4ο Κεφάλαιο εδώ (ενημέρωση 12/1)
- αποτελέσματα εργασίας για το 5ο Κεφάλαιο εδώ (ενημέρωση 16/1)
- αποτελέσματα εργασίας για το 6ο Κεφάλαιο εδώ (ενημέρωση 16/1)
- αποτελέσματα εργασίας για το 7ο Κεφάλαιο εδώ (ενημέρωση 30/5)
- αποτελέσματα εργασίας για το 8ο Κεφάλαιο εδώ (ενημέρωση 1/6)
- αποτελέσματα εργασίας για το 9ο Κεφάλαιο εδώ (ενημέρωση 1/6)
- αποτελέσματα εργασίας για το 10ο Κεφάλαιο εδώ (ενημέρωση 1/6)
- Συνολικά αποτελέσματα εδώ (ενημέρωση 1/6)
(Το κοκκινάκι δηλώνει "αντιγραφή", το ροζάκι δηλώνει "χρήση λάθος συνάρτησης", το κιτρινάκι δηλώνει "δεν παρεδόθη".
Κάθε άσκηση βαθμολογείται με κλάσμα του ένα, και το άθροισμα των τριών κλασμάτων πολλαπλασιάζεται με 3,33).
Για κάθε πρόβλημα, αποστείλετε email στη διεύθυνση manolopo@csd.auth.gr.
Δεν έχουν ελεγχθεί ακόμη μερικές καθυστερημένες εργασίες των κεφάλαίων 1-6 και οι διορθώσεις επί των σημειώσεων.
Η επόμενη ανακοίνωση θα είναι η τελική και θα αφορά αυτούς που ακόμη χρωστούν το μάθημα (δηλαδή, εκτός των επί πτυχίω
που πέρασαν το μάθημα το Φεβρουάριο.)
ΤΕΛΙΚΟΣ ΣΥΝΟΛΙΚΟΣ ΒΑΘΜΟΣ ΑΠΑΛΛΑΚΤΙΚΩΝ ΕΡΓΑΣΙΩΝ εδώ (ενημέρωση 2/6)
Πρόγραμμα διαλέξεων
- Οκτ.6. Διάλεξη 1η. Εισαγωγή.
- Οκτ.8. Διάλεξη 2η. Εισαγωγή.
- Οκτ.20. Διάλεξη 3η. Θεωρητικό υπόβαθρο.
- Οκτ.22. Διάλεξη 4η. Θεωρητικό υπόβαθρο.
- Οκτ.29. Διάλεξη 5η. Αναδρομικές εξισώσεις.
- Νοέμ.3. Διάλεξη 6η. Αναδρομικές εξισώσεις.
- Νοέμ.5. Διάλεξη 7η. Γεννήτριες συναρτήσεις.
- Νοέμ.10. Διάλεξη 8η. Βασικοί αλγόριθμοι.
- Νοέμ.12. Διάλεξη 9η. Βασικοί αλγόριθμοι.
- Νοέμ.19. Διάλεξη 10η. Αλγόριθμοι αναζήτησης.
- Νοέμ.24. Διάλεξη 11η. Αλγόριθμοι αναζήτησης και ταξινόμησης.
- Νοέμ.26. Διάλεξη 12η. Αλγόριθμοι ταξινόμησης.
- Δεκ.1. Διάλεξη 13η. Αλγόριθμοι ταξινόμησης. Στατιστικά διάταξης.
- Ιαν.21. Διάλεξη 14η. Τυχαίοι Αλγόριθμοι (Monte Carlo, Las Vegas, Sherwood).
- Ιαν.26 Διάλεξη 15η. Treaps, Bloom Φίλτρα, Λίστες Παράλειψης.
- Ιαν.28. Διάλεξη 16η. Τυχαίος Quicksort, Έλεγχος Πρώτων Αριθμών, Εισαγωγή
στην Επιμερισμένη Ανάλυση.
- Φεβ.2. Διάλεξη 17η. Τεχνικές Επιμερισμένης Ανάλυσης, Σωρός - Δυναμικός Πίνακας.
- Φεβ.4. Διάλεξη 18η. Αρθρωμένα Δέντρα - Ανάλυση της Εξάρθρωσης και της Προσπέλασης.
Βιβλιογραφία
- Anany Levitin: "Introduction to the Design and
Analysis of Algorithms", Addison Wesley, 2003. (Μετάφραση από τις Εκδόσεις Τζιόλα, 2008.)
- Παναγιώτης
Μποζάνης: "Αλγόριθμοι - Σχεδιασμός και Ανάλυση", Εκδόσεις Τζιόλα, 2003.
- Gregory Rawlings: "Αλγόριθμοι - Ανάλυση και Σύγκριση", Εκδόσεις Κριτική, 2004.
- Ιωάννης Μανωλόπουλος και Κωνσταντίνος Ζαχαρής: "Η Tέχνη της Αλγοριθμικής Επίλυσης
Προβλημάτων", Εκδόσεις Σαββάλα, 2002.
- Gilles Brassard and Paul Bratley: "Algorithmics - Theory and practice", 1st edition, Prentice Hall,
1988.
- Thomas Cormen, Charles Leiserson and Ronald Rivest: "Introduction to Algorithms", 1st edition,
MIT Press, 1990.
- Robert Sedgewick: "Algorithms in C, Part 5 - Graph
Algorithms", 3rd edition, Addison Wesley, 2002.
- Ellis Horowitz, Sartaj Sahni and Sanguthevar Rajasekaran: ""Computer Algorithms"", Computer
Science Press, 1998.
- Robert Sedgewick and Philippe Flajolet: "An Introduction to the Analysis of Algorithms", Addisson Wesley, 1996.
- Steven Skienna: "The
Algorithm Design Manual" Springer-Telos, 1998.
- Michael Goodrich and Roberto Tamassia: "Algorithm Design
Foundations, Analysis, and Internet Examples" John Wiley, 2002.
Ενημέρωση 11/2/2009.