ΑΛΓΟΡΙΘΜΟΙ http://elss.ueb.gr/ourses/inf6/ Άνοιξη 6 - I. ΜΗΛΗΣ ΑΣΥΜΠΤΩΤΙΚΟΙ ΣΥΜΒΟΛΙΣΜΟΙ ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS
Αλγόριθμοι Τρείς κρίσιμες ερωτήσεις για κάθε αλγόριθμο για ένα πρόβλημα: ΕΙΝΑΙ ΣΩΣΤΟΣ? - ΟΡΘΟΤΗΤΑ Δίνει τη σωστή απάντηση για κάθε είσοδο? Τερματίζει? ΠΟΣΟ ΧΡΟΝΟ/ΧΩΡΟ χρειάζεται? - ΠΟΛΥΠΛΟΚΟΤΗΤΑ Χρόνος ~ # βημάτων Χώρος ~ # θέσεων μνήμης Συνάρτηση T του μήκους της εισόδου # bits Ρυθμός αύξησης της T s ireses Ασυμπτωτική συμπεριφορά της T Nottios O Ω Θ ΜΠΟΡΟΥΜΕ ΝΑ ΚΑΝΟΥΜΕ ΚΑΛΥΤΕΡΑ? ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS
Ασυμπτωτικοί συμβολισμοί Σύγκριση αλγορίθμων ως προς τον χρόνο εκτέλεσης Χρόνος εκτέλεσης ~ # βημάτων Συνάρτηση Τ του μήκους εισόδου = # o bits Ρυθμός αύξησης της Τ Σύγκριση συναρτήσεων με ακέραια θετικά ορίσματα Άνω όριο Κάτω όριο Άνω και κάτω όριο στην Τ για πολύ μεγάλα Υπάρχει σήμερα στην πράξη πολύ μεγάλο μέγεθος εισόδου αλγορίθμων Web D. Kuth 968 ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 3
Ασυμπτωτικός συμβολισμός Ο ΑΝΩ ΟΡΙΟ στην αύξηση της T = Og : H δεν αυξάνεται πιο γρήγορα από την g Ένα σταθερό πολλαπλάσιο της g είναι άνω όριο στην για αρκετά μεγάλα τέτοια ώστε g o o ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 4
Ασυμπτωτικός συμβολισμός O Παράδειγμα i ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 5 O Κάθε πολυώνυμο βαθμού είναι Ο
Ασυμπτωτικός συμβολισμός Ο Παραδείγματα I T=Ο the T=Ο 3 T=Ο 4. Προτιμάμε φυσικά το καλύτερο μικρότερο άνω όριο ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 6
Ασυμπτωτικός συμβολισμός Ω ΚΑΤΩ ΟΡΙΟ στην αύξηση της T = Ωg : H δεν αυξάνεται πιο αργά από την g Ένα σταθερό πολλαπλάσιο της g είναι κάτω όριο στην για αρκετά μεγάλα τέτοια ώστε g o o ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 7
Ασυμπτωτικός συμβολισμός Ω Παράδειγμα i ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 8 Κάθε πολυώνυμο βαθμού είναι Ω
Ασυμπτωτικός συμβολισμός Ω Παραδείγματα I T=Ω 3 the T=Ω T=Ω. Προτιμάμε φυσικά το καλύτερο μεγαλύτερο κάτω όριο ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 9
Ασυμπτωτικός συμβολισμός Θ ΑΝΩ ΚΑΙ ΚΑΤΩ ΟΡΙΟ στην αύξηση της T = Θg : H δεν αυξάνεται ούτε πιο γρήγορα ούτε πιο αργά από την g σταθερά πολλαπλάσια της g είναι άνω και κάτω όρια στην για αρκετά μεγάλα =Θg =Og και =Ωg o τέτοια ώστε g g o ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS
Ασυμπτωτικός συμβολισμός Θ Παράδειγμα i O ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS Κάθε πολυώνυμο βαθμού είναι Θ ακριβές όριο
Ασυμπτωτικοί συμβολισμοί I lim g the g I lim g the O g d g 3 I lim g the g O d g ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS
lim Απόδειξη the lim I g g g Ασυμπτωτικός συμβολισμός Θ g : : : g g g g g ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 3
Ιδιότητες O g d g g O g g O h g O h g O h μεταβατικότητα ανακλαστικότητα συμμετρικότητα ανάστροφη συμμετρικότητα ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 4
Ασυμπτωτικοί συμβολισμοί Μας ενδιαφέρει μόνο ο μεγαλύτερος όρος αυτός που αυξάνεται γρηγορότερα π.χ. Εάν Τ= +O+Olog τότε η Τ είναι Ο Πράξεις με ασυμτωτικούς όρους: όπως οι κανονικές πράξεις π.χ. +Ο+Οlog + O = + Olog + O + O+ Olog + O = O ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 5
Aσυμπτωτικοί συμβολισμοί Τι τα θέλουμε όλα αυτά? Για να συγκρίνουμε αλγορίθμους Για να ξέρουμε αν ο αλγόριθμός μας αξίζει να υλοποιηθεί και να δοκιμαστεί Να ξέρουμε αν είναι γρήγορος = πολυωνυμικός = Ο! Ο υπολογισμός είναι απλός τελικά: Μετράμε τα βήματα του αλγορίθμου Πετάμε τις σταθερές Από τα πολυώνυμα κρατάμε μόνο τον όρο με το μεγαλύτερο βαθμό Με λίγη εξάσκηση και κατανόηση δεν χρειάζονται πράξεις γίνεται αυτόματα... ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 6
Πολυωνυμικοί αλγόριθμοι Αυτοί με πολυπλοκότητα Ο Γρήγοροι/αποτελεσματικοί/αποδοτικοί αλγόριθμοι Όλοι σχεδόν οι αλγόριθμοι σ αυτό το μάθημα θα είναι πολυωνυμικοί ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 7
Πολυωνυμικοί και εκθετικοί αλγόριθμοι ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 8
Λογαριθμικές και εκθετικές συναρτήσεις Κάθε λογάριθμος αυξάνεται πιο αργά από κάθε πολυώνυμο ανεξάρτητα βάσης και εκθέτη b x :log O π.χ. log = O b Κάθε εκθετική συνάρτηση αυξάνεται γρηγορότερα από κάθε πολυωνυμική ανεξάρτητα εκθέτη και βάσης d r d : O r π.χ. =O. Όσο μεγαλύτερη είναι η βάση της εκθετικής συνάρτησης τόσο γρηγορότερα αυξάνεται x π.χ. = O. ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS 9
Διάταξη συναρτήσεων O ostt Olog logrithmi Οlog poly-logrithmi O lier Olog O qudrti O 3 - ubi O polyomil O expoetil Ο O! Οlog < O < > Ο ΑΛΓΟΡΙΘΜΟΙ - ΑΝΟΙΞΗ 6 - Ι. ΜΗΛΗΣ - - ASYMPTOTICS