ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Σχετικά έγγραφα
Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)

Ασυμπτωτικός Συμβολισμός

Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018

Ασυμπτωτικός Συμβολισμός

Υπολογιστική Πολυπλοκότητα

Ασυμπτωτικός Συμβολισμός

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Ασυμπτωτικός Συμβολισμός

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Διακριτά Μαθηματικά. Γιάννης Εμίρης. Τμήμα Πληροφορικής & Τηλεπικοινωνιών ΕΚΠΑ. Οκτώβριος

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Δομές Δεδομένων Ενότητα 2

Δομές Δεδομένων και Αλγόριθμοι

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ρυθιμός αύξησης συναρτήσεων

Υπολογιστικά & Διακριτά Μαθηματικά

Δομές Δεδομένων (Data Structures)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Μαθηματικά. Ενότητα 6: Ασκήσεις Ορίων Συνάρτησης. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Ασκήσεις (2) Άσκηση 1

1o Φροντιστήριο ΗΥ240

Υπολογιστικά & Διακριτά Μαθηματικά

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

1 Ανάλυση αλγορίθµων. 2 Συµβολισµοί O, Ω και Θ. 3 Αναδροµικές εξισώσεις

Μαθηματικά. Ενότητα 9: Όριο Συνάρτησης στο Διηνεκές. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Μαθηµατικά για Πληροφορική

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

Εισαγωγή στην Ανάλυση Αλγορίθμων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Υπολογιστικά & Διακριτά Μαθηματικά

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Μοντελοποίηση Λογικών Κυκλωμάτων

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Υπολογιστικά & Διακριτά Μαθηματικά

Μαθηματικά. Ενότητα 2: Δεκαδικοί αριθμοί, κλάσματα, δυνάμεις, ρίζες και ποσοστά. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

οµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Β. Διαφορικός Λογισμός

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Υπολογιστικά & Διακριτά Μαθηματικά

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Αριθμητική Γραμμική Άλγεβρα (1) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Μιγαδικός λογισμός και ολοκληρωτικοί Μετασχηματισμοί

Υπολογιστικά & Διακριτά Μαθηματικά

Δομές Δεδομένων & Αλγόριθμοι

Γενικά Μαθηματικά Ι. Ενότητα 7: Σειρές Taylor, Maclaurin. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Διανυσματικοί Χώροι (1) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Μαθηματικά. Ενότητα 2: Διαφορικός Λογισμός. Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. ΕΝΟΤΗΤΑ: Γραμμικές Συναρτήσεις Διάκρισης. ΔΙΔΑΣΚΟΝΤΕΣ: Βλάμος Π. Αυλωνίτης Μ. ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Επιχειρησιακή Έρευνα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Εισαγωγή στους Αλγόριθμους

Ενότητα: Δακτύλιοι, Ακέραιες Περιοχές, Σώματα. Διδάσκων: Καθηγητής Μαρμαρίδης Νικόλαος - Θεοδόσιος

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Παραδείγµατα. Τάξη των Συναρτήσεων (1) Παράδειγµα (2) Να δειχθεί ότι 7n 2 = O(n 3 ). Ορέστης Τελέλης

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Οικονομικά Μαθηματικά

Αλγόριθμοι και Πολυπλοκότητα

Μαθηματικά. Ενότητα 3: Εξισώσεις και Ανισώσεις 1 ου βαθμού. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

ΣΥΝΟΠΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΣΤΟ ΜΑΘΗΜΑ ΜΑΘΗΜΑΤΙΚΑ Ι.Ι (τεύχος-1-)

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Γενικά Μαθηματικά Ι. Ενότητα 2: Τριγωνομετρικές, Εκθετικές και Σύνθετες Συναρτήσεις. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διαδικαστικός Προγραμματισμός

Κεφάλαιο 2 Ανάλυση Αλγορίθμων

Υπολογιστικά & Διακριτά Μαθηματικά

Γενικά Μαθηματικά Ι. Ενότητα 16: Ολοκλήρωση Τριγωνομετρικών Συναρτήσεων, Γενικευμένα Ολοκληρώματα Λουκάς Βλάχος Τμήμα Φυσικής

7 ο ΕΡΓΑΣΤΗΡΙΟ ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 7: Αλγόριθμοι γραμμικής άλγεβρας

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

Υπολογιστικά & Διακριτά Μαθηματικά

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Λογιστικές Εφαρμογές Εργαστήριο

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ανω Φράγµα στην Τάξη των Συναρτήσεων. Ρυθµός Αύξησης (Τάξη) των Συναρτήσεων. Παράδειγµα (1/2) O( g(n) ) είναι σύνολο συναρτήσεων:

Γενικά Μαθηματικά Ι. Ενότητα 1: Συναρτήσεις και Γραφικές Παραστάσεις. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Transcript:

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 2: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μαρία Σατρατζέμη 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μαρία Σατρατζέμη 3

3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν συναρτήσεις οι οποίες απεικονίζουν μη αρνητικούς ακεραίους σε μη αρνητικούς πραγματικούς αριθμούς. Χρησιμοποιούμε συναρτήσεις με πεδίο ορισμού το γιατί τα δεδομένα στην είσοδο έχουν να κάνουν με ακέραια μεγέθη. Επίσης, επειδή μας ενδιαφέρει ο χρόνος εκτέλεσης αλγορίθμων, όλες οι συναρτήσεις που χρησιμοποιούμε για να συμβολίζουν ρυθμούς αύξησης, θα είναι τελικά θετικά ορισμένες (δηλ. έχουν σύνολο τιμών το σύνολο των μη αρνητικών πραγματικών αριθμών R + ). 4

Ασυμπτωτικός συμβολισμός (ΙΙ) Συμβολισμός O Ορισμός: Για δεδομένη συνάρτηση g, συμβολίζουμε με Ο(g(n)) το σύνολο των συναρτήσεων O( g( n)) f ( n): c, n : n n, f ( n) cg( n) 0 0 λέμε ότι η g(n) είναι ένα ασυμπτωτικό άνω φράγμα της f(n), ή ότι η f(n) είναι Ο(g(n)), συμβολικά, f(n) = Ο(g(n)) [αν και πιο σωστά, f(n) Ο(g(n))]. Παράδειγμα: 5n 2 + 20n = Ο(n 2 ) Για να το δείξουμε, πρέπει να προσδιορίσουμε μια σταθερά c και έναν n 0 τ.ώ. n n 0, 5n 2 + 20n cn 2 5 + 20/n c ή επειδή 5 + 20/n c αν c 6 με n 20 c = 6 και n 0 = 20. Τα c και n 0 δεν είναι μοναδικά. 5

Ασυμπτωτικός συμβολισμός (ΙΙΙ) Ορισμός: Έστω η συνάρτηση f(n) = O(g(n)). Αν για κάθε συνάρτηση h(n) τέτοια, ώστε f(n) = O(h(n)) ισχύει επίσης ότι g(n) = O(h(n)), τότε λέμε ότι η g(n) είναι ένα αυστηρό ασυμπτωτικό άνω φράγμα της f(n). Παράδειγμα: Έστω f(n) = 8n + 128. Είναι f(n) = Ο(n 2 ). Πράγματι, έχουμε f(n) cn 2 8n + 128 cn 2 cn 2 8n 128 0 Αν c = 1, είναι n 2 8n 128 0 (n + 8)(n 16) 0, που ισχύει για κάθε n 16. Άρα c (=1) και n 0 (=16) τέτοια, ώστε f(n) cn 2 για κάθε n n 0. Μπορούμε τώρα να δείξουμε εύκολα ότι f(n) = Ο(n) (βλ. και Θ.5 παρακάτω). Προφανώς το Ο(n) είναι «αυστηρότερο» άνω φράγμα από το Ο(n 2 ). Με βάση τον παραπάνω ορισμό μπορούμε να δείξουμε ότι η g(n) = n είναι ένα αυστηρό ασυμπτωτικό άνω φράγμα της f(n) = 8n + 128. 6

Ιδιότητες του Ο Θ.1 Αν f 1 (n) = O(g 1 (n)) και f 2 (n) = O(g 2 (n)), τότε f 1 (n) + f 2 (n) = O(max(g 1 (n), g 2 (n)) Θ.2 Αν f 1 (n) = O(g 1 (n)) και f 2 (n) = O(g 2 (n)), τότε f 1 (n) f 2 (n) = O(g 1 (n) g 2 (n)) (Κανόνας Αθροίσματος) (Κανόνας Γινομένου) Θ.3 Αν f 1 (n) = O(g 1 (n)) και g 2 (n) μια συνάρτηση με μη αρνητικές τιμές για κάθε n 0, τότε f 1 (n) g 2 (n) = O(g 1 (n) g 2 (n)) Θ.4 Αν f(n) = O(g(n)) και g(n) = O(h(n)), τότε f(n) = O(h(n)) Θ.5 Αν f(n) = a m n m + a m 1 n m 1 + + a 1 n + a 0 με a m > 0, τότε f(n) = O(n m ) Θ.6 Για κάθε ακέραιο k > 1, log k n = O(n). 7

Για κάθε ακέραιο m > 1, η λογαριθμική συνάρτηση g(n) = log m (n) έχει τον ίδιο ρυθμό αύξηση με την log 2 (n) (ή lgn) γιατί : Από τις ιδιότητες των λογαρίθμων ισχύει: log m n= lοg 2 n/ log 2 m => log m n = (1/log 2 m) lοg 2 n για κάθε n>0. Συνεπώς καθώς ο όρος 1/log 2 m είναι σταθερά και ανεξάρτητη της τιμής του n, μπορούμε να παραλείπουμε τη βάση του λογαρίθμου όταν χρησιμοποιούμε το συμβολισμό Ο (και το συμβολισμό Θ). Αρα : log m n = Θ(logn) Οι εκθετικές συναρτήσεις αυξάνουν ταχύτερα από τις συναρτήσεις δύναμης: συνεπώς n k είναι O(b n ), για όλα τα b > 1, n > 1, and k 0. Οι περιορισμοί για τα b, n, και k εγγυώνται ότι και οι 2 συναρτήσεις είναι αύξουσες. (Η απόδειξη της πρότασης μπορεί να γίνει με επαγωγή ή με τον κανόνα του ορίου του de L Hopital). Οι λογαριθμικές συναρτήσεις έχουν μικρότερο ρυθμό αύξησης από τις συναρτήσεις δύναμης : log b n = O(n k ) για κάθε b > 1, k > 0. (είναι το αντίστροφο της προηγούμενης πρότασης). Αρα logn = O(n) και nlogn = O(n 2 ). 8

Συμβάσεις Όταν γράφουμε μια έκφραση Ο παραλείπουμε όλους τους όρους εκτός από τους πλέον σημαντικούς. Π.χ. αντί του Ο(n 2 + nlogn + n + 1) γράφουμε απλά, Ο(n 2 ) Παραλείπουμε σταθερούς συντελεστές. Π.χ. αντί των Ο(3n 2 ), Ο(3) γράφουμε απλά, Ο(n 2 ), Ο(1) Για να είναι μια έκφραση Ο όσο το δυνατόν πιο χρήσιμη, καλόν είναι να βρίσκουμε ένα αυστηρό ασυμπτωτικό άνω φράγμα. Π.χ. αντί να γράψουμε f(n) = n = O(n 3 ) είναι προτιμότερο να γράψουμε f(n) = O(n) 9

Χαρακτηριστικές περιπτώσεις Στον Πιν. 3.1 οι εκφράσεις είναι κατά σειρά αύξοντος μεγέθους 10

Συμβολισμός Ω Συμβολισμός Ω Για δεδομένη συνάρτηση g, συμβολίζουμε με Ω(g(n)) το σύνολο των συναρτήσεων ( g( n)) f ( n): c, n : n n, cg( n) f ( n) λέμε ότι η g(n) είναι ένα ασυμπτωτικό κάτω φράγμα της f(n), ή ότι η f(n) είναι Ω(g(n)), συμβολικά, f(n) = Ω(g(n)). Παράδειγμα: n = Ω(ln n). Πράγματι, είναι n 1, n > ln n (δηλ. c = 1, n 0 = 1). 0 0 11

Συμβολισμός Θ Συμβολισμός Θ Για δεδομένη συνάρτηση g, συμβολίζουμε με Θ(g(n)) το σύνολο των συναρτήσεων με άλλα λόγια, η f (n) είναι «ίση» με την g(n), με προσέγγιση σταθερού συντελεστή και λέμε ότι η g(n) είναι ένα ασυμπτωτικό φράγμα της f(n). Πρόταση: ( g( n)) f ( n): c, c R, n : n n, c g( n) f ( n) c g( n) 1 2 0 0 1 2 Για δύο συναρτήσεις f(n) και g(n) ισχύει η ισοδυναμία f(n) = Θ(g(n)) f(n) = O(g(n)) και f(n) = Ω(g(n)) 12

Παράδειγμα: 5n 2 + 20n = Θ(n 2 ). Συμβολισμός Θ Για να το δείξουμε, πρέπει να προσδιορίσουμε σταθερές c 1, c 2 και n 0 τ.ώ. ή ή επειδή και έχουμε c 1 = 5, c 2 = 6 και n 0 = 20. Τα c 1, c 2 και n 0 δεν είναι μοναδικά. n n 0, c 1 n 2 5n 2 + 20n c 2 n 2 c 1 5 + 20/n c 2 c 1 5 + 20/n αν c 1 5 με n > 1 5 + 20/n c 2 αν c 2 6 με n 20 Παρατήρηση: f(n) = Θ(g(n)) f(n) = O(g(n)) αφού, Θ(g(n)) O(g(n)). Πρόταση: Αν f(n) = a m n m + a m 1 n m 1 + + a 1 n + a 0 με a m > 0, τότε f(n) = Θ(n m ). Ιδιότητα: n n f ( k) f ( k). k1 k1 13

Κανόνας του ορίου Ένα ισχυρό και χρήσιμο εργαλείο για να αποδείξει κανείς ότι κάποιες συναρτήσεις είναι της τάξης κάποιων άλλων, όπως επίσης και για να αποδείξει το αντίθετο, είναι ο κανόνας του ορίου, ο οποίος μας λέει ότι δοθέντων δύο συναρτήσεων f και g: N R+, έχουμε 14

(ή αλλιώς ) Κανόνας του ορίου Αν τα όρια πηλίκου οδηγούν σε απροσδιόριστες μορφές 0/0 ή / εφαρμόζεται ο κανόνας του de l Hopital 15

Ένα παράδειγμα Εστω οι συναρτήσεις f(n) = 2 n και g(n) = 3 n υπολογίστε το ασυμπτωτικό φράγμα για την f(n). Η απόδειξη θα γίνει με τον κανόνα του ορίου. Με τον κανόνα του de L Hopital έχουμε Οπότε για Όμως και με τον κανόνα του de L Hopital δε μπορούμε να προχωρήσουμε καθώς και ο αριθμητής και ο παρονομαστής συνεχίζουν να αποκλίνουν. Χρησιμοποιώντας την ιδιότητα lima n Το αποτέλεσμα της διαίρεσης συγκλίνει στο 0 άρα n + 16 16

Ασυμπτωτική Εκτίμηση Χρόνος εκτέλεσης αλγόριθμου Α: Αύξουσα συνάρτηση του Τ(n) που εκφράζει σε πόσο χρόνο ολοκληρώνεται ο Α όταν εφαρμόζεται σε στιγμ. μεγέθους n. Ενδιαφέρει η τάξη μεγέθους T(n) και όχι ακριβής εκτίμηση Τ(n). Ακριβής εκτίμηση είναι συχνά δύσκολη και εξαρτάται από υπολογιστικό περιβάλλον, υλοποίηση,... Τάξη μεγέθους είναι εγγενής ιδιότητα του αλγόριθμου. Δυαδική αναζήτηση έχει λογαριθμικό χρόνο. Γραμμική αναζήτηση έχει γραμμικό χρόνο. Ασυμπτωτική εκτίμηση αγνοεί σταθερές και εστιάζει σε τάξη μεγέθους χρόνου εκτέλεσης. 17

Ασυμπτωτικός Συμβολισμός Ο, Ω, Θ... εκφράζει τα αποτελέσματα ασυμπτωτικής εκτίμησης. Θ( ) δηλώνει την ακριβή εκτίμηση τάξης μεγέθους. ( g( n)) f ( n): c, c R, n : n n, c g( n) f ( n) c g( n) 1 2 0 0 1 2 Θ(g(n)) σύνολο συναρτήσεων ίδιας τάξης μεγέθους με g(n). O( ) δηλώνει άνω φράγμα στην τάξη μεγέθους. O( g( n)) f ( n): c, n : n n, f ( n) cg( n) 0 0 Ο(g(n)) σύνολο συναρτήσεων με τάξη μεγέθους που δεν υπερβαίνει τάξη μεγέθους g(n). Ω( ) δηλώνει κάτω φράγμα στην τάξη μεγέθους. ( g( n)) f ( n): c, n : n n, cg( n) f ( n) 0 0 Ω(g(n)) σύνολο συναρτήσεων με τάξη μεγέθους που δεν υπολείπεται τάξης μεγέθους g(n). 18

Practical Complexity 250 f(n) = n f(n) = log(n) f(n) = n log(n) f(n) = n^2 f(n) = n^3 f(n) = 2^n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 19

Practical Complexity 500 f(n) = n f(n) = log(n) f(n) = n log(n) f(n) = n^2 f(n) = n^3 f(n) = 2^n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20

Practical Complexity 1000 f(n) = n f(n) = log(n) f(n) = n log(n) f(n) = n^2 f(n) = n^3 f(n) = 2^n 0 1 3 5 7 9 11 13 15 17 19 21

Practical Complexity 5000 4000 3000 2000 f(n) = n f(n) = log(n) f(n) = n log(n) f(n) = n^2 f(n) = n^3 f(n) = 2^n 1000 0 1 3 5 7 9 11 13 15 17 19 22

Practical Complexity 10000000 1000000 100000 10000 1000 100 10 1 1 4 16 64 256 1024 4096 16384 65536 23

Τέλος Ενότητας