Σχεδίαση & Ανάλυση Αλγορίθμων Απαιτήσεις Μαθήματος Εργαστηρίου Σκιαγράφηση Μαθήματος μια Πρώτη Εισαγωγή Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros
Βασικές Αρχές Γιατί Σχεδίαση και Ανάλυση Αλγορίθμων?
Βασικές Αρχές Θέλεις να είσαι ένας Καλός Προγραμματιστής? ή θέλεις να είσαι ένας Καλός Επιστήμονας Πληροφορικής Πρωτοπόρος της Επιστήμης σου?
Βασικές Αρχές Πρωτότυπη Σκέψη!!! Καθημερινά ο κόσμος ζητά Λύσεις σε Προβλήματα!!!
Βασικές Αρχές Χμμμ; Πες μου τι θέλεις να κωδικοποιήσω! Η απάντησή σου! Τι περιμένεις να σου πει? Η έλλειψη πρωτοβουλίας δεν εκτιμάται από κανέναν!!!
Βασικές Αρχές Η απάντησή σου! Έμαθα αυτό τον υπέροχο αλγόριθμο που θα λειτουργήσει! Και λοιπόν!!!... Όλοι οι γνωστοί αλγόριθμοι είναι ελεύθερα διαθέσιμοι στις ηλεκτρονικές βιβλιοθήκες και στο διαδίκτυο!!!
Βασικές Αρχές Μπορώ να αναπτύξω ένα Νέο αλγόριθμο για εσάς!!! Η απάντησή σου! Πάντα θα χρειάζονται Πρωτοπόροι με Μεγάλες Ιδέες!!!
Βασικές Αρχές Πες μου τι να κωδικοποιήσω! Μια μελέτη έδειξε!!! Πολλοί έμπειροι προγραμματιστές κλήθηκαν να κωδικοποιήσουν τη δυαδική αναζήτηση!!!
Βασικές Αρχές Πες μου τι να κωδικοποιήσω! 80% το έκαναν λάθος!!! Λάθος Στόχος!!!
Βασικές Αρχές Έμαθα αυτό τον αλγόριθμο! Πάρε ένα σύνολο αλγορίθμων Μάθε τον κώδικά τους! Δοκίμασέ τους (trace) μέχρι να είσαι πεπεισμένος ότι αυτοί λειτουργούν!! Εφάρμοσέ τους!!! Λάθος Προσέγγιση!!!
Βασικές Αρχές Μπορώ να αναπτύξω Νέο αλγόριθμο! Έρευνα Αλγοριθμικών Τεχνικών!!! Αφαιρετική Σκέψη!!! Ανάπτυξη Νέων Αλγορίθμων για κάθε πρόβλημα που μπορεί να προκύψει!!! Σωστή Προσέγγιση!!!
Φιλοσοφία του Μαθήματος Τι δεν πρέπει να μας λείπει???????
Φιλοσοφία του Μαθήματος Δεν πρέπει να μας λείπουν!!! Τυπικές μέθοδοι απόδειξης!!! Θεμελιώδη κατανόηση των αλγοριθμικών τεχνικών σχεδιασμού!!! Αφαιρετική σκέψη!!! (abstract thinking)
Βασικές Αρχές Το μέλλον ανήκει!!! στον Επιστήμονα Πληροφορικής που διαθέτει: Περιεχόμενο!!! Ενημέρωση και Κατανόηση των θεμελιωδών προβλημάτων και λύσεών τους!!! Μέθοδο!!! Αρχές και Αλγοριθμικές Τεχνικές αποτελεσματικής επίλυσης νέων προβλημάτων!!!
Τίτλος Μαθήματος Το μέλλον ανήκει!!! Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση Αλγορίθμων & Ανάλυση Αλγορίθμων
Τίτλος Μαθήματος Σχεδίαση Αλγορίθμων Μέθοδος Επίλυσης και Απόδειξη Ορθότητας Ανάλυση Αλγορίθμων Εκτίμηση Πολυπλοκότητας Χρόνου & Χώρου
Στόχος Θεμελιώδη Κατανόηση και Αφαιρετική Σκέψη για την Ανάπτυξη και Περιγραφή των Αλγορίθμων έτσι ώστε να μπορώ: να αποδείξω την Ορθότητα τους, και να υπολογίσω την Πολυπλοκότητα τους!!!
Ορθότητα Αλγόριθμου Ορθότητα Αλγόριθμος Αποδεικνύω ότι: Ο Αλγόριθμος δίδει σωστό αποτέλεσμα για κάθε είσοδο!!! Και στο τέλος: C, C++, Java και ότι άλλο!!!
Πολυπλοκότητα Αλγόριθμου Πολυπλοκότητα Αλγόριθμος Άνω Φράγμα του Προβλήματος Ο(Τ) Άνω Φράγμα Αποδεικνύω ότι: Για την εκτέλεσή του απαιτεί χρόνο Ο(Τ) σε κάθε Η/Υ στη χειρότερη περίπτωση!!!
Πολυπλοκότητα Αλγόριθμου Αλγόριθμος Πολυπλοκότητα Άνω Φράγμα του Προβλήματος Ο(Τ) Άνω Φράγμα Όρια Πολυπλοκότητας Προβλήματος
Πολυπλοκότητα Αλγόριθμου Αλγόριθμος Πολυπλοκότητα Άνω Φράγμα του Προβλήματος Ο(Τ) Άνω Φράγμα Όρια Πολυπλοκότητας Προβλήματος Κάτω Φράγμα του Προβλήματος Θεώρημα Ω(Τ) Κάτω Φράγμα
Πολυπλοκότητα Αλγόριθμου Πολυπλοκότητα Αλγόριθμος Βέλτιστος Αλγόριθμος Άνω Φράγμα του Προβλήματος Κάτω Φράγμα του Προβλήματος Ο(Τ) Άνω Φράγμα Ω(Τ) Κάτω Φράγμα Θεώρημα
Πολυπλοκότητα Αλγόριθμου Σενάριο 1 ο Άνω Φράγμα του Προβλήματος Αλγόριθμος 1 Ο(n 3 ) Πρόβλημα Π Άνω Φράγμα
Πολυπλοκότητα Αλγόριθμου Σενάριο 1 ο Άνω Φράγμα του Προβλήματος Αλγόριθμος 1 Ο(n 3 ) Πρόβλημα Π Άνω Φράγμα Θεώρημα 1 Κάτω Φράγμα του Προβλήματος Ο(log n) Κάτω Φράγμα
Πολυπλοκότητα Αλγόριθμου Σενάριο 1 ο Άνω Φράγμα του Προβλήματος Αλγόριθμος 1 Αλγόριθμος 2 Ο(n 3 ) Ο(n 2 ) Πρόβλημα Π Άνω Φράγμα Θεώρημα 1 Κάτω Φράγμα του Προβλήματος Ο(log n) Κάτω Φράγμα
Πολυπλοκότητα Αλγόριθμου Σενάριο 1 ο Άνω Φράγμα του Προβλήματος Αλγόριθμος 1 Αλγόριθμος 2 Ο(n 3 ) Ο(n 2 ) Πρόβλημα Π Άνω Φράγμα Θεώρημα 2 Ο(n) Κάτω Φράγμα Θεώρημα 1 Κάτω Φράγμα του Προβλήματος Ο(log n)
Πολυπλοκότητα Αλγόριθμου Σενάριο 1 ο Άνω Φράγμα του Προβλήματος Αλγόριθμος 1 Αλγόριθμος 2 Αλγόριθμος 3 Θεώρημα 2 Θεώρημα 1 Κάτω Φράγμα του Προβλήματος Ο(n 3 ) Ο(n 2 ) Ο(n) Ο(n) Ο(log n) Πρόβλημα Π Αλγόριθμος 3 βέλτιστος Άνω Φράγμα Κάτω Φράγμα
Πολυπλοκότητα Αλγόριθμου Σενάριο 2 ο Άνω Φράγμα του Προβλήματος Αλγόριθμος 1 Αλγόριθμος 2 Ο(n 3 ) Ο(n 2 ) Πρόβλημα Π Άνω Φράγμα Θεώρημα 2 Ο(n) Κάτω Φράγμα Θεώρημα 1 Κάτω Φράγμα του Προβλήματος Ο(log n)
Πολυπλοκότητα Αλγόριθμου Σενάριο 2 ο Άνω Φράγμα του Προβλήματος Αλγόριθμος 1 Αλγόριθμος 2 Ο(n 3 ) Ο(n 2 ) Πρόβλημα Π Αλγόριθμος 2 βέλτιστος Άνω Φράγμα Θεώρημα 3 Ο(n 2 ) Κάτω Φράγμα Θεώρημα 2 Θεώρημα 1 Κάτω Φράγμα του Προβλήματος Ο(n) Ο(log n)
Πολυπλοκότητα Αλγόριθμου Σενάριο 3 ο Άνω Φράγμα του Προβλήματος Αλγόριθμος 1 Ο(n 3 ) Πρόβλημα Π Άνω Φράγμα
Πολυπλοκότητα Αλγόριθμου Σενάριο 3 ο Άνω Φράγμα του Προβλήματος Αλγόριθμος 1 Ο(n 3 ) Πρόβλημα Π Αλγόριθμος 1 Ο(n 2 ) Άνω Φράγμα
Πολυπλοκότητα Αλγόριθμου Σενάριο 3 ο Άνω Φράγμα του Προβλήματος Αλγόριθμος 1 Ο(n 3 ) Αλγόριθμος 1 Ο(n 2 ) Πρόβλημα Π Αλγόριθμος 1 Ο(n logn) Άνω Φράγμα
Πολυπλοκότητα Αλγόριθμου Πρόβλημα π Πολυπλοκότητα??????
Εργαστήριο Διαλέξεις Διδάσκοντες Μαθήματος Σταύρος Δ. Νικολόπουλος Γραφ. Γ-04 Τηλ. 26510 08801 Μαρία Γ. Χρόνη Γραφ. Γ-05 Τηλ. 26510 08901
Διαλέξεις Διαλέξεις-Εργαστήριο Μαθήματος Διαλέξεις Δευτέρα 10-12 πμ, και Τετάρτη 10-12 πμ. Στην αίθουσα Ι5 - Διαφάνειες Παρακολούθηση Μελέτη Συνεχώς!!! Συνεχώς!!!
Εργαστήριο Διαλέξεις-Εργαστήριο Μαθήματος Εργαστήριο Δευτέρα 1-3 μμ, και Τετάρτη 4-6 μμ. ΠΕΠ-1, ΠΕΠ2 & ΠΕΛΣ 0 40 50 70 90 100 0 0.5 1 1.5 2 Βαθμός Μαθήματος = ΒΤΕ + ΒΕ
Εργαστήριο Διαλέξεις-Εργαστήριο Μαθήματος Εργαστήριο Δευτέρα 1-3 μμ, και Τετάρτη 4-6 μμ. ΠΕΠ-1, ΠΕΠ2 & ΠΕΛΣ Δήλωση μέσω e-course www.ecourse.uoi.gr Εργαστήριο 2 φοιτητές / υπολογιστή Έναρξη Δευτέρα 29/02/2016
Συγγράμματα Μαθήματος Σύγγραμμα T. Cormen, C. Leiserson, R. Rivest and C. Stein Introduction to Algorithms MIT Press (2ed edition) 2001 Σημειώσεις Διαφάνειες Μαθήματος (από την κ. Σούλιου)
Βιβλιογραφία Καλή Μελέτη!!!
Πάντα θα Πρέπει να έχετε ενδιαφέρον για το μάθημα, και να κάνετε ερωτήσεις!!!
Τέλος Καλή Επιτυχία στο Μάθημά μας!!!