Αλγόριθμοι και Πολυπλοκότητα - Βιντεομάθημα

Ευστάθιος Ζάχος, Δημήτρης Φωτάκης

Περιεχόμενο μαθήματος

Τεχνικές για ασυμπτωτική εκτίμηση υπολογιστικής πολυπλοκότητας, κριτήρια για επιλογή αλγορίθ­μων, πολυωνυμικοί αλγόριθμοι. Ουρές προτεραιότητας, σωρός, διαχείριση ξένων συνόλων, union — find. Επεξεργασία δεδομένων (ταξινόμηση, επιλογή, αναζήτηση). Μέθοδοι. σχεδιασμού αποδοτικών αλγορίθμων: "διαίρει και βασίλεύε", άπληστοι αλγόριθμοι, δυναμικός προγραμματισμός. Εφαρμογές σε προβλήματα γραφημάτων: αναζήτηση κατά βάθος, αναζήτηση κατά πλάτος, ελάχιστο συνδετικό δέν­δρο, συντομότερα μονοπάτια, μέγιστη ροή και ελάχιστη τομή. Υπολογισιμότητα και πολυπλοκότητα. Κλάσεις υπολογιστικής πολυπλοκότητας και αναγωγές. Οι κλάσεις Ρ και. ΝΡ, ΝΡ-complete προβλή­ματα. Κλάσεις χωρικής πολυπλοκότητας.

Εργαστήριο: Μια σειρά αλγοριθμικών προβλημάτων που πρέπει να λυθούν σε C/C+ +.

Μαθησιακοί στόχοι

Εξοικείωση με τις βασικές έννοιες του μαθήματος.

Προτεινόμενα συγγράμματα

  • Σ. Ζάχος, Αλγόριθμοι και Πολυπλοκότητα, Σημειώσεις ΕΜΠ.
  • ∆.Φωτάκης, Αλγόριθμοι και Πολυπλοκότητα, Σημειώσεις.

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

  1. Thomas Cormen, Charles Leiserson, Ronald Rivest and Cliff Stein: "Introduction to Algorithms", 3rd edition, MIT Press, 2009.
  2. J. Kleinberg, E. Tardos: "Algorithm Design", Addison-Wesley, 2005.
  3. S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani: "Algorithms", MacGraw-Hill, 2006 (Μπορείτε να βρείτε draft έκδοση του βιβλίου αυτού εδώ).
  4. J. Edmonds. How to Think About Algorithms. Cambridge University Press, 2008.
  5. G. Brassard, P. Bratley: "Algorithmics: Theory and Practice", Prentice-Hall.
  6. Sara Baase, Allen Van Gelder, "Computer Algorithms: Introduction to Design and Analysis", 3rd edition, Addison Wesley Longman, 2000.
  7. Alfred V. Aho, John E. Hopcroft, "The Design and Analysis of Computer Algorithms", Addison-Wesley Series in Computer Science and Information Processing, 1974.
  8. Dexter C. Kozen, "The Design and Analysis of Algorithms", Springer, 1991.
  9. A. Levitin: "Ανάλυση και Σχεδίαση Αλγορίθμων", Εκδόσεις Τζιόλα, 2007.
  10. G. J. E. Rawlings: "Αλγόριθμοι: Ανάλυση και Σύγκριση", Εκδόσεις Κριτική, 2004.

Μέθοδοι διδασκαλίας

Διδασκαλία καθ'έδρας και εργαστήριο.

Μέθοδοι αξιολόγησης

  • 80% τελική εξέταση (ασκήσεις). Τουλάχιστον 3.5 στα 8.
  • 15% γραπτές ασκήσεις (4 σειρές)
  • 15% προγραμματιστικές ασκήσεις (4 σειρές)

Προαπαιτούμενα

Η πληροφορία δεν είναι διαθέσιμη.

Διδάσκοντες

Διδάσκοντες

Καλωσορίσατε στο μάθημα "Αλγόριθμοι και Πολυπλοκότητα". Μέσα στα πλαίσια του μαθήματος θα παρουσιαστούν έννοιες όπως: Εισαγωγή και Διαδικαστικά. Εισαγωγικές Έννοιες, ασυμπτωτικός Συμβολισμός, δομές Δεδομένων. Ουρές Προτεραιότητας: Σωρός. Κάτω Φράγμα στη χρονική πολυπλοκότητα συγκριτικών αλγόριθμων ταξινόμησης, Union - Find, Αλγόριθμοι Διαίρει-και-Βασίλευε: Πολλαπλασιασμός αριθμών και πινάκων, Ύψωση σε δύναμη,Quicksort, πιθανοτική Quicksort. Το πρόβλημα της επιλογής, δυαδική αναζήτηση, αναζήτηση με Παρεμβολή, άπληστοι Αλγόριθμοι, δυναμικός προγραμματισμός.

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

Η σελίδα του μαθήματος στη Σχολή είναι η ακόλουθη: Αλγόριθμοι και Πολυπλοκότητα.

Λέξεις Κλειδιά: Αλγόριθμοι και Πολυπλοκότητα, Ευστάθιος Ζάχος, Δημήτρης Φωτάκης, ΣΗΜΜΥ, ΕΜΠ, αυμπτωτικός συμβολισμός, πολυωνυμικοί αλγόριθμοι, ουρές προτεραιότητας, σωρός, άπληστοι αλγόριθμοι, αλγόριθμοι διαίρει και βασίλευε, asymptotic notation, priority queue, data structures, heap, union - find, polynomial algorithms, greedy algorithms, divide and conquer algorithms

Θεματικές Ενότητες

  • Εισαγωγή και Διαδικαστικά, Εισαγωγικές Έννοιες.
  • Εισαγωγικές Έννοιες.
  • Ασυμπτωτικός Συμβολισμός.
  • Ουρές Προτεραιότητας: Σωρός.
  • Κάτω Φράγμα στη Χρονική Πολυπλοκότητα Συγκριτικών Αλγόριθμων Ταξινόμησης.
  • Union - Find.
  • Αλγόριθμοι Διαίρει-και-Βασίλευε: Merge-Sort.
  • Πολλαπλασιασμός αριθμών και πινάκων, ύψωση σε δύναμη.
  • Quicksort.
  • Το πρόβλημα της επιλογής: Πιθανοτική και ντετερμινιστική Quickselect.
  • Δυαδική Αναζήτηση και Αναζήτηση με Παρεμβολή,
  • Άπληστοι αλγόριθμοι,
  • Δυναμικός προγραμματισμός.

 

  • Εξερεύνηση Γραφημάτων: Αναζήτηση κατά Πλάτος.
  • Αναζήτηση κατά Βάθος
  •  Ελάχιστο Συνδετικό Δέντρο.
  •  Συντομότερες διαδρομές από μία αρχική κορυφή: αλγόριθμος Bellman-Ford, αλγόριθμος Dijkstra.
  • Συντομότερες διαδρομές για όλα τα ζεύγη κορυφών: αλγόριθμος Floyd-Warshall, αλγόριθμος Johnson.
  • Μέγιστη Ροή - Ελάχιστη Τομή.
  • Μηχανές Turing και Υπολογισιμότητα. Υπολογιστική Πολυπλοκότητα.
  • Υπολογιστική Πολυπλοκότητα.
  • Μη Ντετερμινισμός.
  • Η Κλάση NP. NP-Πληρότητα.
  • Χωρική Πολυπλοκότητα.
  • Πιθανοτικοί και,
  • Προσεγγιστικοί Αλγόριθμοι.

Ανοικτό Ακαδ. Μάθημα

Ημερολόγιο

Ανακοινώσεις

  • - Δεν υπάρχουν ανακοινώσεις -