Αλγόριθμοι και Πολυπλοκότητα (Άνοιξη 2007)

 

Περιγραφή

Στο μάθημα θα καλύψουμε τις μεθόδους διαίρει-και-βασίλευε, δυναμικού προγραμματισμού, και απληστίας και αρκετούς αλγόριθμους γραφημάτων. Συγκεκριμένα, θα συζητήσουμε την Αναζήτηση Πρώτα σε Πλάτος, την Αναζήτηση Πρώτα σε Βάθος και τις εφαρμογές τους, αλγόριθμους για τον υπολογισμό ενός Ελάχιστου Επικαλύπτοντος Δέντρου, αλγόριθμους για το πρόβλημα των Συντομότερων Μονοπατιών, και αλγόριθμους για τα προβλήματα της Μέγιστης Ροής και της Ροής Ελάχιστου Κόστους. Θα παρουσιάσουμε μερικά αντιπροσωπευτικά παραδείγματα πιθανοτικών αλγορίθμων. Θα επιχειρήσουμε ακόμη μια σύντομη εισαγωγή στη Θεωρία Υπολογιστικής Πολυπλοκότητας εστιάζοντας στις κλάσεις P και NP και στην έννοια της NP-πληρότητας και των αλγοριθμικών συνεπειών της.

Διδάσκοντες

Ύλη

Το μάθημα θα βασιστεί σε σημαντικό βαθμό στο βιβλίο του Π. Μποζάνη Αλγόριθμοι: Σχεδιασμός και Ανάλυση (2η έκδοση) και στις σημειώσεις του διδάσκοντα. Ένα σημαντικό μέρος της δουλειάς θα γίνει στο εργαστήριο όπου θα υλοποιήσουμε και θα πειραματιστούμε με τους σημαντικότερους αλγόριθμους που θα συναντήσουμε στο μάθημα.

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

Επικοινωνία

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

Σημειώσεις - Ασκήσεις

Δομή Μαθήματος - Διαλέξεις - Οδηγός Μελέτης

Εξετάσεις - Βαθμολογία

Ο βαθμός του εργαστηρίου (ΒΕ) θα συνεισφέρει το 30% του τελικού βαθμού και κάποιος πρέπει να έχει ΒΕ>=5.0 για να περάσει το μάθημα. Ο βαθμός της τελικής εξέτασης (ΒΤΕ) θα συνεισφέρει το 70% του τελικού βαθμού και κάποιος πρέπει να έχει ΒΤΕ>=4.5 για να περάσει το μάθημα. Ο τελικός βαθμός του μαθήματος (ΤΒ) θα είναι:

TB = 0.3*BE + 0.7*BTE

και φυσικά πρέπει ΤΒ>=5.0 ώστε το μάθημα να θεωρηθεί ότι εξετάστηκε με επιτυχία.

Εργαστηριακές Ασκήσεις

Θα ανακοινωθούν έξι ατομικές, υποχρεωτικές εργαστηριακές ασκήσεις. Οι εκφωνήσεις των ασκήσεων ανακοινώνονται στην ιστοσελίδα της κας Κωνσταντίνου. Σε κάθε άσκηση θα υλοποιήσετε και θα πειραματιστείτε με μερικούς από τους αλγορίθμους που θα συζητήσουμε στο μάθημα. Οι υλοποιήσεις θα είναι σε γλώσσα C ή C++. Η παράδοση κάθε εργασίας μπορεί να πραγματοποιηθεί ΜΟΝΟ κατά την διάρκεια του αντίστοιχου εργαστηριακού μαθήματος (εργαστήριο Ηλέκτρα, κτίριο Λυμπέρη). Μετά τη λήξη του συγκεκριμένου εργαστηριακού μαθήματος ΔΕΝ θα γίνονται δεκτές άλλες εργασίες.

Συμπληρωματικό Υλικό

 Βιβλιογραφία

Σχετικές Ιστοσελίδες